33 bool is_rendering_ =
false;
35 VkFormat depth_attachment_format_ = VK_FORMAT_UNDEFINED;
36 VkFormat stencil_attachment_format_ = VK_FORMAT_UNDEFINED;
49 void bind(
bool enabled_srgb)
override;
50 bool check(
char err_out[256])
override;
52 const float clear_color[4],
54 uint clear_stencil)
override;
55 void clear_multi(
const float (*clear_color)[4])
override;
58 const void *clear_value)
override;
72 void *r_data)
override;
79 int dst_offset_y)
override;
123 return is_rendering_;
136 void update_attachments();
137 void render_pass_free();
138 void render_pass_create();
141 void build_clear_attachments_depth_stencil(
146 void build_clear_attachments_color(
147 const float (*clear_colors)[4],
148 const bool multi_clear_colors,
void rendering_ensure(VKContext &context)
VKFrameBuffer(const char *name)
void clear_multi(const float(*clear_color)[4]) override
VkFormat stencil_attachment_format_get() const
void read(eGPUFrameBufferBits planes, eGPUDataFormat format, const int area[4], int channel_len, int slot, void *r_data) override
void subpass_transition_impl(const GPUAttachmentState depth_attachment_state, Span< GPUAttachmentState > color_attachment_states) override
void clear(eGPUFrameBufferBits buffers, const float clear_color[4], float clear_depth, uint clear_stencil) override
void bind(bool enabled_srgb) override
VkFormat depth_attachment_format_get() const
Array< VkViewport, 16 > vk_viewports_get() const
bool is_rendering() const
void rendering_end(VKContext &context)
bool check(char err_out[256]) override
void attachment_set_loadstore_op(GPUAttachmentType type, GPULoadStore) override
void blit_to(eGPUFrameBufferBits planes, int src_slot, FrameBuffer *dst, int dst_slot, int dst_offset_x, int dst_offset_y) override
int color_attachments_resource_size() const
void clear_attachment(GPUAttachmentType type, eGPUDataFormat data_format, const void *clear_value) override
Array< VkRect2D, 16 > vk_render_areas_get() const
Span< VkFormat > color_attachment_formats_get() const
static Context * unwrap(GPUContext *ctx)