diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index a1657f923..d99adb053 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -6476,9 +6476,10 @@ namespace bgfx { namespace gl if (m_type == GL_FRAGMENT_SHADER) { bx::write(&writer - , "#define varying in\n" - "#define texture2D texture\n" - "#define texture2DProj textureProj\n" + , "#define varying in\n" + "#define texture2D texture\n" + "#define texture2DArray texture\n" + "#define texture2DProj textureProj\n" , &err ); diff --git a/tools/shaderc/shaderc.cpp b/tools/shaderc/shaderc.cpp index 02b5ec6ba..5d92a8f06 100644 --- a/tools/shaderc/shaderc.cpp +++ b/tools/shaderc/shaderc.cpp @@ -2372,6 +2372,11 @@ namespace bgfx bx::stringPrintf(code, "precision highp int;\n"); } + if (glsl_profile >= 300) + { + bx::stringPrintf(code, "precision highp sampler2DArray;\n"); + } + // Pretend that all extensions are available. // This will be stripped later. if (usesTextureLod)