summaryrefslogtreecommitdiff
path: root/src/video_core/gpu.h
diff options
context:
space:
mode:
authorGravatar bunnei2019-01-21 15:18:09 -0500
committerGravatar bunnei2019-03-06 21:09:09 -0500
commitac51d048a91593a3da124aeea32dc5b0898f1dd6 (patch)
tree91094e0615aea42b1541209fc00a3da6708f9bd1 /src/video_core/gpu.h
parentgpu: Refactor to take RendererBase instead of RasterizerInterface. (diff)
downloadyuzu-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.h15
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
204private: 211private:
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
217private: 226private: