Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: I239d4b02c3c3de37b3034387774ae38802cf6873
diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-instruction-simplify-atanh-log-undefined.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-instruction-simplify-atanh-log-undefined.amber
index 52fe7d5..267b7ff 100644
--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-instruction-simplify-atanh-log-undefined.amber
+++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/cov-instruction-simplify-atanh-log-undefined.amber
@@ -56,6 +56,7 @@
# _GLF_color.g = _float_0_0;
# }
# }
+DEVICE_EXTENSION VK_KHR_shader_float_controls
SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
@@ -63,10 +64,13 @@
; Bound: 57
; Schema: 0
OpCapability Shader
+ OpCapability SignedZeroInfNanPreserve
+ OpExtension "SPV_KHR_float_controls"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %9
OpExecutionMode %4 OriginUpperLeft
+ OpExecutionMode %4 SignedZeroInfNanPreserve 32
OpSource ESSL 310
OpName %4 "main"
OpName %9 "_GLF_color"
diff --git a/external/vulkancts/modules/vulkan/api/vktApiVersionCheck.cpp b/external/vulkancts/modules/vulkan/api/vktApiVersionCheck.cpp
index fd6a767..e5baf0e 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiVersionCheck.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiVersionCheck.cpp
@@ -87,9 +87,7 @@
log << tcu::TestLog::Message << "deviceVersion: " << deviceVersion << tcu::TestLog::EndMessage;
log << tcu::TestLog::Message << "usedApiVersion: " << usedApiVersion << tcu::TestLog::EndMessage;
- if (instanceVersion.majorNum > maxVulkanVersion.majorNum || instanceVersion.minorNum > maxVulkanVersion.minorNum)
- return tcu::TestStatus::fail(de::toString("This version of CTS does not support a Vulkan instance with version ") + instanceVersionString);
- else if (deviceVersion.majorNum > maxVulkanVersion.majorNum || deviceVersion.minorNum > maxVulkanVersion.minorNum)
+ if (deviceVersion.majorNum > maxVulkanVersion.majorNum || deviceVersion.minorNum > maxVulkanVersion.minorNum)
return tcu::TestStatus::fail(de::toString("This version of CTS does not support Vulkan device version ") + deviceVersionString);
else
return tcu::TestStatus::pass(usedApiVersionString);
diff --git a/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemWsiSwapchainTests.cpp b/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemWsiSwapchainTests.cpp
index 5d0963f..d1b1bd4 100644
--- a/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemWsiSwapchainTests.cpp
+++ b/external/vulkancts/modules/vulkan/protected_memory/vktProtectedMemWsiSwapchainTests.cpp
@@ -317,7 +317,6 @@
// Determine the maximum memory heap space available for protected images
vk::VkPhysicalDeviceMemoryProperties memoryProperties = vk::getPhysicalDeviceMemoryProperties(context.getInstanceDriver(), context.getPhysicalDevice());
vk::VkDeviceSize protectedHeapSize = 0;
- vk::VkDeviceSize maxMemoryUsage = 0;
deUint32 protectedHeapMask = 0;
for (deUint32 memType = 0; memType < memoryProperties.memoryTypeCount; memType++)
@@ -330,15 +329,14 @@
(protectedHeapMask & (1u << heapIndex)) == 0)
{
protectedHeapSize = de::max(protectedHeapSize, memoryProperties.memoryHeaps[heapIndex].size);
- maxMemoryUsage = protectedHeapSize / 4 ; /* Use at maximum 25% of heap */
protectedHeapMask |= 1u << heapIndex;
}
}
// If the implementation doesn't have a max image count, min+16 means we won't clamp.
- // Limit it to how many protected images we estimate can be allocated - 25% of heap size
+ // Limit it to how many protected images we estimate can be allocated
const deUint32 maxImageCount = de::min((capabilities.maxImageCount > 0) ? capabilities.maxImageCount : capabilities.minImageCount + 16u,
- deUint32(maxMemoryUsage / memoryRequirements.size));
+ deUint32(protectedHeapSize / memoryRequirements.size));
if (maxImageCount < capabilities.minImageCount)
TCU_THROW(NotSupportedError, "Memory heap doesn't have enough memory!.");
@@ -358,7 +356,6 @@
vk::VkDevice device = context.getDevice();
vk::VkPhysicalDeviceMemoryProperties memoryProperties = vk::getPhysicalDeviceMemoryProperties(context.getInstanceDriver(), context.getPhysicalDevice());
vk::VkDeviceSize protectedHeapSize = 0;
- vk::VkDeviceSize maxMemoryUsage = 0;
for (deUint32 memType = 0; memType < memoryProperties.memoryTypeCount; memType++)
{
@@ -368,7 +365,6 @@
#endif
{
protectedHeapSize = de::max(protectedHeapSize, memoryProperties.memoryHeaps[heapIndex].size);
- maxMemoryUsage = protectedHeapSize / 4 ; /* Use at maximum 25% of heap */
}
}
@@ -407,7 +403,7 @@
}
// Check for the image size requirement based on double/triple buffering
- if (memoryRequirements.size * capabilities.minImageCount < maxMemoryUsage)
+ if (memoryRequirements.size * capabilities.minImageCount < protectedHeapSize)
{
cases.push_back(baseParameters);
cases.back().imageFormat = curFmt->format;
@@ -433,7 +429,6 @@
vk::VkDevice device = context.getDevice();
vk::VkPhysicalDeviceMemoryProperties memoryProperties = vk::getPhysicalDeviceMemoryProperties(context.getInstanceDriver(), context.getPhysicalDevice());
vk::VkDeviceSize protectedHeapSize = 0;
- vk::VkDeviceSize maxMemoryUsage = 0;
for (deUint32 memType = 0; memType < memoryProperties.memoryTypeCount; memType++)
{
@@ -443,7 +438,6 @@
#endif
{
protectedHeapSize = de::max(protectedHeapSize, memoryProperties.memoryHeaps[heapIndex].size);
- maxMemoryUsage = protectedHeapSize / 4 ; /* Use at maximum 25% of heap */
}
}
@@ -483,7 +477,7 @@
}
// Check for the image size requirement based on double/triple buffering
- if (memoryRequirements.size * capabilities.minImageCount < maxMemoryUsage)
+ if (memoryRequirements.size * capabilities.minImageCount < protectedHeapSize)
{
cases.push_back(baseParameters);
cases.back().imageExtent.width = de::clamp(s_testSizes[ndx].width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width);
@@ -525,7 +519,7 @@
}
// Check for the image size requirement based on double/triple buffering
- if (memoryRequirements.size * capabilities.minImageCount < maxMemoryUsage)
+ if (memoryRequirements.size * capabilities.minImageCount < protectedHeapSize)
{
cases.push_back(baseParameters);
cases.back().imageExtent = capabilities.currentExtent;
@@ -573,7 +567,7 @@
}
// Check for the image size requirement based on double/triple buffering
- if (memoryRequirements.size * capabilities.minImageCount < maxMemoryUsage)
+ if (memoryRequirements.size * capabilities.minImageCount < protectedHeapSize)
{
cases.push_back(baseParameters);
cases.back().imageExtent =s_testExtentSizes[ndx];