[Mesa-dev] [PATCH 1/3] glsl: skip buffer variables when filling UniformRemapTable

Lofstedt, Marta marta.lofstedt at intel.com
Tue Oct 20 03:11:51 PDT 2015


If you also remove the uniforms[i].array_elements in the same manner, the assert in:
ES31-CTS.explicit_uniform_location.uniform-loc-arrays-of-arrays 
Is also avoided.

> -----Original Message-----
> From: mesa-dev [mailto:mesa-dev-bounces at lists.freedesktop.org] On
> Behalf Of Tapani Pälli
> Sent: Tuesday, October 20, 2015 11:24 AM
> To: mesa-dev at lists.freedesktop.org
> Subject: [Mesa-dev] [PATCH 1/3] glsl: skip buffer variables when filling
> UniformRemapTable
> 
> UniformRemapTable is used only for remapping user specified uniform
> locations to driver internally used ones, shader storage buffer variables
> should not utilize uniform locations.
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/glsl/link_uniforms.cpp | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp index
> fe00aa3..f7b87a1 100644
> --- a/src/glsl/link_uniforms.cpp
> +++ b/src/glsl/link_uniforms.cpp
> @@ -1180,7 +1180,8 @@ link_assign_uniform_locations(struct
> gl_shader_program *prog,
> 
>     /* Reserve all the explicit locations of the active uniforms. */
>     for (unsigned i = 0; i < num_uniforms; i++) {
> -      if (uniforms[i].type->is_subroutine())
> +      if (uniforms[i].type->is_subroutine() ||
> +          uniforms[i].is_shader_storage)
>           continue;
> 
>        if (uniforms[i].remap_location != UNMAPPED_UNIFORM_LOC) { @@ -
> 1200,8 +1201,10 @@ link_assign_uniform_locations(struct
> gl_shader_program *prog,
>     /* Reserve locations for rest of the uniforms. */
>     for (unsigned i = 0; i < num_uniforms; i++) {
> 
> -      if (uniforms[i].type->is_subroutine())
> +      if (uniforms[i].type->is_subroutine() ||
> +          uniforms[i].is_shader_storage)
>           continue;
> +
>        /* Built-in uniforms should not get any location. */
>        if (uniforms[i].builtin)
>           continue;
> --
> 2.4.3
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list