Home
last modified time | relevance | path

Searched refs:subpass (Results 1 – 25 of 307) sorted by relevance

12345678910>>...13

/third_party/mesa3d/src/freedreno/vulkan/
Dtu_pass.c210 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/
Dradv_pass.c129 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 …]
Dradv_meta_resolve.c171 .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/
DVkRenderPass.cpp29 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 …]
DVkFramebuffer.cpp139 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/
Drenderpass.adoc10 …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/
Dpvr_pass.c61 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/
Dv3dv_pass.c59 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 …]
Dv3dvx_cmd_buffer.c205 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/
Dpanvk_pass.c111 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 …]
Dpanvk_cmd_buffer.c433 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/
Dvk_render_pass.c185 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/
DVK_QCOM_render_pass_shader_resolve.txt31 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
DVK_QCOM_render_pass_shader_resolve.adoc31 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
DVK_HUAWEI_subpass_shading.txt21 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
DVK_HUAWEI_subpass_shading.adoc22 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
DVK_NVX_multiview_per_view_attributes.txt39 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.
DVK_NVX_multiview_per_view_attributes.adoc37 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/
DVK_EXT_subpass_merge_feedback.adoc18 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.
DVK_EXT_multisampled_render_to_single_sampled.adoc22 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/
DvkPipelineConstructionUtil.cpp725 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 …]
DvkPipelineConstructionUtil.hpp172 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/
Drenderpass.txt842 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 …]
Drenderpass.adoc171 <<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/
Dvulkan.vert.out2 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

12345678910>>...13