Upload document frame faces through renderer API
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <array>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <span>
|
||||
#include <vector>
|
||||
|
||||
@@ -116,6 +117,21 @@ struct DocumentFrameCompositeResult {
|
||||
std::size_t face_payload_count = 0;
|
||||
};
|
||||
|
||||
struct DocumentFrameUploadRequest {
|
||||
const pp::document::CanvasDocument* document = nullptr;
|
||||
std::size_t frame_index = 0;
|
||||
pp::paint::Rgba clear_color {};
|
||||
bool transition_to_shader_read = true;
|
||||
};
|
||||
|
||||
struct DocumentFrameUploadResult {
|
||||
DocumentFrameCompositeResult composite {};
|
||||
std::array<std::unique_ptr<pp::renderer::ITexture2D>, pp::document::cube_face_count> face_textures {};
|
||||
std::size_t texture_count = 0;
|
||||
std::size_t transition_count = 0;
|
||||
std::uint64_t uploaded_bytes = 0;
|
||||
};
|
||||
|
||||
[[nodiscard]] pp::foundation::Status composite_layer(
|
||||
std::span<pp::paint::Rgba> destination,
|
||||
pp::renderer::Extent2D extent,
|
||||
@@ -127,6 +143,10 @@ struct DocumentFrameCompositeResult {
|
||||
[[nodiscard]] pp::foundation::Result<DocumentFrameCompositeResult> composite_document_frame(
|
||||
DocumentFrameCompositeRequest request);
|
||||
|
||||
[[nodiscard]] pp::foundation::Result<DocumentFrameUploadResult> upload_document_frame_faces(
|
||||
pp::renderer::IRenderDevice& device,
|
||||
DocumentFrameUploadRequest request);
|
||||
|
||||
[[nodiscard]] bool stroke_composite_requires_feedback(
|
||||
pp::paint::BlendMode layer_blend_mode,
|
||||
pp::paint::StrokeBlendMode stroke_blend_mode,
|
||||
|
||||
Reference in New Issue
Block a user