diff options
| -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() { | |||
| 208 | 208 | ||
| 209 | const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count}; | 209 | const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count}; |
| 210 | VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(is_indexed); | 210 | VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(is_indexed); |
| 211 | |||
| 212 | // TODO(bunnei): Below, we reset vertex count so that we can use these registers to determine if | ||
| 213 | // the game is trying to draw indexed or direct mode. This needs to be verified on HW still - | ||
| 214 | // it's possible that it is incorrect and that there is some other register used to specify the | ||
| 215 | // drawing mode. | ||
| 216 | if (is_indexed) { | ||
| 217 | regs.index_array.count = 0; | ||
| 218 | } else { | ||
| 219 | regs.vertex_buffer.count = 0; | ||
| 220 | } | ||
| 211 | } | 221 | } |
| 212 | 222 | ||
| 213 | void Maxwell3D::ProcessCBBind(Regs::ShaderStage stage) { | 223 | void Maxwell3D::ProcessCBBind(Regs::ShaderStage stage) { |