diff options
author | bunnei <bunneidev@gmail.com> | 2018-04-29 22:23:31 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-04-29 22:23:31 +0200 |
commit | f41eb95e13b88a55572887c3b5e4890bcb84edb2 (patch) | |
tree | 2add08a1a4e30235f6a3109159ce92edce31d960 | |
parent | gl_shader_decompiler: Implement MOV_R. (diff) | |
download | yuzu-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 |
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 10 |
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) { |