diff options
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/command_processor.cpp | 14 |
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); |