[Mesa-dev] [PATCH 10/21] i965/eu: Use current exec size instead of p->compressed in surface message generation.

Alejandro PiƱeiro apinheiro at igalia.com
Wed Jun 1 15:52:35 UTC 2016


On 01/06/16 17:05, Jason Ekstrand wrote:
>
>
> On May 24, 2016 12:21 AM, "Francisco Jerez" <currojerez at riseup.net
> <mailto:currojerez at riseup.net>> wrote:
> >
> > This was kind of an abuse of p->compressed, dataport send message
> > instructions are always uncompressed.  Use the current execution size
> > instead since p->compressed is on its way out.
> > ---
> >  src/mesa/drivers/dri/i965/brw_eu_emit.c | 14 ++++++++------
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c
> b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > index a649206..10cbbe8 100644
> > --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
> > @@ -2886,9 +2886,11 @@ brw_surface_payload_size(struct brw_codegen *p,
> >                           bool has_simd4x2,
> >                           bool has_simd16)
> >  {
> > -   if (has_simd4x2 && brw_inst_access_mode(p->devinfo, p->current)
> == BRW_ALIGN_16)
> > +   if (has_simd4x2 &&
> > +       brw_inst_access_mode(p->devinfo, p->current) == BRW_ALIGN_16)
> >        return 1;
> > -   else if (has_simd16 && p->compressed)
> > +   else if (has_simd16 &&
> > +            brw_inst_exec_size(p->devinfo, p->current) ==
> BRW_EXECUTE_16)
> >        return 2 * num_channels;
> >     else
> >        return num_channels;
> > @@ -2907,7 +2909,7 @@ brw_set_dp_untyped_atomic_message(struct
> brw_codegen *p,
> >
> >     if (devinfo->gen >= 8 || devinfo->is_haswell) {
> >        if (brw_inst_access_mode(devinfo, p->current) == BRW_ALIGN_1) {
> > -         if (!p->compressed)
> > +         if (brw_inst_exec_size(devinfo, p->current) == BRW_EXECUTE_8)
>
> I would guess this change and the similar one below it.  Perhaps we
> want "!= BRW_EXECUTE_16" instead of "== BRW_EXECUTE_8"?
>

Doing that change solves the gpu hang using "INTEL_DEBUG=shader_time"
with the examples I was using. I will do a full piglit run, and if
everything goes fine, I will send a patch to the list.

BR
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160601/6b7a0a2f/attachment.html>


More information about the mesa-dev mailing list