mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-04-17 06:46:39 -04:00
render/vulkan: Use shader variants for different output transforms
This commit is contained in:
parent
d9345f4d9c
commit
26006035b6
5 changed files with 107 additions and 77 deletions
|
|
@ -2,7 +2,6 @@ vulkan_shaders_src = [
|
|||
'common.vert',
|
||||
'texture.frag',
|
||||
'quad.frag',
|
||||
'output.frag',
|
||||
]
|
||||
|
||||
vulkan_shaders = []
|
||||
|
|
@ -21,4 +20,24 @@ foreach shader : vulkan_shaders_src
|
|||
vulkan_shaders += [header]
|
||||
endforeach
|
||||
|
||||
vulkan_shader_output_color_transforms = {
|
||||
'inverse_rgb': '0',
|
||||
'lut_3d': '1',
|
||||
}
|
||||
|
||||
foreach name, ident : vulkan_shader_output_color_transforms
|
||||
name = 'output_' + name
|
||||
args = [glslang, '-DOUTPUT_TRANSFORM=' + ident, '-V', '@INPUT@', '-o', '@OUTPUT@', '--vn', name + '_data']
|
||||
if glslang_version.version_compare('>=11.0.0')
|
||||
args += '--quiet'
|
||||
endif
|
||||
header = custom_target(
|
||||
name + '.frag_spv',
|
||||
output: name + '.frag.h',
|
||||
input: 'output.frag',
|
||||
command: args)
|
||||
|
||||
vulkan_shaders += [header]
|
||||
endforeach
|
||||
|
||||
wlr_files += vulkan_shaders
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue