From 705b13566613f87e4b6f12a7e6adbd58d97dc566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 20 Apr 2015 18:10:41 -0700 Subject: [PATCH] Fixed EXT_shader_texture_lod ESSL extension for vertex shaders. --- 3rdparty/glsl-optimizer/src/glsl/builtin_functions.cpp | 3 ++- 3rdparty/glsl-optimizer/src/glsl/builtin_variables.cpp | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/3rdparty/glsl-optimizer/src/glsl/builtin_functions.cpp b/3rdparty/glsl-optimizer/src/glsl/builtin_functions.cpp index ee85b44bb..c7931fab7 100644 --- a/3rdparty/glsl-optimizer/src/glsl/builtin_functions.cpp +++ b/3rdparty/glsl-optimizer/src/glsl/builtin_functions.cpp @@ -172,7 +172,8 @@ es_lod_exists_in_stage(const _mesa_glsl_parse_state *state) * is enabled. */ return - state->stage == MESA_SHADER_FRAGMENT && +// BK - EXT_shader_texture_lod is available in vertex and fragment shaders. +// state->stage == MESA_SHADER_FRAGMENT && state->es_shader && state->is_version(110, 100) && state->EXT_shader_texture_lod_enable; diff --git a/3rdparty/glsl-optimizer/src/glsl/builtin_variables.cpp b/3rdparty/glsl-optimizer/src/glsl/builtin_variables.cpp index e52ac1c98..91beeb0ac 100644 --- a/3rdparty/glsl-optimizer/src/glsl/builtin_variables.cpp +++ b/3rdparty/glsl-optimizer/src/glsl/builtin_variables.cpp @@ -949,6 +949,13 @@ builtin_variable_generator::generate_fs_special_vars() var->enable_extension_warning("GL_EXT_shader_framebuffer_fetch"); } + { + // BK - gl_PrimitiveID + ir_variable *var; + var = add_output(VARYING_SLOT_PRIMITIVE_ID, int_t, "gl_PrimitiveID", glsl_precision_high); + var->data.interpolation = INTERP_QUALIFIER_FLAT; + } + if (state->ARB_sample_shading_enable) { add_system_value(SYSTEM_VALUE_SAMPLE_ID, int_t, "gl_SampleID", glsl_precision_high); add_system_value(SYSTEM_VALUE_SAMPLE_POS, vec2_t, "gl_SamplePosition", glsl_precision_high);