Add renderer trace scope contract
This commit is contained in:
@@ -16,6 +16,7 @@ constexpr std::uint32_t max_texture_slots = 32;
|
||||
constexpr std::uint64_t max_texture_bytes = 1024ULL * 1024ULL * 1024ULL;
|
||||
constexpr std::size_t max_shader_source_bytes = 4ULL * 1024ULL * 1024ULL;
|
||||
constexpr std::size_t max_shader_uniform_bytes = 64ULL * 1024ULL;
|
||||
constexpr std::size_t max_trace_label_bytes = 256;
|
||||
|
||||
enum class TextureFormat : std::uint8_t {
|
||||
rgba8,
|
||||
@@ -244,7 +245,9 @@ public:
|
||||
class IRenderTrace {
|
||||
public:
|
||||
virtual ~IRenderTrace() = default;
|
||||
virtual void marker(const char* component, const char* name) noexcept = 0;
|
||||
[[nodiscard]] virtual pp::foundation::Status marker(const char* component, const char* name) noexcept = 0;
|
||||
[[nodiscard]] virtual pp::foundation::Status begin_scope(const char* component, const char* name) noexcept = 0;
|
||||
[[nodiscard]] virtual pp::foundation::Status end_scope() noexcept = 0;
|
||||
};
|
||||
|
||||
class ICommandContext {
|
||||
@@ -338,6 +341,7 @@ public:
|
||||
[[nodiscard]] pp::foundation::Status validate_shader_uniform_write(
|
||||
const char* name,
|
||||
std::span<const std::byte> bytes) noexcept;
|
||||
[[nodiscard]] pp::foundation::Status validate_trace_label(const char* component, const char* name) noexcept;
|
||||
[[nodiscard]] pp::foundation::Result<std::uint64_t> texture_byte_size(TextureDesc desc) noexcept;
|
||||
[[nodiscard]] pp::foundation::Result<std::uint64_t> readback_byte_size(
|
||||
TextureDesc desc,
|
||||
|
||||
Reference in New Issue
Block a user