[Scummvm-git-logs] scummvm master -> 18f75444b2bc967d1ed69dc60e6ecd584efc9175
aquadran
noreply at scummvm.org
Tue Nov 15 22:23:57 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
18f75444b2 BACKENDS3D: Revert my changes to Framebuffer viewport state.
Commit: 18f75444b2bc967d1ed69dc60e6ecd584efc9175
https://github.com/scummvm/scummvm/commit/18f75444b2bc967d1ed69dc60e6ecd584efc9175
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2022-11-15T23:23:50+01:00
Commit Message:
BACKENDS3D: Revert my changes to Framebuffer viewport state.
It's useless for backend code flow.
Instead move into UpdateScreen() as short time solution.
Changed paths:
backends/graphics3d/opengl/framebuffer.cpp
backends/graphics3d/opengl/framebuffer.h
backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp
diff --git a/backends/graphics3d/opengl/framebuffer.cpp b/backends/graphics3d/opengl/framebuffer.cpp
index f757a661f9a..2e851a5cf6e 100644
--- a/backends/graphics3d/opengl/framebuffer.cpp
+++ b/backends/graphics3d/opengl/framebuffer.cpp
@@ -115,13 +115,11 @@ void FrameBuffer::init() {
void FrameBuffer::attach() {
glBindFramebuffer(GL_FRAMEBUFFER, _frameBuffer);
- glGetIntegerv(GL_VIEWPORT, _prevStateViewport);
glViewport(0, 0, _width, _height);
}
void FrameBuffer::detach() {
glBindFramebuffer(GL_FRAMEBUFFER, 0);
- glViewport(_prevStateViewport[0], _prevStateViewport[1], _prevStateViewport[2], _prevStateViewport[3]);
}
#if !USE_FORCED_GLES2
@@ -174,7 +172,6 @@ void MultiSampleFrameBuffer::init() {
void MultiSampleFrameBuffer::attach() {
glBindFramebuffer(GL_READ_FRAMEBUFFER, getFrameBufferName());
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, _msFrameBufferId);
- glGetIntegerv(GL_VIEWPORT, _prevStateViewport);
glViewport(0, 0, getWidth(), getHeight());
}
@@ -183,7 +180,6 @@ void MultiSampleFrameBuffer::detach() {
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, getFrameBufferName());
glBlitFramebuffer(0, 0, getWidth(), getHeight(), 0, 0, getWidth(), getHeight(), GL_COLOR_BUFFER_BIT, GL_NEAREST);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
- glViewport(_prevStateViewport[0], _prevStateViewport[1], _prevStateViewport[2], _prevStateViewport[3]);
}
#endif // !USE_FORCED_GLES2
diff --git a/backends/graphics3d/opengl/framebuffer.h b/backends/graphics3d/opengl/framebuffer.h
index 976e59c8b09..83202a0f4e8 100644
--- a/backends/graphics3d/opengl/framebuffer.h
+++ b/backends/graphics3d/opengl/framebuffer.h
@@ -46,7 +46,6 @@ private:
void init();
GLuint _renderBuffers[2];
GLuint _frameBuffer;
- GLint _prevStateViewport[4];
};
#if !USE_FORCED_GLES2
@@ -64,7 +63,6 @@ private:
GLuint _msColorId;
GLuint _msDepthId;
GLuint _msSamples;
- GLint _prevStateViewport[4];
};
#endif
diff --git a/backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp b/backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp
index abbf70b2179..353ea86128a 100644
--- a/backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp
+++ b/backends/graphics3d/openglsdl/openglsdl-graphics3d.cpp
@@ -637,6 +637,8 @@ OpenGL::FrameBuffer *OpenGLSdlGraphics3dManager::createFramebuffer(uint width, u
}
void OpenGLSdlGraphics3dManager::updateScreen() {
+ GLint prevStateViewport[4];
+ glGetIntegerv(GL_VIEWPORT, prevStateViewport);
if (_frameBuffer) {
_frameBuffer->detach();
_surfaceRenderer->prepareState();
@@ -666,6 +668,7 @@ void OpenGLSdlGraphics3dManager::updateScreen() {
if (_frameBuffer) {
_frameBuffer->attach();
}
+ glViewport(prevStateViewport[0], prevStateViewport[1], prevStateViewport[2], prevStateViewport[3]);
}
int16 OpenGLSdlGraphics3dManager::getHeight() const {
More information about the Scummvm-git-logs
mailing list