Hi; Patches implement the extension, no Piglit regressions and all the tests for the extension pass. Location initialization and assignment is done like Ian suggested, this removed quite a bit of code since now there is no need to store inactive uniforms temporarily.
Here's a branch with the patches: http://cgit.freedesktop.org/~tpalli/mesa/log/?h=exp_uniform_loc_v2 // Tapani Tapani Pälli (10): glapi: add GL_ARB_explicit_uniform_location mesa: add enable bit for ARB_explicit_uniform_location mesa: add new enum MAX_UNIFORM_LOCATIONS glsl/linker: initialize explicit uniform locations glsl/linker: assign explicit uniform locations mesa: support inactive uniforms in glUniform* functions glsl: add enable bit for ARB_explicit_uniform_location glsl: parser changes for GL_ARB_explicit_uniform_location Enable GL_ARB_explicit_uniform_location in the drivers. docs: update ARB_explicit_uniform_location status docs/GL3.txt | 2 +- src/glsl/ast_to_hir.cpp | 37 +++++++++++ src/glsl/glcpp/glcpp-parse.y | 3 + src/glsl/glsl_lexer.ll | 1 + src/glsl/glsl_parser_extras.cpp | 1 + src/glsl/glsl_parser_extras.h | 16 +++++ src/glsl/ir_uniform.h | 5 +- src/glsl/link_uniforms.cpp | 56 ++++++++++++++-- src/glsl/linker.cpp | 99 ++++++++++++++++++++++++++++ src/mapi/glapi/gen/gl_API.xml | 6 ++ src/mesa/drivers/dri/i965/intel_extensions.c | 1 + src/mesa/main/context.c | 10 ++- src/mesa/main/extensions.c | 1 + src/mesa/main/get.c | 1 + src/mesa/main/get_hash_params.py | 1 + src/mesa/main/mtypes.h | 6 ++ src/mesa/main/tests/enum_strings.cpp | 1 + src/mesa/main/uniform_query.cpp | 15 +++++ src/mesa/state_tracker/st_extensions.c | 1 + 19 files changed, 254 insertions(+), 9 deletions(-) -- 1.9.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev