[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