From: Ricardo Garcia Date: Tue, 21 Sep 2021 11:29:57 +0000 (+0200) Subject: Fix image view type for multiview multi draw tests X-Git-Tag: upstream/1.3.5~557 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=615e4cfc38f900d44d02177afc5d9073f47987a3;p=platform%2Fupstream%2FVK-GL-CTS.git Fix image view type for multiview multi draw tests When using more than 1 layer, the image view type was incorrectly set to VK_IMAGE_VIEW_TYPE_2D instead of VK_IMAGE_VIEW_TYPE_2D_ARRAY. Affected tests: dEQP-VK.draw.multi_draw.*multiview* Components: Vulkan VK-GL-CTS issue: 3130 Change-Id: Ia2aa5af46d8bd09abc9ba7d40cd1e8c26add21bf --- diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawMultiExtTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawMultiExtTests.cpp index 7224b47..89882ea 100644 --- a/external/vulkancts/modules/vulkan/draw/vktDrawMultiExtTests.cpp +++ b/external/vulkancts/modules/vulkan/draw/vktDrawMultiExtTests.cpp @@ -699,6 +699,7 @@ tcu::TestStatus MultiDrawInstance::iterate (void) const auto imageDim = static_cast(deSqrt(static_cast(triangleCount))); const auto imageExtent = makeExtent3D(imageDim, imageDim, 1u); const auto imageLayers = (m_params.multiview ? 2u : 1u); + const auto imageViewType = ((imageLayers > 1u) ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D); const auto colorUsage = (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); const auto dsUsage = (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT); const auto pixelCount = imageExtent.width * imageExtent.height; @@ -736,7 +737,7 @@ tcu::TestStatus MultiDrawInstance::iterate (void) ImageWithMemory colorBuffer (vkd, device, alloc, imageCreateInfo, MemoryRequirement::Any); const auto colorSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, imageLayers); - const auto colorBufferView = makeImageView(vkd, device, colorBuffer.get(), VK_IMAGE_VIEW_TYPE_2D, colorFormat, colorSubresourceRange); + const auto colorBufferView = makeImageView(vkd, device, colorBuffer.get(), imageViewType, colorFormat, colorSubresourceRange); // Depth/stencil buffer. const VkImageCreateInfo dsCreateInfo = @@ -760,7 +761,7 @@ tcu::TestStatus MultiDrawInstance::iterate (void) ImageWithMemory dsBuffer (vkd, device, alloc, dsCreateInfo, MemoryRequirement::Any); const auto dsSubresourceRange = makeImageSubresourceRange((VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT), 0u, 1u, 0u, imageLayers); - const auto dsBufferView = makeImageView(vkd, device, dsBuffer.get(), VK_IMAGE_VIEW_TYPE_2D, dsFormat, dsSubresourceRange); + const auto dsBufferView = makeImageView(vkd, device, dsBuffer.get(), imageViewType, dsFormat, dsSubresourceRange); // Output buffers to verify attachments. using BufferWithMemoryPtr = de::MovePtr;