[Mesa-dev] [PATCH] i965: Don't emit 3DSTATE_SAMPLER_STATE_POINTERS_VS for compute shaders.

Jason Ekstrand jason at jlekstrand.net
Tue Oct 31 16:00:00 UTC 2017


I think I'd prefer the commit message to say something like:

i965: properly initialize brw->cs.base.stage to MESA_SHADER_COMPUTE

and then keep all the VS stuff in the body of the message.  That's a better
description of the change even though the fallout is rather whacky.  With
that,

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

Does this correspond to any actual known bugs?

--Jason

On Tue, Oct 31, 2017 at 1:58 AM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> For the render pipeline, the upload_sampler_state_table atom emits
> 3DSTATE_BINDING_TABLE_POINTERS_XS.  It tries to avoid this for compute:
>
>    if (GEN_GEN >= 7 && stage_state->stage != MESA_SHADER_COMPUTE) {
>       /* Emit a 3DSTATE_SAMPLER_STATE_POINTERS_XS packet. */
>       genX(emit_sampler_state_pointers_xs)(brw, stage_state);
>    } ...
>
> However, we were failing to initialize brw->cs.base.stage, so it was
> left as 0 (MESA_SHADER_VERTEX), causing this condition to break.  We
> then emitted 3DSTATE_SAMPLER_STATE_POINTERS_VS in GPGPU mode, when
> trying to upload CS samplers.  Nothing good can come of this.
>
> Cc: mesa-stable at lists.freedesktop.org
> ---
>  src/mesa/drivers/dri/i965/brw_context.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c
> b/src/mesa/drivers/dri/i965/brw_context.c
> index eed42468b11..95b00bf8fce 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -874,6 +874,7 @@ brwCreateContext(gl_api api,
>     brw->tes.base.stage = MESA_SHADER_TESS_EVAL;
>     brw->gs.base.stage = MESA_SHADER_GEOMETRY;
>     brw->wm.base.stage = MESA_SHADER_FRAGMENT;
> +   brw->cs.base.stage = MESA_SHADER_COMPUTE;
>     if (devinfo->gen >= 8) {
>        brw->vtbl.emit_depth_stencil_hiz = gen8_emit_depth_stencil_hiz;
>     } else if (devinfo->gen >= 7) {
> --
> 2.15.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171031/7754043f/attachment.html>


More information about the mesa-dev mailing list