summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.hpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-06-15 12:11:28 +0200
committerVaxry <vaxry@vaxry.net>2025-06-15 12:11:28 +0200
commit3db3baa19e55a039c1a64a29c8e9aaadea4e5f01 (patch)
tree018b367a9c57b2d2fca0e89a435e29d0b22444b0 /src/render/OpenGL.hpp
parent57d20a1bf67676dc63347e4f1df2e4b66133733f (diff)
opengl: use a stack for storing monitor transform enabled
fixes #10487
Diffstat (limited to 'src/render/OpenGL.hpp')
-rw-r--r--src/render/OpenGL.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/render/OpenGL.hpp b/src/render/OpenGL.hpp
index fade4a9d..341ee575 100644
--- a/src/render/OpenGL.hpp
+++ b/src/render/OpenGL.hpp
@@ -11,6 +11,7 @@
#include <list>
#include <string>
#include <unordered_map>
+#include <stack>
#include <map>
#include <cairo/cairo.h>
@@ -195,7 +196,9 @@ class CHyprOpenGLImpl {
int outerRound = -1 /* use round */);
void renderTextureMatte(SP<CTexture> tex, const CBox& pBox, CFramebuffer& matte);
- void setMonitorTransformEnabled(bool enabled);
+ void pushMonitorTransformEnabled(bool enabled);
+ void popMonitorTransformEnabled();
+
void setRenderModifEnabled(bool enabled);
void saveMatrix();
@@ -310,12 +313,14 @@ class CHyprOpenGLImpl {
std::string m_extensions;
bool m_fakeFrame = false;
- bool m_endFrame = false;
bool m_applyFinalShader = false;
bool m_blend = false;
bool m_offloadedFramebuffer = false;
bool m_cmSupported = true;
+ bool m_monitorTransformEnabled = false; // do not modify directly
+ std::stack<bool> m_monitorTransformStack;
+
SShader m_finalScreenShader;
CTimer m_globalTimer;
GLuint m_currentProgram;