diff options
author | Simon Ser <contact@emersion.fr> | 2022-10-26 12:03:50 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-10-28 11:46:06 +0000 |
commit | a75f9be2e8c63608ab64b9b93a10fdc25600501b (patch) | |
tree | 5b90c9dd728862a51f713076188c4fbc25478b77 /render/gles2/shaders/meson.build | |
parent | bc416ed7524381dd768a829e1a19a40d114a6123 (diff) |
render/gles2: move shaders to individual files
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.
Diffstat (limited to 'render/gles2/shaders/meson.build')
-rw-r--r-- | render/gles2/shaders/meson.build | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/render/gles2/shaders/meson.build b/render/gles2/shaders/meson.build new file mode 100644 index 00000000..626c2b14 --- /dev/null +++ b/render/gles2/shaders/meson.build @@ -0,0 +1,23 @@ +embed = find_program('./embed.sh', native: true) + +shaders = [ + 'quad.vert', + 'quad.frag', + 'tex.vert', + 'tex_rgba.frag', + 'tex_rgbx.frag', + 'tex_external.frag', +] + +foreach name : shaders + output = name.underscorify() + '_src.h' + var = name.underscorify() + '_src' + wlr_files += custom_target( + output, + command: [embed, var], + input: name, + output: output, + feed: true, + capture: true, + ) +endforeach |