summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/gpu_thread.h')
-rw-r--r--src/video_core/gpu_thread.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h
index 32a34e3a7..f1c52cd9e 100644
--- a/src/video_core/gpu_thread.h
+++ b/src/video_core/gpu_thread.h
@@ -32,30 +32,30 @@ struct EndProcessingCommand final {};
32 32
33/// Command to signal to the GPU thread that a command list is ready for processing 33/// Command to signal to the GPU thread that a command list is ready for processing
34struct SubmitListCommand final { 34struct SubmitListCommand final {
35 explicit SubmitListCommand(Tegra::CommandList&& entries) : entries{std::move(entries)} {} 35 explicit SubmitListCommand(Tegra::CommandList&& entries_) : entries{std::move(entries_)} {}
36 36
37 Tegra::CommandList entries; 37 Tegra::CommandList entries;
38}; 38};
39 39
40/// Command to signal to the GPU thread that a cdma command list is ready for processing 40/// Command to signal to the GPU thread that a cdma command list is ready for processing
41struct SubmitChCommandEntries final { 41struct SubmitChCommandEntries final {
42 explicit SubmitChCommandEntries(Tegra::ChCommandHeaderList&& entries) 42 explicit SubmitChCommandEntries(Tegra::ChCommandHeaderList&& entries_)
43 : entries{std::move(entries)} {} 43 : entries{std::move(entries_)} {}
44 44
45 Tegra::ChCommandHeaderList entries; 45 Tegra::ChCommandHeaderList entries;
46}; 46};
47 47
48/// Command to signal to the GPU thread that a swap buffers is pending 48/// Command to signal to the GPU thread that a swap buffers is pending
49struct SwapBuffersCommand final { 49struct SwapBuffersCommand final {
50 explicit SwapBuffersCommand(std::optional<const Tegra::FramebufferConfig> framebuffer) 50 explicit SwapBuffersCommand(std::optional<const Tegra::FramebufferConfig> framebuffer_)
51 : framebuffer{std::move(framebuffer)} {} 51 : framebuffer{std::move(framebuffer_)} {}
52 52
53 std::optional<Tegra::FramebufferConfig> framebuffer; 53 std::optional<Tegra::FramebufferConfig> framebuffer;
54}; 54};
55 55
56/// Command to signal to the GPU thread to flush a region 56/// Command to signal to the GPU thread to flush a region
57struct FlushRegionCommand final { 57struct FlushRegionCommand final {
58 explicit constexpr FlushRegionCommand(VAddr addr, u64 size) : addr{addr}, size{size} {} 58 explicit constexpr FlushRegionCommand(VAddr addr_, u64 size_) : addr{addr_}, size{size_} {}
59 59
60 VAddr addr; 60 VAddr addr;
61 u64 size; 61 u64 size;
@@ -63,7 +63,7 @@ struct FlushRegionCommand final {
63 63
64/// Command to signal to the GPU thread to invalidate a region 64/// Command to signal to the GPU thread to invalidate a region
65struct InvalidateRegionCommand final { 65struct InvalidateRegionCommand final {
66 explicit constexpr InvalidateRegionCommand(VAddr addr, u64 size) : addr{addr}, size{size} {} 66 explicit constexpr InvalidateRegionCommand(VAddr addr_, u64 size_) : addr{addr_}, size{size_} {}
67 67
68 VAddr addr; 68 VAddr addr;
69 u64 size; 69 u64 size;
@@ -71,8 +71,8 @@ struct InvalidateRegionCommand final {
71 71
72/// Command to signal to the GPU thread to flush and invalidate a region 72/// Command to signal to the GPU thread to flush and invalidate a region
73struct FlushAndInvalidateRegionCommand final { 73struct FlushAndInvalidateRegionCommand final {
74 explicit constexpr FlushAndInvalidateRegionCommand(VAddr addr, u64 size) 74 explicit constexpr FlushAndInvalidateRegionCommand(VAddr addr_, u64 size_)
75 : addr{addr}, size{size} {} 75 : addr{addr_}, size{size_} {}
76 76
77 VAddr addr; 77 VAddr addr;
78 u64 size; 78 u64 size;
@@ -92,8 +92,8 @@ using CommandData =
92struct CommandDataContainer { 92struct CommandDataContainer {
93 CommandDataContainer() = default; 93 CommandDataContainer() = default;
94 94
95 CommandDataContainer(CommandData&& data, u64 next_fence) 95 explicit CommandDataContainer(CommandData&& data_, u64 next_fence_)
96 : data{std::move(data)}, fence{next_fence} {} 96 : data{std::move(data_)}, fence{next_fence_} {}
97 97
98 CommandData data; 98 CommandData data;
99 u64 fence{}; 99 u64 fence{};
@@ -112,7 +112,7 @@ struct SynchState final {
112/// Class used to manage the GPU thread 112/// Class used to manage the GPU thread
113class ThreadManager final { 113class ThreadManager final {
114public: 114public:
115 explicit ThreadManager(Core::System& system); 115 explicit ThreadManager(Core::System& system_);
116 ~ThreadManager(); 116 ~ThreadManager();
117 117
118 /// Creates and starts the GPU thread. 118 /// Creates and starts the GPU thread.
@@ -146,7 +146,6 @@ private:
146 /// Pushes a command to be executed by the GPU thread 146 /// Pushes a command to be executed by the GPU thread
147 u64 PushCommand(CommandData&& command_data); 147 u64 PushCommand(CommandData&& command_data);
148 148
149private:
150 SynchState state; 149 SynchState state;
151 Core::System& system; 150 Core::System& system;
152 std::thread thread; 151 std::thread thread;