summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_dma.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2022-11-27 00:58:06 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-01-01 22:43:57 +0100
commitcb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644 (patch)
tree46e00278c6265ed501488e7c6f02fc4c12a6af6c /src/video_core/engines/maxwell_dma.cpp
parentRevert Buffer cache changes and setup additional macros. (diff)
downloadyuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.gz
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.bz2
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.lz
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.xz
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.tar.zst
yuzu-cb1497d0d7711a1c0e527aaa3e1dc3f95e5a6644.zip
Diffstat (limited to 'src/video_core/engines/maxwell_dma.cpp')
-rw-r--r--src/video_core/engines/maxwell_dma.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp
index f73d7bf0f..01f70ea9e 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -21,7 +21,10 @@ namespace Tegra::Engines {
using namespace Texture;
MaxwellDMA::MaxwellDMA(Core::System& system_, MemoryManager& memory_manager_)
- : system{system_}, memory_manager{memory_manager_} {}
+ : system{system_}, memory_manager{memory_manager_} {
+ execution_mask.reset();
+ execution_mask[offsetof(Regs, launch_dma) / sizeof(u32)] = true;
+}
MaxwellDMA::~MaxwellDMA() = default;
@@ -29,6 +32,13 @@ void MaxwellDMA::BindRasterizer(VideoCore::RasterizerInterface* rasterizer_) {
rasterizer = rasterizer_;
}
+void MaxwellDMA::ConsumeSinkImpl() {
+ for (auto [method, value] : method_sink) {
+ regs.reg_array[method] = value;
+ }
+ method_sink.clear();
+}
+
void MaxwellDMA::CallMethod(u32 method, u32 method_argument, bool is_last_call) {
ASSERT_MSG(method < NUM_REGS, "Invalid MaxwellDMA register");