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;