[Mesa-dev] [PATCH] i965/fs: Do not set the size for zero-size uniforms

Francisco Jerez currojerez at riseup.net
Fri Aug 28 02:08:30 PDT 2015


Marta Lofstedt <marta.lofstedt at linux.intel.com> writes:

> From: Marta Lofstedt <marta.lofstedt at intel.com>
>
> Zero sized uniforms can exist in the list, but they
> don't get get any space allocated in
> prog_data->params or in the param_size array, so
> the size should not be set for them.
> This was previously fixed in:
> commit: 781dc7c0e1f41502f18e07c0940af949a78d2792.
> However,
> commit: 259f7291de2387aa3ac5f856b39b7b934a1d8e7d
> removed the fix.
>
> Signed-off-by: Marta Lofstedt <marta.lofstedt at intel.com>

Reviewed-by: Francisco Jerez <currojerez at riseup.net>

> ---
>  src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> index 430efb3..9d14d1f 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
> @@ -190,8 +190,8 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
>              nir_setup_builtin_uniform(var);
>           else
>              nir_setup_uniform(var);
> -
> -         param_size[var->data.driver_location] = type_size_scalar(var->type);
> +         if(type_size_scalar(var->type) > 0)
> +            param_size[var->data.driver_location] = type_size_scalar(var->type);
>        }
>     } else {
>        /* prog_to_nir only creates a single giant uniform variable so we can
> @@ -202,7 +202,8 @@ fs_visitor::nir_setup_uniforms(nir_shader *shader)
>                 &prog->Parameters->ParameterValues[p][i];
>           }
>        }
> -      param_size[0] = prog->Parameters->NumParameters * 4;
> +      if(prog->Parameters->NumParameters > 0)
> +         param_size[0] = prog->Parameters->NumParameters * 4;
>     }
>  }
>  
> -- 
> 1.9.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150828/8a24145c/attachment.sig>


More information about the mesa-dev mailing list