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;
97 set_try_tlb_resolve(device, &pass->attachments[ds_attachment_idx]);
104 if (i < pass->attachments[input_attachment_idx].first_subpass)
105 pass->attachments[input_attachment_idx].first_subpass = i;
106 if (i > pass->attachments[input_attachment_idx].last_subpass)
107 pass->attachments[input_attachment_idx].last_subpass = i;
115 if (i < pass->attachments[attachment_idx].first_subpass)
116 pass->attachments[attachment_idx].first_subpass = i;
117 if (i > pass->attachments[attachment_idx].last_subpass)
118 pass->attachments[attachment_idx].last_subpass = i;
132 struct v3dv_render_pass *pass;
140 * pass - that is, either all subpasses must have a non-zero view mask
146 size_t size = sizeof(*pass);
148 size += pCreateInfo->subpassCount * sizeof(pass->subpasses[0]);
150 size += pCreateInfo->attachmentCount * sizeof(pass->attachments[0]);
152 pass = vk_object_zalloc(&device->vk, pAllocator, size,
154 if (pass == NULL)
157 pass->multiview_enabled = multiview_enabled;
158 pass->attachment_count = pCreateInfo->attachmentCount;
159 pass->attachments = (void *) pass + attachments_offset;
160 pass->subpass_count = pCreateInfo->subpassCount;
161 pass->subpasses = (void *) pass + subpasses_offset;
164 pass->attachments[i].desc = pCreateInfo->pAttachments[i];
175 pass->subpass_attachments =
178 if (pass->subpass_attachments == NULL) {
179 vk_object_free(&device->vk, pAllocator, pass);
183 pass->subpass_attachments = NULL;
186 struct v3dv_subpass_attachment *p = pass->subpass_attachments;
189 struct v3dv_subpass *subpass = &pass->subpasses[i];
245 &pass->attachments[subpass->ds_attachment.attachment];
290 pass_find_subpass_range_for_attachments(device, pass);
294 *pRenderPass = v3dv_render_pass_to_handle(pass);
305 V3DV_FROM_HANDLE(v3dv_render_pass, pass, _pass);
310 vk_free2(&device->vk.alloc, pAllocator, pass->subpass_attachments);
311 vk_object_free(&device->vk, pAllocator, pass);
316 struct v3dv_render_pass *pass,
321 assert(subpass_idx < pass->subpass_count);
322 struct v3dv_subpass *subpass = &pass->subpasses[subpass_idx];
332 &pass->attachments[attachment_idx].desc;
359 V3DV_FROM_HANDLE(v3dv_render_pass, pass, renderPass);
367 for (uint32_t i = 0; i < pass->subpass_count; i++) {
369 subpass_get_granularity(device, pass, i, &sg);
400 struct v3dv_render_pass *pass,
403 assert(subpass_idx < pass->subpass_count);
406 subpass_get_granularity(device, pass, subpass_idx, &granularity);