[Mesa-dev] [PATCH] intel/vec4/gs: reset nr_pull_param if DUAL_INSTANCED compile failed.

Kenneth Graunke kenneth at whitecape.org
Thu Aug 3 06:04:41 UTC 2017


On Wednesday, August 2, 2017 8:50:54 PM PDT Dave Airlie wrote:
> If dual instanced compile fails (as seems to happen with virgl a

I think you mean "dual object" - it tries that first, then falls back to
either "dual instance" or "single" mode.

Thanks for fixing this!

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

> 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.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/intel/compiler/brw_vec4_gs_visitor.cpp | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/intel/compiler/brw_vec4_gs_visitor.cpp b/src/intel/compiler/brw_vec4_gs_visitor.cpp
> index ca59927cd3..a8e445c473 100644
> --- a/src/intel/compiler/brw_vec4_gs_visitor.cpp
> +++ b/src/intel/compiler/brw_vec4_gs_visitor.cpp
> @@ -912,6 +912,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);
>           }
>        }
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170802/fba4959e/attachment.sig>


More information about the mesa-dev mailing list