From 2b4f30dc1da9f09e1e626221e430263567766fdc Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 15 Dec 2024 13:56:09 +0100 Subject: [PATCH] render/gles2: validate shaders at build time Use glslang to validate GLSL shaders at build time. This is optional: if glslang is not found, shader validation is skipped. --- render/gles2/meson.build | 2 ++ render/gles2/shaders/meson.build | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/render/gles2/meson.build b/render/gles2/meson.build index 2a6db9647..a16ec4061 100644 --- a/render/gles2/meson.build +++ b/render/gles2/meson.build @@ -4,6 +4,8 @@ if not (glesv2.found() and internal_features['egl']) subdir_done() endif +glslang = find_program('glslang', 'glslangValidator', native: true, required: false, disabler: true) + features += { 'gles2-renderer': true } wlr_deps += glesv2 diff --git a/render/gles2/shaders/meson.build b/render/gles2/shaders/meson.build index 79454d9aa..64e4e93fb 100644 --- a/render/gles2/shaders/meson.build +++ b/render/gles2/shaders/meson.build @@ -9,6 +9,14 @@ shaders = [ ] foreach name : shaders + custom_target( + 'gles2-' + name, + input: name, + output: name + '_check', + command: [glslang, '@INPUT@'], + build_by_default: true, + ) + output = name.underscorify() + '_src.h' var = name.underscorify() + '_src' wlr_files += custom_target(