summaryrefslogtreecommitdiff
path: root/src/video_core/command_classes
diff options
context:
space:
mode:
authorGravatar ameerj2020-12-28 01:02:06 -0500
committerGravatar ameerj2021-01-07 14:33:45 -0500
commit2c27127d04a155fe0f893e84263d58f14473785d (patch)
treee72b7d973f5c0dd4a553f815a632bf8fcc687998 /src/video_core/command_classes
parentMerge pull request #5306 from MerryMage/ignore-library-Open (diff)
downloadyuzu-2c27127d04a155fe0f893e84263d58f14473785d.tar.gz
yuzu-2c27127d04a155fe0f893e84263d58f14473785d.tar.xz
yuzu-2c27127d04a155fe0f893e84263d58f14473785d.zip
nvdec syncpt incorporation
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
Diffstat (limited to 'src/video_core/command_classes')
-rw-r--r--src/video_core/command_classes/host1x.cpp6
-rw-r--r--src/video_core/command_classes/sync_manager.cpp2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/video_core/command_classes/host1x.cpp b/src/video_core/command_classes/host1x.cpp
index c4dd4881a..9d0a1b4d9 100644
--- a/src/video_core/command_classes/host1x.cpp
+++ b/src/video_core/command_classes/host1x.cpp
@@ -34,6 +34,8 @@ void Tegra::Host1x::ProcessMethod(Method method, const std::vector<u32>& argumen
34} 34}
35 35
36void Tegra::Host1x::Execute(u32 data) { 36void Tegra::Host1x::Execute(u32 data) {
37 // This method waits on a valid syncpoint. 37 u32 syncpointId = (data & 0xFF);
38 // TODO: Implement when proper Async is in place 38 u32 threshold = state.load_syncpoint_payload32;
39
40 gpu.WaitFence(syncpointId, threshold);
39} 41}
diff --git a/src/video_core/command_classes/sync_manager.cpp b/src/video_core/command_classes/sync_manager.cpp
index 19dc9e0ab..579857766 100644
--- a/src/video_core/command_classes/sync_manager.cpp
+++ b/src/video_core/command_classes/sync_manager.cpp
@@ -38,7 +38,7 @@ u32 SyncptIncrManager::IncrementWhenDone(u32 class_id, u32 id) {
38} 38}
39 39
40void SyncptIncrManager::SignalDone(u32 handle) { 40void SyncptIncrManager::SignalDone(u32 handle) {
41 const auto done_incr = 41 const auto& done_incr =
42 std::find_if(increments.begin(), increments.end(), 42 std::find_if(increments.begin(), increments.end(),
43 [handle](const SyncptIncr& incr) { return incr.id == handle; }); 43 [handle](const SyncptIncr& incr) { return incr.id == handle; });
44 if (done_incr != increments.cend()) { 44 if (done_incr != increments.cend()) {