From 4ead3bcebfd25ea2a3b8b2b96e0f1c0a71aa4e97 Mon Sep 17 00:00:00 2001 From: Benjamin Doherty Date: Tue, 25 Oct 2022 12:07:16 -0400 Subject: [PATCH] Force spirv-cross to keep Metal argument buffer equal sized --- shaders/src/main.fs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/shaders/src/main.fs b/shaders/src/main.fs index 4665b01e34..cf1af5ea8a 100644 --- a/shaders/src/main.fs +++ b/shaders/src/main.fs @@ -32,6 +32,13 @@ void main() { fragColor = evaluateMaterial(inputs); +#if defined(TARGET_METAL_ENVIRONMENT) + // Hack to force spirv-cross to keep the light_structure texture present in the argument buffer. + float hack = textureLod(light_structure, vec2(0.0, 0.0), 0.0).r; + fragColor.x += hack; + fragColor.x -= hack; +#endif + #if defined(VARIANT_HAS_DIRECTIONAL_LIGHTING) && defined(VARIANT_HAS_SHADOWING) bool visualizeCascades = bool(frameUniforms.cascades & 0x10u); if (visualizeCascades) {