/third_party/mesa3d/src/freedreno/vulkan/ |
D | tu_pass.c | 210 const VkSubpassDescription2 *subpass = &info->pSubpasses[i]; in tu_render_pass_add_implicit_deps() local 213 for (unsigned j = 0; j < subpass->inputAttachmentCount; j++) { in tu_render_pass_add_implicit_deps() 214 uint32_t a = subpass->pInputAttachments[j].attachment; in tu_render_pass_add_implicit_deps() 220 vk_att_ref_stencil_layout(&subpass->pInputAttachments[j], att) : in tu_render_pass_add_implicit_deps() 224 if ((att[a].initialLayout != subpass->pInputAttachments[j].layout || in tu_render_pass_add_implicit_deps() 231 for (unsigned j = 0; j < subpass->colorAttachmentCount; j++) { in tu_render_pass_add_implicit_deps() 232 uint32_t a = subpass->pColorAttachments[j].attachment; in tu_render_pass_add_implicit_deps() 235 if (att[a].initialLayout != subpass->pColorAttachments[j].layout && in tu_render_pass_add_implicit_deps() 241 if (subpass->pDepthStencilAttachment && in tu_render_pass_add_implicit_deps() 242 subpass->pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED) { in tu_render_pass_add_implicit_deps() [all …]
|
/third_party/mesa3d/src/amd/vulkan/ |
D | radv_pass.c | 129 struct radv_subpass *subpass = &pass->subpasses[i]; in radv_render_pass_add_implicit_deps() local 132 for (uint32_t j = 0; j < subpass->attachment_count; j++) { in radv_render_pass_add_implicit_deps() 133 struct radv_subpass_attachment *subpass_att = &subpass->attachments[j]; in radv_render_pass_add_implicit_deps() 147 if (pass_att->first_subpass_idx == i && !subpass->has_ingoing_dep && in radv_render_pass_add_implicit_deps() 157 if (pass_att->last_subpass_idx == i && !subpass->has_outgoing_dep && in radv_render_pass_add_implicit_deps() 204 struct radv_subpass *subpass = &pass->subpasses[i]; in radv_render_pass_compile() local 206 for (uint32_t j = 0; j < subpass->attachment_count; j++) { in radv_render_pass_compile() 207 struct radv_subpass_attachment *subpass_att = &subpass->attachments[j]; in radv_render_pass_compile() 219 struct radv_subpass *subpass = &pass->subpasses[i]; in radv_render_pass_compile() local 227 if (subpass->depth_stencil_attachment && in radv_render_pass_compile() [all …]
|
D | radv_meta_resolve.c | 171 .subpass = 0, in create_pipeline() 581 const struct radv_subpass *subpass = cmd_buffer->state.subpass; in radv_cmd_buffer_resolve_subpass_hw() local 586 for (uint32_t i = 0; i < subpass->color_count; ++i) { in radv_cmd_buffer_resolve_subpass_hw() 587 struct radv_subpass_attachment src_att = subpass->color_attachments[i]; in radv_cmd_buffer_resolve_subpass_hw() 588 struct radv_subpass_attachment dest_att = subpass->resolve_attachments[i]; in radv_cmd_buffer_resolve_subpass_hw() 636 radv_cmd_buffer_restore_subpass(cmd_buffer, subpass); in radv_cmd_buffer_resolve_subpass_hw() 649 const struct radv_subpass *subpass = cmd_buffer->state.subpass; in radv_cmd_buffer_resolve_subpass() local 653 if (!subpass->has_color_resolve && !subpass->ds_resolve_attachment) in radv_cmd_buffer_resolve_subpass() 658 if (subpass->ds_resolve_attachment) { in radv_cmd_buffer_resolve_subpass() 659 struct radv_subpass_attachment src_att = *subpass->depth_stencil_attachment; in radv_cmd_buffer_resolve_subpass() [all …]
|
/third_party/skia/third_party/externals/swiftshader/src/Vulkan/ |
D | VkRenderPass.cpp | 29 const auto &subpass = pCreateInfo->pSubpasses[i]; in ComputeRequiredAllocationSizeT() local 30 uint32_t nbAttachments = subpass.inputAttachmentCount + subpass.colorAttachmentCount; in ComputeRequiredAllocationSizeT() 31 if(subpass.pResolveAttachments) in ComputeRequiredAllocationSizeT() 33 nbAttachments += subpass.colorAttachmentCount; in ComputeRequiredAllocationSizeT() 35 if(subpass.pDepthStencilAttachment) in ComputeRequiredAllocationSizeT() 41 sizeof(uint32_t) * subpass.preserveAttachmentCount + in ComputeRequiredAllocationSizeT() 152 auto const &subpass = pCreateInfo->pSubpasses[i]; in RenderPass() local 153 const VkBaseInStructure *extension = reinterpret_cast<const VkBaseInStructure *>(subpass.pNext); in RenderPass() 169 for(uint32_t subpass = 0; subpass < subpassCount; subpass++) in RenderPass() local 171 …subpassDepthStencilResolves[subpass].sType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_R… in RenderPass() [all …]
|
D | VkFramebuffer.cpp | 139 VkSubpassDescription subpass = renderPass->getSubpass(subpassIndex); in clearAttachment() local 143 ASSERT(attachment.colorAttachment < subpass.colorAttachmentCount); in clearAttachment() 144 uint32_t attachmentIndex = subpass.pColorAttachments[attachment.colorAttachment].attachment; in clearAttachment() 164 uint32_t attachmentIndex = subpass.pDepthStencilAttachment->attachment; in clearAttachment() 200 auto const &subpass = renderPass->getSubpass(subpassIndex); in resolve() local 201 if(subpass.pResolveAttachments) in resolve() 203 for(uint32_t i = 0; i < subpass.colorAttachmentCount; i++) in resolve() 205 uint32_t resolveAttachment = subpass.pResolveAttachments[i].attachment; in resolve() 208 ImageView *imageView = attachments[subpass.pColorAttachments[i].attachment]; in resolve() 222 if(renderPass->hasDepthStencilResolve() && subpass.pDepthStencilAttachment != nullptr) in resolve() [all …]
|
/third_party/vk-gl-cts/external/vulkan-docs/src/chapters/VK_EXT_subpass_merge_feedback/ |
D | renderpass.adoc | 10 …ssCreationControlEXT',desc='Control about the creation of render pass or subpass',type='structs',x… 22 * pname:disallowMerging is a boolean value indicating whether subpass 28 subpass merging for the entire render pass. 32 merging the described subpass with previous subpasses in the render pass. 62 * pname:postMergeSubpassCount is the subpass count after merge. 67 …sFeedbackCreateInfoEXT',desc='Request for feedback about the creation of subpass',type='structs',x… 69 Feedback about the creation of a subpass can: be obtained by including a 86 [open,refpage='VkRenderPassSubpassFeedbackInfoEXT',desc='Feedback about the creation of subpass',ty… 93 specifying information about whether the subpass is merged with previous 94 subpass and the reason why it is not merged. [all …]
|
/third_party/mesa3d/src/imagination/vulkan/ |
D | pvr_pass.c | 61 struct pvr_render_subpass *subpass, in pvr_subpass_has_msaa_input_attachment() argument 64 for (uint32_t i = 0; i < subpass->input_count; i++) { in pvr_subpass_has_msaa_input_attachment() 65 const uint32_t attachment = subpass->input_attachments[i]; in pvr_subpass_has_msaa_input_attachment() 86 struct pvr_render_subpass *subpass = &pass->subpasses[0]; in pvr_is_subpass_initops_flush_needed() local 104 if (subpass->input_count != 0) in pvr_is_subpass_initops_flush_needed() 109 for (uint32_t i = 0; i < subpass->color_count; i++) { in pvr_is_subpass_initops_flush_needed() 110 const int32_t color_idx = subpass->color_attachments[i]; in pvr_is_subpass_initops_flush_needed() 409 struct pvr_render_subpass *subpass = &pass->subpasses[i]; in pvr_CreateRenderPass2() local 411 subpass->pipeline_bind_point = desc->pipelineBindPoint; in pvr_CreateRenderPass2() 412 subpass->sample_count = 1; in pvr_CreateRenderPass2() [all …]
|
/third_party/mesa3d/src/broadcom/vulkan/ |
D | v3dv_pass.c | 59 const struct v3dv_subpass *subpass = &pass->subpasses[i]; in pass_find_subpass_range_for_attachments() local 61 for (uint32_t j = 0; j < subpass->color_count; j++) { in pass_find_subpass_range_for_attachments() 62 uint32_t attachment_idx = subpass->color_attachments[j].attachment; in pass_find_subpass_range_for_attachments() 74 uint32_t view_mask = subpass->view_mask; in pass_find_subpass_range_for_attachments() 83 if (subpass->resolve_attachments && in pass_find_subpass_range_for_attachments() 84 subpass->resolve_attachments[j].attachment != VK_ATTACHMENT_UNUSED) { in pass_find_subpass_range_for_attachments() 89 uint32_t ds_attachment_idx = subpass->ds_attachment.attachment; in pass_find_subpass_range_for_attachments() 96 if (subpass->ds_resolve_attachment.attachment != VK_ATTACHMENT_UNUSED) in pass_find_subpass_range_for_attachments() 100 for (uint32_t j = 0; j < subpass->input_count; j++) { in pass_find_subpass_range_for_attachments() 101 uint32_t input_attachment_idx = subpass->input_attachments[j].attachment; in pass_find_subpass_range_for_attachments() [all …]
|
D | v3dvx_cmd_buffer.c | 205 const struct v3dv_subpass *subpass = &pass->subpasses[state->subpass_idx]; in cmd_buffer_render_pass_emit_loads() local 209 for (uint32_t i = 0; i < subpass->color_count; i++) { in cmd_buffer_render_pass_emit_loads() 210 uint32_t attachment_idx = subpass->color_attachments[i].attachment; in cmd_buffer_render_pass_emit_loads() 252 uint32_t ds_attachment_idx = subpass->ds_attachment.attachment; in cmd_buffer_render_pass_emit_loads() 437 const struct v3dv_subpass *subpass = in cmd_buffer_render_pass_emit_stores() local 447 uint32_t ds_attachment_idx = subpass->ds_attachment.attachment; in cmd_buffer_render_pass_emit_stores() 479 subpass->do_depth_clear_with_draw); in cmd_buffer_render_pass_emit_stores() 486 subpass->do_stencil_clear_with_draw); in cmd_buffer_render_pass_emit_stores() 510 assert(subpass->resolve_depth || subpass->resolve_stencil); in cmd_buffer_render_pass_emit_stores() 512 subpass->ds_resolve_attachment.attachment; in cmd_buffer_render_pass_emit_stores() [all …]
|
/third_party/mesa3d/src/panfrost/vulkan/ |
D | panvk_pass.c | 111 struct panvk_subpass *subpass = &pass->subpasses[i]; in panvk_CreateRenderPass2() local 113 subpass->input_count = desc->inputAttachmentCount; in panvk_CreateRenderPass2() 114 subpass->color_count = desc->colorAttachmentCount; in panvk_CreateRenderPass2() 116 subpass->view_mask = multiview_info->pViewMasks[i]; in panvk_CreateRenderPass2() 119 subpass->input_attachments = p; in panvk_CreateRenderPass2() 123 subpass->input_attachments[j] = (struct panvk_subpass_attachment) { in panvk_CreateRenderPass2() 129 .view_mask |= subpass->view_mask; in panvk_CreateRenderPass2() 134 subpass->color_attachments = p; in panvk_CreateRenderPass2() 140 subpass->color_attachments[j] = (struct panvk_subpass_attachment) { in panvk_CreateRenderPass2() 146 pass->attachments[idx].view_mask |= subpass->view_mask; in panvk_CreateRenderPass2() [all …]
|
D | panvk_cmd_buffer.c | 433 const struct panvk_subpass *subpass = cmdbuf->state.subpass; in panvk_cmd_fb_info_set_subpass() local 440 fbinfo->rt_count = subpass->color_count; in panvk_cmd_fb_info_set_subpass() 443 for (unsigned cb = 0; cb < subpass->color_count; cb++) { in panvk_cmd_fb_info_set_subpass() 444 int idx = subpass->color_attachments[cb].idx; in panvk_cmd_fb_info_set_subpass() 450 fbinfo->rts[cb].clear = subpass->color_attachments[cb].clear; in panvk_cmd_fb_info_set_subpass() 451 fbinfo->rts[cb].preload = subpass->color_attachments[cb].preload; in panvk_cmd_fb_info_set_subpass() 460 if (subpass->zs_attachment.idx != VK_ATTACHMENT_UNUSED) { in panvk_cmd_fb_info_set_subpass() 461 view = fb->attachments[subpass->zs_attachment.idx].iview; in panvk_cmd_fb_info_set_subpass() 469 fbinfo->zs.clear.z = subpass->zs_attachment.clear; in panvk_cmd_fb_info_set_subpass() 470 fbinfo->zs.clear_value.depth = clears[subpass->zs_attachment.idx].depth; in panvk_cmd_fb_info_set_subpass() [all …]
|
/third_party/mesa3d/src/vulkan/runtime/ |
D | vk_render_pass.c | 185 assert(ref->subpass < pCreateInfo->subpassCount); in vk_common_CreateRenderPass() 186 VkSubpassDescription2 *subpass = &subpasses[ref->subpass]; in vk_common_CreateRenderPass() local 188 assert(ref->inputAttachmentIndex < subpass->inputAttachmentCount); in vk_common_CreateRenderPass() 190 &subpass->pInputAttachments[ref->inputAttachmentIndex]; in vk_common_CreateRenderPass() 472 struct vk_subpass *subpass = &pass->subpasses[s]; in vk_common_CreateRenderPass2() local 478 subpass->attachment_count = num_subpass_attachments2(desc); in vk_common_CreateRenderPass2() 479 subpass->attachments = next_subpass_attachment; in vk_common_CreateRenderPass2() 495 subpass->view_mask = desc->viewMask ? desc->viewMask : 1; in vk_common_CreateRenderPass2() 496 pass->view_mask |= subpass->view_mask; in vk_common_CreateRenderPass2() 498 subpass->input_count = desc->inputAttachmentCount; in vk_common_CreateRenderPass2() [all …]
|
/third_party/vk-gl-cts/external/vulkan-docs/src/appendices/ |
D | VK_QCOM_render_pass_shader_resolve.txt | 31 filtering of a multisample buffer in the last subpass of a subpass 60 3) Should a shader resolve subpass be the last subpass in a render pass? 64 To be more specific, it should be the last subpass in a subpass dependency 76 However, this bit may be set on any subpass, it is not restricted to a 77 shader resolve subpass. 89 - Clarified that a shader resolve subpass is the last subpass in a 90 subpass dependency chain
|
D | VK_QCOM_render_pass_shader_resolve.adoc | 31 filtering of a multisample buffer in the last subpass of a subpass 60 3) Should a shader resolve subpass be the last subpass in a render pass? 64 To be more specific, it should be the last subpass in a subpass dependency 76 However, this bit may be set on any subpass, it is not restricted to a 77 shader resolve subpass. 89 ** Clarified that a shader resolve subpass is the last subpass in a 90 subpass dependency chain
|
D | VK_HUAWEI_subpass_shading.txt | 21 This extension allows applications to execute a subpass shading pipeline in 22 a subpass of a render pass in order to save memory bandwidth for algorithms 24 A subpass shading pipeline is a pipeline with the compute pipeline ability, 26 dispatched inside a stand-alone subpass. 33 The code:GlobalInvocationId.xy of a subpass shading pipeline is equal to the 44 This extension allows a subpass's pipeline bind point to be 52 Example of subpass shading in a GLSL shader 72 Example of subpass shading dispatching in a subpass 84 Example of subpass shading render pass creation 210 Example of subpass shading pipeline creation
|
D | VK_HUAWEI_subpass_shading.adoc | 22 This extension allows applications to execute a subpass shading pipeline in 23 a subpass of a render pass in order to save memory bandwidth for algorithms 25 A subpass shading pipeline is a pipeline with the compute pipeline ability, 27 dispatched inside a stand-alone subpass. 34 The code:GlobalInvocationId.xy of a subpass shading pipeline is equal to the 45 This extension allows a subpass's pipeline bind point to be 53 Example of subpass shading in a GLSL shader 73 Example of subpass shading dispatching in a subpass 85 Example of subpass shading render pass creation 211 Example of subpass shading pipeline creation
|
D | VK_NVX_multiview_per_view_attributes.txt | 39 A subpass creation flag controls whether the subpass uses this extension. 40 A subpass must: either exclusively use this extension or not use it at all. 44 A subpass can declare via a second creation flag whether all pipelines 45 compiled for this subpass will obey this restriction. 50 gl_PositionPerViewNV[gl_ViewIndex]` for all views in the subpass.
|
D | VK_NVX_multiview_per_view_attributes.adoc | 37 A subpass creation flag controls whether the subpass uses this extension. 38 A subpass must: either exclusively use this extension or not use it at all. 42 A subpass can declare via a second creation flag whether all pipelines 43 compiled for this subpass will obey this restriction. 48 gl_PositionPerViewNV[gl_ViewIndex]` for all views in the subpass.
|
/third_party/vk-gl-cts/external/vulkan-docs/src/proposals/ |
D | VK_EXT_subpass_merge_feedback.adoc | 18 merged, or why they were not. They may also want to disable subpass merging completely or 19 for certain subpasses, in order to determine the impact of subpass merging on performance. 21 This proposal attempts to provide feedback and control for the subpass merging. It can be used 27 provide subpass merging feedback and control subpass merging at render pass creation time. 30 conditions of subpass merging based on performance result, or being compatible with future new 58 The structure can control the subpass merging for both render pass level and subpass level. 91 The structure can get the feedback from subpass level at render pass creation time. 93 tell application whether a subpass is merged into previous subpass and what is the reason 94 if the subpass cannot be merged. 105 The structure contains the feedback data from the subpass level.
|
D | VK_EXT_multisampled_render_to_single_sampled.adoc | 22 On some tiling GPUs, subpass resolve operations for some formats cannot be done 25 link:{refpage}vkCmdResolveImage.html[`vkCmdResolveImage`] after the subpass, 32 In such cases, the application can use an initial subpass to effectively load 33 single sampled data from the next subpass's resolve attachment and fill in the 43 subpass, these implementations are able to perform multisampled rendering on 55 subpass which performs multisampled rendering with `N` samples would still 56 require all the attachments used in the subpass to have `N` samples. 61 In the following, a _pass_ refers to either a render pass subpass, or a 160 With render passes, if a subpass follows that reads from the attachment as a 162 whether the previous subpass's multisampled data are returned or the resolved [all …]
|
/third_party/vk-gl-cts/external/vulkancts/framework/vulkan/ |
D | vkPipelineConstructionUtil.cpp | 725 const deUint32 subpass, in setupPreRasterizationShaderState() argument 741 subpass, in setupPreRasterizationShaderState() 762 const deUint32 subpass, in setupPreRasterizationShaderState2() argument 781 subpass, in setupPreRasterizationShaderState2() 805 const deUint32 subpass, in setupPreRasterizationShaderState3() argument 957 m_internalData->monolithicPipelineCreateInfo.subpass = subpass; in setupPreRasterizationShaderState3() 993 pipelinePartCreateInfo.subpass = subpass; in setupPreRasterizationShaderState3() 1019 const deUint32 subpass, in setupPreRasterizationMeshShaderState() argument 1107 m_internalData->monolithicPipelineCreateInfo.subpass = subpass; in setupPreRasterizationMeshShaderState() 1139 pipelinePartCreateInfo.subpass = subpass; in setupPreRasterizationMeshShaderState() [all …]
|
D | vkPipelineConstructionUtil.hpp | 172 const deUint32 subpass, 188 const deUint32 subpass, 208 const deUint32 subpass, 233 const deUint32 subpass, 248 const deUint32 subpass, 259 const deUint32 subpass, 270 const deUint32 subpass = 0u,
|
/third_party/vk-gl-cts/external/vulkan-docs/src/chapters/ |
D | renderpass.txt | 842 flink:vkCmdBeginRenderingKHR, but use of subpass dependencies can confer 862 [[renderpass-subpass]] 865 Rendering commands are recorded into a particular subpass of a render pass 869 in the execution of a subpass. 870 Each subpass can: read from some attachments as _input attachments_, write 877 A subpass description can: also include a set of _preserve attachments_, 878 which are attachments that are not read or written by the subpass but whose 879 contents must: be preserved throughout the subpass. 881 A subpass _uses an attachment_ if the attachment is a color, depth/stencil, 889 or input attachment for that subpass (as determined by the [all …]
|
D | renderpass.adoc | 171 <<subpass-multisampledrendertosinglesampled,multisampled-render-to-single-sampled>> 179 <<subpass-multisampledrendertosinglesampled,multisampled-render-to-single-sampled>> 1369 within the same subpass 1382 flink:vkCmdBeginRendering, but use of subpass dependencies can confer 1452 [[renderpass-subpass]] 1455 Rendering commands are recorded into a particular subpass of a render pass 1459 in the execution of a subpass. 1460 Each subpass can: read from some attachments as _input attachments_, write 1467 A subpass description can: also include a set of _preserve attachments_, 1468 which are attachments that are not read or written by the subpass but whose [all …]
|
/third_party/glslang/Test/baseResults/ |
D | vulkan.vert.out | 2 ERROR: 0:3: 'subpass input' : not supported in this stage: vertex 4 ERROR: 0:4: 'subpass input' : not supported in this stage: vertex 6 ERROR: 0:5: 'subpass input' : not supported in this stage: vertex 8 ERROR: 0:6: 'subpass input' : not supported in this stage: vertex 10 ERROR: 0:7: 'subpass input' : not supported in this stage: vertex 12 ERROR: 0:8: 'subpass input' : not supported in this stage: vertex 52 ERROR: 0:76: 'input_attachment_index' : can only be used with a subpass
|