[Scummvm-git-logs] scummvm master -> 141a8e2d4f7c5c87efdf06d5159c5e6ec850842e
aquadran
noreply at scummvm.org
Sun Nov 3 18:38:16 UTC 2024
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:
141a8e2d4f WINTERMUTE: Added disabling blend mode at flip to prevent interfere with backend renderer
Commit: 141a8e2d4f7c5c87efdf06d5159c5e6ec850842e
https://github.com/scummvm/scummvm/commit/141a8e2d4f7c5c87efdf06d5159c5e6ec850842e
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-11-03T19:38:11+01:00
Commit Message:
WINTERMUTE: Added disabling blend mode at flip to prevent interfere with backend renderer
Changed paths:
engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
index 57a728073fc..3a56f804959 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.cpp
@@ -111,6 +111,16 @@ bool BaseRenderOpenGL3D::initRenderer(int width, int height, bool windowed) {
return true;
}
+bool BaseRenderOpenGL3D::flip() {
+ _lastTexture = nullptr;
+ // Disable blend mode to prevent interfere with backend renderer
+ bool prevStateBlend = glIsEnabled(GL_BLEND);
+ glDisable(GL_BLEND);
+ g_system->updateScreen();
+ prevStateBlend ? glEnable(GL_BLEND) : glDisable(GL_BLEND);
+ return true;
+}
+
bool BaseRenderOpenGL3D::fill(byte r, byte g, byte b, Common::Rect *rect) {
if(!_gameRef->_editorMode) {
glViewport(0, _height, _width, _height);
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
index 58a825e20fa..c9511b689cb 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
@@ -90,6 +90,7 @@ public:
BaseImage *takeScreenshot() override;
void fadeToColor(byte r, byte g, byte b, byte a) override;
+ bool flip() override;
bool fill(byte r, byte g, byte b, Common::Rect *rect = nullptr) override;
bool setViewport(int left, int top, int right, int bottom) override;
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
index 5648d088bba..f325f42d34d 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.cpp
@@ -138,6 +138,16 @@ bool BaseRenderOpenGL3DShader::initRenderer(int width, int height, bool windowed
return true;
}
+bool BaseRenderOpenGL3DShader::flip() {
+ _lastTexture = nullptr;
+ // Disable blend mode to prevent interfere with backend renderer
+ bool prevStateBlend = glIsEnabled(GL_BLEND);
+ glDisable(GL_BLEND);
+ g_system->updateScreen();
+ prevStateBlend ? glEnable(GL_BLEND) : glDisable(GL_BLEND);
+ return true;
+}
+
bool BaseRenderOpenGL3DShader::fill(byte r, byte g, byte b, Common::Rect *rect) {
if(!_gameRef->_editorMode) {
glViewport(0, _height, _width, _height);
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
index f80a6b9c6fb..649a76d9d3b 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d_shader.h
@@ -79,6 +79,7 @@ public:
void dumpData(const char *filename) override {}
BaseImage *takeScreenshot() override;
void fadeToColor(byte r, byte g, byte b, byte a) override;
+ bool flip() override;
bool fill(byte r, byte g, byte b, Common::Rect *rect = nullptr) override;
bool setViewport(int left, int top, int right, int bottom) override;
More information about the Scummvm-git-logs
mailing list