41 VKBeginRenderingCreateInfo,
43 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
44 VKResourceType::IMAGE> {
53 template<
typename Node,
typename Storage>
63 "When create_info.node_data.vk_rendering_info.pColorAttachments points to "
64 "something, it should point to create_info.node_data.color_attachments.");
69 "When create_info.node_data.vk_rendering_info.pDepthAttachment points to "
70 "something, it should point to create_info.node_data.depth_attachment.");
75 "When create_info.node_data.vk_rendering_info.pStencilAttachment points to "
76 "something, it should point to create_info.node_data.stencil_attachment.");
77 node.storage_index = storage.begin_rendering.append_and_get_index(create_info.
node_data);
100 const bool is_dynamic_rendering =
data.vk_render_pass_begin_info.renderPass == VK_NULL_HANDLE;
101 if (is_dynamic_rendering) {
105 if (
data.vk_rendering_info.pColorAttachments) {
106 data.vk_rendering_info.pColorAttachments =
data.color_attachments;
108 if (
data.vk_rendering_info.pDepthAttachment) {
109 data.vk_rendering_info.pDepthAttachment = &
data.depth_attachment;
111 if (
data.vk_rendering_info.pStencilAttachment) {
112 data.vk_rendering_info.pStencilAttachment = &
data.stencil_attachment;
129 auto reconfigure_attachment = [](VkRenderingAttachmentInfo &rendering_attachment) {
130 if (
ELEM(rendering_attachment.loadOp,
131 VK_ATTACHMENT_LOAD_OP_CLEAR,
132 VK_ATTACHMENT_LOAD_OP_DONT_CARE))
134 rendering_attachment.loadOp = VK_ATTACHMENT_LOAD_OP_LOAD;
148 reconfigure_attachment(color_attachment);
#define BLI_assert_msg(a, msg)
#define UNUSED_VARS_NDEBUG(...)
BMesh const char void * data
static void reconfigure_for_restart(VKBeginRenderingData &begin_rendering_data)
void build_links(VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links, const CreateInfo &create_info) override
void build_commands(VKCommandBufferInterface &command_buffer, Data &data, VKBoundPipelines &) override
void set_node_data(Node &node, Storage &storage, const CreateInfo &create_info)
virtual void begin_render_pass(const VkRenderPassBeginInfo *render_pass_begin_info)=0
virtual void begin_rendering(const VkRenderingInfo *p_rendering_info)=0
VKBeginRenderingCreateInfo CreateInfo
VKBeginRenderingData Data
VKBeginRenderingData node_data
VKBeginRenderingCreateInfo(const VKResourceAccessInfo &resources)
const VKResourceAccessInfo & resources
VkRenderingAttachmentInfo stencil_attachment
VkRenderingAttachmentInfo color_attachments[8]
VkRenderingAttachmentInfo depth_attachment
VkRenderingInfoKHR vk_rendering_info
VkRenderPassBeginInfo vk_render_pass_begin_info
void build_links(VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links) const