<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 27, 2018 at 12:10 AM, Tapani Pälli <span dir="ltr"><<a href="mailto:tapani.palli@intel.com" target="_blank">tapani.palli@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Patch adds VK_EXT_global_priority support. This should not affect<br>
test results.<br>
<br>
Signed-off-by: Tapani Pälli <<a href="mailto:tapani.palli@intel.com">tapani.palli@intel.com</a>><br>
---<br>
 src/tests/func/sync/semaphore-<wbr>fd.c | 23 ++++++++++++++++-------<br>
 1 file changed, 16 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/src/tests/func/sync/<wbr>semaphore-fd.c b/src/tests/func/sync/<wbr>semaphore-fd.c<br>
index 63cb84d..ea54369 100644<br>
--- a/src/tests/func/sync/<wbr>semaphore-fd.c<br>
+++ b/src/tests/func/sync/<wbr>semaphore-fd.c<br>
@@ -43,23 +43,32 @@ struct buffer_layout {<br>
 };<br>
<br>
 static void<br>
-init_context(struct test_context *ctx, float priority)<br>
+init_context(struct test_context *ctx, float priority,<br>
+             VkQueueGlobalPriorityEXT g_priority)<br>
 {<br>
    const char *extension_names[] = {<br>
       "VK_KHR_external_memory",<br>
       "VK_KHR_external_memory_fd",<br>
       "VK_KHR_external_semaphore",<br>
       "VK_KHR_external_semaphore_fd"<wbr>,<br>
+      "VK_EXT_global_priority",<br>
    };<br>
<br>
+    bool use_global_priority =<br>
+        t_has_ext("VK_EXT_global_<wbr>priority");<br>
+<br>
     VkResult result = vkCreateDevice(t_physical_dev,<br>
         &(VkDeviceCreateInfo) {<br>
             .sType = VK_STRUCTURE_TYPE_DEVICE_<wbr>CREATE_INFO,<br>
-            .enabledExtensionCount = 4,<br>
+            .enabledExtensionCount = use_global_priority ? 5 : 4,<br>
             .ppEnabledExtensionNames = extension_names,<br>
             .queueCreateInfoCount = 1,<br>
             .pQueueCreateInfos = &(VkDeviceQueueCreateInfo) {<br>
                 .sType = VK_STRUCTURE_TYPE_DEVICE_<wbr>QUEUE_CREATE_INFO,<br>
+                .pNext = use_global_priority ? &(<wbr>VkDeviceQueueGlobalPriorityCre<wbr>ateInfoEXT) {<br>
+                    .sType = VK_STRUCTURE_TYPE_DEVICE_<wbr>QUEUE_GLOBAL_PRIORITY_CREATE_<wbr>INFO_EXT,<br>
+                    .globalPriority = g_priority,<br>
+                } : NULL,<br></blockquote><div><br></div><div>This is a crazy use of ternaries together with compound literals.  I think it might be best to declare the QueueGlobalPriority structure above and make things a little less in-line.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                 .queueFamilyIndex = 0,<br>
                 .queueCount = 1,<br>
                 .pQueuePriorities = (float[]) { priority },<br>
@@ -601,7 +610,7 @@ static void<br>
 test_sanity(void)<br>
 {<br>
     struct test_context ctx;<br>
-    init_context(&ctx, 1.0);<br>
+    init_context(&ctx, 1.0, VK_QUEUE_GLOBAL_PRIORITY_<wbr>MEDIUM);<br>
<br>
     VkMemoryRequirements buffer_reqs =<br>
         qoGetBufferMemoryRequirements(<wbr>ctx.device, ctx.buffer);<br>
@@ -674,8 +683,8 @@ test_opaque_fd(void)<br>
     require_handle_type(VK_<wbr>EXTERNAL_SEMAPHORE_HANDLE_<wbr>TYPE_OPAQUE_FD_BIT_KHR);<br>
<br>
     struct test_context ctx1, ctx2;<br>
-    init_context(&ctx1, 1.0);<br>
-    init_context(&ctx2, 0.0);<br>
+    init_context(&ctx1, 1.0, VK_QUEUE_GLOBAL_PRIORITY_<wbr>MEDIUM);<br>
+    init_context(&ctx2, 0.0, VK_QUEUE_GLOBAL_PRIORITY_LOW);<br>
<br>
 #define GET_FUNCTION_PTR(name, device) \<br>
     PFN_vk##name name = (PFN_vk##name)<wbr>vkGetDeviceProcAddr(device, "vk"#name)<br>
@@ -826,8 +835,8 @@ test_sync_fd(void)<br>
     require_handle_type(VK_<wbr>EXTERNAL_SEMAPHORE_HANDLE_<wbr>TYPE_SYNC_FD_BIT_KHR);<br>
<br>
     struct test_context ctx1, ctx2;<br>
-    init_context(&ctx1, 1.0);<br>
-    init_context(&ctx2, 0.0);<br>
+    init_context(&ctx1, 1.0, VK_QUEUE_GLOBAL_PRIORITY_<wbr>MEDIUM);<br>
+    init_context(&ctx2, 0.0, VK_QUEUE_GLOBAL_PRIORITY_LOW);<br>
<br>
 #define GET_FUNCTION_PTR(name, device) \<br>
     PFN_vk##name name = (PFN_vk##name)<wbr>vkGetDeviceProcAddr(device, "vk"#name)<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.14.3<br>
<br>
</font></span></blockquote></div><br></div></div>