<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - GPU hangs if a shader uses a barrier and a single-plane rep of a multiplane image"
href="https://bugs.freedesktop.org/show_bug.cgi?id=105770#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - GPU hangs if a shader uses a barrier and a single-plane rep of a multiplane image"
href="https://bugs.freedesktop.org/show_bug.cgi?id=105770">bug 105770</a>
from <span class="vcard"><a class="email" href="mailto:atomnuker@gmail.com" title="atomnuker@gmail.com">atomnuker@gmail.com</a>
</span></b>
<pre>I did some more testing and tried the latest mesa git (025105453a807a76754c6)
I think I know what causes it. Seems like even the simplest of cases can crash
the GPU:
#version 460
layout (local_size_x = 16, local_size_y = 16, local_size_z = 1) in;
layout (set = 0, binding = 0, rgba8) uniform readonly image2D input_img;
void main()
{
ivec2 pos = ivec2(gl_GlobalInvocationID.xy);
if (pos.y < imageSize(input_img).y)
barrier();
}
Image resolution is 1280x720. input_img contains plane 1, which is 640x360
(input image has 420 subsampling). I dispatch 40x23x1 workgroups, each with a
size of 16x16x1.
If I use (pos.x < imageSize(input_img).x), the shader runs fine. If I remove
the condition and always run the barrier, the shader runs fine.
However, if I dispatch 40x22x1 workgroups (1 less vertically), the shader also
runs fine.
So the issue seems to be that not running the barrier() on a workgroup which
has local position outside of the plane's dimensions (when the plane is a
single-plane rep of a multiplane image) but running the barrier() in all other
cases, is somehow what makes the GPU crash.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>