rhi: gl: Reset scissor before blit

glBlitFramebuffer is affected by the scissor test.

Fixes: QTBUG-103792
Pick-to: 6.5 6.4 6.2
Change-Id: I2eccc9f3e469af8b2fdff22e9fb7c2311c25b867
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
This commit is contained in:
Laszlo Agocs 2023-04-03 13:00:43 +02:00
parent ed031ed18c
commit 33b7a3b846

View File

@ -3362,6 +3362,10 @@ void QRhiGles2::executeCommandBuffer(QRhiCommandBuffer *cb)
break;
case QGles2CommandBuffer::Command::BlitFromRenderbuffer:
{
// Altering the scissor state, so reset the stored state, although
// not strictly required as long as blit is done in endPass() only.
cbD->graphicsPassState.reset();
f->glDisable(GL_SCISSOR_TEST);
GLuint fbo[2];
f->glGenFramebuffers(2, fbo);
f->glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo[0]);