vkr: add missing sType in VkPhysicalDeviceGroupProperties
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/819>
diff --git a/src/venus/vkr_physical_device.c b/src/venus/vkr_physical_device.c
index cb0b3be..19dd9c3 100644
--- a/src/venus/vkr_physical_device.c
+++ b/src/venus/vkr_physical_device.c
@@ -366,11 +366,16 @@
VkPhysicalDeviceGroupProperties *orig_props = args->pPhysicalDeviceGroupProperties;
if (orig_props) {
args->pPhysicalDeviceGroupProperties =
- malloc(sizeof(*orig_props) * *args->pPhysicalDeviceGroupCount);
+ calloc(*args->pPhysicalDeviceGroupCount, sizeof(*orig_props));
if (!args->pPhysicalDeviceGroupProperties) {
args->ret = VK_ERROR_OUT_OF_HOST_MEMORY;
return;
}
+
+ for (uint32_t i = 0; i < *args->pPhysicalDeviceGroupCount; i++) {
+ args->pPhysicalDeviceGroupProperties[i].sType =
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
+ }
}
vn_replace_vkEnumeratePhysicalDeviceGroups_args_handle(args);