From d7e3f037807e3450cacce3f9cb84161e6c210da2 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Tue, 24 Sep 2019 17:09:18 +0200 Subject: [PATCH] shaderc_glsl: Fix error when mixing SamplerArray and `flat` keyword Use of the `flat` keyword will have `glslopt_optimize` run with glsl version 130. In this mode, it will change calls of `texture2DArray` to the more general `textureArray`. However, this call results in an error when reading the compiled shader: ``` bgfx/src/renderer_gl.cpp:5904: BGFX Failed to compile shader. 0: 0(45) : error C1503: undefined variable "textureArray" ``` Defining this call to be `texture` avoids this error. --- src/renderer_gl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 906560d88..5204a5382 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -5660,6 +5660,7 @@ namespace bgfx { namespace gl else { bx::write(&writer, "#define texture2DArrayLodEXT texture2DArrayLod\n"); + bx::write(&writer, "#define textureArray texture\n"); } }