diff options
| author | Fernando S <fsahmkow27@gmail.com> | 2022-10-06 21:29:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-06 21:29:53 +0200 |
| commit | b8860d8aa5b3db0d1bb323bf61d4dd175ab26650 (patch) | |
| tree | 14803b31b6817294d40d57446f6fa94c5ff3fe9a /src/video_core/host1x/control.cpp | |
| parent | d2f7e857d9cdd0943bd71b0e7f4abdf90c562f72 (diff) | |
| parent | 285aedee4f28c87a8a1ad49c81071baaf952e344 (diff) | |
Merge pull request #8467 from FernandoS27/yfc-rel-1
Project yuzu Fried Chicken (Y.F.C.) Part 1
Diffstat (limited to 'src/video_core/host1x/control.cpp')
| -rw-r--r-- | src/video_core/host1x/control.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/video_core/host1x/control.cpp b/src/video_core/host1x/control.cpp new file mode 100644 index 0000000000..dceefdb7f4 --- /dev/null +++ b/src/video_core/host1x/control.cpp @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2021 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "common/assert.h" +#include "video_core/host1x/control.h" +#include "video_core/host1x/host1x.h" + +namespace Tegra::Host1x { + +Control::Control(Host1x& host1x_) : host1x(host1x_) {} + +Control::~Control() = default; + +void Control::ProcessMethod(Method method, u32 argument) { + switch (method) { + case Method::LoadSyncptPayload32: + syncpoint_value = argument; + break; + case Method::WaitSyncpt: + case Method::WaitSyncpt32: + Execute(argument); + break; + default: + UNIMPLEMENTED_MSG("Control method 0x{:X}", static_cast<u32>(method)); + break; + } +} + +void Control::Execute(u32 data) { + host1x.GetSyncpointManager().WaitHost(data, syncpoint_value); +} + +} // namespace Tegra::Host1x |
