[Piglit] [PATCH 2/3] func.sync.semaphore-fd: use queue priorities if supported
Tapani Pälli
tapani.palli at intel.com
Tue Feb 27 08:10:11 UTC 2018
Patch adds VK_EXT_global_priority support. This should not affect
test results.
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
---
src/tests/func/sync/semaphore-fd.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/tests/func/sync/semaphore-fd.c b/src/tests/func/sync/semaphore-fd.c
index 63cb84d..ea54369 100644
--- a/src/tests/func/sync/semaphore-fd.c
+++ b/src/tests/func/sync/semaphore-fd.c
@@ -43,23 +43,32 @@ struct buffer_layout {
};
static void
-init_context(struct test_context *ctx, float priority)
+init_context(struct test_context *ctx, float priority,
+ VkQueueGlobalPriorityEXT g_priority)
{
const char *extension_names[] = {
"VK_KHR_external_memory",
"VK_KHR_external_memory_fd",
"VK_KHR_external_semaphore",
"VK_KHR_external_semaphore_fd",
+ "VK_EXT_global_priority",
};
+ bool use_global_priority =
+ t_has_ext("VK_EXT_global_priority");
+
VkResult result = vkCreateDevice(t_physical_dev,
&(VkDeviceCreateInfo) {
.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
- .enabledExtensionCount = 4,
+ .enabledExtensionCount = use_global_priority ? 5 : 4,
.ppEnabledExtensionNames = extension_names,
.queueCreateInfoCount = 1,
.pQueueCreateInfos = &(VkDeviceQueueCreateInfo) {
.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
+ .pNext = use_global_priority ? &(VkDeviceQueueGlobalPriorityCreateInfoEXT) {
+ .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
+ .globalPriority = g_priority,
+ } : NULL,
.queueFamilyIndex = 0,
.queueCount = 1,
.pQueuePriorities = (float[]) { priority },
@@ -601,7 +610,7 @@ static void
test_sanity(void)
{
struct test_context ctx;
- init_context(&ctx, 1.0);
+ init_context(&ctx, 1.0, VK_QUEUE_GLOBAL_PRIORITY_MEDIUM);
VkMemoryRequirements buffer_reqs =
qoGetBufferMemoryRequirements(ctx.device, ctx.buffer);
@@ -674,8 +683,8 @@ test_opaque_fd(void)
require_handle_type(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR);
struct test_context ctx1, ctx2;
- init_context(&ctx1, 1.0);
- init_context(&ctx2, 0.0);
+ init_context(&ctx1, 1.0, VK_QUEUE_GLOBAL_PRIORITY_MEDIUM);
+ init_context(&ctx2, 0.0, VK_QUEUE_GLOBAL_PRIORITY_LOW);
#define GET_FUNCTION_PTR(name, device) \
PFN_vk##name name = (PFN_vk##name)vkGetDeviceProcAddr(device, "vk"#name)
@@ -826,8 +835,8 @@ test_sync_fd(void)
require_handle_type(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR);
struct test_context ctx1, ctx2;
- init_context(&ctx1, 1.0);
- init_context(&ctx2, 0.0);
+ init_context(&ctx1, 1.0, VK_QUEUE_GLOBAL_PRIORITY_MEDIUM);
+ init_context(&ctx2, 0.0, VK_QUEUE_GLOBAL_PRIORITY_LOW);
#define GET_FUNCTION_PTR(name, device) \
PFN_vk##name name = (PFN_vk##name)vkGetDeviceProcAddr(device, "vk"#name)
--
2.14.3
More information about the Piglit
mailing list