diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-12-29 06:03:05 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-02-28 21:56:42 +0100 |
commit | f7ec078592468fa22ff377b996a720c8be82c2dc (patch) | |
tree | 9326105d022b9e939f036c46d028f7f7ef8f9e5e /src/video_core/renderer_opengl/gl_state_tracker.cpp | |
parent | gl_state_tracker: Add dirty flags for buffers and divisors (diff) | |
download | yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar.gz yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar.bz2 yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar.lz yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar.xz yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.tar.zst yuzu-f7ec078592468fa22ff377b996a720c8be82c2dc.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_state_tracker.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_state_tracker.cpp b/src/video_core/renderer_opengl/gl_state_tracker.cpp index 7150b9247..bc5942a7f 100644 --- a/src/video_core/renderer_opengl/gl_state_tracker.cpp +++ b/src/video_core/renderer_opengl/gl_state_tracker.cpp @@ -124,6 +124,15 @@ void SetupDirtyScissors(Tables& tables) { FillBlock(tables[1], OFF(scissor_test), NUM(scissor_test), Scissors); } +void SetupDirtyShaders(Tables& tables) { + FillBlock(tables[0], OFF(shader_config[0]), NUM(shader_config[0]) * Regs::MaxShaderProgram, + Shaders); +} + +void SetupDirtyMisc(Tables& tables) { + tables[0][OFF(clip_distance_enabled)] = ClipDistances; +} + } // Anonymous namespace StateTracker::StateTracker(Core::System& system) : system{system} {} @@ -137,6 +146,8 @@ void StateTracker::Initialize() { SetupDirtyScissors(tables); SetupDirtyVertexArrays(tables); SetupDirtyVertexFormat(tables); + SetupDirtyShaders(tables); + SetupDirtyMisc(tables); auto& store = dirty.on_write_stores; store[RenderTargets] = true; |