Lines Matching defs:subpass

67       struct anv_subpass *subpass = &pass->subpasses[i];
73 if (subpass->depth_stencil_attachment &&
74 subpass->depth_stencil_attachment->attachment == VK_ATTACHMENT_UNUSED)
75 subpass->depth_stencil_attachment = NULL;
77 if (subpass->ds_resolve_attachment &&
78 subpass->ds_resolve_attachment->attachment == VK_ATTACHMENT_UNUSED)
79 subpass->ds_resolve_attachment = NULL;
81 for (uint32_t j = 0; j < subpass->attachment_count; j++) {
82 struct anv_subpass_attachment *subpass_att = &subpass->attachments[j];
101 subpass->depth_stencil_attachment &&
102 subpass_att->attachment == subpass->depth_stencil_attachment->attachment)
103 subpass->has_ds_self_dep = true;
107 subpass->has_color_resolve = false;
108 if (subpass->resolve_attachments) {
109 for (uint32_t j = 0; j < subpass->color_count; j++) {
111 &subpass->color_attachments[j];
113 &subpass->resolve_attachments[j];
117 subpass->has_color_resolve = true;
124 if (subpass->ds_resolve_attachment) {
126 subpass->depth_stencil_attachment;
128 subpass->ds_resolve_attachment;
137 * If there is no subpass dependency from VK_SUBPASS_EXTERNAL to the
138 * first subpass that uses an attachment, then an implicit subpass
139 * dependency exists from VK_SUBPASS_EXTERNAL to the first subpass it is
140 * used in. The subpass dependency operates as if defined with the
145 * .dstSubpass = firstSubpass; // First subpass attachment is used in
157 * Similarly, if there is no subpass dependency from the last subpass
159 * subpass dependency exists from the last subpass it is used in to
160 * VK_SUBPASS_EXTERNAL. The subpass dependency operates as if defined
164 * .srcSubpass = lastSubpass; // Last subpass attachment is used in
184 * "Moving to the next subpass automatically performs any multisample
185 * resolve operations in the subpass being ended. End-of-subpass
277 struct anv_subpass *subpass = &pass->subpasses[i];
279 subpass->input_count = desc->inputAttachmentCount;
280 subpass->color_count = desc->colorAttachmentCount;
281 subpass->attachment_count = num_subpass_attachments(desc);
282 subpass->attachments = subpass_attachments;
283 subpass->view_mask = 0;
286 subpass->input_attachments = subpass_attachments;
290 subpass->input_attachments[j] = (struct anv_subpass_attachment) {
299 subpass->color_attachments = subpass_attachments;
303 subpass->color_attachments[j] = (struct anv_subpass_attachment) {
312 subpass->resolve_attachments = subpass_attachments;
316 subpass->resolve_attachments[j] = (struct anv_subpass_attachment) {
325 subpass->depth_stencil_attachment = subpass_attachments++;
327 *subpass->depth_stencil_attachment = (struct anv_subpass_attachment) {
446 struct anv_subpass *subpass = &pass->subpasses[i];
448 subpass->input_count = desc->inputAttachmentCount;
449 subpass->color_count = desc->colorAttachmentCount;
450 subpass->attachment_count = num_subpass_attachments2(desc);
451 subpass->attachments = subpass_attachments;
452 subpass->view_mask = desc->viewMask;
455 subpass->input_attachments = subpass_attachments;
459 subpass->input_attachments[j] = (struct anv_subpass_attachment) {
468 subpass->color_attachments = subpass_attachments;
472 subpass->color_attachments[j] = (struct anv_subpass_attachment) {
481 subpass->resolve_attachments = subpass_attachments;
485 subpass->resolve_attachments[j] = (struct anv_subpass_attachment) {
494 subpass->depth_stencil_attachment = subpass_attachments++;
496 *subpass->depth_stencil_attachment = (struct anv_subpass_attachment) {
508 subpass->ds_resolve_attachment = subpass_attachments++;
510 *subpass->ds_resolve_attachment = (struct anv_subpass_attachment) {
515 subpass->depth_resolve_mode = ds_resolve->depthResolveMode;
516 subpass->stencil_resolve_mode = ds_resolve->stencilResolveMode;