[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] Is shader output atomic

If a shader writes multiple times to the same framebuffer location, what is guaranteed about the values of the location ?
For example : a shader writes two times (1, 2) to the same framebuffer pixel without a depth or stencil test.
After the shader is finished the values in the color channels (RGBA) have been computed by invocation 1 or 2.
But is it guaranteed that all the color channel values for one pixel come frome either 1 or 2 ?
so RGBA = [R(1), G(1), B(1), A(1)] or RGBA = [R(2), G(2), B(2), A(2)] or could it be a combination like [R(1), G(2), B(2), A(1)] ?
So is writing the color values treated as an atomic operation ?
It makes sense that this is true but I cannot find anything about this in the specification.

What are the guarantees about the output in the case of multiple draw buffers ?