diff options
author | Dave Airlie <[email protected]> | 2017-08-03 13:48:40 +1000 |
---|---|---|
committer | Andres Gomez <[email protected]> | 2017-08-19 13:46:04 +0300 |
commit | 1c3dcd3aa46c0fdbd64f6559e7ca54f01811ea1e (patch) | |
tree | cad707bc10ac76aa6138168a325cecc32ab9da73 /src/intel | |
parent | 894953dae6d1d163fc9cd58271b2cc3307a616b4 (diff) |
intel/vec4/gs: reset nr_pull_param if DUAL_INSTANCED compile failed.
If dual object compile fails (as seems to happen with virgl a
fair bit, and does piglit even have any tests for it?), we end up
not restarting the pull params, so we call
vec4_visitor::move_uniform_array_access_to_pull_constant
a second time and it runs over the ends of the alloc.
Fixes: tests/spec/glsl-1.50/execution/geometry/max-input-components.shader_test
running inside virgl on ivybridge.
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 271fa3a684ef0eefe99087c13d1abb099784163f)
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/compiler/brw_vec4_gs_visitor.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_vec4_gs_visitor.cpp b/src/intel/compiler/brw_vec4_gs_visitor.cpp index 5fcd02831a6..67d0139b5cf 100644 --- a/src/intel/compiler/brw_vec4_gs_visitor.cpp +++ b/src/intel/compiler/brw_vec4_gs_visitor.cpp @@ -897,6 +897,7 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data, memcpy(prog_data->base.base.param, param, sizeof(gl_constant_value*) * param_count); prog_data->base.base.nr_params = param_count; + prog_data->base.base.nr_pull_params = 0; ralloc_free(param); } } |