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.
This commit is contained in:
Simon Ser 2022-10-26 12:03:50 +02:00
parent bc416ed752
commit a75f9be2e8
12 changed files with 102 additions and 82 deletions

View file

@ -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