mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 13:50:11 +01:00
vulkan: Drop VkRenderingSelfDependencyInfoMESA
It's no longer needed as VK_EXT_attachment_feedback_loop_layout provides everything we need. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Connor Abbott <cwabbott0@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22191>
This commit is contained in:
parent
b4c18b9b76
commit
6ad5f885af
2 changed files with 5 additions and 45 deletions
|
|
@ -610,9 +610,6 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
|
|
||||||
/* Figure out any self-dependencies */
|
/* Figure out any self-dependencies */
|
||||||
assert(desc->colorAttachmentCount <= 32);
|
assert(desc->colorAttachmentCount <= 32);
|
||||||
uint32_t color_self_deps = 0;
|
|
||||||
bool has_depth_self_dep = false;
|
|
||||||
bool has_stencil_self_dep = false;
|
|
||||||
for (uint32_t a = 0; a < desc->inputAttachmentCount; a++) {
|
for (uint32_t a = 0; a < desc->inputAttachmentCount; a++) {
|
||||||
if (desc->pInputAttachments[a].attachment == VK_ATTACHMENT_UNUSED)
|
if (desc->pInputAttachments[a].attachment == VK_ATTACHMENT_UNUSED)
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -626,8 +623,6 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
||||||
subpass->pipeline_flags |=
|
subpass->pipeline_flags |=
|
||||||
VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
||||||
|
|
||||||
color_self_deps |= (1u << c);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -643,7 +638,6 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
||||||
subpass->pipeline_flags |=
|
subpass->pipeline_flags |=
|
||||||
VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
||||||
has_depth_self_dep = true;
|
|
||||||
}
|
}
|
||||||
if (aspects & VK_IMAGE_ASPECT_STENCIL_BIT) {
|
if (aspects & VK_IMAGE_ASPECT_STENCIL_BIT) {
|
||||||
subpass->input_attachments[a].stencil_layout =
|
subpass->input_attachments[a].stencil_layout =
|
||||||
|
|
@ -652,7 +646,6 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT;
|
||||||
subpass->pipeline_flags |=
|
subpass->pipeline_flags |=
|
||||||
VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
|
||||||
has_stencil_self_dep = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -702,16 +695,9 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
subpass->self_dep_info = (VkRenderingSelfDependencyInfoMESA) {
|
|
||||||
.sType = VK_STRUCTURE_TYPE_RENDERING_SELF_DEPENDENCY_INFO_MESA,
|
|
||||||
.colorSelfDependencies = color_self_deps,
|
|
||||||
.depthSelfDependency = has_depth_self_dep,
|
|
||||||
.stencilSelfDependency = has_stencil_self_dep,
|
|
||||||
};
|
|
||||||
|
|
||||||
subpass->sample_count_info_amd = (VkAttachmentSampleCountInfoAMD) {
|
subpass->sample_count_info_amd = (VkAttachmentSampleCountInfoAMD) {
|
||||||
.sType = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
|
.sType = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
|
||||||
.pNext = &subpass->self_dep_info,
|
.pNext = NULL,
|
||||||
.colorAttachmentCount = desc->colorAttachmentCount,
|
.colorAttachmentCount = desc->colorAttachmentCount,
|
||||||
.pColorAttachmentSamples = color_samples,
|
.pColorAttachmentSamples = color_samples,
|
||||||
.depthStencilAttachmentSamples = depth_stencil_samples,
|
.depthStencilAttachmentSamples = depth_stencil_samples,
|
||||||
|
|
@ -747,7 +733,6 @@ vk_common_CreateRenderPass2(VkDevice _device,
|
||||||
.multisampledRenderToSingleSampledEnable = VK_TRUE,
|
.multisampledRenderToSingleSampledEnable = VK_TRUE,
|
||||||
.rasterizationSamples = mrtss->rasterizationSamples,
|
.rasterizationSamples = mrtss->rasterizationSamples,
|
||||||
};
|
};
|
||||||
subpass->self_dep_info.pNext = &subpass->mrtss;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert(next_subpass_attachment ==
|
assert(next_subpass_attachment ==
|
||||||
|
|
@ -1049,7 +1034,8 @@ vk_get_command_buffer_inheritance_as_rendering_resume(
|
||||||
/* Append this one last because it lives in the subpass and we don't want
|
/* Append this one last because it lives in the subpass and we don't want
|
||||||
* to be changed by appending other structures later.
|
* to be changed by appending other structures later.
|
||||||
*/
|
*/
|
||||||
__vk_append_struct(&data->rendering, (void *)&subpass->self_dep_info);
|
if (subpass->mrtss.multisampledRenderToSingleSampledEnable)
|
||||||
|
__vk_append_struct(&data->rendering, (void *)&subpass->mrtss);
|
||||||
|
|
||||||
return &data->rendering;
|
return &data->rendering;
|
||||||
}
|
}
|
||||||
|
|
@ -2155,7 +2141,8 @@ begin_subpass(struct vk_command_buffer *cmd_buffer,
|
||||||
/* Append this one last because it lives in the subpass and we don't want
|
/* Append this one last because it lives in the subpass and we don't want
|
||||||
* to be changed by appending other structures later.
|
* to be changed by appending other structures later.
|
||||||
*/
|
*/
|
||||||
__vk_append_struct(&rendering, (void *)&subpass->self_dep_info);
|
if (subpass->mrtss.multisampledRenderToSingleSampledEnable)
|
||||||
|
__vk_append_struct(&rendering, (void *)&subpass->mrtss);
|
||||||
|
|
||||||
disp->CmdBeginRendering(vk_command_buffer_to_handle(cmd_buffer),
|
disp->CmdBeginRendering(vk_command_buffer_to_handle(cmd_buffer),
|
||||||
&rendering);
|
&rendering);
|
||||||
|
|
|
||||||
|
|
@ -29,27 +29,6 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* Pseudo-extension struct that may be chained into VkRenderingInfo,
|
|
||||||
* VkCommandBufferInheritanceRenderingInfo, or VkPipelineRenderingCreateInfo
|
|
||||||
* to provide self-dependency information.
|
|
||||||
*/
|
|
||||||
typedef struct VkRenderingSelfDependencyInfoMESA {
|
|
||||||
VkStructureType sType;
|
|
||||||
#define VK_STRUCTURE_TYPE_RENDERING_SELF_DEPENDENCY_INFO_MESA (VkStructureType)1000044900
|
|
||||||
#define VK_STRUCTURE_TYPE_RENDERING_SELF_DEPENDENCY_INFO_MESA_cast VkRenderingSelfDependencyInfoMESA
|
|
||||||
const void* pNext;
|
|
||||||
|
|
||||||
/** Bitset of which color attachments have self-dependencies */
|
|
||||||
uint32_t colorSelfDependencies;
|
|
||||||
|
|
||||||
/** True if there is a depth self-dependency */
|
|
||||||
VkBool32 depthSelfDependency;
|
|
||||||
|
|
||||||
/** True if there is a stencil self-dependency */
|
|
||||||
VkBool32 stencilSelfDependency;
|
|
||||||
} VkRenderingSelfDependencyInfoMESA;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pseudo-extension struct that may be chained into VkRenderingAttachmentInfo
|
* Pseudo-extension struct that may be chained into VkRenderingAttachmentInfo
|
||||||
* to indicate an initial layout for the attachment. This is only allowed if
|
* to indicate an initial layout for the attachment. This is only allowed if
|
||||||
|
|
@ -176,12 +155,6 @@ struct vk_subpass {
|
||||||
/** Extra VkPipelineCreateFlags for this subpass */
|
/** Extra VkPipelineCreateFlags for this subpass */
|
||||||
VkPipelineCreateFlagBits pipeline_flags;
|
VkPipelineCreateFlagBits pipeline_flags;
|
||||||
|
|
||||||
/** VkRenderingSelfDependencyInfoMESA for this subpass
|
|
||||||
*
|
|
||||||
* This is in the pNext chain of pipeline_info and inheritance_info.
|
|
||||||
*/
|
|
||||||
VkRenderingSelfDependencyInfoMESA self_dep_info;
|
|
||||||
|
|
||||||
/** VkAttachmentSampleCountInfoAMD for this subpass
|
/** VkAttachmentSampleCountInfoAMD for this subpass
|
||||||
*
|
*
|
||||||
* This is in the pNext chain of pipeline_info and inheritance_info.
|
* This is in the pNext chain of pipeline_info and inheritance_info.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue