diff options
author | bunnei <bunneidev@gmail.com> | 2020-05-03 08:43:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-03 08:43:18 +0200 |
commit | 2aff0b473338655fba08f83c6a4c0af808b6d4a9 (patch) | |
tree | aae207eac2560d76f835a0eba3511b36fcf4a571 /src/video_core/engines | |
parent | Merge pull request #3861 from lat9nq/ci-enable-vulkan (diff) | |
parent | {maxwell_3d,buffer_cache}: Implement memory barriers using 3D registers (diff) | |
download | yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar.gz yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar.bz2 yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar.lz yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar.xz yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.tar.zst yuzu-2aff0b473338655fba08f83c6a4c0af808b6d4a9.zip |
Diffstat (limited to 'src/video_core/engines')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 4 | ||||
-rw-r--r-- | src/video_core/engines/maxwell_3d.h | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 39e3b66a2..7db055ea0 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -184,6 +184,10 @@ void Maxwell3D::CallMethod(const GPU::MethodCall& method_call) { } switch (method) { + case MAXWELL3D_REG_INDEX(wait_for_idle): { + rasterizer.WaitForIdle(); + break; + } case MAXWELL3D_REG_INDEX(shadow_ram_control): { shadow_state.shadow_ram_control = static_cast<Regs::ShadowRamControl>(method_call.argument); break; diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 5e522e0d2..864924ff3 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -709,7 +709,9 @@ public: union { struct { - INSERT_UNION_PADDING_WORDS(0x45); + INSERT_UNION_PADDING_WORDS(0x44); + + u32 wait_for_idle; struct { u32 upload_address; @@ -1536,6 +1538,7 @@ private: static_assert(offsetof(Maxwell3D::Regs, field_name) == position * 4, \ "Field " #field_name " has invalid position") +ASSERT_REG_POSITION(wait_for_idle, 0x44); ASSERT_REG_POSITION(macros, 0x45); ASSERT_REG_POSITION(shadow_ram_control, 0x49); ASSERT_REG_POSITION(upload, 0x60); |