diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-09-15 12:17:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-15 12:17:04 +0200 |
commit | b8b1747704a612145655a1391c1ebf4d1f9e5ba6 (patch) | |
tree | 5f85729ae6532a678532ae20b9422fb0c2e84b73 /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #2857 from ReinUsesLisp/surface-srgb (diff) | |
parent | maxwell_3d: Update firmware 4 call stub commentary (diff) | |
download | yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar.gz yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar.bz2 yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar.lz yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar.xz yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.tar.zst yuzu-b8b1747704a612145655a1391c1ebf4d1f9e5ba6.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index c8c92757a..5d516cdb3 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -329,6 +329,10 @@ void Maxwell3D::CallMethod(const GPU::MethodCall& method_call) { ProcessMacroBind(method_call.argument); break; } + case MAXWELL3D_REG_INDEX(firmware[4]): { + ProcessFirmwareCall4(); + break; + } case MAXWELL3D_REG_INDEX(const_buffer.cb_data[0]): case MAXWELL3D_REG_INDEX(const_buffer.cb_data[1]): case MAXWELL3D_REG_INDEX(const_buffer.cb_data[2]): @@ -419,6 +423,14 @@ void Maxwell3D::ProcessMacroBind(u32 data) { macro_positions[regs.macros.entry++] = data; } +void Maxwell3D::ProcessFirmwareCall4() { + LOG_WARNING(HW_GPU, "(STUBBED) called"); + + // Firmware call 4 is a blob that changes some registers depending on its parameters. + // These registers don't affect emulation and so are stubbed by setting 0xd00 to 1. + regs.reg_array[0xd00] = 1; +} + void Maxwell3D::ProcessQueryGet() { const GPUVAddr sequence_address{regs.query.QueryAddress()}; // Since the sequence address is given as a GPU VAddr, we have to convert it to an application |