From 51ab0de31f67d96be92f40e1df21092600fe9291 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 26 Aug 2021 14:42:53 +0300 Subject: [PATCH] Fix fragment shading rate validation layer warning We passing a number of layer > 1 for an image view type of VK_IMAGE_VIEW_TYPE_2D. Also if we're not using ATTACHMENT_MODE_2DARRAY, then there is only one layer for the fragment rate shading attachment, so we should check against layer 0. Components: Vulkan Affects: dEQP-VK.fragment_shading_rate.srlayered.* VK-GL-CTS issue: 3079 Change-Id: I351f880a9bdd934f773e517713839c67ad453766 --- .../vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp index 9186a65..273e609 100644 --- a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp +++ b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp @@ -1325,7 +1325,8 @@ tcu::TestStatus FSRTestInstance::iterate (void) 0u, // deUint32 baseMipLevel; 1u, // deUint32 levelCount; 0u, // deUint32 baseArrayLayer; - numSRLayers // deUint32 layerCount; + srViewType == VK_IMAGE_VIEW_TYPE_2D ? + 1 : numSRLayers, // deUint32 layerCount; } // VkImageSubresourceRange subresourceRange; }; srImageView = createImageView(vk, device, &imageViewCreateInfo, NULL); @@ -2196,7 +2197,7 @@ tcu::TestStatus FSRTestInstance::iterate (void) deInt32 pipelineRate = PrimIDToPipelineShadingRate(primID); deInt32 primitiveRate = m_data.shaderWritesRate ? PrimIDToPrimitiveShadingRate(primID) : 0; - deInt32 attachmentLayer = m_data.srLayered ? layer : 0; + deInt32 attachmentLayer = (m_data.srLayered && modeIdx == ATTACHMENT_MODE_2DARRAY) ? layer : 0; deInt32 attachmentRate = m_data.useAttachment() ? fillPtr[srFillBpp*((attachmentLayer * srHeight + (y / srTexelHeight)) * srWidth + (x / srTexelWidth))] : 0; // Get mask of allowed shading rates -- 2.7.4