diff options
| author | 2018-08-24 19:58:02 -0400 | |
|---|---|---|
| committer | 2018-08-24 19:58:05 -0400 | |
| commit | 20800f2df720be274f49343ccfec18d750dbeee1 (patch) | |
| tree | ccb20ae97c2ce63bd431f2e0df8990ea40e44d88 | |
| parent | Port #4013 from Citra: "Init logging sooner so we dont miss some logs on star... (diff) | |
| download | yuzu-20800f2df720be274f49343ccfec18d750dbeee1.tar.gz yuzu-20800f2df720be274f49343ccfec18d750dbeee1.tar.xz yuzu-20800f2df720be274f49343ccfec18d750dbeee1.zip | |
maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()
The start and finish events should likely not be right after one another
like this, otherwise the batch will appear to complete immediately
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 68f91cc75..f32a79d7b 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp | |||
| @@ -218,10 +218,6 @@ void Maxwell3D::DrawArrays() { | |||
| 218 | debug_context->OnEvent(Tegra::DebugContext::Event::IncomingPrimitiveBatch, nullptr); | 218 | debug_context->OnEvent(Tegra::DebugContext::Event::IncomingPrimitiveBatch, nullptr); |
| 219 | } | 219 | } |
| 220 | 220 | ||
| 221 | if (debug_context) { | ||
| 222 | debug_context->OnEvent(Tegra::DebugContext::Event::FinishedPrimitiveBatch, nullptr); | ||
| 223 | } | ||
| 224 | |||
| 225 | // Both instance configuration registers can not be set at the same time. | 221 | // Both instance configuration registers can not be set at the same time. |
| 226 | ASSERT_MSG(!regs.draw.instance_next || !regs.draw.instance_cont, | 222 | ASSERT_MSG(!regs.draw.instance_next || !regs.draw.instance_cont, |
| 227 | "Illegal combination of instancing parameters"); | 223 | "Illegal combination of instancing parameters"); |
| @@ -237,6 +233,10 @@ void Maxwell3D::DrawArrays() { | |||
| 237 | const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count}; | 233 | const bool is_indexed{regs.index_array.count && !regs.vertex_buffer.count}; |
| 238 | rasterizer.AccelerateDrawBatch(is_indexed); | 234 | rasterizer.AccelerateDrawBatch(is_indexed); |
| 239 | 235 | ||
| 236 | if (debug_context) { | ||
| 237 | debug_context->OnEvent(Tegra::DebugContext::Event::FinishedPrimitiveBatch, nullptr); | ||
| 238 | } | ||
| 239 | |||
| 240 | // TODO(bunnei): Below, we reset vertex count so that we can use these registers to determine if | 240 | // TODO(bunnei): Below, we reset vertex count so that we can use these registers to determine if |
| 241 | // the game is trying to draw indexed or direct mode. This needs to be verified on HW still - | 241 | // the game is trying to draw indexed or direct mode. This needs to be verified on HW still - |
| 242 | // it's possible that it is incorrect and that there is some other register used to specify the | 242 | // it's possible that it is incorrect and that there is some other register used to specify the |