diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-11-07 17:15:28 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:51 +0200 |
commit | d7990c159e956e5431c501fa94405dd04496197c (patch) | |
tree | b0eab4e9b1fd5c92e6918a732b3eda8443ba4b9e /src/video_core/renderer_opengl/gl_state_tracker.cpp | |
parent | NVHOST_CTRl: Implement missing method and fix some stuffs. (diff) | |
download | yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar.gz yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar.bz2 yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar.lz yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar.xz yuzu-d7990c159e956e5431c501fa94405dd04496197c.tar.zst yuzu-d7990c159e956e5431c501fa94405dd04496197c.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_state_tracker.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_state_tracker.cpp b/src/video_core/renderer_opengl/gl_state_tracker.cpp index 912725ef7..3657f867d 100644 --- a/src/video_core/renderer_opengl/gl_state_tracker.cpp +++ b/src/video_core/renderer_opengl/gl_state_tracker.cpp @@ -7,8 +7,8 @@ #include "common/common_types.h" #include "core/core.h" +#include "video_core/control/channel_state.h" #include "video_core/engines/maxwell_3d.h" -#include "video_core/gpu.h" #include "video_core/renderer_opengl/gl_state_tracker.h" #define OFF(field_name) MAXWELL3D_REG_INDEX(field_name) @@ -202,9 +202,8 @@ void SetupDirtyMisc(Tables& tables) { } // Anonymous namespace -StateTracker::StateTracker(Tegra::GPU& gpu) : flags{gpu.Maxwell3D().dirty.flags} { - auto& dirty = gpu.Maxwell3D().dirty; - auto& tables = dirty.tables; +void StateTracker::SetupTables(Tegra::Control::ChannelState& channel_state) { + auto& tables{channel_state.maxwell_3d->dirty.tables}; SetupDirtyFlags(tables); SetupDirtyColorMasks(tables); SetupDirtyViewports(tables); @@ -230,4 +229,14 @@ StateTracker::StateTracker(Tegra::GPU& gpu) : flags{gpu.Maxwell3D().dirty.flags} SetupDirtyMisc(tables); } +void StateTracker::ChangeChannel(Tegra::Control::ChannelState& channel_state) { + flags = &channel_state.maxwell_3d->dirty.flags; +} + +void StateTracker::InvalidateState() { + flags->set(); +} + +StateTracker::StateTracker() : flags{} {} + } // namespace OpenGL |