Fix multiple VK_KHR_get_physical_device_properties2 issues
authorRicardo Garcia <rgarcia@igalia.com>
Wed, 22 Feb 2023 12:55:17 +0000 (13:55 +0100)
committerPiotr Byszewski <piotr.byszewski@mobica.com>
Fri, 3 Mar 2023 17:07:34 +0000 (17:07 +0000)
commitc981d77b632a7e6af0b5c65abc01acdfd43664e0
treeeacab42070ff0d8e2ff063449585f6edff313e90
parent6a7806616b7eef686fc2b334e42fb3b0eb9415fb
Fix multiple VK_KHR_get_physical_device_properties2 issues

This commit fixes two types of issues found in several CTS tests related
to PDP2.

* Several CTS tests were creating unneeded Vulkan instances, and these
  instances were being created without any extension enabled. In turn,
  this means P2P2 APIs like getPhysicalDeviceFeatures2 could not be used
  with those instances. Despite this, some tests were calling those
  functions.

  The solution applied here is not using custom instances at all
  whenever possible, as most times we are only interested in custom
  devices, or to enable PDP2 on those instances.

* In some other situations, PDP2 functions were being called in the
  default instance but without checking first for any extension that
  requires PDP2 or without directly checking for PDP2.

  In these cases, the solution was adding extension checks before.

Affects:
dEQP-VK.depth.*
dEQP-VK.api.buffer_memory_requirements.*
dEQP-VK.api.device_init.*priority*
dEQP-VK.api.*format_properties*
dEQP-VK.compute.indirect_dispatch.*
dEQP-VK.fragment_shading_rate.*pixel_consistency*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*.shader_fragment_mask.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.subgroups.subgroup_uniform_control_flow.*
dEQP-VK.synchronization.global_priority_transition.*
dEQP-VK.synchronization.*multi_queue*
dEQP-VK.synchronization.*smoke*
dEQP-VK.synchronization.timeline_semaphore.*

Components: Vulkan
VK-GL-CTS issue: 4293

Change-Id: Iba184a3f1ba901ce60458477a1f54772b4588bb6
18 files changed:
external/vulkancts/modules/vulkan/amber/vktAmberDepthTests.cpp
external/vulkancts/modules/vulkan/api/vktApiBufferMemoryRequirementsTests.cpp
external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
external/vulkancts/modules/vulkan/api/vktApiVersionCheck.cpp
external/vulkancts/modules/vulkan/compute/vktComputeIndirectComputeDispatchTests.cpp
external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp
external/vulkancts/modules/vulkan/memory/vktMemoryAllocationTests.cpp
external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp
external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleShaderFragmentMaskTests.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesBase.cpp
external/vulkancts/modules/vulkan/subgroups/vktSubgroupUniformControlFlowTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktGlobalPriorityQueueTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationTimelineSemaphoreTests.cpp