mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-13 05:20:45 +00:00
Fix handling of dynamic rendering shading rate attachments. Closes #2877
This commit is contained in:
@@ -96,7 +96,7 @@ void setupRenderingInfo(const VulkanRenderState::DynamicRendering &dynamicRender
|
||||
|
||||
structs->fragmentDensity = {
|
||||
VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT, NULL,
|
||||
dynamicRendering.fragmentDensityView, dynamicRendering.fragmentDensityLayout,
|
||||
Unwrap(dynamicRendering.fragmentDensityView), dynamicRendering.fragmentDensityLayout,
|
||||
};
|
||||
|
||||
if(dynamicRendering.fragmentDensityView != VK_NULL_HANDLE)
|
||||
@@ -108,7 +108,7 @@ void setupRenderingInfo(const VulkanRenderState::DynamicRendering &dynamicRender
|
||||
structs->shadingRate = {
|
||||
VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
|
||||
NULL,
|
||||
dynamicRendering.shadingRateView,
|
||||
Unwrap(dynamicRendering.shadingRateView),
|
||||
dynamicRendering.shadingRateLayout,
|
||||
dynamicRendering.shadingRateTexelSize,
|
||||
};
|
||||
|
||||
@@ -7155,6 +7155,26 @@ void WrappedVulkan::vkCmdBeginRendering(VkCommandBuffer commandBuffer,
|
||||
|
||||
record->AddChunk(scope.Get(&record->cmdInfo->alloc));
|
||||
|
||||
VkRenderingFragmentDensityMapAttachmentInfoEXT *densityMap =
|
||||
(VkRenderingFragmentDensityMapAttachmentInfoEXT *)FindNextStruct(
|
||||
pRenderingInfo, VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT);
|
||||
|
||||
if(densityMap)
|
||||
{
|
||||
VkResourceRecord *viewRecord = GetRecord(densityMap->imageView);
|
||||
record->MarkImageViewFrameReferenced(viewRecord, ImageRange(), eFrameRef_Read);
|
||||
}
|
||||
|
||||
VkRenderingFragmentShadingRateAttachmentInfoKHR *shadingRate =
|
||||
(VkRenderingFragmentShadingRateAttachmentInfoKHR *)FindNextStruct(
|
||||
pRenderingInfo, VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR);
|
||||
|
||||
if(shadingRate)
|
||||
{
|
||||
VkResourceRecord *viewRecord = GetRecord(shadingRate->imageView);
|
||||
record->MarkImageViewFrameReferenced(viewRecord, ImageRange(), eFrameRef_Read);
|
||||
}
|
||||
|
||||
for(uint32_t i = 0; i < pRenderingInfo->colorAttachmentCount + 2; i++)
|
||||
{
|
||||
const VkRenderingAttachmentInfo *att = pRenderingInfo->pColorAttachments + i;
|
||||
|
||||
Reference in New Issue
Block a user