From 5f309b88db87e479378ea4695fe69a99fd8e2919 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 31 Aug 2019 17:43:19 -0300 Subject: Revert "Revert #2466" and stub FirmwareCall 4 --- src/video_core/engines/maxwell_3d.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/video_core/engines/maxwell_3d.cpp') diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index f5158d219..f2cffd8ef 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -328,6 +328,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]): @@ -418,6 +422,13 @@ void Maxwell3D::ProcessMacroBind(u32 data) { macro_positions[regs.macros.entry++] = data; } +void Maxwell3D::ProcessFirmwareCall4() { + LOG_WARNING(HW_GPU, "(STUBBED) called"); + + // For details refer to #2501 + 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 -- cgit v1.2.3 From 193bfefce4d40c9b3f244d416a0c24da276b0869 Mon Sep 17 00:00:00 2001 From: Rodrigo Locatti Date: Sat, 14 Sep 2019 22:51:18 -0300 Subject: maxwell_3d: Update firmware 4 call stub commentary --- src/video_core/engines/maxwell_3d.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/video_core/engines/maxwell_3d.cpp') diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index f2cffd8ef..5f7738e7b 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -425,7 +425,8 @@ void Maxwell3D::ProcessMacroBind(u32 data) { void Maxwell3D::ProcessFirmwareCall4() { LOG_WARNING(HW_GPU, "(STUBBED) called"); - // For details refer to #2501 + // 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; } -- cgit v1.2.3