Skip to content

finite_render_create_render_pass

The finite_render_create_render_pass function creates a Vulkan render pass based on the provided attachment, reference, subpass, and dependency information, and stores it in the FiniteRender context.

void finite_render_create_render_pass(
FiniteRender *render,
FiniteRenderAttachmentDescriptionInfo **att_desc_info,
FiniteRenderAttachmentRefInfo **ref_info,
FiniteRenderSubpassDescriptionInfo **subpass_desc_info,
FiniteRenderSubpassDependencyInfo **subpass_dep_info,
FiniteRenderRenderPassInfo *info
);
TypeDescription
FiniteRender *renderThe Vulkan rendering context. Must be valid.
FiniteRenderAttachmentDescriptionInfo **att_desc_infoArray of attachment descriptions used in the render pass.
FiniteRenderAttachmentRefInfo **ref_infoArray of attachment references for subpasses (color or depth).
FiniteRenderSubpassDescriptionInfo **subpass_desc_infoArray describing each subpass in the render pass.
FiniteRenderSubpassDependencyInfo **subpass_dep_infoArray describing dependencies between subpasses.
FiniteRenderRenderPassInfo *infoRender pass info struct containing counts, flags, and pointers for Vulkan.
FiniteRenderAttachmentDescriptionInfo *attachments[1];
FiniteRenderAttachmentRefInfo *refs[1];
FiniteRenderSubpassDescriptionInfo *subpasses[1];
FiniteRenderSubpassDependencyInfo *deps[1];
FiniteRenderRenderPassInfo rp_info = {
._attachments = 1,
._subpasses = 1,
._deps = 0,
._refs = 1,
.next = NULL,
.flags = 0
};
finite_render_create_render_pass(render, attachments, refs, subpasses, deps, &rp_info);

All pointer parameters (render, att_desc_info, ref_info, subpass_desc_info, subpass_dep_info, info) must not be NULL unless the corresponding feature is optional. For more information on that, see the Vulkan Documentation

The function assumes the FiniteRender context is fully initialized, including FiniteRender.vk_device.