diff options
| author | bunnei <bunneidev@gmail.com> | 2018-04-13 14:18:37 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-04-16 21:10:15 -0400 |
| commit | 1a1af3fda354f3e81cace3f3f64138bcea1995c6 (patch) | |
| tree | a1bf934fac2579ae296c6ff55d37d94fd37650ca /src/video_core/engines/maxwell_3d.cpp | |
| parent | 44e09ba8076a31dca0da4a84104c8e4d12827cb0 (diff) | |
gl_rasterizer: Implement indexed vertex mode.
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 98ed11ec5..0e1d6d785 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -165,6 +165,7 @@ void Maxwell3D::ProcessQueryGet() { void Maxwell3D::DrawArrays() { LOG_DEBUG(HW_GPU, "called, topology=%d, count=%d", regs.draw.topology.Value(), regs.vertex_buffer.count); + ASSERT_MSG(!(regs.index_array.count && regs.vertex_buffer.count), "Both indexed and direct?"); auto debug_context = Core::System::GetInstance().GetGPUDebugContext(); @@ -176,7 +177,8 @@ void Maxwell3D::DrawArrays() { debug_context->OnEvent(Tegra::DebugContext::Event::FinishedPrimitiveBatch, nullptr); } - VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(false /*is_indexed*/); + const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count}; + VideoCore::g_renderer->Rasterizer()->AccelerateDrawBatch(is_indexed); } void Maxwell3D::ProcessCBBind(Regs::ShaderStage stage) { |
