mojira.dev
MC-311520

`writeToTexture` and `copyBufferToTexture` never check for GL errors, unlike the neighboring methods

GlCommandEncoder.copyTextureToTexture and copyTextureToBuffer both bracket their GL calls with GlStateManager.clearGlErrors() and a _getError() check that throws IllegalStateException. writeToTexture and copyBufferToTexture do neither.

https://mcsrc.dev/2/26.3-snapshot-10/com/mojang/renderpearl/backend/opengl/GlCommandEncoder#L291-366

Because neither method calls clearGlErrors() on entry either, a pending error survives until the next method that does clear, where it is discarded. The upload silently does nothing and no diagnostic reaches the user. The Vulkan backend reports the equivalent condition through the validation layers.

Adding the same clearGlErrors() / _getError() bracket used by the two neighbouring methods makes the four copy paths behave consistently.

Comments 1

Lolo

rabrandt

Community Consensus

Platform G

Low

Debug, Rendering

26.3 Snapshot 10

Retrieved