bug-14575: normalized queue priorities
diff --git a/icd/intel/obj.c b/icd/intel/obj.c
index ba4f254..c447716 100644
--- a/icd/intel/obj.c
+++ b/icd/intel/obj.c
@@ -172,6 +172,9 @@
         dbg->create_info_size = size;
 
         size += sizeof(src->pRequestedQueues[0]) * src->requestedQueueCount;
+        for (uint32_t i = 0; i < src->requestedQueueCount; i++) {
+            size += src->pRequestedQueues[i].queueCount * sizeof(float);
+        }
         size += sizeof(src->ppEnabledExtensionNames[0]) * src->extensionCount;
         for (uint32_t i = 0; i < src->extensionCount; i++) {
             size += strlen(src->ppEnabledExtensionNames[i]) + 1;
@@ -190,6 +193,12 @@
         memcpy(d, src->pRequestedQueues, size);
         dst->pRequestedQueues = (const VkDeviceQueueCreateInfo *) d;
         d += size;
+        for (uint32_t i = 0; i < src->requestedQueueCount; i++) {
+            size = sizeof(float) * dst->pRequestedQueues[i].queueCount;
+            memcpy(d, src->pRequestedQueues[i].pQueuePriorities, size);
+            *((float **) &dst->pRequestedQueues[i].pQueuePriorities) = (float *) d;
+            d += size;
+        }
 
         size = sizeof(src->ppEnabledExtensionNames[0]) * src->extensionCount;
         dst->ppEnabledExtensionNames = (const char **) d;