Lines Matching refs:pass
45 struct v3dv_render_pass *pass)
47 for (uint32_t i = 0; i < pass->attachment_count; i++) {
48 pass->attachments[i].first_subpass = pass->subpass_count - 1;
49 pass->attachments[i].last_subpass = 0;
50 if (pass->multiview_enabled) {
52 pass->attachments[i].views[j].first_subpass = pass->subpass_count - 1;
53 pass->attachments[i].views[j].last_subpass = 0;
58 for (uint32_t i = 0; i < pass->subpass_count; i++) {
59 const struct v3dv_subpass *subpass = &pass->subpasses[i];
67 &pass->attachments[attachment_idx];
91 if (i < pass->attachments[ds_attachment_idx].first_subpass)
92 pass->attachments[ds_attachment_idx].first_subpass = i;
93 if (i > pass->attachments[ds_attachment_idx].last_subpass)
94 pass->attachments[ds_attachment_idx].last_subpass = i;
101 if (i < pass->attachments[input_attachment_idx].first_subpass)
102 pass->attachments[input_attachment_idx].first_subpass = i;
103 if (i > pass->attachments[input_attachment_idx].last_subpass)
104 pass->attachments[input_attachment_idx].last_subpass = i;
112 if (i < pass->attachments[attachment_idx].first_subpass)
113 pass->attachments[attachment_idx].first_subpass = i;
114 if (i > pass->attachments[attachment_idx].last_subpass)
115 pass->attachments[attachment_idx].last_subpass = i;
129 struct v3dv_render_pass *pass;
137 size_t size = sizeof(*pass);
139 size += pCreateInfo->subpassCount * sizeof(pass->subpasses[0]);
141 size += pCreateInfo->attachmentCount * sizeof(pass->attachments[0]);
143 pass = vk_object_zalloc(&device->vk, pAllocator, size,
145 if (pass == NULL)
148 pass->multiview_enabled = multiview_enabled;
149 pass->attachment_count = pCreateInfo->attachmentCount;
150 pass->attachments = (void *) pass + attachments_offset;
151 pass->subpass_count = pCreateInfo->subpassCount;
152 pass->subpasses = (void *) pass + subpasses_offset;
155 pass->attachments[i].desc = pCreateInfo->pAttachments[i];
166 pass->subpass_attachments =
169 if (pass->subpass_attachments == NULL) {
170 vk_object_free(&device->vk, pAllocator, pass);
174 pass->subpass_attachments = NULL;
177 struct v3dv_subpass_attachment *p = pass->subpass_attachments;
180 struct v3dv_subpass *subpass = &pass->subpasses[i];
237 &pass->attachments[subpass->ds_attachment.attachment];
253 pass_find_subpass_range_for_attachments(device, pass);
257 *pRenderPass = v3dv_render_pass_to_handle(pass);
268 V3DV_FROM_HANDLE(v3dv_render_pass, pass, _pass);
273 vk_free2(&device->vk.alloc, pAllocator, pass->subpass_attachments);
274 vk_object_free(&device->vk, pAllocator, pass);
279 struct v3dv_render_pass *pass,
296 assert(subpass_idx < pass->subpass_count);
297 struct v3dv_subpass *subpass = &pass->subpasses[subpass_idx];
306 &pass->attachments[attachment_idx].desc;
335 V3DV_FROM_HANDLE(v3dv_render_pass, pass, renderPass);
343 for (uint32_t i = 0; i < pass->subpass_count; i++) {
345 subpass_get_granularity(device, pass, i, &sg);
376 struct v3dv_render_pass *pass,
379 assert(subpass_idx < pass->subpass_count);
382 subpass_get_granularity(device, pass, subpass_idx, &granularity);