Add renderer mipmap command contract

This commit is contained in:
2026-06-02 16:47:44 +02:00
parent 901aff1051
commit 07293c0590
7 changed files with 279 additions and 29 deletions

View File

@@ -20,6 +20,7 @@ enum class RecordedRenderCommandKind : std::uint8_t {
bind_mesh,
draw,
upload_texture,
generate_mipmaps,
copy_texture,
read_texture,
capture_frame,
@@ -54,6 +55,8 @@ struct RecordedRenderCommand {
ReadbackRegion destination_region {};
BlitFilter blit_filter = BlitFilter::nearest;
std::uint64_t upload_bytes = 0;
std::uint32_t generated_mip_levels = 0;
std::uint64_t generated_mip_bytes = 0;
std::uint64_t copy_source_bytes = 0;
std::uint64_t copy_destination_bytes = 0;
std::uint64_t readback_bytes = 0;
@@ -141,6 +144,8 @@ public:
ITexture2D& texture,
ReadbackRegion region,
std::span<const std::byte> rgba_or_channel_bytes) noexcept override;
[[nodiscard]] pp::foundation::Status generate_mipmaps(
ITexture2D& texture) noexcept override;
[[nodiscard]] pp::foundation::Status copy_texture(
ITexture2D& source,
ReadbackRegion source_region,