AnsweredAssumed Answered

Bug in pixel transfer operations (OpenGL)

Question asked by kd-11 on Apr 24, 2018
Latest reply on Apr 25, 2019 by kd-11

I have encountered a rather interesting bug with pixel transfer operations. I have tested this on several AMD cards from the 7000 series to the RX 480 and 580.

The core of the problem is that when a texture is created with immutable storage, pixel transfer operations with endianness swap will always fail with GL_OUT_OF_MEMORY. A sample application is attached which attempts to isolate the problem. Compiled binary is provided for convenience as well as the source.

 

Notes:

- When the texture is created with mutable storage, readback works but when immutable is used it does not.

- Also note that while the trigger is a pack operation, setting the unpack state to swap bytes also will cause the GL_OUT_OF_MEMORY error. The error is not real, as can be demostrated with the attached sample and source code.

- The sample works fine on all other drivers I have tried.

Attachments

Outcomes