<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 01/06/16 17:05, Jason Ekstrand wrote:<br>
    <blockquote
cite="mid:CAOFGe952A=ObvmfjtF9jAQxt7TutqTbW6D8mBbcMhBnLE_iT_w@mail.gmail.com"
      type="cite">
      <p dir="ltr"><br>
        On May 24, 2016 12:21 AM, "Francisco Jerez" <<a
          moz-do-not-send="true" href="mailto:currojerez@riseup.net"><a class="moz-txt-link-abbreviated" href="mailto:currojerez@riseup.net">currojerez@riseup.net</a></a>>
        wrote:<br>
        ><br>
        > This was kind of an abuse of p->compressed, dataport
        send message<br>
        > instructions are always uncompressed.  Use the current
        execution size<br>
        > instead since p->compressed is on its way out.<br>
        > ---<br>
        >  src/mesa/drivers/dri/i965/brw_eu_emit.c | 14
        ++++++++------<br>
        >  1 file changed, 8 insertions(+), 6 deletions(-)<br>
        ><br>
        > diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c
        b/src/mesa/drivers/dri/i965/brw_eu_emit.c<br>
        > index a649206..10cbbe8 100644<br>
        > --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c<br>
        > +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c<br>
        > @@ -2886,9 +2886,11 @@ brw_surface_payload_size(struct
        brw_codegen *p,<br>
        >                           bool has_simd4x2,<br>
        >                           bool has_simd16)<br>
        >  {<br>
        > -   if (has_simd4x2 &&
        brw_inst_access_mode(p->devinfo, p->current) ==
        BRW_ALIGN_16)<br>
        > +   if (has_simd4x2 &&<br>
        > +       brw_inst_access_mode(p->devinfo, p->current)
        == BRW_ALIGN_16)<br>
        >        return 1;<br>
        > -   else if (has_simd16 && p->compressed)<br>
        > +   else if (has_simd16 &&<br>
        > +            brw_inst_exec_size(p->devinfo,
        p->current) == BRW_EXECUTE_16)<br>
        >        return 2 * num_channels;<br>
        >     else<br>
        >        return num_channels;<br>
        > @@ -2907,7 +2909,7 @@
        brw_set_dp_untyped_atomic_message(struct brw_codegen *p,<br>
        ><br>
        >     if (devinfo->gen >= 8 || devinfo->is_haswell)
        {<br>
        >        if (brw_inst_access_mode(devinfo, p->current) ==
        BRW_ALIGN_1) {<br>
        > -         if (!p->compressed)<br>
        > +         if (brw_inst_exec_size(devinfo, p->current) ==
        BRW_EXECUTE_8)</p>
      <p dir="ltr">I would guess this change and the similar one below
        it.  Perhaps we want "!= BRW_EXECUTE_16" instead of "==
        BRW_EXECUTE_8"?</p>
    </blockquote>
    <br>
    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>
    <br>
    BR<br>
  </body>
</html>