<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>