[Bug 106390] Invalid imageAtomicExchange() writes.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Mar 5 12:47:43 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=106390

--- Comment #14 from Danylo <danylo.piliaiev at gmail.com> ---
Returning to this there are several observations I can add:

1) imageAtomicExchange() works with constant data:

   imageAtomicExchange(out_surface, ivec2(gl_GlobalInvocationID.xy),
0xFF00FF00); 

   works while with variable color it doesn't.

2) Vertical gradiesnt are fine, the issue appears only when having different
colors in a row.

3) In a row every pixel for which gl_LocalInvocationID.x == 0 has correct color
while other (local_size_x - 1) pixels inherit its gba channels' values so

        vec4 color;
        if (gl_LocalInvocationID.x == 0) {
                color = vec4(1.0, 0.0, 0.0, 1.0);
        } else {
                color = vec4(0.0, gl_LocalInvocationID.x / float(GROUP_SIZE),
0.0, 1.0);
        }

        imageAtomicExchange(out_surface, ivec2(gl_GlobalInvocationID.xy),
packUnorm4x8(color));

   produces red vertical lines with black color between them while it should
produce red lines with green gradient in between.

I don't have any ideas what's wrong here.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20190305/3744ebbb/attachment.html>


More information about the intel-3d-bugs mailing list