From b01dd7d1c86265dd19508ea15e4ff4db31681470 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sun, 29 Dec 2019 18:14:40 -0300 Subject: gl_state_tracker: Implement dirty flags for blending --- src/video_core/renderer_opengl/gl_state_tracker.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/video_core/renderer_opengl/gl_state_tracker.h') diff --git a/src/video_core/renderer_opengl/gl_state_tracker.h b/src/video_core/renderer_opengl/gl_state_tracker.h index 11fdc6de4..a9b470eee 100644 --- a/src/video_core/renderer_opengl/gl_state_tracker.h +++ b/src/video_core/renderer_opengl/gl_state_tracker.h @@ -47,8 +47,15 @@ enum : u8 { ColorMask0, ColorMask7 = ColorMask0 + 7, + BlendColor, + BlendIndependentEnabled, + BlendStates, + BlendState0, + BlendState7 = BlendState0 + 7, + Shaders, ClipDistances, + CullTestEnable, FrontFace, CullFace, @@ -56,7 +63,6 @@ enum : u8 { DepthTest, StencilTest, ColorMask, - BlendState, PolygonOffset, Last @@ -103,6 +109,12 @@ public: flags[OpenGL::Dirty::ColorMask0] = true; } + void NotifyBlend0() { + auto& flags = system.GPU().Maxwell3D().dirty.flags; + flags[OpenGL::Dirty::BlendStates] = true; + flags[OpenGL::Dirty::BlendState0] = true; + } + void NotifyFramebuffer() { auto& flags = system.GPU().Maxwell3D().dirty.flags; flags[VideoCommon::Dirty::RenderTargets] = true; -- cgit v1.2.3