<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wlroots.git/render/gles2/shaders, branch master</title>
<subtitle>fork of wlroots with action binder support
</subtitle>
<id>https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master</id>
<link rel='self' href='https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/'/>
<updated>2023-05-28T18:53:34+00:00</updated>
<entry>
<title>renderer/gles2: Compute texture coordinates based off of vertex positions</title>
<updated>2023-05-28T18:53:34+00:00</updated>
<author>
<name>Alexander Orzechowski</name>
<email>alex@ozal.ski</email>
</author>
<published>2023-05-23T06:16:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=b1d26ed47bfd3725100bde10c20b6ee9b1045e65'/>
<id>urn:sha1:b1d26ed47bfd3725100bde10c20b6ee9b1045e65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>renderer/gles2: Interpret matrix as column major in shader</title>
<updated>2023-05-28T18:53:34+00:00</updated>
<author>
<name>Alexander Orzechowski</name>
<email>alex@ozal.ski</email>
</author>
<published>2023-05-22T18:26:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=6f67bfe5ab111881f2c066502b845d35c0c24a30'/>
<id>urn:sha1:6f67bfe5ab111881f2c066502b845d35c0c24a30</id>
<content type='text'>
Avoids us needing to transpose.
</content>
</entry>
<entry>
<title>render/gles2: default to highp if available</title>
<updated>2023-02-02T21:54:13+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2023-02-02T21:43:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=677a3f2f8847ed2de49dd60868f9d9487a546f58'/>
<id>urn:sha1:677a3f2f8847ed2de49dd60868f9d9487a546f58</id>
<content type='text'>
The spec [1] says that the maximum value for a mediump float
is at least 2¹⁴ in section 4.5.2. However, when using a 4k
resolution texture coordinates will exceed this value. This causes
issues on drivers which implement mediump as a 16-bit [2].

Switch to highp. There's a twist: on GLES2, support for highp is
optional. So we need to guard it with cute GL_FRAGMENT_PRECISION_HIGH
ifdefs.

[1]: https://registry.khronos.org/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf
[2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21082
</content>
</entry>
<entry>
<title>render/gles2: de-duplicate vertex shaders</title>
<updated>2022-10-28T11:49:03+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2022-10-27T14:05:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=4d04144b9254335c74f54c6e282904ec0c54c9dd'/>
<id>urn:sha1:4d04144b9254335c74f54c6e282904ec0c54c9dd</id>
<content type='text'>
The vertex shaders for quads and textures are identical.
</content>
</entry>
<entry>
<title>render/gles2: move color uniform from quad.vert to quad.frag</title>
<updated>2022-10-28T11:49:03+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2022-10-27T13:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=d69018c195d1bb8e6919e73a1709d03a9ae98f38'/>
<id>urn:sha1:d69018c195d1bb8e6919e73a1709d03a9ae98f38</id>
<content type='text'>
We have no use for a v_color varying. We can use the uniform
directly from the fragment shader without getting the vertex shader
involved.
</content>
</entry>
<entry>
<title>render/gles2: move shaders to individual files</title>
<updated>2022-10-28T11:46:06+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2022-10-26T10:03:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=a75f9be2e8c63608ab64b9b93a10fdc25600501b'/>
<id>urn:sha1:a75f9be2e8c63608ab64b9b93a10fdc25600501b</id>
<content type='text'>
Instead of having a C file with strings for each shader, move each
shader into its own file. Use a small POSIX shell script to convert
the files into C strings (can't wait for C23 #embed...).

The benefits from this are:

- Improved readability and syntax highlighting.
- Line numbers in shader compiler errors are easier to make sense of.
- Consistency with the Vulkan renderer.
- Shaders will become more complicated as we add color management
  features.
</content>
</entry>
</feed>
