Lines Matching refs:pass

29 anv_render_pass_add_subpass_dep(struct anv_render_pass *pass,
33 pass->subpass_flushes[pass->subpass_count] |=
36 assert(dep->dstSubpass < pass->subpass_count);
37 pass->subpass_flushes[dep->dstSubpass] |=
42 pass->subpass_flushes[0] |=
45 assert(dep->srcSubpass < pass->subpass_count);
46 pass->subpass_flushes[dep->srcSubpass + 1] |=
51 /* Do a second "compile" step on a render pass */
53 anv_render_pass_compile(struct anv_render_pass *pass)
55 /* The CreateRenderPass code zeros the entire render pass and also uses a
59 * for (uint32_t i = 0; i < pass->attachment_count; i++) {
60 * pass->attachments[i].usage = 0;
61 * pass->attachments[i].first_subpass_layout = VK_IMAGE_LAYOUT_UNDEFINED;
66 for (uint32_t i = 0; i < pass->subpass_count; i++) {
67 struct anv_subpass *subpass = &pass->subpasses[i];
87 &pass->attachments[subpass_att->attachment];
198 pass->subpass_flushes[0] |=
203 pass->subpass_flushes[pass->subpass_count] |=
207 pass->subpass_flushes[pass->subpass_count] |=
231 struct anv_render_pass *pass;
237 anv_multialloc_add(&ma, &pass, 1);
254 /* Clear the subpasses along with the parent pass. This required because
257 memset(pass, 0, ma.size);
258 pass->attachment_count = pCreateInfo->attachmentCount;
259 pass->subpass_count = pCreateInfo->subpassCount;
260 pass->attachments = attachments;
261 pass->subpass_flushes = subpass_flushes;
264 pass->attachments[i] = (struct anv_render_pass_attachment) {
277 struct anv_subpass *subpass = &pass->subpasses[i];
346 anv_render_pass_add_subpass_dep(pass, &dep2);
359 pass->subpasses[i].view_mask = mv->pViewMasks[i];
369 anv_render_pass_compile(pass);
371 *pRenderPass = anv_render_pass_to_handle(pass);
400 struct anv_render_pass *pass;
406 anv_multialloc_add(&ma, &pass, 1);
423 /* Clear the subpasses along with the parent pass. This required because
426 memset(pass, 0, ma.size);
427 pass->attachment_count = pCreateInfo->attachmentCount;
428 pass->subpass_count = pCreateInfo->subpassCount;
429 pass->attachments = attachments;
430 pass->subpass_flushes = subpass_flushes;
433 pass->attachments[i] = (struct anv_render_pass_attachment) {
446 struct anv_subpass *subpass = &pass->subpasses[i];
521 anv_render_pass_add_subpass_dep(pass, &pCreateInfo->pDependencies[i]);
530 anv_render_pass_compile(pass);
532 *pRenderPass = anv_render_pass_to_handle(pass);
543 ANV_FROM_HANDLE(anv_render_pass, pass, _pass);
545 vk_free2(&device->alloc, pAllocator, pass);
553 ANV_FROM_HANDLE(anv_render_pass, pass, renderPass);
558 for (unsigned i = 0; i < pass->subpass_count; ++i) {
559 if (pass->subpasses[i].depth_stencil_attachment) {