<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>