summaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-07-18 08:54:42 -0400
committerGravatar Fernando Sahmkow2019-07-18 08:54:42 -0400
commit43f57d668c04c7dde05b076919ae5755db0ff0ac (patch)
treed8ee8da3c76a0c224786670ff7a6d6cf0e42f80f /src/video_core/gpu.cpp
parentMaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace. (diff)
downloadyuzu-43f57d668c04c7dde05b076919ae5755db0ff0ac.tar.gz
yuzu-43f57d668c04c7dde05b076919ae5755db0ff0ac.tar.xz
yuzu-43f57d668c04c7dde05b076919ae5755db0ff0ac.zip
GPU: Add missing puller methods.
This adds some missing puller methods. We don't assert them as these are nop operations for us.
Diffstat (limited to 'src/video_core/gpu.cpp')
-rw-r--r--src/video_core/gpu.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp
index 1b4975498..6cb5fd4e1 100644
--- a/src/video_core/gpu.cpp
+++ b/src/video_core/gpu.cpp
@@ -143,12 +143,12 @@ enum class BufferMethods {
143 NotifyIntr = 0x8, 143 NotifyIntr = 0x8,
144 WrcacheFlush = 0x9, 144 WrcacheFlush = 0x9,
145 Unk28 = 0xA, 145 Unk28 = 0xA,
146 Unk2c = 0xB, 146 UnkCacheFlush = 0xB,
147 RefCnt = 0x14, 147 RefCnt = 0x14,
148 SemaphoreAcquire = 0x1A, 148 SemaphoreAcquire = 0x1A,
149 SemaphoreRelease = 0x1B, 149 SemaphoreRelease = 0x1B,
150 Unk70 = 0x1C, 150 FenceValue = 0x1C,
151 Unk74 = 0x1D, 151 FenceAction = 0x1D,
152 Unk78 = 0x1E, 152 Unk78 = 0x1E,
153 Unk7c = 0x1F, 153 Unk7c = 0x1F,
154 Yield = 0x20, 154 Yield = 0x20,
@@ -194,6 +194,10 @@ void GPU::CallPullerMethod(const MethodCall& method_call) {
194 case BufferMethods::SemaphoreAddressLow: 194 case BufferMethods::SemaphoreAddressLow:
195 case BufferMethods::SemaphoreSequence: 195 case BufferMethods::SemaphoreSequence:
196 case BufferMethods::RefCnt: 196 case BufferMethods::RefCnt:
197 case BufferMethods::UnkCacheFlush:
198 case BufferMethods::WrcacheFlush:
199 case BufferMethods::FenceValue:
200 case BufferMethods::FenceAction:
197 break; 201 break;
198 case BufferMethods::SemaphoreTrigger: { 202 case BufferMethods::SemaphoreTrigger: {
199 ProcessSemaphoreTriggerMethod(); 203 ProcessSemaphoreTriggerMethod();
@@ -204,21 +208,11 @@ void GPU::CallPullerMethod(const MethodCall& method_call) {
204 LOG_ERROR(HW_GPU, "Special puller engine method NotifyIntr not implemented"); 208 LOG_ERROR(HW_GPU, "Special puller engine method NotifyIntr not implemented");
205 break; 209 break;
206 } 210 }
207 case BufferMethods::WrcacheFlush: {
208 // TODO(Kmather73): Research and implement this method.
209 LOG_ERROR(HW_GPU, "Special puller engine method WrcacheFlush not implemented");
210 break;
211 }
212 case BufferMethods::Unk28: { 211 case BufferMethods::Unk28: {
213 // TODO(Kmather73): Research and implement this method. 212 // TODO(Kmather73): Research and implement this method.
214 LOG_ERROR(HW_GPU, "Special puller engine method Unk28 not implemented"); 213 LOG_ERROR(HW_GPU, "Special puller engine method Unk28 not implemented");
215 break; 214 break;
216 } 215 }
217 case BufferMethods::Unk2c: {
218 // TODO(Kmather73): Research and implement this method.
219 LOG_ERROR(HW_GPU, "Special puller engine method Unk2c not implemented");
220 break;
221 }
222 case BufferMethods::SemaphoreAcquire: { 216 case BufferMethods::SemaphoreAcquire: {
223 ProcessSemaphoreAcquire(); 217 ProcessSemaphoreAcquire();
224 break; 218 break;