summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-04-29 22:23:31 +0200
committerbunnei <bunneidev@gmail.com>2018-04-29 22:23:31 +0200
commitf41eb95e13b88a55572887c3b5e4890bcb84edb2 (patch)
tree2add08a1a4e30235f6a3109159ce92edce31d960 /src/video_core/engines
parentgl_shader_decompiler: Implement MOV_R. (diff)
downloadyuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar.gz
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar.bz2
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar.lz
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar.xz
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.tar.zst
yuzu-f41eb95e13b88a55572887c3b5e4890bcb84edb2.zip
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 835e5fe78..23e70cd8a 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -208,6 +208,16 @@ void Maxwell3D::DrawArrays() {
const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count};
VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(is_indexed);
+
+ // TODO(bunnei): Below, we reset vertex count so that we can use these registers to determine if
+ // the game is trying to draw indexed or direct mode. This needs to be verified on HW still -
+ // it's possible that it is incorrect and that there is some other register used to specify the
+ // drawing mode.
+ if (is_indexed) {
+ regs.index_array.count = 0;
+ } else {
+ regs.vertex_buffer.count = 0;
+ }
}
void Maxwell3D::ProcessCBBind(Regs::ShaderStage stage) {