Add limit verification for two fields in Vulkan SC
Missing fields in VkPhysicalDeviceVulkanSC10Properties : maxCommandPoolCommandBuffers and maxCommandBufferSize.
New tests:
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.*
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.*
Removed tests:
dEQP-VKSC.api.device_init.create_instance_invalid_api_version
Affects tests:
dEQP-VKSC.api.info.vulkan1p2_limits_validation.general
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.*.size_big.*
Components:
Framework VulkanSC
VK-GL-CTS Issue: 3491
Change-Id: I62328a8b7caa6f774bc733636910050fe594defd
diff --git a/android/cts/master/vksc-master/api.txt b/android/cts/master/vksc-master/api.txt
index baf21d8..59eea9b 100644
--- a/android/cts/master/vksc-master/api.txt
+++ b/android/cts/master/vksc-master/api.txt
@@ -2616,7 +2616,6 @@
dEQP-VKSC.api.info.android.no_unknown_extensions
dEQP-VKSC.api.info.android.no_layers
dEQP-VKSC.api.device_init.create_instance_name_version
-dEQP-VKSC.api.device_init.create_instance_invalid_api_version
dEQP-VKSC.api.device_init.create_instance_null_appinfo
dEQP-VKSC.api.device_init.create_instance_unsupported_extensions
dEQP-VKSC.api.device_init.create_instance_extension_name_abuse
diff --git a/android/cts/master/vksc-master/sc.txt b/android/cts/master/vksc-master/sc.txt
index 0d663a6..ea5f713 100644
--- a/android/cts/master/vksc-master/sc.txt
+++ b/android/cts/master/vksc-master/sc.txt
@@ -112,6 +112,42 @@
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_2
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_8
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_16
dEQP-VKSC.sc.object_refresh.query_refreshable_objects
dEQP-VKSC.sc.object_refresh.refresh_individual_objects
dEQP-VKSC.sc.object_refresh.refresh_all_objects
diff --git a/external/vulkancts/README.md b/external/vulkancts/README.md
index f4b00f1..8acc6da 100644
--- a/external/vulkancts/README.md
+++ b/external/vulkancts/README.md
@@ -826,6 +826,10 @@
Define minimum size of the command pool (in bytes) to use (Vulkan SC only)
default: '0'
+ --deqp-command-buffer-min-size=<value>
+ Define minimum size of the command buffer (in bytes) to use (Vulkan SC only)
+ default: '0'
+
--deqp-command-default-size=<value>
Define default single command size (in bytes) to use (Vulkan SC only)
default: '256'
diff --git a/external/vulkancts/framework/vulkan/vkPlatform.cpp b/external/vulkancts/framework/vulkan/vkPlatform.cpp
index 3b56daa..b10444a 100644
--- a/external/vulkancts/framework/vulkan/vkPlatform.cpp
+++ b/external/vulkancts/framework/vulkan/vkPlatform.cpp
@@ -185,7 +185,8 @@
, m_resourceInterface(resourceInterface)
, m_physicalDeviceVulkanSC10Properties(physicalDeviceVulkanSC10Properties)
, m_commandDefaultSize((VkDeviceSize)cmdLine.getCommandDefaultSize())
- , m_commandBufferMinimumSize( de::max((VkDeviceSize)cmdLine.getCommandDefaultSize(), (VkDeviceSize)cmdLine.getCommandPoolMinSize()))
+ , m_commandBufferMinimumSize( de::max((VkDeviceSize)cmdLine.getCommandDefaultSize(), (VkDeviceSize)cmdLine.getCommandBufferMinSize()))
+ , m_commandPoolMinimumSize((VkDeviceSize)cmdLine.getCommandPoolMinSize())
{
if(!cmdLine.isSubProcess())
m_falseMemory.resize(64u * 1024u * 1024u, 0u);
@@ -706,11 +707,13 @@
VkCommandPoolMemoryReservationCreateInfo cpMemReservationCI;
if (chainedMemoryReservation == DE_NULL)
{
- cpMemReservationCI =
+ VkDeviceSize cmdPoolSize = de::max(memC.maxCommandPoolReservedSize, m_commandPoolMinimumSize);
+ cmdPoolSize = de::max(cmdPoolSize, memC.commandBufferCount * m_commandBufferMinimumSize);
+ cpMemReservationCI =
{
VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO, // VkStructureType sType
DE_NULL, // const void* pNext
- de::max(memC.maxCommandPoolReservedSize, m_commandBufferMinimumSize), // VkDeviceSize commandPoolReservedSize
+ de::max(cmdPoolSize , m_commandBufferMinimumSize), // VkDeviceSize commandPoolReservedSize
de::max(memC.commandBufferCount, 1u) // uint32_t commandPoolMaxCommandBuffers
};
cpMemReservationCI.pNext = pCreateInfoCopy.pNext;
diff --git a/external/vulkancts/framework/vulkan/vkPlatform.hpp b/external/vulkancts/framework/vulkan/vkPlatform.hpp
index 0f5934b..3620248 100644
--- a/external/vulkancts/framework/vulkan/vkPlatform.hpp
+++ b/external/vulkancts/framework/vulkan/vkPlatform.hpp
@@ -338,6 +338,7 @@
VkDeviceSize m_commandDefaultSize;
VkDeviceSize m_commandBufferMinimumSize;
+ VkDeviceSize m_commandPoolMinimumSize;
};
class DeinitDeviceDeleter : public Deleter<DeviceDriverSC>
diff --git a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
index a4996cc..faf4605 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
@@ -210,6 +210,7 @@
return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
}
+#ifndef CTS_USES_VULKANSC
tcu::TestStatus createInstanceWithInvalidApiVersionTest (Context& context)
{
tcu::TestLog& log = context.getTestContext().getLog();
@@ -295,6 +296,7 @@
return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
}
+#endif // CTS_USES_VULKANSC
tcu::TestStatus createInstanceWithNullApplicationInfoTest (Context& context)
{
@@ -2239,7 +2241,9 @@
de::MovePtr<tcu::TestCaseGroup> deviceInitializationTests (new tcu::TestCaseGroup(testCtx, "device_init", "Device Initialization Tests"));
addFunctionCase(deviceInitializationTests.get(), "create_instance_name_version", "", createInstanceTest);
+#ifndef CTS_USES_VULKANSC
addFunctionCase(deviceInitializationTests.get(), "create_instance_invalid_api_version", "", createInstanceWithInvalidApiVersionTest);
+#endif // CTS_USES_VULKANSC
addFunctionCase(deviceInitializationTests.get(), "create_instance_null_appinfo", "", createInstanceWithNullApplicationInfoTest);
addFunctionCase(deviceInitializationTests.get(), "create_instance_unsupported_extensions", "", createInstanceWithUnsupportedExtensionsTest);
addFunctionCase(deviceInitializationTests.get(), "create_instance_extension_name_abuse", "", createInstanceWithExtensionNameAbuseTest);
diff --git a/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp b/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
index ab7274b..ff33d0d 100644
--- a/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
@@ -914,6 +914,8 @@
{ PN(checkVulkanSC10Limit), PN(vulkanSC10Properties.maxDescriptorSetLayoutBindings), LIM_MIN_UINT32(64) },
{ PN(checkVulkanSC10Limit), PN(vulkanSC10Properties.maxQueryFaultCount), LIM_MIN_UINT32(16) },
{ PN(checkVulkanSC10Limit), PN(vulkanSC10Properties.maxCallbackFaultCount), LIM_MIN_UINT32(1) },
+ { PN(checkVulkanSC10Limit), PN(vulkanSC10Properties.maxCommandPoolCommandBuffers), LIM_MIN_UINT32(256) },
+ { PN(checkVulkanSC10Limit), PN(vulkanSC10Properties.maxCommandBufferSize), LIM_MIN_UINT32(1048576) },
#endif // CTS_USES_VULKANSC
};
diff --git a/external/vulkancts/modules/vulkan/sc/vktCommandPoolMemoryReservationTests.cpp b/external/vulkancts/modules/vulkan/sc/vktCommandPoolMemoryReservationTests.cpp
index 5b0aaf6..3ece972 100644
--- a/external/vulkancts/modules/vulkan/sc/vktCommandPoolMemoryReservationTests.cpp
+++ b/external/vulkancts/modules/vulkan/sc/vktCommandPoolMemoryReservationTests.cpp
@@ -84,6 +84,9 @@
const DeviceInterface& vk = context.getDeviceInterface();
const deUint32 queueFamilyIndex = context.getUniversalQueueFamilyIndex();
+ if ( testParams.commandBufferCount > context.getDeviceVulkanSC10Properties().maxCommandPoolCommandBuffers )
+ TCU_THROW(NotSupportedError, "commandBufferCount is greater than maxCommandPoolCommandBuffers");
+
VkDeviceSize commandPoolReservedSize = 0u;
switch (testParams.commandPoolReservedSize)
{
@@ -96,6 +99,7 @@
default:
TCU_THROW(InternalError, "Unsupported commandPoolReservedSize value");
}
+ commandPoolReservedSize = de::max(commandPoolReservedSize, VkDeviceSize(testParams.commandBufferCount * context.getTestContext().getCommandLine().getCommandBufferMinSize()));
// Create command pool with declared size
// By connecting our own VkCommandPoolMemoryReservationCreateInfo we avoid getting unknown data from DeviceDriverSC::createCommandPoolHandlerNorm()
@@ -149,12 +153,13 @@
eventCount = 1u;
break;
case CPS_BIG:
- eventCount = 64u;
+ eventCount = 32u;
break;
default:
TCU_THROW(InternalError, "Unsupported commandPoolReservedSize value");
}
VkDeviceSize commandPoolReservedSize = de::max(VkDeviceSize(eventCount * context.getTestContext().getCommandLine().getCommandDefaultSize()), VkDeviceSize(context.getTestContext().getCommandLine().getCommandPoolMinSize()));
+ commandPoolReservedSize = de::max(commandPoolReservedSize, VkDeviceSize(testParams.commandBufferCount * context.getTestContext().getCommandLine().getCommandBufferMinSize()));
// Create command pool with declared size
// By connecting our own VkCommandPoolMemoryReservationCreateInfo we avoid getting unknown data from DeviceDriverSC::createCommandPoolHandlerNorm()
@@ -262,6 +267,9 @@
TCU_THROW(NotSupportedError, "commandPoolResetCommandBuffer is not supported");
if (testParams.multipleRecording && context.getDeviceVulkanSC10Properties().commandPoolMultipleCommandBuffersRecording == VK_FALSE)
TCU_THROW(NotSupportedError, "commandPoolMultipleCommandBuffersRecording is not supported");
+ if (testParams.commandBufferCount > context.getDeviceVulkanSC10Properties().maxCommandPoolCommandBuffers)
+ TCU_THROW(NotSupportedError, "commandBufferCount is greater than maxCommandPoolCommandBuffers");
+
}
} // anonymous
@@ -277,9 +285,11 @@
const char* name;
} maxCommandBuffers[] =
{
- { 1, "cb_single" },
- { 4, "cb_few" },
- { 21, "cb_many" },
+ { 1, "cb_single" },
+ { 4, "cb_few" },
+ { 21, "cb_many" },
+ { 256, "cb_min_limit" },
+ { 1024, "cb_above_min_limit" },
};
const struct
diff --git a/external/vulkancts/mustpass/master/vksc-default/api.txt b/external/vulkancts/mustpass/master/vksc-default/api.txt
index ca08c5f..574cf57 100644
--- a/external/vulkancts/mustpass/master/vksc-default/api.txt
+++ b/external/vulkancts/mustpass/master/vksc-default/api.txt
@@ -2613,7 +2613,6 @@
dEQP-VKSC.api.info.image_format_properties2.3d.linear.astc_12x12_unorm_block
dEQP-VKSC.api.info.image_format_properties2.3d.linear.astc_12x12_srgb_block
dEQP-VKSC.api.device_init.create_instance_name_version
-dEQP-VKSC.api.device_init.create_instance_invalid_api_version
dEQP-VKSC.api.device_init.create_instance_null_appinfo
dEQP-VKSC.api.device_init.create_instance_unsupported_extensions
dEQP-VKSC.api.device_init.create_instance_extension_name_abuse
diff --git a/external/vulkancts/mustpass/master/vksc-default/sc.txt b/external/vulkancts/mustpass/master/vksc-default/sc.txt
index 0d663a6..ea5f713 100644
--- a/external/vulkancts/mustpass/master/vksc-default/sc.txt
+++ b/external/vulkancts/mustpass/master/vksc-default/sc.txt
@@ -112,6 +112,42 @@
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_2
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_8
dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_many.size_big.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_small.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_min_limit.size_big.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_small.multiple_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.reserved_size
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.single_recording.allocated_size_16
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_1
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_2
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_8
+dEQP-VKSC.sc.command_pool_memory_reservation.memory_consumption.cb_above_min_limit.size_big.multiple_recording.allocated_size_16
dEQP-VKSC.sc.object_refresh.query_refreshable_objects
dEQP-VKSC.sc.object_refresh.refresh_individual_objects
dEQP-VKSC.sc.object_refresh.refresh_all_objects
diff --git a/framework/common/tcuCommandLine.cpp b/framework/common/tcuCommandLine.cpp
index 5e953b9..57f4c3e 100644
--- a/framework/common/tcuCommandLine.cpp
+++ b/framework/common/tcuCommandLine.cpp
@@ -110,6 +110,7 @@
DE_DECLARE_COMMAND_LINE_OPT(SubprocessConfigFile, std::string);
DE_DECLARE_COMMAND_LINE_OPT(ServerAddress, std::string);
DE_DECLARE_COMMAND_LINE_OPT(CommandPoolMinSize, int);
+DE_DECLARE_COMMAND_LINE_OPT(CommandBufferMinSize, int);
DE_DECLARE_COMMAND_LINE_OPT(CommandDefaultSize, int);
DE_DECLARE_COMMAND_LINE_OPT(PipelineDefaultSize, int);
DE_DECLARE_COMMAND_LINE_OPT(PipelineCompilerPath, std::string);
@@ -235,6 +236,7 @@
<< Option<SubprocessConfigFile> (DE_NULL, "deqp-subprocess-cfg-file", "Config file defining number of tests performed in subprocess for specific test branches (Vulkan SC only)", "")
<< Option<ServerAddress> (DE_NULL, "deqp-server-address", "Server address (host:port) responsible for shader compilation (Vulkan SC only)", "")
<< Option<CommandPoolMinSize> (DE_NULL, "deqp-command-pool-min-size", "Define minimum size of the command pool (in bytes) to use (Vulkan SC only)","0")
+ << Option<CommandBufferMinSize> (DE_NULL, "deqp-command-buffer-min-size", "Define minimum size of the command buffer (in bytes) to use (Vulkan SC only)", "0")
<< Option<CommandDefaultSize> (DE_NULL, "deqp-command-default-size", "Define default single command size (in bytes) to use (Vulkan SC only)", "256")
<< Option<PipelineDefaultSize> (DE_NULL, "deqp-pipeline-default-size", "Define default pipeline size (in bytes) to use (Vulkan SC only)", "16384")
<< Option<PipelineCompilerPath> (DE_NULL, "deqp-pipeline-compiler", "Path to offline pipeline compiler (Vulkan SC only)", "")
@@ -972,6 +974,7 @@
bool CommandLine::isSubProcess (void) const { return m_cmdLine.getOption<opt::SubProcess>(); }
int CommandLine::getSubprocessTestCount (void) const { return m_cmdLine.getOption<opt::SubprocessTestCount>(); }
int CommandLine::getCommandPoolMinSize (void) const { return m_cmdLine.getOption<opt::CommandPoolMinSize>(); }
+int CommandLine::getCommandBufferMinSize (void) const { return m_cmdLine.getOption<opt::CommandBufferMinSize>(); }
int CommandLine::getCommandDefaultSize (void) const { return m_cmdLine.getOption<opt::CommandDefaultSize>(); }
int CommandLine::getPipelineDefaultSize (void) const { return m_cmdLine.getOption<opt::PipelineDefaultSize>(); }
diff --git a/framework/common/tcuCommandLine.hpp b/framework/common/tcuCommandLine.hpp
index 2dd4e8f..4c8b8dd 100644
--- a/framework/common/tcuCommandLine.hpp
+++ b/framework/common/tcuCommandLine.hpp
@@ -286,9 +286,12 @@
//! Optional server address that will be responsible for (among other things) compiling shaders ( Vulkan SC )
const char* getServerAddress (void) const;
- //! Define minimum size of a single command buffer ( Vulkan SC )
+ //! Define minimum size of a single command pool ( Vulkan SC )
int getCommandPoolMinSize(void) const;
+ //! Define minimum size of a single command buffer ( Vulkan SC )
+ int getCommandBufferMinSize(void) const;
+
//! Define default size for single command in command buffer ( Vulkan SC )
int getCommandDefaultSize(void) const;