diff options
author | Liam <byteslice@airmail.cc> | 2022-03-11 23:16:56 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2022-03-12 01:42:12 +0100 |
commit | 56c646d82cdb78557cac7a527247bb46c6028e97 (patch) | |
tree | 3f43e2861450343ee07b93a30931bc332621ed06 | |
parent | Maxwell3D: mark index buffers as dirty after updating counts (diff) | |
download | yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar.gz yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar.bz2 yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar.lz yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar.xz yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.tar.zst yuzu-56c646d82cdb78557cac7a527247bb46c6028e97.zip |
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 | ||||
-rw-r--r-- | src/video_core/engines/maxwell_3d.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 94711ad6b..92baba4e8 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -214,6 +214,9 @@ void Maxwell3D::ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argume regs.index_array.first = regs.small_index.first; dirty.flags[VideoCommon::Dirty::IndexBuffer] = true; return DrawArrays(); + case MAXWELL3D_REG_INDEX(topology_override): + use_topology_override = true; + return; case MAXWELL3D_REG_INDEX(clear_buffers): return ProcessClearBuffers(); case MAXWELL3D_REG_INDEX(query.query_get): @@ -367,7 +370,7 @@ void Maxwell3D::CallMethodFromMME(u32 method, u32 method_argument) { } void Maxwell3D::ProcessTopologyOverride() { - if (regs.draw.topology != regs.topology_override) { + if (use_topology_override) { regs.draw.topology.Assign(regs.topology_override); } } diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index e28937b01..eefb7a4dd 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -1581,6 +1581,7 @@ private: Upload::State upload_state; bool execute_on{true}; + bool use_topology_override{false}; }; #define ASSERT_REG_POSITION(field_name, position) \ |