From de8e01698fb745e6f91c22470393777093c2c2ee Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Sun, 30 Apr 2017 12:12:35 +1000 Subject: [PATCH] i965: Don't allocate uniform space for samplers Samplers are encoded into the instruction word, so there's no need to make space in the uniform file. Previously matrix_columns and vector_elements were set to 0, making this else case a no-op. Commit 75a31a20af26 changed that, causing malloc corruption in thousands of tests on i965. Fixes: 75a31a20af26 ("glsl: set vector_elements to 1 for samplers") Reviewed-by: Jason Ekstrand Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100871 --- src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp index f35e8f88dd2..f0bccac14ef 100644 --- a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp +++ b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp @@ -135,7 +135,7 @@ brw_nir_setup_glsl_uniform(gl_shader_stage stage, nir_variable *var, struct gl_uniform_storage *storage = &prog->sh.data->UniformStorage[u]; - if (storage->builtin) + if (storage->builtin || storage->type->is_sampler()) continue; if (strncmp(var->name, storage->name, namelen) != 0 || -- 2.30.2