mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-17 06:59:43 -05:00
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:
parent
bc416ed752
commit
a75f9be2e8
12 changed files with 102 additions and 82 deletions
23
render/gles2/shaders/meson.build
Normal file
23
render/gles2/shaders/meson.build
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue