From 4b364ab4bcd70c821c6830e1a4858a2a7ce143da Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 30 Jul 2021 11:40:29 -0700 Subject: [PATCH] venus: update venus-protocol headers Updated to 1.2.182. Added some NULL checks. Signed-off-by: Chia-I Wu Reviewed-by: Yiwei Zhang Reviewed-by: Ryan Neph Part-of: --- .../venus-protocol/vn_protocol_driver.h | 2 +- .../vn_protocol_driver_command_buffer.h | 16 +-- .../vn_protocol_driver_descriptor_set.h | 16 +-- .../vn_protocol_driver_device.h | 128 +++++++++--------- .../venus-protocol/vn_protocol_driver_image.h | 32 ++--- .../venus-protocol/vn_protocol_driver_info.h | 2 +- .../vn_protocol_driver_instance.h | 32 ++--- .../vn_protocol_driver_pipeline_cache.h | 8 +- .../vn_protocol_driver_structs.h | 19 +++ .../vn_protocol_driver_transport.h | 8 +- .../venus-protocol/vn_protocol_driver_types.h | 21 +++ 11 files changed, 162 insertions(+), 122 deletions(-) diff --git a/src/virtio/venus-protocol/vn_protocol_driver.h b/src/virtio/venus-protocol/vn_protocol_driver.h index a88e1ee903b..0ee2996cd7b 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver.h +++ b/src/virtio/venus-protocol/vn_protocol_driver.h @@ -1,4 +1,4 @@ -/* This file is generated by venus-protocol git-3854cba2. */ +/* This file is generated by venus-protocol git-f59e7aad. */ /* * Copyright 2020 Google LLC diff --git a/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h index a0cfa0fe680..18d155f9101 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h @@ -1255,8 +1255,8 @@ static inline size_t vn_sizeof_vkAllocateCommandBuffers(VkDevice device, const V if (pAllocateInfo) cmd_size += vn_sizeof_VkCommandBufferAllocateInfo(pAllocateInfo); if (pCommandBuffers) { - cmd_size += vn_sizeof_array_size(pAllocateInfo->commandBufferCount); - for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++) + cmd_size += vn_sizeof_array_size((pAllocateInfo ? pAllocateInfo->commandBufferCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0); i++) cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1276,8 +1276,8 @@ static inline void vn_encode_vkAllocateCommandBuffers(struct vn_cs_encoder *enc, if (vn_encode_simple_pointer(enc, pAllocateInfo)) vn_encode_VkCommandBufferAllocateInfo(enc, pAllocateInfo); if (pCommandBuffers) { - vn_encode_array_size(enc, pAllocateInfo->commandBufferCount); - for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++) + vn_encode_array_size(enc, (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0); i++) vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]); } else { vn_encode_array_size(enc, 0); @@ -1294,8 +1294,8 @@ static inline size_t vn_sizeof_vkAllocateCommandBuffers_reply(VkDevice device, c /* skip device */ /* skip pAllocateInfo */ if (pCommandBuffers) { - cmd_size += vn_sizeof_array_size(pAllocateInfo->commandBufferCount); - for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++) + cmd_size += vn_sizeof_array_size((pAllocateInfo ? pAllocateInfo->commandBufferCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0); i++) cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1315,8 +1315,8 @@ static inline VkResult vn_decode_vkAllocateCommandBuffers_reply(struct vn_cs_dec /* skip device */ /* skip pAllocateInfo */ if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, pAllocateInfo->commandBufferCount); - for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++) + vn_decode_array_size(dec, (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0); i++) vn_decode_VkCommandBuffer(dec, &pCommandBuffers[i]); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h index b74147ceb32..ded739f38f1 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h @@ -403,8 +403,8 @@ static inline size_t vn_sizeof_vkAllocateDescriptorSets(VkDevice device, const V if (pAllocateInfo) cmd_size += vn_sizeof_VkDescriptorSetAllocateInfo(pAllocateInfo); if (pDescriptorSets) { - cmd_size += vn_sizeof_array_size(pAllocateInfo->descriptorSetCount); - for (uint32_t i = 0; i < pAllocateInfo->descriptorSetCount; i++) + cmd_size += vn_sizeof_array_size((pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0); i++) cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -424,8 +424,8 @@ static inline void vn_encode_vkAllocateDescriptorSets(struct vn_cs_encoder *enc, if (vn_encode_simple_pointer(enc, pAllocateInfo)) vn_encode_VkDescriptorSetAllocateInfo(enc, pAllocateInfo); if (pDescriptorSets) { - vn_encode_array_size(enc, pAllocateInfo->descriptorSetCount); - for (uint32_t i = 0; i < pAllocateInfo->descriptorSetCount; i++) + vn_encode_array_size(enc, (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0); i++) vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]); } else { vn_encode_array_size(enc, 0); @@ -442,8 +442,8 @@ static inline size_t vn_sizeof_vkAllocateDescriptorSets_reply(VkDevice device, c /* skip device */ /* skip pAllocateInfo */ if (pDescriptorSets) { - cmd_size += vn_sizeof_array_size(pAllocateInfo->descriptorSetCount); - for (uint32_t i = 0; i < pAllocateInfo->descriptorSetCount; i++) + cmd_size += vn_sizeof_array_size((pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0); i++) cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -463,8 +463,8 @@ static inline VkResult vn_decode_vkAllocateDescriptorSets_reply(struct vn_cs_dec /* skip device */ /* skip pAllocateInfo */ if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, pAllocateInfo->descriptorSetCount); - for (uint32_t i = 0; i < pAllocateInfo->descriptorSetCount; i++) + vn_decode_array_size(dec, (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0)); + for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0); i++) vn_decode_VkDescriptorSet(dec, &pDescriptorSets[i]); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_device.h b/src/virtio/venus-protocol/vn_protocol_driver_device.h index 14c4d678133..96e72003764 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_device.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_device.h @@ -10744,8 +10744,8 @@ static inline size_t vn_sizeof_vkEnumeratePhysicalDevices(VkInstance instance, u if (pPhysicalDeviceCount) cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceCount); if (pPhysicalDevices) { - cmd_size += vn_sizeof_array_size(*pPhysicalDeviceCount); - for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++) + cmd_size += vn_sizeof_array_size((pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0); i++) cmd_size += vn_sizeof_VkPhysicalDevice(&pPhysicalDevices[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -10765,8 +10765,8 @@ static inline void vn_encode_vkEnumeratePhysicalDevices(struct vn_cs_encoder *en if (vn_encode_simple_pointer(enc, pPhysicalDeviceCount)) vn_encode_uint32_t(enc, pPhysicalDeviceCount); if (pPhysicalDevices) { - vn_encode_array_size(enc, *pPhysicalDeviceCount); - for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++) + vn_encode_array_size(enc, (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0); i++) vn_encode_VkPhysicalDevice(enc, &pPhysicalDevices[i]); } else { vn_encode_array_size(enc, 0); @@ -10785,8 +10785,8 @@ static inline size_t vn_sizeof_vkEnumeratePhysicalDevices_reply(VkInstance insta if (pPhysicalDeviceCount) cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceCount); if (pPhysicalDevices) { - cmd_size += vn_sizeof_array_size(*pPhysicalDeviceCount); - for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++) + cmd_size += vn_sizeof_array_size((pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0); i++) cmd_size += vn_sizeof_VkPhysicalDevice(&pPhysicalDevices[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -10810,8 +10810,8 @@ static inline VkResult vn_decode_vkEnumeratePhysicalDevices_reply(struct vn_cs_d pPhysicalDeviceCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPhysicalDeviceCount); - for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++) + vn_decode_array_size(dec, (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0); i++) vn_decode_VkPhysicalDevice(dec, &pPhysicalDevices[i]); } else { vn_decode_array_size(dec, 0); @@ -10885,8 +10885,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysic if (pQueueFamilyPropertyCount) cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) cmd_size += vn_sizeof_VkQueueFamilyProperties_partial(&pQueueFamilyProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -10906,8 +10906,8 @@ static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_ if (vn_encode_simple_pointer(enc, pQueueFamilyPropertyCount)) vn_encode_uint32_t(enc, pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - vn_encode_array_size(enc, *pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + vn_encode_array_size(enc, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) vn_encode_VkQueueFamilyProperties_partial(enc, &pQueueFamilyProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -10924,8 +10924,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(Vk if (pQueueFamilyPropertyCount) cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) cmd_size += vn_sizeof_VkQueueFamilyProperties(&pQueueFamilyProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -10947,8 +10947,8 @@ static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(stru pQueueFamilyPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) vn_decode_VkQueueFamilyProperties(dec, &pQueueFamilyProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -11329,8 +11329,8 @@ static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties(VkPhysicalDevice if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkLayerProperties_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11350,8 +11350,8 @@ static inline void vn_encode_vkEnumerateDeviceLayerProperties(struct vn_cs_encod if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkLayerProperties_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -11370,8 +11370,8 @@ static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties_reply(VkPhysical if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkLayerProperties(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11395,8 +11395,8 @@ static inline VkResult vn_decode_vkEnumerateDeviceLayerProperties_reply(struct v pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkLayerProperties(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -11424,8 +11424,8 @@ static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties(VkPhysicalDe if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkExtensionProperties_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11452,8 +11452,8 @@ static inline void vn_encode_vkEnumerateDeviceExtensionProperties(struct vn_cs_e if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkExtensionProperties_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -11473,8 +11473,8 @@ static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(VkPhys if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkExtensionProperties(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11499,8 +11499,8 @@ static inline VkResult vn_decode_vkEnumerateDeviceExtensionProperties_reply(stru pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkExtensionProperties(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -11633,8 +11633,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(Vk if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageFormatProperties_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11659,8 +11659,8 @@ static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(stru if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkSparseImageFormatProperties_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -11682,8 +11682,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_re if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageFormatProperties(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11710,8 +11710,8 @@ static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_repl pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkSparseImageFormatProperties(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -11959,8 +11959,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysi if (pQueueFamilyPropertyCount) cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) cmd_size += vn_sizeof_VkQueueFamilyProperties2_partial(&pQueueFamilyProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -11980,8 +11980,8 @@ static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn if (vn_encode_simple_pointer(enc, pQueueFamilyPropertyCount)) vn_encode_uint32_t(enc, pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - vn_encode_array_size(enc, *pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + vn_encode_array_size(enc, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) vn_encode_VkQueueFamilyProperties2_partial(enc, &pQueueFamilyProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -11998,8 +11998,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(V if (pQueueFamilyPropertyCount) cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount); if (pQueueFamilyProperties) { - cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) cmd_size += vn_sizeof_VkQueueFamilyProperties2(&pQueueFamilyProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -12021,8 +12021,8 @@ static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(str pQueueFamilyPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pQueueFamilyPropertyCount); - for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++) + vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0)); + for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++) vn_decode_VkQueueFamilyProperties2(dec, &pQueueFamilyProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -12097,8 +12097,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(V if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageFormatProperties2_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -12120,8 +12120,8 @@ static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(str if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkSparseImageFormatProperties2_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -12139,8 +12139,8 @@ static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_r if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageFormatProperties2(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -12163,8 +12163,8 @@ static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_rep pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkSparseImageFormatProperties2(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -12363,8 +12363,8 @@ static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups(VkInstance instan if (pPhysicalDeviceGroupCount) cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceGroupCount); if (pPhysicalDeviceGroupProperties) { - cmd_size += vn_sizeof_array_size(*pPhysicalDeviceGroupCount); - for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++) + cmd_size += vn_sizeof_array_size((pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0); i++) cmd_size += vn_sizeof_VkPhysicalDeviceGroupProperties_partial(&pPhysicalDeviceGroupProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -12384,8 +12384,8 @@ static inline void vn_encode_vkEnumeratePhysicalDeviceGroups(struct vn_cs_encode if (vn_encode_simple_pointer(enc, pPhysicalDeviceGroupCount)) vn_encode_uint32_t(enc, pPhysicalDeviceGroupCount); if (pPhysicalDeviceGroupProperties) { - vn_encode_array_size(enc, *pPhysicalDeviceGroupCount); - for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++) + vn_encode_array_size(enc, (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0); i++) vn_encode_VkPhysicalDeviceGroupProperties_partial(enc, &pPhysicalDeviceGroupProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -12404,8 +12404,8 @@ static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(VkInstance if (pPhysicalDeviceGroupCount) cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceGroupCount); if (pPhysicalDeviceGroupProperties) { - cmd_size += vn_sizeof_array_size(*pPhysicalDeviceGroupCount); - for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++) + cmd_size += vn_sizeof_array_size((pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0); i++) cmd_size += vn_sizeof_VkPhysicalDeviceGroupProperties(&pPhysicalDeviceGroupProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -12429,8 +12429,8 @@ static inline VkResult vn_decode_vkEnumeratePhysicalDeviceGroups_reply(struct vn pPhysicalDeviceGroupCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPhysicalDeviceGroupCount); - for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++) + vn_decode_array_size(dec, (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0)); + for (uint32_t i = 0; i < (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0); i++) vn_decode_VkPhysicalDeviceGroupProperties(dec, &pPhysicalDeviceGroupProperties[i]); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_image.h b/src/virtio/venus-protocol/vn_protocol_driver_image.h index 62b56be8545..cdb4659dc89 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_image.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_image.h @@ -1361,8 +1361,8 @@ static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements(VkDevice devic if (pSparseMemoryRequirementCount) cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + cmd_size += vn_sizeof_array_size((pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageMemoryRequirements_partial(&pSparseMemoryRequirements[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1383,8 +1383,8 @@ static inline void vn_encode_vkGetImageSparseMemoryRequirements(struct vn_cs_enc if (vn_encode_simple_pointer(enc, pSparseMemoryRequirementCount)) vn_encode_uint32_t(enc, pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - vn_encode_array_size(enc, *pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + vn_encode_array_size(enc, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) vn_encode_VkSparseImageMemoryRequirements_partial(enc, &pSparseMemoryRequirements[i]); } else { vn_encode_array_size(enc, 0); @@ -1402,8 +1402,8 @@ static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements_reply(VkDevice if (pSparseMemoryRequirementCount) cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + cmd_size += vn_sizeof_array_size((pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageMemoryRequirements(&pSparseMemoryRequirements[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1426,8 +1426,8 @@ static inline void vn_decode_vkGetImageSparseMemoryRequirements_reply(struct vn_ pSparseMemoryRequirementCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) vn_decode_VkSparseImageMemoryRequirements(dec, &pSparseMemoryRequirements[i]); } else { vn_decode_array_size(dec, 0); @@ -1763,8 +1763,8 @@ static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2(VkDevice devi if (pSparseMemoryRequirementCount) cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + cmd_size += vn_sizeof_array_size((pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageMemoryRequirements2_partial(&pSparseMemoryRequirements[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1786,8 +1786,8 @@ static inline void vn_encode_vkGetImageSparseMemoryRequirements2(struct vn_cs_en if (vn_encode_simple_pointer(enc, pSparseMemoryRequirementCount)) vn_encode_uint32_t(enc, pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - vn_encode_array_size(enc, *pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + vn_encode_array_size(enc, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) vn_encode_VkSparseImageMemoryRequirements2_partial(enc, &pSparseMemoryRequirements[i]); } else { vn_encode_array_size(enc, 0); @@ -1805,8 +1805,8 @@ static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(VkDevic if (pSparseMemoryRequirementCount) cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount); if (pSparseMemoryRequirements) { - cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + cmd_size += vn_sizeof_array_size((pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) cmd_size += vn_sizeof_VkSparseImageMemoryRequirements2(&pSparseMemoryRequirements[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -1829,8 +1829,8 @@ static inline void vn_decode_vkGetImageSparseMemoryRequirements2_reply(struct vn pSparseMemoryRequirementCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pSparseMemoryRequirementCount); - for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++) + vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0)); + for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++) vn_decode_VkSparseImageMemoryRequirements2(dec, &pSparseMemoryRequirements[i]); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_info.h b/src/virtio/venus-protocol/vn_protocol_driver_info.h index f535a181579..3ba00d8cc94 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_info.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_info.h @@ -19,7 +19,7 @@ vn_info_wire_format_version(void) static inline uint32_t vn_info_vk_xml_version(void) { - return VK_MAKE_VERSION(1, 2, 168); + return VK_MAKE_API_VERSION(0, 1, 2, 182); } static inline int diff --git a/src/virtio/venus-protocol/vn_protocol_driver_instance.h b/src/virtio/venus-protocol/vn_protocol_driver_instance.h index 848ee999fdb..a6c910be790 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_instance.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_instance.h @@ -382,8 +382,8 @@ static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties(uint32_t* pPro if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkLayerProperties_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -402,8 +402,8 @@ static inline void vn_encode_vkEnumerateInstanceLayerProperties(struct vn_cs_enc if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkLayerProperties_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -421,8 +421,8 @@ static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties_reply(uint32_t if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkLayerProperties(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -445,8 +445,8 @@ static inline VkResult vn_decode_vkEnumerateInstanceLayerProperties_reply(struct pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkLayerProperties(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); @@ -473,8 +473,8 @@ static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties(const char if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkExtensionProperties_partial(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -500,8 +500,8 @@ static inline void vn_encode_vkEnumerateInstanceExtensionProperties(struct vn_cs if (vn_encode_simple_pointer(enc, pPropertyCount)) vn_encode_uint32_t(enc, pPropertyCount); if (pProperties) { - vn_encode_array_size(enc, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_encode_array_size(enc, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_encode_VkExtensionProperties_partial(enc, &pProperties[i]); } else { vn_encode_array_size(enc, 0); @@ -520,8 +520,8 @@ static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties_reply(cons if (pPropertyCount) cmd_size += vn_sizeof_uint32_t(pPropertyCount); if (pProperties) { - cmd_size += vn_sizeof_array_size(*pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + cmd_size += vn_sizeof_array_size((pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) cmd_size += vn_sizeof_VkExtensionProperties(&pProperties[i]); } else { cmd_size += vn_sizeof_array_size(0); @@ -545,8 +545,8 @@ static inline VkResult vn_decode_vkEnumerateInstanceExtensionProperties_reply(st pPropertyCount = NULL; } if (vn_peek_array_size(dec)) { - vn_decode_array_size(dec, *pPropertyCount); - for (uint32_t i = 0; i < *pPropertyCount; i++) + vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0)); + for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++) vn_decode_VkExtensionProperties(dec, &pProperties[i]); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h index d9fee80f487..ce08acce13c 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h @@ -229,7 +229,7 @@ static inline void vn_encode_vkGetPipelineCacheData(struct vn_cs_encoder *enc, V vn_encode_VkPipelineCache(enc, &pipelineCache); if (vn_encode_simple_pointer(enc, pDataSize)) vn_encode_size_t(enc, pDataSize); - vn_encode_array_size(enc, pData ? *pDataSize : 0); /* out */ + vn_encode_array_size(enc, pData ? (pDataSize ? *pDataSize : 0) : 0); /* out */ } static inline size_t vn_sizeof_vkGetPipelineCacheData_reply(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) @@ -245,8 +245,8 @@ static inline size_t vn_sizeof_vkGetPipelineCacheData_reply(VkDevice device, VkP if (pDataSize) cmd_size += vn_sizeof_size_t(pDataSize); if (pData) { - cmd_size += vn_sizeof_array_size(*pDataSize); - cmd_size += vn_sizeof_blob_array(pData, *pDataSize); + cmd_size += vn_sizeof_array_size((pDataSize ? *pDataSize : 0)); + cmd_size += vn_sizeof_blob_array(pData, (pDataSize ? *pDataSize : 0)); } else { cmd_size += vn_sizeof_array_size(0); } @@ -270,7 +270,7 @@ static inline VkResult vn_decode_vkGetPipelineCacheData_reply(struct vn_cs_decod pDataSize = NULL; } if (vn_peek_array_size(dec)) { - const size_t array_size = vn_decode_array_size(dec, *pDataSize); + const size_t array_size = vn_decode_array_size(dec, (pDataSize ? *pDataSize : 0)); vn_decode_blob_array(dec, pData, array_size); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_structs.h b/src/virtio/venus-protocol/vn_protocol_driver_structs.h index 509d7dbed86..53d24189d27 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_structs.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_structs.h @@ -124,6 +124,14 @@ vn_sizeof_VkExtensionProperties(const VkExtensionProperties *val) return size; } +static inline void +vn_encode_VkExtensionProperties(struct vn_cs_encoder *enc, const VkExtensionProperties *val) +{ + vn_encode_array_size(enc, VK_MAX_EXTENSION_NAME_SIZE); + vn_encode_blob_array(enc, val->extensionName, VK_MAX_EXTENSION_NAME_SIZE); + vn_encode_uint32_t(enc, &val->specVersion); +} + static inline void vn_decode_VkExtensionProperties(struct vn_cs_decoder *dec, VkExtensionProperties *val) { @@ -593,6 +601,17 @@ vn_encode_VkViewport(struct vn_cs_encoder *enc, const VkViewport *val) vn_encode_float(enc, &val->maxDepth); } +static inline void +vn_decode_VkViewport(struct vn_cs_decoder *dec, VkViewport *val) +{ + vn_decode_float(dec, &val->x); + vn_decode_float(dec, &val->y); + vn_decode_float(dec, &val->width); + vn_decode_float(dec, &val->height); + vn_decode_float(dec, &val->minDepth); + vn_decode_float(dec, &val->maxDepth); +} + /* struct VkOffset2D */ static inline size_t diff --git a/src/virtio/venus-protocol/vn_protocol_driver_transport.h b/src/virtio/venus-protocol/vn_protocol_driver_transport.h index a319a04a01f..0a3f05e59df 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_transport.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_transport.h @@ -862,7 +862,7 @@ static inline void vn_encode_vkGetVenusExperimentalFeatureData100000MESA(struct if (vn_encode_simple_pointer(enc, pDataSize)) vn_encode_size_t(enc, pDataSize); - vn_encode_array_size(enc, pData ? *pDataSize : 0); /* out */ + vn_encode_array_size(enc, pData ? (pDataSize ? *pDataSize : 0) : 0); /* out */ } static inline size_t vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA_reply(size_t* pDataSize, void* pData) @@ -874,8 +874,8 @@ static inline size_t vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA_reply if (pDataSize) cmd_size += vn_sizeof_size_t(pDataSize); if (pData) { - cmd_size += vn_sizeof_array_size(*pDataSize); - cmd_size += vn_sizeof_blob_array(pData, *pDataSize); + cmd_size += vn_sizeof_array_size((pDataSize ? *pDataSize : 0)); + cmd_size += vn_sizeof_blob_array(pData, (pDataSize ? *pDataSize : 0)); } else { cmd_size += vn_sizeof_array_size(0); } @@ -895,7 +895,7 @@ static inline void vn_decode_vkGetVenusExperimentalFeatureData100000MESA_reply(s pDataSize = NULL; } if (vn_peek_array_size(dec)) { - const size_t array_size = vn_decode_array_size(dec, *pDataSize); + const size_t array_size = vn_decode_array_size(dec, (pDataSize ? *pDataSize : 0)); vn_decode_blob_array(dec, pData, array_size); } else { vn_decode_array_size(dec, 0); diff --git a/src/virtio/venus-protocol/vn_protocol_driver_types.h b/src/virtio/venus-protocol/vn_protocol_driver_types.h index b61572a669e..94fade6ee9a 100644 --- a/src/virtio/venus-protocol/vn_protocol_driver_types.h +++ b/src/virtio/venus-protocol/vn_protocol_driver_types.h @@ -1060,6 +1060,27 @@ vn_decode_VkQueryResultFlagBits(struct vn_cs_decoder *dec, VkQueryResultFlagBits vn_decode_int32_t(dec, (int32_t *)val); } +/* enum VkEventCreateFlagBits */ + +static inline size_t +vn_sizeof_VkEventCreateFlagBits(const VkEventCreateFlagBits *val) +{ + assert(sizeof(*val) == sizeof(int32_t)); + return vn_sizeof_int32_t((const int32_t *)val); +} + +static inline void +vn_encode_VkEventCreateFlagBits(struct vn_cs_encoder *enc, const VkEventCreateFlagBits *val) +{ + vn_encode_int32_t(enc, (const int32_t *)val); +} + +static inline void +vn_decode_VkEventCreateFlagBits(struct vn_cs_decoder *dec, VkEventCreateFlagBits *val) +{ + vn_decode_int32_t(dec, (int32_t *)val); +} + /* enum VkCommandPoolCreateFlagBits */ static inline size_t