summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/command_processor.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp
index fff159058..3ab4af374 100644
--- a/src/video_core/command_processor.cpp
+++ b/src/video_core/command_processor.cpp
@@ -245,7 +245,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
245 g_state.geometry_pipeline.SubmitVertex(output); 245 g_state.geometry_pipeline.SubmitVertex(output);
246 246
247 // TODO: If drawing after every immediate mode triangle kills performance, 247 // TODO: If drawing after every immediate mode triangle kills performance,
248 // change it to flush triangles whenever a draing config register changes 248 // change it to flush triangles whenever a drawing config register changes
249 // See: https://github.com/citra-emu/citra/pull/2866#issuecomment-327011550 249 // See: https://github.com/citra-emu/citra/pull/2866#issuecomment-327011550
250 VideoCore::g_renderer->Rasterizer()->DrawTriangles(); 250 VideoCore::g_renderer->Rasterizer()->DrawTriangles();
251 if (g_debug_context) { 251 if (g_debug_context) {
@@ -259,16 +259,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
259 } 259 }
260 260
261 case PICA_REG_INDEX(pipeline.gpu_mode): 261 case PICA_REG_INDEX(pipeline.gpu_mode):
262 if (regs.pipeline.gpu_mode == PipelineRegs::GPUMode::Configuring) { 262 // This register likely just enables vertex processing and doesn't need any special handling
263 MICROPROFILE_SCOPE(GPU_Drawing);
264
265 // Draw immediate mode triangles when GPU Mode is set to GPUMode::Configuring
266 VideoCore::g_renderer->Rasterizer()->DrawTriangles();
267
268 if (g_debug_context) {
269 g_debug_context->OnEvent(DebugContext::Event::FinishedPrimitiveBatch, nullptr);
270 }
271 }
272 break; 263 break;
273 264
274 case PICA_REG_INDEX_WORKAROUND(pipeline.command_buffer.trigger[0], 0x23c): 265 case PICA_REG_INDEX_WORKAROUND(pipeline.command_buffer.trigger[0], 0x23c):
@@ -407,7 +398,6 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
407 range.second, range.first); 398 range.second, range.first);
408 } 399 }
409 400
410 MICROPROFILE_SCOPE(GPU_Drawing);
411 VideoCore::g_renderer->Rasterizer()->DrawTriangles(); 401 VideoCore::g_renderer->Rasterizer()->DrawTriangles();
412 if (g_debug_context) { 402 if (g_debug_context) {
413 g_debug_context->OnEvent(DebugContext::Event::FinishedPrimitiveBatch, nullptr); 403 g_debug_context->OnEvent(DebugContext::Event::FinishedPrimitiveBatch, nullptr);