venus: update venus-protocol headers

There are some decoder changes.  But we mainly want to gain largeRing
support.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12568>
This commit is contained in:
Chia-I Wu
2021-08-26 11:25:33 -07:00
committed by Marge Bot
parent c9eedba75d
commit 79b8498c05
14 changed files with 140 additions and 106 deletions
@@ -1,4 +1,4 @@
/* This file is generated by venus-protocol git-0d51970a. */
/* This file is generated by venus-protocol git-74c1c432. */
/*
* Copyright 2020 Google LLC
@@ -317,7 +317,7 @@ vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBi
const size_t array_size = vn_decode_array_size(dec, val->deviceIndexCount);
vn_decode_uint32_t_array(dec, (uint32_t *)val->pDeviceIndices, array_size);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
val->pDeviceIndices = NULL;
}
}
@@ -1315,11 +1315,11 @@ 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 ? pAllocateInfo->commandBufferCount : 0));
for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pAllocateInfo ? pAllocateInfo->commandBufferCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkCommandBuffer(dec, &pCommandBuffers[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pCommandBuffers = NULL;
}
@@ -318,6 +318,7 @@ typedef struct VkImportMemoryResourceInfoMESA {
typedef struct VkVenusExperimentalFeatures100000MESA {
VkBool32 memoryResourceAllocationSize;
VkBool32 globalFencing;
VkBool32 largeRing;
} VkVenusExperimentalFeatures100000MESA;
typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
@@ -463,11 +463,11 @@ 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 ? pAllocateInfo->descriptorSetCount : 0));
for (uint32_t i = 0; i < (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pAllocateInfo ? pAllocateInfo->descriptorSetCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkDescriptorSet(dec, &pDescriptorSets[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pDescriptorSets = NULL;
}
@@ -549,7 +549,7 @@ vn_sizeof_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties *val)
size += vn_sizeof_uint32_t(&val->deviceID);
size += vn_sizeof_VkPhysicalDeviceType(&val->deviceType);
size += vn_sizeof_array_size(VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
size += vn_sizeof_blob_array(val->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
size += vn_sizeof_char_array(val->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
size += vn_sizeof_array_size(VK_UUID_SIZE);
size += vn_sizeof_uint8_t_array(val->pipelineCacheUUID, VK_UUID_SIZE);
size += vn_sizeof_VkPhysicalDeviceLimits(&val->limits);
@@ -567,7 +567,7 @@ vn_decode_VkPhysicalDeviceProperties(struct vn_cs_decoder *dec, VkPhysicalDevice
vn_decode_VkPhysicalDeviceType(dec, &val->deviceType);
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
vn_decode_blob_array(dec, val->deviceName, array_size);
vn_decode_char_array(dec, val->deviceName, array_size);
}
{
const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
@@ -739,14 +739,14 @@ vn_decode_VkPhysicalDeviceMemoryProperties(struct vn_cs_decoder *dec, VkPhysical
{
vn_decode_uint32_t(dec, &val->memoryTypeCount);
{
vn_decode_array_size(dec, VK_MAX_MEMORY_TYPES);
for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_MEMORY_TYPES);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkMemoryType(dec, &val->memoryTypes[i]);
}
vn_decode_uint32_t(dec, &val->memoryHeapCount);
{
vn_decode_array_size(dec, VK_MAX_MEMORY_HEAPS);
for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_MEMORY_HEAPS);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkMemoryHeap(dec, &val->memoryHeaps[i]);
}
}
@@ -5630,7 +5630,7 @@ vn_sizeof_VkDeviceCreateInfo_self(const VkDeviceCreateInfo *val)
for (uint32_t i = 0; i < val->enabledLayerCount; i++) {
const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->ppEnabledLayerNames[i], string_size);
size += vn_sizeof_char_array(val->ppEnabledLayerNames[i], string_size);
}
} else {
size += vn_sizeof_array_size(0);
@@ -5641,7 +5641,7 @@ vn_sizeof_VkDeviceCreateInfo_self(const VkDeviceCreateInfo *val)
for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {
const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->ppEnabledExtensionNames[i], string_size);
size += vn_sizeof_char_array(val->ppEnabledExtensionNames[i], string_size);
}
} else {
size += vn_sizeof_array_size(0);
@@ -5844,7 +5844,7 @@ vn_encode_VkDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceCreat
for (uint32_t i = 0; i < val->enabledLayerCount; i++) {
const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->ppEnabledLayerNames[i], string_size);
vn_encode_char_array(enc, val->ppEnabledLayerNames[i], string_size);
}
} else {
vn_encode_array_size(enc, 0);
@@ -5855,7 +5855,7 @@ vn_encode_VkDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceCreat
for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {
const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->ppEnabledExtensionNames[i], string_size);
vn_encode_char_array(enc, val->ppEnabledExtensionNames[i], string_size);
}
} else {
vn_encode_array_size(enc, 0);
@@ -5931,9 +5931,9 @@ vn_sizeof_VkPhysicalDeviceDriverProperties_self(const VkPhysicalDeviceDriverProp
/* skip val->{sType,pNext} */
size += vn_sizeof_VkDriverId(&val->driverID);
size += vn_sizeof_array_size(VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_blob_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_char_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_array_size(VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_char_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);
return size;
}
@@ -5965,11 +5965,11 @@ vn_decode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_decoder *dec, VkPhy
vn_decode_VkDriverId(dec, &val->driverID);
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_NAME_SIZE);
vn_decode_blob_array(dec, val->driverName, array_size);
vn_decode_char_array(dec, val->driverName, array_size);
}
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_INFO_SIZE);
vn_decode_blob_array(dec, val->driverInfo, array_size);
vn_decode_char_array(dec, val->driverInfo, array_size);
}
vn_decode_VkConformanceVersion(dec, &val->conformanceVersion);
}
@@ -7783,9 +7783,9 @@ vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(const VkPhysicalDeviceVulkan12
/* skip val->{sType,pNext} */
size += vn_sizeof_VkDriverId(&val->driverID);
size += vn_sizeof_array_size(VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_blob_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_char_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);
size += vn_sizeof_array_size(VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_char_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);
size += vn_sizeof_VkShaderFloatControlsIndependence(&val->denormBehaviorIndependence);
size += vn_sizeof_VkShaderFloatControlsIndependence(&val->roundingModeIndependence);
@@ -7865,11 +7865,11 @@ vn_decode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_decoder *dec, VkP
vn_decode_VkDriverId(dec, &val->driverID);
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_NAME_SIZE);
vn_decode_blob_array(dec, val->driverName, array_size);
vn_decode_char_array(dec, val->driverName, array_size);
}
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_INFO_SIZE);
vn_decode_blob_array(dec, val->driverInfo, array_size);
vn_decode_char_array(dec, val->driverInfo, array_size);
}
vn_decode_VkConformanceVersion(dec, &val->conformanceVersion);
vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);
@@ -8661,11 +8661,11 @@ vn_decode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_decoder *dec, V
/* skip val->{sType,pNext} */
vn_decode_uint32_t(dec, &val->drmFormatModifierCount);
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, val->drmFormatModifierCount);
for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
const uint32_t iter_count = vn_decode_array_size(dec, val->drmFormatModifierCount);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkDrmFormatModifierPropertiesEXT(dec, &val->pDrmFormatModifierProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
val->pDrmFormatModifierProperties = NULL;
}
}
@@ -8694,7 +8694,7 @@ vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(const VkDrmFormatMod
{
size_t size = 0;
/* skip val->{sType,pNext} */
/* skip val->drmFormatModifierCount */
/* WA1: size += vn_sizeof_uint32_t(&val->drmFormatModifierCount) */(void)0;
if (val->pDrmFormatModifierProperties) {
size += vn_sizeof_array_size(val->drmFormatModifierCount);
for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
@@ -8728,7 +8728,7 @@ static inline void
vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
{
/* skip val->{sType,pNext} */
/* skip val->drmFormatModifierCount */
/* WA1: vn_encode_uint32_t(enc, &val->drmFormatModifierCount) */(void)0;
if (val->pDrmFormatModifierProperties) {
vn_encode_array_size(enc, val->drmFormatModifierCount);
for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
@@ -10598,8 +10598,8 @@ vn_decode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_decoder *dec, VkPhys
/* skip val->{sType,pNext} */
vn_decode_uint32_t(dec, &val->physicalDeviceCount);
{
vn_decode_array_size(dec, VK_MAX_DEVICE_GROUP_SIZE);
for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_DEVICE_GROUP_SIZE);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkPhysicalDevice(dec, &val->physicalDevices[i]);
}
vn_decode_VkBool32(dec, &val->subsetAllocation);
@@ -10810,11 +10810,11 @@ 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 ? *pPhysicalDeviceCount : 0));
for (uint32_t i = 0; i < (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPhysicalDeviceCount ? *pPhysicalDeviceCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkPhysicalDevice(dec, &pPhysicalDevices[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pPhysicalDevices = NULL;
}
@@ -10947,11 +10947,11 @@ static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(stru
pQueueFamilyPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0));
for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkQueueFamilyProperties(dec, &pQueueFamilyProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pQueueFamilyProperties = NULL;
}
}
@@ -11395,11 +11395,11 @@ static inline VkResult vn_decode_vkEnumerateDeviceLayerProperties_reply(struct v
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkLayerProperties(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
@@ -11416,7 +11416,7 @@ static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties(VkPhysicalDe
if (pLayerName) {
const size_t string_size = strlen(pLayerName) + 1;
cmd_size += vn_sizeof_array_size(string_size);
cmd_size += vn_sizeof_blob_array(pLayerName, string_size);
cmd_size += vn_sizeof_char_array(pLayerName, string_size);
} else {
cmd_size += vn_sizeof_array_size(0);
}
@@ -11445,7 +11445,7 @@ static inline void vn_encode_vkEnumerateDeviceExtensionProperties(struct vn_cs_e
if (pLayerName) {
const size_t string_size = strlen(pLayerName) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, pLayerName, string_size);
vn_encode_char_array(enc, pLayerName, string_size);
} else {
vn_encode_array_size(enc, 0);
}
@@ -11499,11 +11499,11 @@ static inline VkResult vn_decode_vkEnumerateDeviceExtensionProperties_reply(stru
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkExtensionProperties(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
@@ -11710,11 +11710,11 @@ static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_repl
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkSparseImageFormatProperties(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
}
@@ -12021,11 +12021,11 @@ static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(str
pQueueFamilyPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0));
for (uint32_t i = 0; i < (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pQueueFamilyPropertyCount ? *pQueueFamilyPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkQueueFamilyProperties2(dec, &pQueueFamilyProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pQueueFamilyProperties = NULL;
}
}
@@ -12163,11 +12163,11 @@ static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_rep
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkSparseImageFormatProperties2(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
}
@@ -12429,11 +12429,11 @@ static inline VkResult vn_decode_vkEnumeratePhysicalDeviceGroups_reply(struct vn
pPhysicalDeviceGroupCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0));
for (uint32_t i = 0; i < (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPhysicalDeviceGroupCount ? *pPhysicalDeviceGroupCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkPhysicalDeviceGroupProperties(dec, &pPhysicalDeviceGroupProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pPhysicalDeviceGroupProperties = NULL;
}
@@ -566,16 +566,16 @@ vn_decode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBin
const size_t array_size = vn_decode_array_size(dec, val->deviceIndexCount);
vn_decode_uint32_t_array(dec, (uint32_t *)val->pDeviceIndices, array_size);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
val->pDeviceIndices = NULL;
}
vn_decode_uint32_t(dec, &val->splitInstanceBindRegionCount);
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, val->splitInstanceBindRegionCount);
for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
const uint32_t iter_count = vn_decode_array_size(dec, val->splitInstanceBindRegionCount);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkRect2D(dec, &((VkRect2D *)val->pSplitInstanceBindRegions)[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
val->pSplitInstanceBindRegions = NULL;
}
}
@@ -1426,11 +1426,11 @@ static inline void vn_decode_vkGetImageSparseMemoryRequirements_reply(struct vn_
pSparseMemoryRequirementCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0));
for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkSparseImageMemoryRequirements(dec, &pSparseMemoryRequirements[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pSparseMemoryRequirements = NULL;
}
}
@@ -1829,11 +1829,11 @@ static inline void vn_decode_vkGetImageSparseMemoryRequirements2_reply(struct vn
pSparseMemoryRequirementCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0));
for (uint32_t i = 0; i < (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pSparseMemoryRequirementCount ? *pSparseMemoryRequirementCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkSparseImageMemoryRequirements2(dec, &pSparseMemoryRequirements[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pSparseMemoryRequirements = NULL;
}
}
@@ -34,7 +34,7 @@ vn_sizeof_VkApplicationInfo_self(const VkApplicationInfo *val)
if (val->pApplicationName) {
const size_t string_size = strlen(val->pApplicationName) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->pApplicationName, string_size);
size += vn_sizeof_char_array(val->pApplicationName, string_size);
} else {
size += vn_sizeof_array_size(0);
}
@@ -42,7 +42,7 @@ vn_sizeof_VkApplicationInfo_self(const VkApplicationInfo *val)
if (val->pEngineName) {
const size_t string_size = strlen(val->pEngineName) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->pEngineName, string_size);
size += vn_sizeof_char_array(val->pEngineName, string_size);
} else {
size += vn_sizeof_array_size(0);
}
@@ -77,7 +77,7 @@ vn_encode_VkApplicationInfo_self(struct vn_cs_encoder *enc, const VkApplicationI
if (val->pApplicationName) {
const size_t string_size = strlen(val->pApplicationName) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->pApplicationName, string_size);
vn_encode_char_array(enc, val->pApplicationName, string_size);
} else {
vn_encode_array_size(enc, 0);
}
@@ -85,7 +85,7 @@ vn_encode_VkApplicationInfo_self(struct vn_cs_encoder *enc, const VkApplicationI
if (val->pEngineName) {
const size_t string_size = strlen(val->pEngineName) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->pEngineName, string_size);
vn_encode_char_array(enc, val->pEngineName, string_size);
} else {
vn_encode_array_size(enc, 0);
}
@@ -126,7 +126,7 @@ vn_sizeof_VkInstanceCreateInfo_self(const VkInstanceCreateInfo *val)
for (uint32_t i = 0; i < val->enabledLayerCount; i++) {
const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->ppEnabledLayerNames[i], string_size);
size += vn_sizeof_char_array(val->ppEnabledLayerNames[i], string_size);
}
} else {
size += vn_sizeof_array_size(0);
@@ -137,7 +137,7 @@ vn_sizeof_VkInstanceCreateInfo_self(const VkInstanceCreateInfo *val)
for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {
const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->ppEnabledExtensionNames[i], string_size);
size += vn_sizeof_char_array(val->ppEnabledExtensionNames[i], string_size);
}
} else {
size += vn_sizeof_array_size(0);
@@ -177,7 +177,7 @@ vn_encode_VkInstanceCreateInfo_self(struct vn_cs_encoder *enc, const VkInstanceC
for (uint32_t i = 0; i < val->enabledLayerCount; i++) {
const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->ppEnabledLayerNames[i], string_size);
vn_encode_char_array(enc, val->ppEnabledLayerNames[i], string_size);
}
} else {
vn_encode_array_size(enc, 0);
@@ -188,7 +188,7 @@ vn_encode_VkInstanceCreateInfo_self(struct vn_cs_encoder *enc, const VkInstanceC
for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {
const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->ppEnabledExtensionNames[i], string_size);
vn_encode_char_array(enc, val->ppEnabledExtensionNames[i], string_size);
}
} else {
vn_encode_array_size(enc, 0);
@@ -445,11 +445,11 @@ static inline VkResult vn_decode_vkEnumerateInstanceLayerProperties_reply(struct
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkLayerProperties(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
@@ -465,7 +465,7 @@ static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties(const char
if (pLayerName) {
const size_t string_size = strlen(pLayerName) + 1;
cmd_size += vn_sizeof_array_size(string_size);
cmd_size += vn_sizeof_blob_array(pLayerName, string_size);
cmd_size += vn_sizeof_char_array(pLayerName, string_size);
} else {
cmd_size += vn_sizeof_array_size(0);
}
@@ -493,7 +493,7 @@ static inline void vn_encode_vkEnumerateInstanceExtensionProperties(struct vn_cs
if (pLayerName) {
const size_t string_size = strlen(pLayerName) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, pLayerName, string_size);
vn_encode_char_array(enc, pLayerName, string_size);
} else {
vn_encode_array_size(enc, 0);
}
@@ -545,11 +545,11 @@ static inline VkResult vn_decode_vkEnumerateInstanceExtensionProperties_reply(st
pPropertyCount = NULL;
}
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < (pPropertyCount ? *pPropertyCount : 0); i++)
const uint32_t iter_count = vn_decode_array_size(dec, (pPropertyCount ? *pPropertyCount : 0));
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkExtensionProperties(dec, &pProperties[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pProperties = NULL;
}
@@ -95,7 +95,7 @@ vn_sizeof_VkPipelineShaderStageCreateInfo_self(const VkPipelineShaderStageCreate
if (val->pName) {
const size_t string_size = strlen(val->pName) + 1;
size += vn_sizeof_array_size(string_size);
size += vn_sizeof_blob_array(val->pName, string_size);
size += vn_sizeof_char_array(val->pName, string_size);
} else {
size += vn_sizeof_array_size(0);
}
@@ -134,7 +134,7 @@ vn_encode_VkPipelineShaderStageCreateInfo_self(struct vn_cs_encoder *enc, const
if (val->pName) {
const size_t string_size = strlen(val->pName) + 1;
vn_encode_array_size(enc, string_size);
vn_encode_blob_array(enc, val->pName, string_size);
vn_encode_char_array(enc, val->pName, string_size);
} else {
vn_encode_array_size(enc, 0);
}
@@ -1350,11 +1350,11 @@ static inline VkResult vn_decode_vkCreateGraphicsPipelines_reply(struct vn_cs_de
/* skip pCreateInfos */
/* skip pAllocator */
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, createInfoCount);
for (uint32_t i = 0; i < createInfoCount; i++)
const uint32_t iter_count = vn_decode_array_size(dec, createInfoCount);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkPipeline(dec, &pPipelines[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pPipelines = NULL;
}
@@ -1456,11 +1456,11 @@ static inline VkResult vn_decode_vkCreateComputePipelines_reply(struct vn_cs_dec
/* skip pCreateInfos */
/* skip pAllocator */
if (vn_peek_array_size(dec)) {
vn_decode_array_size(dec, createInfoCount);
for (uint32_t i = 0; i < createInfoCount; i++)
const uint32_t iter_count = vn_decode_array_size(dec, createInfoCount);
for (uint32_t i = 0; i < iter_count; i++)
vn_decode_VkPipeline(dec, &pPipelines[i]);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pPipelines = NULL;
}
@@ -273,7 +273,7 @@ static inline VkResult vn_decode_vkGetPipelineCacheData_reply(struct vn_cs_decod
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);
vn_decode_array_size_unchecked(dec);
pData = NULL;
}
@@ -270,7 +270,7 @@ static inline VkResult vn_decode_vkGetQueryPoolResults_reply(struct vn_cs_decode
const size_t array_size = vn_decode_array_size(dec, dataSize);
vn_decode_blob_array(dec, pData, array_size);
} else {
vn_decode_array_size(dec, 0);
vn_decode_array_size_unchecked(dec);
pData = NULL;
}
/* skip stride */
@@ -69,11 +69,11 @@ vn_sizeof_VkLayerProperties(const VkLayerProperties *val)
{
size_t size = 0;
size += vn_sizeof_array_size(VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_blob_array(val->layerName, VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_char_array(val->layerName, VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_uint32_t(&val->specVersion);
size += vn_sizeof_uint32_t(&val->implementationVersion);
size += vn_sizeof_array_size(VK_MAX_DESCRIPTION_SIZE);
size += vn_sizeof_blob_array(val->description, VK_MAX_DESCRIPTION_SIZE);
size += vn_sizeof_char_array(val->description, VK_MAX_DESCRIPTION_SIZE);
return size;
}
@@ -82,13 +82,13 @@ vn_decode_VkLayerProperties(struct vn_cs_decoder *dec, VkLayerProperties *val)
{
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_EXTENSION_NAME_SIZE);
vn_decode_blob_array(dec, val->layerName, array_size);
vn_decode_char_array(dec, val->layerName, array_size);
}
vn_decode_uint32_t(dec, &val->specVersion);
vn_decode_uint32_t(dec, &val->implementationVersion);
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DESCRIPTION_SIZE);
vn_decode_blob_array(dec, val->description, array_size);
vn_decode_char_array(dec, val->description, array_size);
}
}
@@ -119,7 +119,7 @@ vn_sizeof_VkExtensionProperties(const VkExtensionProperties *val)
{
size_t size = 0;
size += vn_sizeof_array_size(VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_blob_array(val->extensionName, VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_char_array(val->extensionName, VK_MAX_EXTENSION_NAME_SIZE);
size += vn_sizeof_uint32_t(&val->specVersion);
return size;
}
@@ -128,7 +128,7 @@ 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_char_array(enc, val->extensionName, VK_MAX_EXTENSION_NAME_SIZE);
vn_encode_uint32_t(enc, &val->specVersion);
}
@@ -137,7 +137,7 @@ vn_decode_VkExtensionProperties(struct vn_cs_decoder *dec, VkExtensionProperties
{
{
const size_t array_size = vn_decode_array_size(dec, VK_MAX_EXTENSION_NAME_SIZE);
vn_decode_blob_array(dec, val->extensionName, array_size);
vn_decode_char_array(dec, val->extensionName, array_size);
}
vn_decode_uint32_t(dec, &val->specVersion);
}
@@ -898,7 +898,7 @@ static inline void vn_decode_vkGetVenusExperimentalFeatureData100000MESA_reply(s
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);
vn_decode_array_size_unchecked(dec);
pData = NULL;
}
}
@@ -194,6 +194,31 @@ vn_decode_blob_array(struct vn_cs_decoder *dec, void *val, size_t size)
vn_decode(dec, (size + 3) & ~3, val, size);
}
/* string */
static inline size_t
vn_sizeof_char_array(const char *val, size_t size)
{
return vn_sizeof_blob_array(val, size);
}
static inline void
vn_encode_char_array(struct vn_cs_encoder *enc, const char *val, size_t size)
{
assert(size && strlen(val) < size);
vn_encode_blob_array(enc, val, size);
}
static inline void
vn_decode_char_array(struct vn_cs_decoder *dec, char *val, size_t size)
{
vn_decode_blob_array(dec, val, size);
if (size)
val[size - 1] = '\0';
else
vn_cs_decoder_set_fatal(dec);
}
/* array size (uint64_t) */
static inline size_t
@@ -209,17 +234,25 @@ vn_encode_array_size(struct vn_cs_encoder *enc, uint64_t size)
}
static inline uint64_t
vn_decode_array_size(struct vn_cs_decoder *dec, uint64_t max_size)
vn_decode_array_size(struct vn_cs_decoder *dec, uint64_t expected_size)
{
uint64_t size;
vn_decode_uint64_t(dec, &size);
if (size > max_size) {
if (size != expected_size) {
vn_cs_decoder_set_fatal(dec);
size = 0;
}
return size;
}
static inline uint64_t
vn_decode_array_size_unchecked(struct vn_cs_decoder *dec)
{
uint64_t size;
vn_decode_uint64_t(dec, &size);
return size;
}
static inline uint64_t
vn_peek_array_size(struct vn_cs_decoder *dec)
{
@@ -246,7 +279,7 @@ vn_encode_simple_pointer(struct vn_cs_encoder *enc, const void *val)
static inline bool
vn_decode_simple_pointer(struct vn_cs_decoder *dec)
{
return vn_decode_array_size(dec, 1);
return vn_decode_array_size_unchecked(dec);
}
/* uint32_t */