|
|
|
@ -77,16 +77,12 @@ struct FlushAndInvalidateRegionCommand final { |
|
|
|
u64 size; |
|
|
|
}; |
|
|
|
|
|
|
|
/// Command called within the gpu, to schedule actions after a command list end |
|
|
|
struct OnCommandListEndCommand final {}; |
|
|
|
|
|
|
|
/// Command to make the gpu look into pending requests |
|
|
|
struct GPUTickCommand final {}; |
|
|
|
|
|
|
|
using CommandData = |
|
|
|
std::variant<std::monostate, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand, |
|
|
|
InvalidateRegionCommand, FlushAndInvalidateRegionCommand, OnCommandListEndCommand, |
|
|
|
GPUTickCommand>; |
|
|
|
InvalidateRegionCommand, FlushAndInvalidateRegionCommand, GPUTickCommand>; |
|
|
|
|
|
|
|
struct CommandDataContainer { |
|
|
|
CommandDataContainer() = default; |
|
|
|
@ -134,8 +130,6 @@ public: |
|
|
|
/// Notify rasterizer that any caches of the specified region should be flushed and invalidated |
|
|
|
void FlushAndInvalidateRegion(VAddr addr, u64 size); |
|
|
|
|
|
|
|
void OnCommandListEnd(); |
|
|
|
|
|
|
|
void TickGPU(); |
|
|
|
|
|
|
|
private: |
|
|
|
|