summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp10
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h2
2 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp
index d5558f29f..be6b88f98 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp
@@ -77,9 +77,13 @@ u32 nvhost_ctrl_gpu::GetCharacteristics(const std::vector<u8>& input, std::vecto
77u32 nvhost_ctrl_gpu::GetTPCMasks(const std::vector<u8>& input, std::vector<u8>& output) { 77u32 nvhost_ctrl_gpu::GetTPCMasks(const std::vector<u8>& input, std::vector<u8>& output) {
78 IoctlGpuGetTpcMasksArgs params{}; 78 IoctlGpuGetTpcMasksArgs params{};
79 std::memcpy(&params, input.data(), input.size()); 79 std::memcpy(&params, input.data(), input.size());
80 NGLOG_WARNING(Service_NVDRV, "(STUBBED) called, mask=0x{:X}, mask_buf_addr=0x{:X}", 80 NGLOG_INFO(Service_NVDRV, "called, mask=0x{:X}, mask_buf_addr=0x{:X}", params.mask_buf_size,
81 params.mask_buf_size, params.mask_buf_addr); 81 params.mask_buf_addr);
82 params.unk = 0xcafe; // TODO(ogniK): Needs to be non 0, what does this actually do? 82 // TODO(ogniK): Confirm value on hardware
83 if (params.mask_buf_size)
84 params.tpc_mask_size = 4 * 1; // 4 * num_gpc
85 else
86 params.tpc_mask_size = 0;
83 std::memcpy(output.data(), &params, sizeof(params)); 87 std::memcpy(output.data(), &params, sizeof(params));
84 return 0; 88 return 0;
85} 89}
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
index 31040cdbe..2d43598b1 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.h
@@ -86,7 +86,7 @@ private:
86 /// [in] pointer to TPC mask buffer. It will receive one 32-bit TPC mask per GPC or 0 if 86 /// [in] pointer to TPC mask buffer. It will receive one 32-bit TPC mask per GPC or 0 if
87 /// GPC is not enabled or not present. This parameter is ignored if mask_buf_size is 0. 87 /// GPC is not enabled or not present. This parameter is ignored if mask_buf_size is 0.
88 u64_le mask_buf_addr; 88 u64_le mask_buf_addr;
89 u64_le unk; // Nintendo add this? 89 u64_le tpc_mask_size; // Nintendo add this?
90 }; 90 };
91 static_assert(sizeof(IoctlGpuGetTpcMasksArgs) == 24, 91 static_assert(sizeof(IoctlGpuGetTpcMasksArgs) == 24,
92 "IoctlGpuGetTpcMasksArgs is incorrect size"); 92 "IoctlGpuGetTpcMasksArgs is incorrect size");