Fix aliasing issue for globalPriorityQuery feature
Affects:
dEQP-VK.info.device_mandatory_features
Components: Vulkan
VK-GL-CTS issue: 3675
Change-Id: Id7e18078bcd9650667834915ed4bbe3453ede91c
diff --git a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
index f1d350e..632be50 100644
--- a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
+++ b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
@@ -157,20 +157,10 @@
nextPtr = &physicalDeviceFragmentShaderInterlockFeaturesEXT.pNext;
}
- vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT physicalDeviceGlobalPriorityQueryFeaturesEXT;
- deMemset(&physicalDeviceGlobalPriorityQueryFeaturesEXT, 0, sizeof(physicalDeviceGlobalPriorityQueryFeaturesEXT));
-
- if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_global_priority_query")) )
- {
- physicalDeviceGlobalPriorityQueryFeaturesEXT.sType = getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT>();
- *nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesEXT;
- nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesEXT.pNext;
- }
-
vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR physicalDeviceGlobalPriorityQueryFeaturesKHR;
deMemset(&physicalDeviceGlobalPriorityQueryFeaturesKHR, 0, sizeof(physicalDeviceGlobalPriorityQueryFeaturesKHR));
- if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_global_priority")) )
+ if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_global_priority_query")) || isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_global_priority")) )
{
physicalDeviceGlobalPriorityQueryFeaturesKHR.sType = getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();
*nextPtr = &physicalDeviceGlobalPriorityQueryFeaturesKHR;
@@ -886,15 +876,6 @@
}
}
- if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_global_priority_query")) )
- {
- if ( physicalDeviceGlobalPriorityQueryFeaturesEXT.globalPriorityQuery == VK_FALSE )
- {
- log << tcu::TestLog::Message << "Mandatory feature globalPriorityQuery not supported" << tcu::TestLog::EndMessage;
- result = false;
- }
- }
-
if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_host_query_reset")) )
{
if ( physicalDeviceHostQueryResetFeaturesEXT.hostQueryReset == VK_FALSE )
@@ -1174,6 +1155,15 @@
}
}
+ if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_global_priority_query")) )
+ {
+ if ( physicalDeviceGlobalPriorityQueryFeaturesKHR.globalPriorityQuery == VK_FALSE )
+ {
+ log << tcu::TestLog::Message << "Mandatory feature globalPriorityQuery not supported" << tcu::TestLog::EndMessage;
+ result = false;
+ }
+ }
+
if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_global_priority")) )
{
if ( physicalDeviceGlobalPriorityQueryFeaturesKHR.globalPriorityQuery == VK_FALSE )
diff --git a/external/vulkancts/scripts/src/extensions/VK_EXT_global_priority_query.json b/external/vulkancts/scripts/src/extensions/VK_EXT_global_priority_query.json
deleted file mode 100644
index dc0d8ce..0000000
--- a/external/vulkancts/scripts/src/extensions/VK_EXT_global_priority_query.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "mandatory_features":
- {
- "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT":
- [
- { "features": ["globalPriorityQuery"], "requirements": ["VK_EXT_global_priority_query"] }
- ]
- }
-}
\ No newline at end of file
diff --git a/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json b/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json
index df0b819..6db8e27 100644
--- a/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json
+++ b/external/vulkancts/scripts/src/extensions/VK_KHR_global_priority.json
@@ -8,6 +8,7 @@
{
"VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR":
[
+ { "features": ["globalPriorityQuery"], "requirements": ["VK_EXT_global_priority_query"] },
{ "features": ["globalPriorityQuery"], "requirements": ["VK_KHR_global_priority"] }
]
}