Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Ia8c5685499d3f1357117f15b14f92e93b4bca866
diff --git a/external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesMipmapSparseResidency.cpp b/external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesMipmapSparseResidency.cpp
index 49b819b..ea538a0 100755
--- a/external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesMipmapSparseResidency.cpp
+++ b/external/vulkancts/modules/vulkan/sparse_resources/vktSparseResourcesMipmapSparseResidency.cpp
@@ -437,6 +437,12 @@
for (deUint32 valueNdx = 0; valueNdx < imageSizeInBytes; ++valueNdx)
{
referenceData[valueNdx] = static_cast<deUint8>((valueNdx % imageMemoryRequirements.alignment) + 1u);
+
+ // Simply avoid using 0x80 which is out of range for 8bit SNORM
+ if (referenceData[valueNdx] == 0x80)
+ {
+ referenceData[valueNdx] = 0x81;
+ }
}
{
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
index 5046ec8..dc4645f 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp
@@ -500,6 +500,9 @@
deUint32 maxQueues = 0;
std::vector<deUint32> queueFamilies;
+ if (!context.getTimelineSemaphoreFeatures().timelineSemaphore)
+ TCU_THROW(NotSupportedError, "Timeline semaphore not supported");
+
if (m_queues->totalQueueCount() < 2)
TCU_THROW(NotSupportedError, "Not enough queues");
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSignalOrderTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSignalOrderTests.cpp
index 0d95a19..3e28636 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSignalOrderTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSignalOrderTests.cpp
@@ -1279,8 +1279,12 @@
!context.getTimelineSemaphoreFeatures().timelineSemaphore)
TCU_THROW(NotSupportedError, "Timeline semaphore not supported");
+ VkQueueFlags writeOpQueueFlags = m_writeOpSupport->getQueueFlags(*m_operationContext);
for (deUint32 familyIdx = 0; familyIdx < queueFamilyProperties.size(); familyIdx++) {
- if ((queueFamilyProperties[familyIdx].queueFlags & m_writeOpSupport->getQueueFlags(*m_operationContext)) == m_writeOpSupport->getQueueFlags(*m_operationContext)) {
+ if (((queueFamilyProperties[familyIdx].queueFlags & writeOpQueueFlags) == writeOpQueueFlags) ||
+ ((writeOpQueueFlags == VK_QUEUE_TRANSFER_BIT) &&
+ (((queueFamilyProperties[familyIdx].queueFlags & VK_QUEUE_GRAPHICS_BIT) == VK_QUEUE_GRAPHICS_BIT) ||
+ ((queueFamilyProperties[familyIdx].queueFlags & VK_QUEUE_COMPUTE_BIT) == VK_QUEUE_COMPUTE_BIT)))) {
m_queueA = getDeviceQueue(m_deviceInterface, *m_device, familyIdx, 0);
m_queueFamilyIndexA = familyIdx;
break;
@@ -1289,8 +1293,12 @@
if (m_queueA == DE_NULL)
TCU_THROW(NotSupportedError, "No queue supporting write operation");
+ VkQueueFlags readOpQueueFlags = m_readOpSupport->getQueueFlags(*m_operationContext);
for (deUint32 familyIdx = 0; familyIdx < queueFamilyProperties.size(); familyIdx++) {
- if ((queueFamilyProperties[familyIdx].queueFlags & m_readOpSupport->getQueueFlags(*m_operationContext)) == m_readOpSupport->getQueueFlags(*m_operationContext)) {
+ if (((queueFamilyProperties[familyIdx].queueFlags & readOpQueueFlags) == readOpQueueFlags) ||
+ ((readOpQueueFlags == VK_QUEUE_TRANSFER_BIT) &&
+ (((queueFamilyProperties[familyIdx].queueFlags & VK_QUEUE_GRAPHICS_BIT) == VK_QUEUE_GRAPHICS_BIT) ||
+ ((queueFamilyProperties[familyIdx].queueFlags & VK_QUEUE_COMPUTE_BIT) == VK_QUEUE_COMPUTE_BIT)))) {
for (deUint32 queueIdx = 0; queueIdx < queueFamilyProperties[familyIdx].queueCount; queueIdx++) {
VkQueue queue = getDeviceQueue(m_deviceInterface, *m_device, familyIdx, queueIdx);
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
index a3a36b5..67f1b8a 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationSmokeTests.cpp
@@ -1092,6 +1092,9 @@
tcu::TestStatus testSemaphores (Context& context, VkSemaphoreType semaphoreType)
{
+ if (semaphoreType == VK_SEMAPHORE_TYPE_TIMELINE_KHR && !context.getTimelineSemaphoreFeatures().timelineSemaphore)
+ TCU_THROW(NotSupportedError, "Timeline semaphore not supported");
+
TestLog& log = context.getTestContext().getLog();
const PlatformInterface& platformInterface = context.getPlatformInterface();
const InstanceInterface& instanceInterface = context.getInstanceInterface();