From 9b08698a0cd1c958a4479ca544dc35333aa0e370 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sun, 29 Dec 2019 01:05:02 -0300 Subject: maxwell_3d: Change write dirty flags to a bitset --- .../renderer_opengl/gl_state_tracker.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/video_core/renderer_opengl/gl_state_tracker.cpp') diff --git a/src/video_core/renderer_opengl/gl_state_tracker.cpp b/src/video_core/renderer_opengl/gl_state_tracker.cpp index 572a43856..319fd825b 100644 --- a/src/video_core/renderer_opengl/gl_state_tracker.cpp +++ b/src/video_core/renderer_opengl/gl_state_tracker.cpp @@ -110,23 +110,23 @@ StateTracker::StateTracker(Core::System& system) : system{system} {} void StateTracker::Initialize() { auto& dirty = system.GPU().Maxwell3D().dirty; - std::size_t entry_index = 0; - const auto AddEntry = [&dirty, &entry_index](std::size_t dirty_register) { - dirty.on_write_stores[entry_index++] = static_cast(dirty_register); - }; - - AddEntry(RenderTargets); - for (std::size_t i = 0; i < Regs::NumRenderTargets; ++i) { - AddEntry(ColorBuffer0 + i); - } - AddEntry(ZetaBuffer); - auto& tables = dirty.tables; SetupDirtyRenderTargets(tables); SetupDirtyColorMasks(tables); SetupDirtyViewports(tables); SetupDirtyScissors(tables); SetupDirtyVertexFormat(tables); + + auto& store = dirty.on_write_stores; + store[RenderTargets] = true; + store[ZetaBuffer] = true; + for (std::size_t i = 0; i < Regs::NumRenderTargets; ++i) { + store[ColorBuffer0 + i] = true; + } + store[VertexBuffers] = true; + for (std::size_t i = 0; i < Regs::NumVertexArrays; ++i) { + store[VertexBuffer0 + i] = true; + } } } // namespace OpenGL -- cgit v1.2.3