summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-08-24 19:58:02 -0400
committerGravatar Lioncash2018-08-24 19:58:05 -0400
commit20800f2df720be274f49343ccfec18d750dbeee1 (patch)
treeccb20ae97c2ce63bd431f2e0df8990ea40e44d88 /src
parentPort #4013 from Citra: "Init logging sooner so we dont miss some logs on star... (diff)
downloadyuzu-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
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp8
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