diff options
| author | 2019-07-18 08:54:42 -0400 | |
|---|---|---|
| committer | 2019-07-18 08:54:42 -0400 | |
| commit | 43f57d668c04c7dde05b076919ae5755db0ff0ac (patch) | |
| tree | d8ee8da3c76a0c224786670ff7a6d6cf0e42f80f /src/video_core/gpu.cpp | |
| parent | MaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace. (diff) | |
| download | yuzu-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.cpp | 20 |
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; |