30 bool is_rendering_ =
false;
32 VkFormat depth_attachment_format_ = VK_FORMAT_UNDEFINED;
33 VkFormat stencil_attachment_format_ = VK_FORMAT_UNDEFINED;
40 VkFramebuffer vk_framebuffer = VK_NULL_HANDLE;
52 void bind(
bool enabled_srgb)
override;
53 bool check(
char err_out[256])
override;
55 const float clear_color[4],
57 uint clear_stencil)
override;
58 void clear_multi(
const float (*clear_color)[4])
override;
61 const void *clear_value)
override;
75 void *r_data)
override;
82 int dst_offset_y)
override;
129 return is_rendering_;
147 void render_pass_free();
150 void build_clear_attachments_depth_stencil(
153 uint32_t clear_stencil,
155 void build_clear_attachments_color(
156 const float (*clear_colors)[4],
157 const bool multi_clear_colors,
166 bool has_gaps_between_color_attachments()
const;
FrameBuffer(const char *name)
void rendering_ensure_dynamic_rendering(VKContext &context, const VKExtensions &extensions)
void rendering_ensure(VKContext &context)
void rendering_ensure_render_pass(VKContext &context)
VKFrameBuffer(const char *name)
void clear_multi(const float(*clear_color)[4]) override
void vk_render_areas_append(Vector< VkRect2D > &r_render_areas) const
uint32_t color_attachment_size
VkFormat stencil_attachment_format_get() const
void subpass_transition_impl(const GPUAttachmentState depth_attachment_state, Span< GPUAttachmentState > color_attachment_states) override
void render_area_update(VkRect2D &render_area) const
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
bool is_rendering() const
void rendering_end(VKContext &context)
VkRenderPass vk_render_pass
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
void vk_viewports_append(Vector< VkViewport > &r_viewports) const
Span< VkFormat > color_attachment_formats_get() const
VKClearAttachmentsData CreateInfo
static Context * unwrap(GPUContext *ctx)