diff options
| author | 2019-01-21 15:18:09 -0500 | |
|---|---|---|
| committer | 2019-03-06 21:09:09 -0500 | |
| commit | ac51d048a91593a3da124aeea32dc5b0898f1dd6 (patch) | |
| tree | 91094e0615aea42b1541209fc00a3da6708f9bd1 /src/video_core/gpu.h | |
| parent | gpu: Refactor to take RendererBase instead of RasterizerInterface. (diff) | |
| download | yuzu-ac51d048a91593a3da124aeea32dc5b0898f1dd6.tar.gz yuzu-ac51d048a91593a3da124aeea32dc5b0898f1dd6.tar.xz yuzu-ac51d048a91593a3da124aeea32dc5b0898f1dd6.zip | |
gpu: Refactor command and swap buffers interface for asynch.
Diffstat (limited to 'src/video_core/gpu.h')
| -rw-r--r-- | src/video_core/gpu.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index ac7aec6a4..62649bd6e 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h | |||
| @@ -200,6 +200,13 @@ public: | |||
| 200 | std::array<u32, NUM_REGS> reg_array; | 200 | std::array<u32, NUM_REGS> reg_array; |
| 201 | }; | 201 | }; |
| 202 | } regs{}; | 202 | } regs{}; |
| 203 | |||
| 204 | /// Push GPU command entries to be processed | ||
| 205 | void PushGPUEntries(Tegra::CommandList&& entries); | ||
| 206 | |||
| 207 | /// Swap buffers (render frame) | ||
| 208 | void SwapBuffers( | ||
| 209 | std::optional<std::reference_wrapper<const Tegra::FramebufferConfig>> framebuffer); | ||
| 203 | 210 | ||
| 204 | private: | 211 | private: |
| 205 | void ProcessBindMethod(const MethodCall& method_call); | 212 | void ProcessBindMethod(const MethodCall& method_call); |
| @@ -207,11 +214,13 @@ private: | |||
| 207 | void ProcessSemaphoreRelease(); | 214 | void ProcessSemaphoreRelease(); |
| 208 | void ProcessSemaphoreAcquire(); | 215 | void ProcessSemaphoreAcquire(); |
| 209 | 216 | ||
| 210 | // Calls a GPU puller method. | 217 | /// Calls a GPU puller method. |
| 211 | void CallPullerMethod(const MethodCall& method_call); | 218 | void CallPullerMethod(const MethodCall& method_call); |
| 212 | // Calls a GPU engine method. | 219 | |
| 220 | /// Calls a GPU engine method. | ||
| 213 | void CallEngineMethod(const MethodCall& method_call); | 221 | void CallEngineMethod(const MethodCall& method_call); |
| 214 | // Determines where the method should be executed. | 222 | |
| 223 | /// Determines where the method should be executed. | ||
| 215 | bool ExecuteMethodOnEngine(const MethodCall& method_call); | 224 | bool ExecuteMethodOnEngine(const MethodCall& method_call); |
| 216 | 225 | ||
| 217 | private: | 226 | private: |