@@ -56,13 +56,16 @@ class StagingAndMultipleQueuesApp final : public application_templates::BasicMul
56
56
57
57
// TODO: create/initialize array of atomic pointers to IGPUImage* and IGPUBuffer* to hold results
58
58
59
+ // TODO: Change the capture start/end to become methods of IAPIConnection, because our current API is not how renderdoc works
60
+ getComputeQueue ()->startCapture ();
59
61
std::thread loadImagesThread (&StagingAndMultipleQueuesApp::loadImages, this );
60
62
std::thread saveHistogramsThread (&StagingAndMultipleQueuesApp::saveHistograms, this );
61
63
62
64
calculateHistograms ();
63
65
64
66
loadImagesThread.join ();
65
67
saveHistogramsThread.join ();
68
+ getComputeQueue ()->endCapture ();
66
69
67
70
return true ;
68
71
}
@@ -246,11 +249,9 @@ class StagingAndMultipleQueuesApp final : public application_templates::BasicMul
246
249
// cannot signal from COPY stage because there's a layout transition we need to wait for right after and it doesn't have an explicit stage
247
250
.stageMask =PIPELINE_STAGE_FLAGS::ALL_COMMANDS_BITS
248
251
};
249
- transferUpQueue->startCapture ();
250
252
getTransferUpQueue ()->submit (intendedSubmit.popSubmit ({&signalSemaphore,1 }));
251
253
transfersSubmitted++;
252
254
transfersSubmitted.notify_one ();
253
- transferUpQueue->endCapture ();
254
255
255
256
256
257
// TODO: this is for basic testing purposes, will be deleted ofc
@@ -467,9 +468,7 @@ class StagingAndMultipleQueuesApp final : public application_templates::BasicMul
467
468
if (getTransferUpQueue ()==computeQueue)
468
469
for (auto old = transfersSubmitted.load (); old <= imageToProcessId; old = transfersSubmitted.load ())
469
470
transfersSubmitted.wait (old);
470
- computeQueue->startCapture ();
471
471
computeQueue->submit (submitInfo);
472
- computeQueue->endCapture ();
473
472
std::string msg = std::string (" Image nr " ) + std::to_string (imageToProcessId) + " processed. Resource idx: " + std::to_string (resourceIdx);
474
473
m_logger->log (msg);
475
474
}
0 commit comments