Lines Matching refs:pass
351 struct vk_render_pass *pass,
357 if (ref->attachment >= pass->attachment_count) {
366 &pass->attachments[ref->attachment];
428 VK_MULTIALLOC_DECL(&ma, struct vk_render_pass, pass, 1);
455 pass->attachment_count = pCreateInfo->attachmentCount;
456 pass->attachments = attachments;
457 pass->subpass_count = pCreateInfo->subpassCount;
458 pass->subpasses = subpasses;
459 pass->dependency_count = pCreateInfo->dependencyCount;
460 pass->dependencies = dependencies;
463 vk_render_pass_attachment_init(&pass->attachments[a],
472 struct vk_subpass *subpass = &pass->subpasses[s];
489 pass->is_multiview = true;
490 assert(pass->is_multiview == (desc->viewMask != 0));
496 pass->view_mask |= subpass->view_mask;
505 pass, s,
519 pass, s,
533 pass, s,
548 pass, s,
564 pass, s,
597 pass, s,
752 &pass->subpasses[(pCreateInfo->subpassCount - 1) - s];
760 assert(att->attachment < pass->attachment_count);
762 &pass->attachments[att->attachment];
776 assert(att->attachment < pass->attachment_count);
778 &pass->attachments[att->attachment];
784 pass->dependency_count = pCreateInfo->dependencyCount;
788 pass->dependencies[d] = (struct vk_subpass_dependency) {
809 pass->dependencies[d].src_stage_mask = barrier->srcStageMask;
810 pass->dependencies[d].dst_stage_mask = barrier->dstStageMask;
811 pass->dependencies[d].src_access_mask = barrier->srcAccessMask;
812 pass->dependencies[d].dst_access_mask = barrier->dstAccessMask;
816 *pRenderPass = vk_render_pass_to_handle(pass);
854 * pass. If this is a primary command buffer, then this bit is ignored."
875 * If we have a render pass that wins, even if a
901 * pass. If this is a primary command buffer, then this bit is ignored."
915 VK_FROM_HANDLE(vk_render_pass, pass, inheritance->renderPass);
916 if (pass == NULL)
919 assert(inheritance->subpass < pass->subpass_count);
920 const struct vk_subpass *subpass = &pass->subpasses[inheritance->subpass];
934 .viewMask = pass->is_multiview ? subpass->view_mask : 0,
949 assert(sp_att->attachment < pass->attachment_count);
965 assert(sp_att->attachment < pass->attachment_count);
994 assert(sp_att->attachment < pass->attachment_count);
1020 VK_FROM_HANDLE(vk_render_pass, pass, renderPass);
1022 if (!pass)
1025 vk_object_free(device, pAllocator, pass);
1254 * attachment may have been used in the render pass or we can break
1290 const struct vk_render_pass *pass = cmd_buffer->render_pass;
1292 const struct vk_render_pass_attachment *rp_att = &pass->attachments[att_idx];
1315 if (pass->is_multiview) {
1397 const struct vk_render_pass *pass = cmd_buffer->render_pass;
1400 &pass->attachments[att_idx];
1415 * pass instance still apply to the entire subresource referenced
1451 * views which are used by some subpass in the render pass, even if
1463 } else if (pass->is_multiview) {
1488 const struct vk_render_pass *pass = cmd_buffer->render_pass;
1490 const struct vk_render_pass_attachment *rp_att = &pass->attachments[att_idx];
1537 .layerCount = pass->is_multiview ? 1 : framebuffer->layers,
1538 .viewMask = pass->is_multiview ? view_mask : 0,
1560 const struct vk_render_pass *pass = cmd_buffer->render_pass;
1563 assert(subpass_idx < pass->subpass_count);
1564 const struct vk_subpass *subpass = &pass->subpasses[subpass_idx];
1593 assert(sp_att->attachment < pass->attachment_count);
1595 &pass->attachments[sp_att->attachment];
1653 assert(sp_att->resolve->attachment < pass->attachment_count);
1698 assert(sp_att->attachment < pass->attachment_count);
1700 &pass->attachments[sp_att->attachment];
1777 * "If the current render pass does not use the attachment as a
1793 * render pass repeated per-view, we assume this is per-view.
1810 assert(res_sp_att->attachment < pass->attachment_count);
1812 &pass->attachments[res_sp_att->attachment];
1826 * pass? Handling it here makes load ops "correct" in the sense
1883 for (uint32_t d = 0; d < pass->dependency_count; d++) {
1884 const struct vk_subpass_dependency *dep = &pass->dependencies[d];
1898 assert(dep->src_subpass < pass->subpass_count);
1900 &pass->subpasses[dep->src_subpass];
1977 assert(sp_att->attachment < pass->attachment_count);
1979 &pass->attachments[sp_att->attachment];
2043 .layerCount = pass->is_multiview ? 1 : framebuffer->layers,
2044 .viewMask = pass->is_multiview ? subpass->view_mask : 0,
2056 assert(sp_att->attachment < pass->attachment_count);
2098 const struct vk_render_pass *pass = cmd_buffer->render_pass;
2109 for (uint32_t d = 0; d < pass->dependency_count; d++) {
2110 const struct vk_subpass_dependency *dep = &pass->dependencies[d];
2124 if (subpass_idx == pass->subpass_count - 1) {
2177 VK_FROM_HANDLE(vk_render_pass, pass, pRenderPassBeginInfo->renderPass);
2182 cmd_buffer->render_pass = pass;
2191 if (pass->attachment_count > ARRAY_SIZE(cmd_buffer->_attachments)) {
2192 cmd_buffer->attachments = malloc(pass->attachment_count *
2202 assert(pass->attachment_count == framebuffer->attachment_count);
2206 assert(attach_begin->attachmentCount == pass->attachment_count);
2209 assert(framebuffer->attachment_count >= pass->attachment_count);
2213 for (uint32_t a = 0; a < pass->attachment_count; ++a) {
2215 const struct vk_render_pass_attachment *pass_att = &pass->attachments[a];
2307 assert(att_sl->attachmentIndex < pass->attachment_count);
2357 const struct vk_render_pass *pass = cmd_buffer->render_pass;
2366 for (uint32_t a = 0; a < pass->attachment_count; a++) {
2367 const struct vk_render_pass_attachment *rp_att = &pass->attachments[a];
2369 max_image_barrier_count += util_bitcount(pass->view_mask) *
2375 for (uint32_t a = 0; a < pass->attachment_count; a++) {
2376 const struct vk_render_pass_attachment *rp_att = &pass->attachments[a];
2378 transition_attachment(cmd_buffer, a, pass->view_mask,