[Mesa-dev] [PATCH] glsl: binding point is a texture unit, which is a combined space

Timothy Arceri t_arceri at yahoo.com.au
Mon Jun 22 23:46:04 PDT 2015


This also probably explains why my max binding test for arrays of
arrays was failing on the Nvidia blob. Guess I should have looked into
that failure a little harder.

On Tue, 2015-06-23 at 00:22 -0400, Ilia Mirkin wrote:
> This fixes compilation failures in Dota 2 Reborn where a texture unit
> binding point was used that was numerically higher than the max
> per stage.
> 
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
> Tested-by: Nick Sarnie <commendsarnex at gmail.com>
> Cc: "10.5 10.6" <mesa-stable at lists.freedesktop.org>
> ---
>  src/glsl/ast_to_hir.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
> index 259e01e..8cb46be 100644
> --- a/src/glsl/ast_to_hir.cpp
> +++ b/src/glsl/ast_to_hir.cpp
> @@ -2086,7 +2086,7 @@ validate_binding_qualifier(struct 
> _mesa_glsl_parse_state *state,
>         *  with an array of size N, all elements of the array from 
> binding
>         *  through binding + N - 1 must be within this range."
>         */
> -      unsigned limit = ctx->Const.Program[state
> ->stage].MaxTextureImageUnits;
> +      unsigned limit = ctx->Const.MaxCombinedTextureImageUnits;
>  
>        if (max_index >= limit) {
>           _mesa_glsl_error(loc, state, "layout(binding = %d) for %d 
> samplers "


More information about the mesa-dev mailing list