|
|
@ -18,6 +18,8 @@ class System; |
|
|
|
|
|
|
|
|
namespace Tegra { |
|
|
namespace Tegra { |
|
|
|
|
|
|
|
|
|
|
|
class GPU; |
|
|
|
|
|
|
|
|
enum class SubmissionMode : u32 { |
|
|
enum class SubmissionMode : u32 { |
|
|
IncreasingOld = 0, |
|
|
IncreasingOld = 0, |
|
|
Increasing = 1, |
|
|
Increasing = 1, |
|
|
@ -74,8 +76,7 @@ union CommandHeader { |
|
|
static_assert(std::is_standard_layout_v<CommandHeader>, "CommandHeader is not standard layout"); |
|
|
static_assert(std::is_standard_layout_v<CommandHeader>, "CommandHeader is not standard layout"); |
|
|
static_assert(sizeof(CommandHeader) == sizeof(u32), "CommandHeader has incorrect size!"); |
|
|
static_assert(sizeof(CommandHeader) == sizeof(u32), "CommandHeader has incorrect size!"); |
|
|
|
|
|
|
|
|
static constexpr CommandHeader BuildCommandHeader(BufferMethods method, u32 arg_count, |
|
|
|
|
|
SubmissionMode mode) { |
|
|
|
|
|
|
|
|
inline CommandHeader BuildCommandHeader(BufferMethods method, u32 arg_count, SubmissionMode mode) { |
|
|
CommandHeader result{}; |
|
|
CommandHeader result{}; |
|
|
result.method.Assign(static_cast<u32>(method)); |
|
|
result.method.Assign(static_cast<u32>(method)); |
|
|
result.arg_count.Assign(arg_count); |
|
|
result.arg_count.Assign(arg_count); |
|
|
@ -83,8 +84,6 @@ static constexpr CommandHeader BuildCommandHeader(BufferMethods method, u32 arg_ |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
class GPU; |
|
|
|
|
|
|
|
|
|
|
|
struct CommandList final { |
|
|
struct CommandList final { |
|
|
CommandList() = default; |
|
|
CommandList() = default; |
|
|
explicit CommandList(std::size_t size) : command_lists(size) {} |
|
|
explicit CommandList(std::size_t size) : command_lists(size) {} |
|
|
|