On 04/04/2014 02:51 PM, Matt Turner wrote: > On Fri, Apr 4, 2014 at 2:42 PM, Ian Romanick <i...@freedesktop.org> wrote: >> On 03/27/2014 11:45 PM, Tapani Pälli wrote: >>> Patch adds a preprocessor define for the extension and stores >>> explicit location data for uniforms during AST->HIR conversion. >>> It also sets layout token to be available when having the >>> extension in place. >>> >>> Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> >>> --- >>> src/glsl/ast_to_hir.cpp | 13 +++++++++++++ >>> src/glsl/glcpp/glcpp-parse.y | 3 +++ >>> src/glsl/glsl_lexer.ll | 1 + >>> 3 files changed, 17 insertions(+) >>> >>> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp >>> index 8f6e901..3bfad02 100644 >>> --- a/src/glsl/ast_to_hir.cpp >>> +++ b/src/glsl/ast_to_hir.cpp >>> @@ -2123,6 +2123,19 @@ validate_explicit_location(const struct >>> ast_type_qualifier *qual, >>> { >>> bool fail = false; >>> >>> + /* Checks for GL_ARB_explicit_uniform_location. */ >>> + if (qual->flags.q.uniform) { >>> + >>> + if (qual->index < 0) { >>> + _mesa_glsl_error(loc, state, >>> + "explicit location < 0 for uniform %s", >>> var->name); >> >> We also need to check that the explicit location isn't too large. I >> don't think that check can happen here because (I think) it will depend >> on the size of the uniform. The spec isn't completely clear, but I think >> >> // assume GL_MAX_UNIFORM_LOCATIONS is 65536 >> layout(location=65535) float foo[1]; > > I think you mean foo[2]?
Right. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev