From: Francisco Jerez Date: Mon, 17 Aug 2015 14:42:30 +0000 (+0300) Subject: glsl: Define image-related built-in constants required by GLSL ES 3.1. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=307c382c1b514629c342587d2f320f5491de9b65;p=mesa.git glsl: Define image-related built-in constants required by GLSL ES 3.1. Reviewed-by: Tapani Pälli --- diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp index 4966ba3ff4e..dd7804f7b8c 100644 --- a/src/glsl/builtin_variables.cpp +++ b/src/glsl/builtin_variables.cpp @@ -744,23 +744,31 @@ builtin_variable_generator::generate_constants() */ } - if (state->is_version(420, 0) || + if (state->is_version(420, 310) || state->ARB_shader_image_load_store_enable) { add_const("gl_MaxImageUnits", state->Const.MaxImageUnits); - add_const("gl_MaxCombinedImageUnitsAndFragmentOutputs", - state->Const.MaxCombinedShaderOutputResources); - add_const("gl_MaxImageSamples", - state->Const.MaxImageSamples); add_const("gl_MaxVertexImageUniforms", state->Const.MaxVertexImageUniforms); - add_const("gl_MaxGeometryImageUniforms", - state->Const.MaxGeometryImageUniforms); add_const("gl_MaxFragmentImageUniforms", state->Const.MaxFragmentImageUniforms); add_const("gl_MaxCombinedImageUniforms", state->Const.MaxCombinedImageUniforms); + if (!state->es_shader) { + add_const("gl_MaxCombinedImageUnitsAndFragmentOutputs", + state->Const.MaxCombinedShaderOutputResources); + add_const("gl_MaxImageSamples", + state->Const.MaxImageSamples); + add_const("gl_MaxGeometryImageUniforms", + state->Const.MaxGeometryImageUniforms); + } + + if (state->is_version(450, 310)) { + add_const("gl_MaxCombinedShaderOutputResources", + state->Const.MaxCombinedShaderOutputResources); + } + if (state->is_version(400, 0) || state->ARB_tessellation_shader_enable) { add_const("gl_MaxTessControlImageUniforms",