[Mesa-dev] [PATCH v2 18/21] i965: Update TexturesUsed after linking the shaders

Timothy Arceri tarceri at itsqueeze.com
Wed Jun 6 10:11:27 UTC 2018


Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 12/05/18 19:40, Alejandro Piñeiro wrote:
> From: Neil Roberts <nroberts at igalia.com>
> 
> Otherwise if the shader is SPIR-V then SamplerUsed won’t have been
> initialised yet so it will end up thinking no textures are used. This
> was causing a crash later on if nothing causes it to regenerate
> TexturesUsed before the next render.
> ---
>   src/mesa/drivers/dri/i965/brw_link.cpp | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
> index 996465f305a..0203c44f1cb 100644
> --- a/src/mesa/drivers/dri/i965/brw_link.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_link.cpp
> @@ -246,7 +246,6 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
>         _mesa_copy_linked_program_data(shProg, shader);
>   
>         prog->ShadowSamplers = shader->shadow_samplers;
> -      _mesa_update_shader_textures_used(shProg, prog);
>   
>         bool debug_enabled =
>            (INTEL_DEBUG & intel_debug_flag_for_shader_stage(shader->Stage));
> @@ -300,6 +299,9 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
>            continue;
>   
>         struct gl_program *prog = shader->Program;
> +
> +      _mesa_update_shader_textures_used(shProg, prog);
> +
>         brw_shader_gather_info(prog->nir, prog);
>   
>         NIR_PASS_V(prog->nir, gl_nir_lower_samplers, shProg);
> 


More information about the mesa-dev mailing list