summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2021-04-07 15:01:06 -0700
committerMarge Bot <eric+marge@anholt.net>2021-04-09 16:58:46 +0000
commit41535aa80b744275cfd45a0beecf313cfb3906ac (patch)
tree13ed5d930d091f051c17bceb9980075626d18ca7 /src
parentba796d511501a6cea601ff51b8b6dbb09ea514f4 (diff)
venus: update venus-protocol headers
This takes vn_protocol_driver_{structs,commands,calls}.h and split them by Vulkan handle types. This enables us to split up vn_device.c in the following commits without slowing down compile time too much. Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10117>
Diffstat (limited to 'src')
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver.h31
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_buffer.h1390
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h276
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_calls.h7176
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h7386
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_command_pool.h449
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_commands.h11871
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_cs.h2
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_defines.h4
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_pool.h398
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h744
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_set_layout.h802
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_descriptor_update_template.h320
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_device.h13588
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_device_memory.h1204
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_event.h538
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_fence.h664
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_framebuffer.h467
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_handles.h2
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_image.h2286
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_image_view.h376
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_info.h2
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_instance.h756
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline.h1638
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h510
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h320
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_query_pool.h488
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_queue.h1092
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_render_pass.h1606
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_sampler.h396
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_sampler_ycbcr_conversion.h282
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_semaphore.h820
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_shader_module.h282
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_structs.h20748
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_transport.h746
-rw-r--r--src/virtio/venus-protocol/vn_protocol_driver_types.h2
36 files changed, 40004 insertions, 39658 deletions
diff --git a/src/virtio/venus-protocol/vn_protocol_driver.h b/src/virtio/venus-protocol/vn_protocol_driver.h
index 315a450a358..e2628ad59f1 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-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
@@ -14,7 +14,32 @@
#include "vn_protocol_driver_types.h"
#include "vn_protocol_driver_handles.h"
#include "vn_protocol_driver_structs.h"
-#include "vn_protocol_driver_commands.h"
-#include "vn_protocol_driver_calls.h"
+#include "vn_protocol_driver_transport.h"
+#include "vn_protocol_driver_instance.h"
+#include "vn_protocol_driver_device.h"
+#include "vn_protocol_driver_queue.h"
+#include "vn_protocol_driver_fence.h"
+#include "vn_protocol_driver_semaphore.h"
+#include "vn_protocol_driver_event.h"
+#include "vn_protocol_driver_device_memory.h"
+#include "vn_protocol_driver_image.h"
+#include "vn_protocol_driver_image_view.h"
+#include "vn_protocol_driver_sampler.h"
+#include "vn_protocol_driver_sampler_ycbcr_conversion.h"
+#include "vn_protocol_driver_buffer.h"
+#include "vn_protocol_driver_buffer_view.h"
+#include "vn_protocol_driver_descriptor_pool.h"
+#include "vn_protocol_driver_descriptor_set.h"
+#include "vn_protocol_driver_descriptor_set_layout.h"
+#include "vn_protocol_driver_descriptor_update_template.h"
+#include "vn_protocol_driver_render_pass.h"
+#include "vn_protocol_driver_framebuffer.h"
+#include "vn_protocol_driver_query_pool.h"
+#include "vn_protocol_driver_shader_module.h"
+#include "vn_protocol_driver_pipeline.h"
+#include "vn_protocol_driver_pipeline_layout.h"
+#include "vn_protocol_driver_pipeline_cache.h"
+#include "vn_protocol_driver_command_pool.h"
+#include "vn_protocol_driver_command_buffer.h"
#endif /* VN_PROTOCOL_DRIVER_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_buffer.h b/src/virtio/venus-protocol/vn_protocol_driver_buffer.h
new file mode 100644
index 00000000000..c96db232101
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_buffer.h
@@ -0,0 +1,1390 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_BUFFER_H
+#define VN_PROTOCOL_DRIVER_BUFFER_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkExternalMemoryBufferCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkExternalMemoryBufferCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalMemoryBufferCreateInfo_self(const VkExternalMemoryBufferCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->handleTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalMemoryBufferCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkExternalMemoryBufferCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalMemoryBufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalMemoryBufferCreateInfo_self(struct vn_cs_encoder *enc, const VkExternalMemoryBufferCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->handleTypes);
+}
+
+static inline void
+vn_encode_VkExternalMemoryBufferCreateInfo(struct vn_cs_encoder *enc, const VkExternalMemoryBufferCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO });
+ vn_encode_VkExternalMemoryBufferCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkExternalMemoryBufferCreateInfo_self(enc, val);
+}
+
+/* struct VkBufferOpaqueCaptureAddressCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self(const VkBufferOpaqueCaptureAddressCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->opaqueCaptureAddress);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo(const VkBufferOpaqueCaptureAddressCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferOpaqueCaptureAddressCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint64_t(enc, &val->opaqueCaptureAddress);
+}
+
+static inline void
+vn_encode_VkBufferOpaqueCaptureAddressCreateInfo(struct vn_cs_encoder *enc, const VkBufferOpaqueCaptureAddressCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO });
+ vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(enc, val);
+}
+
+/* struct VkBufferCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkBufferCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBufferCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkExternalMemoryBufferCreateInfo_self((const VkExternalMemoryBufferCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBufferCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self((const VkBufferOpaqueCaptureAddressCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferCreateInfo_self(const VkBufferCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_VkSharingMode(&val->sharingMode);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ size += vn_sizeof_array_size(val->queueFamilyIndexCount);
+ size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferCreateInfo(const VkBufferCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBufferCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBufferCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkExternalMemoryBufferCreateInfo_self(enc, (const VkExternalMemoryBufferCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBufferCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(enc, (const VkBufferOpaqueCaptureAddressCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkDeviceSize(enc, &val->size);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_VkSharingMode(enc, &val->sharingMode);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ vn_encode_array_size(enc, val->queueFamilyIndexCount);
+ vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkBufferCreateInfo(struct vn_cs_encoder *enc, const VkBufferCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO });
+ vn_encode_VkBufferCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkBufferCreateInfo_self(enc, val);
+}
+
+/* struct VkBindBufferMemoryDeviceGroupInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self(const VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->deviceIndexCount);
+ if (val->pDeviceIndices) {
+ size += vn_sizeof_array_size(val->deviceIndexCount);
+ size += vn_sizeof_uint32_t_array(val->pDeviceIndices, val->deviceIndexCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryDeviceGroupInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(struct vn_cs_encoder *enc, const VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->deviceIndexCount);
+ if (val->pDeviceIndices) {
+ vn_encode_array_size(enc, val->deviceIndexCount);
+ vn_encode_uint32_t_array(enc, val->pDeviceIndices, val->deviceIndexCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryDeviceGroupInfo(struct vn_cs_encoder *enc, const VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO });
+ vn_encode_VkBindBufferMemoryDeviceGroupInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryDeviceGroupInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->deviceIndexCount);
+ if (vn_peek_array_size(dec)) {
+ 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);
+ val->pDeviceIndices = NULL;
+ }
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryDeviceGroupInfo(struct vn_cs_decoder *dec, VkBindBufferMemoryDeviceGroupInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBindBufferMemoryDeviceGroupInfo_pnext(dec, val->pNext);
+ vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(dec, val);
+}
+
+/* struct VkBindBufferMemoryInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBindBufferMemoryInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self((const VkBindBufferMemoryDeviceGroupInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryInfo_self(const VkBindBufferMemoryInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindBufferMemoryInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindBufferMemoryInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBindBufferMemoryInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(enc, (const VkBindBufferMemoryDeviceGroupInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindBufferMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBuffer(enc, &val->buffer);
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+ vn_encode_VkDeviceSize(enc, &val->memoryOffset);
+}
+
+static inline void
+vn_encode_VkBindBufferMemoryInfo(struct vn_cs_encoder *enc, const VkBindBufferMemoryInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO });
+ vn_encode_VkBindBufferMemoryInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindBufferMemoryInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
+ vn_decode_VkBindBufferMemoryInfo_pnext(dec, pnext->pNext);
+ vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(dec, (VkBindBufferMemoryDeviceGroupInfo *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryInfo_self(struct vn_cs_decoder *dec, VkBindBufferMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBuffer(dec, &val->buffer);
+ vn_decode_VkDeviceMemory(dec, &val->memory);
+ vn_decode_VkDeviceSize(dec, &val->memoryOffset);
+}
+
+static inline void
+vn_decode_VkBindBufferMemoryInfo(struct vn_cs_decoder *dec, VkBindBufferMemoryInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBindBufferMemoryInfo_pnext(dec, val->pNext);
+ vn_decode_VkBindBufferMemoryInfo_self(dec, val);
+}
+
+/* struct VkBufferMemoryRequirementsInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkBufferMemoryRequirementsInfo2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferMemoryRequirementsInfo2_self(const VkBufferMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferMemoryRequirementsInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkBufferMemoryRequirementsInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkBufferMemoryRequirementsInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBuffer(enc, &val->buffer);
+}
+
+static inline void
+vn_encode_VkBufferMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkBufferMemoryRequirementsInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 });
+ vn_encode_VkBufferMemoryRequirementsInfo2_pnext(enc, val->pNext);
+ vn_encode_VkBufferMemoryRequirementsInfo2_self(enc, val);
+}
+
+/* struct VkBufferDeviceAddressInfo chain */
+
+static inline size_t
+vn_sizeof_VkBufferDeviceAddressInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferDeviceAddressInfo_self(const VkBufferDeviceAddressInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferDeviceAddressInfo(const VkBufferDeviceAddressInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferDeviceAddressInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBufferDeviceAddressInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferDeviceAddressInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferDeviceAddressInfo_self(struct vn_cs_encoder *enc, const VkBufferDeviceAddressInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBuffer(enc, &val->buffer);
+}
+
+static inline void
+vn_encode_VkBufferDeviceAddressInfo(struct vn_cs_encoder *enc, const VkBufferDeviceAddressInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO });
+ vn_encode_VkBufferDeviceAddressInfo_pnext(enc, val->pNext);
+ vn_encode_VkBufferDeviceAddressInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBufferDeviceAddressInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkBufferDeviceAddressInfo_self(struct vn_cs_decoder *dec, VkBufferDeviceAddressInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBuffer(dec, &val->buffer);
+}
+
+static inline void
+vn_decode_VkBufferDeviceAddressInfo(struct vn_cs_decoder *dec, VkBufferDeviceAddressInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBufferDeviceAddressInfo_pnext(dec, val->pNext);
+ vn_decode_VkBufferDeviceAddressInfo_self(dec, val);
+}
+
+static inline size_t vn_sizeof_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements_partial(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetBufferMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkBuffer(enc, &buffer);
+ if (vn_encode_simple_pointer(enc, pMemoryRequirements))
+ vn_encode_VkMemoryRequirements_partial(enc, pMemoryRequirements);
+}
+
+static inline size_t vn_sizeof_vkGetBufferMemoryRequirements_reply(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip buffer */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetBufferMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT);
+
+ /* skip device */
+ /* skip buffer */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkMemoryRequirements(dec, pMemoryRequirements);
+ } else {
+ pMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceMemory(&memory);
+ cmd_size += vn_sizeof_VkDeviceSize(&memoryOffset);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkBindBufferMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceMemory(enc, &memory);
+ vn_encode_VkDeviceSize(enc, &memoryOffset);
+}
+
+static inline size_t vn_sizeof_vkBindBufferMemory_reply(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip buffer */
+ /* skip memory */
+ /* skip memoryOffset */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkBindBufferMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkBindBufferMemory_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip buffer */
+ /* skip memory */
+ /* skip memoryOffset */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkBufferCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pBuffer);
+ if (pBuffer)
+ cmd_size += vn_sizeof_VkBuffer(pBuffer);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkBufferCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pBuffer))
+ vn_encode_VkBuffer(enc, pBuffer);
+}
+
+static inline size_t vn_sizeof_vkCreateBuffer_reply(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pBuffer);
+ if (pBuffer)
+ cmd_size += vn_sizeof_VkBuffer(pBuffer);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateBuffer_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateBuffer_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkBuffer(dec, pBuffer);
+ } else {
+ pBuffer = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkBuffer(enc, &buffer);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyBuffer_reply(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip buffer */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyBuffer_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyBuffer_EXT);
+
+ /* skip device */
+ /* skip buffer */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
+ if (pBindInfos) {
+ cmd_size += vn_sizeof_array_size(bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ cmd_size += vn_sizeof_VkBindBufferMemoryInfo(&pBindInfos[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkBindBufferMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &bindInfoCount);
+ if (pBindInfos) {
+ vn_encode_array_size(enc, bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ vn_encode_VkBindBufferMemoryInfo(enc, &pBindInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkBindBufferMemory2_reply(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip bindInfoCount */
+ /* skip pBindInfos */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkBindBufferMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkBindBufferMemory2_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip bindInfoCount */
+ /* skip pBindInfos */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkBufferMemoryRequirementsInfo2(pInfo);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements2_partial(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetBufferMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkBufferMemoryRequirementsInfo2(enc, pInfo);
+ if (vn_encode_simple_pointer(enc, pMemoryRequirements))
+ vn_encode_VkMemoryRequirements2_partial(enc, pMemoryRequirements);
+}
+
+static inline size_t vn_sizeof_vkGetBufferMemoryRequirements2_reply(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pInfo */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements2(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetBufferMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT);
+
+ /* skip device */
+ /* skip pInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkMemoryRequirements2(dec, pMemoryRequirements);
+ } else {
+ pMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkBufferDeviceAddressInfo(pInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetBufferOpaqueCaptureAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkBufferDeviceAddressInfo(enc, pInfo);
+}
+
+static inline size_t vn_sizeof_vkGetBufferOpaqueCaptureAddress_reply(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ uint64_t ret;
+ cmd_size += vn_sizeof_uint64_t(&ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return cmd_size;
+}
+
+static inline uint64_t vn_decode_vkGetBufferOpaqueCaptureAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT);
+
+ uint64_t ret;
+ vn_decode_uint64_t(dec, &ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkBufferDeviceAddressInfo(pInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetBufferDeviceAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkBufferDeviceAddressInfo(enc, pInfo);
+}
+
+static inline size_t vn_sizeof_vkGetBufferDeviceAddress_reply(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkDeviceAddress ret;
+ cmd_size += vn_sizeof_VkDeviceAddress(&ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return cmd_size;
+}
+
+static inline VkDeviceAddress vn_decode_vkGetBufferDeviceAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT);
+
+ VkDeviceAddress ret;
+ vn_decode_VkDeviceAddress(dec, &ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return ret;
+}
+
+static inline void vn_submit_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetBufferMemoryRequirements(&submit->command, cmd_flags, device, buffer, pMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferMemoryRequirements_reply(device, buffer, pMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkBindBufferMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkBindBufferMemory(device, buffer, memory, memoryOffset);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkBindBufferMemory(&submit->command, cmd_flags, device, buffer, memory, memoryOffset);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindBufferMemory_reply(device, buffer, memory, memoryOffset) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateBuffer(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pBuffer);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateBuffer_reply(device, pCreateInfo, pAllocator, pBuffer) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyBuffer(device, buffer, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyBuffer(&submit->command, cmd_flags, device, buffer, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyBuffer_reply(device, buffer, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkBindBufferMemory2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkBindBufferMemory2(&submit->command, cmd_flags, device, bindInfoCount, pBindInfos);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindBufferMemory2_reply(device, bindInfoCount, pBindInfos) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetBufferMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferMemoryRequirements2_reply(device, pInfo, pMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetBufferOpaqueCaptureAddress(device, pInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetBufferOpaqueCaptureAddress(&submit->command, cmd_flags, device, pInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferOpaqueCaptureAddress_reply(device, pInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetBufferDeviceAddress(device, pInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetBufferDeviceAddress(&submit->command, cmd_flags, device, pInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferDeviceAddress_reply(device, pInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_call_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, pMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetBufferMemoryRequirements_reply(&submit.reply, device, buffer, pMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferMemoryRequirements(vn_instance, 0, device, buffer, pMemoryRequirements, &submit);
+}
+
+static inline VkResult vn_call_vkBindBufferMemory(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindBufferMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, memory, memoryOffset, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkBindBufferMemory_reply(&submit.reply, device, buffer, memory, memoryOffset);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkBindBufferMemory(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindBufferMemory(vn_instance, 0, device, buffer, memory, memoryOffset, &submit);
+}
+
+static inline VkResult vn_call_vkCreateBuffer(struct vn_instance *vn_instance, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pBuffer, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateBuffer_reply(&submit.reply, device, pCreateInfo, pAllocator, pBuffer);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateBuffer(struct vn_instance *vn_instance, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateBuffer(vn_instance, 0, device, pCreateInfo, pAllocator, pBuffer, &submit);
+}
+
+static inline void vn_call_vkDestroyBuffer(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyBuffer_reply(&submit.reply, device, buffer, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyBuffer(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyBuffer(vn_instance, 0, device, buffer, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkBindBufferMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindBufferMemory2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bindInfoCount, pBindInfos, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkBindBufferMemory2_reply(&submit.reply, device, bindInfoCount, pBindInfos);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkBindBufferMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindBufferMemory2(vn_instance, 0, device, bindInfoCount, pBindInfos, &submit);
+}
+
+static inline void vn_call_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetBufferMemoryRequirements2_reply(&submit.reply, device, pInfo, pMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferMemoryRequirements2(vn_instance, 0, device, pInfo, pMemoryRequirements, &submit);
+}
+
+static inline uint64_t vn_call_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferOpaqueCaptureAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
+ if (submit.reply_bo) {
+ const uint64_t ret = vn_decode_vkGetBufferOpaqueCaptureAddress_reply(&submit.reply, device, pInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferOpaqueCaptureAddress(vn_instance, 0, device, pInfo, &submit);
+}
+
+static inline VkDeviceAddress vn_call_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferDeviceAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
+ if (submit.reply_bo) {
+ const VkDeviceAddress ret = vn_decode_vkGetBufferDeviceAddress_reply(&submit.reply, device, pInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetBufferDeviceAddress(vn_instance, 0, device, pInfo, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_BUFFER_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h b/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h
new file mode 100644
index 00000000000..bcf46a342a2
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_buffer_view.h
@@ -0,0 +1,276 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_BUFFER_VIEW_H
+#define VN_PROTOCOL_DRIVER_BUFFER_VIEW_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkBufferViewCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkBufferViewCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferViewCreateInfo_self(const VkBufferViewCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkDeviceSize(&val->offset);
+ size += vn_sizeof_VkDeviceSize(&val->range);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferViewCreateInfo(const VkBufferViewCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferViewCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBufferViewCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferViewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferViewCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferViewCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkBuffer(enc, &val->buffer);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkDeviceSize(enc, &val->offset);
+ vn_encode_VkDeviceSize(enc, &val->range);
+}
+
+static inline void
+vn_encode_VkBufferViewCreateInfo(struct vn_cs_encoder *enc, const VkBufferViewCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO });
+ vn_encode_VkBufferViewCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkBufferViewCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkBufferViewCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pView);
+ if (pView)
+ cmd_size += vn_sizeof_VkBufferView(pView);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateBufferView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkBufferViewCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pView))
+ vn_encode_VkBufferView(enc, pView);
+}
+
+static inline size_t vn_sizeof_vkCreateBufferView_reply(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pView);
+ if (pView)
+ cmd_size += vn_sizeof_VkBufferView(pView);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateBufferView_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateBufferView_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkBufferView(dec, pView);
+ } else {
+ pView = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkBufferView(&bufferView);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyBufferView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkBufferView(enc, &bufferView);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyBufferView_reply(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip bufferView */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyBufferView_reply(struct vn_cs_decoder *dec, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyBufferView_EXT);
+
+ /* skip device */
+ /* skip bufferView */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateBufferView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateBufferView(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pView);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateBufferView_reply(device, pCreateInfo, pAllocator, pView) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyBufferView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyBufferView(device, bufferView, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyBufferView(&submit->command, cmd_flags, device, bufferView, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyBufferView_reply(device, bufferView, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateBufferView(struct vn_instance *vn_instance, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateBufferView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pView, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateBufferView_reply(&submit.reply, device, pCreateInfo, pAllocator, pView);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateBufferView(struct vn_instance *vn_instance, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateBufferView(vn_instance, 0, device, pCreateInfo, pAllocator, pView, &submit);
+}
+
+static inline void vn_call_vkDestroyBufferView(struct vn_instance *vn_instance, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyBufferView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bufferView, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyBufferView_reply(&submit.reply, device, bufferView, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyBufferView(struct vn_instance *vn_instance, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyBufferView(vn_instance, 0, device, bufferView, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_BUFFER_VIEW_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_calls.h b/src/virtio/venus-protocol/vn_protocol_driver_calls.h
deleted file mode 100644
index 536bb5e141a..00000000000
--- a/src/virtio/venus-protocol/vn_protocol_driver_calls.h
+++ /dev/null
@@ -1,7176 +0,0 @@
-/* This file is generated by venus-protocol git-72189394. */
-
-/*
- * Copyright 2020 Google LLC
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef VN_PROTOCOL_DRIVER_CALLS_H
-#define VN_PROTOCOL_DRIVER_CALLS_H
-
-#include "vn_protocol_driver_commands.h"
-#include "vn_device.h"
-
-#define VN_SUBMIT_LOCAL_CMD_SIZE 256
-
-static inline void vn_submit_vkCreateInstance(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateInstance(pCreateInfo, pAllocator, pInstance);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateInstance(&submit->command, cmd_flags, pCreateInfo, pAllocator, pInstance);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateInstance_reply(pCreateInfo, pAllocator, pInstance) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyInstance(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyInstance(instance, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyInstance(&submit->command, cmd_flags, instance, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyInstance_reply(instance, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumeratePhysicalDevices(&submit->command, cmd_flags, instance, pPhysicalDeviceCount, pPhysicalDevices);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDevices_reply(instance, pPhysicalDeviceCount, pPhysicalDevices) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceProperties(&submit->command, cmd_flags, physicalDevice, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties_reply(physicalDevice, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(&submit->command, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceMemoryProperties(&submit->command, cmd_flags, physicalDevice, pMemoryProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(physicalDevice, pMemoryProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceFeatures(&submit->command, cmd_flags, physicalDevice, pFeatures);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures_reply(physicalDevice, pFeatures) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceFormatProperties(&submit->command, cmd_flags, physicalDevice, format, pFormatProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(physicalDevice, format, pFormatProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceImageFormatProperties(&submit->command, cmd_flags, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateDevice(&submit->command, cmd_flags, physicalDevice, pCreateInfo, pAllocator, pDevice);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDevice_reply(physicalDevice, pCreateInfo, pAllocator, pDevice) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyDevice(device, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyDevice(&submit->command, cmd_flags, device, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDevice_reply(device, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t* pApiVersion, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumerateInstanceVersion(pApiVersion);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumerateInstanceVersion(&submit->command, cmd_flags, pApiVersion);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceVersion_reply(pApiVersion) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t* pPropertyCount, VkLayerProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumerateInstanceLayerProperties(&submit->command, cmd_flags, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceLayerProperties_reply(pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumerateInstanceExtensionProperties(&submit->command, cmd_flags, pLayerName, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceExtensionProperties_reply(pLayerName, pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumerateDeviceLayerProperties(&submit->command, cmd_flags, physicalDevice, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceLayerProperties_reply(physicalDevice, pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumerateDeviceExtensionProperties(&submit->command, cmd_flags, physicalDevice, pLayerName, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(physicalDevice, pLayerName, pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDeviceQueue(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDeviceQueue(&submit->command, cmd_flags, device, queueFamilyIndex, queueIndex, pQueue);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue_reply(device, queueFamilyIndex, queueIndex, pQueue) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkQueueSubmit(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkQueueSubmit(queue, submitCount, pSubmits, fence);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkQueueSubmit(&submit->command, cmd_flags, queue, submitCount, pSubmits, fence);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueSubmit_reply(queue, submitCount, pSubmits, fence) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkQueueWaitIdle(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkQueueWaitIdle(queue);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkQueueWaitIdle(&submit->command, cmd_flags, queue);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueWaitIdle_reply(queue) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDeviceWaitIdle(device);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDeviceWaitIdle(&submit->command, cmd_flags, device);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDeviceWaitIdle_reply(device) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkAllocateMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkAllocateMemory(&submit->command, cmd_flags, device, pAllocateInfo, pAllocator, pMemory);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateMemory_reply(device, pAllocateInfo, pAllocator, pMemory) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkFreeMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkFreeMemory(device, memory, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkFreeMemory(&submit->command, cmd_flags, device, memory, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeMemory_reply(device, memory, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkUnmapMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkUnmapMemory(device, memory);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkUnmapMemory(&submit->command, cmd_flags, device, memory);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUnmapMemory_reply(device, memory) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkFlushMappedMemoryRanges(&submit->command, cmd_flags, device, memoryRangeCount, pMemoryRanges);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFlushMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkInvalidateMappedMemoryRanges(&submit->command, cmd_flags, device, memoryRangeCount, pMemoryRanges);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkInvalidateMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDeviceMemoryCommitment(&submit->command, cmd_flags, device, memory, pCommittedMemoryInBytes);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryCommitment_reply(device, memory, pCommittedMemoryInBytes) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetBufferMemoryRequirements(&submit->command, cmd_flags, device, buffer, pMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferMemoryRequirements_reply(device, buffer, pMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkBindBufferMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkBindBufferMemory(device, buffer, memory, memoryOffset);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkBindBufferMemory(&submit->command, cmd_flags, device, buffer, memory, memoryOffset);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindBufferMemory_reply(device, buffer, memory, memoryOffset) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageMemoryRequirements(&submit->command, cmd_flags, device, image, pMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements_reply(device, image, pMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkBindImageMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkBindImageMemory(device, image, memory, memoryOffset);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkBindImageMemory(&submit->command, cmd_flags, device, image, memory, memoryOffset);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory_reply(device, image, memory, memoryOffset) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageSparseMemoryRequirements(&submit->command, cmd_flags, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements_reply(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(&submit->command, cmd_flags, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkQueueBindSparse(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkQueueBindSparse(&submit->command, cmd_flags, queue, bindInfoCount, pBindInfo, fence);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueBindSparse_reply(queue, bindInfoCount, pBindInfo, fence) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateFence(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateFence(device, pCreateInfo, pAllocator, pFence);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateFence(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pFence);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateFence_reply(device, pCreateInfo, pAllocator, pFence) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyFence(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyFence(device, fence, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyFence(&submit->command, cmd_flags, device, fence, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyFence_reply(device, fence, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetFences(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetFences(device, fenceCount, pFences);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetFences(&submit->command, cmd_flags, device, fenceCount, pFences);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetFences_reply(device, fenceCount, pFences) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetFenceStatus(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetFenceStatus(device, fence);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetFenceStatus(&submit->command, cmd_flags, device, fence);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetFenceStatus_reply(device, fence) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkWaitForFences(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkWaitForFences(&submit->command, cmd_flags, device, fenceCount, pFences, waitAll, timeout);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWaitForFences_reply(device, fenceCount, pFences, waitAll, timeout) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateSemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateSemaphore(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSemaphore);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSemaphore_reply(device, pCreateInfo, pAllocator, pSemaphore) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroySemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroySemaphore(device, semaphore, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroySemaphore(&submit->command, cmd_flags, device, semaphore, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySemaphore_reply(device, semaphore, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateEvent(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pEvent);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateEvent_reply(device, pCreateInfo, pAllocator, pEvent) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyEvent(device, event, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyEvent(&submit->command, cmd_flags, device, event, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyEvent_reply(device, event, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetEventStatus(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetEventStatus(device, event);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetEventStatus(&submit->command, cmd_flags, device, event);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetEventStatus_reply(device, event) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkSetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkSetEvent(device, event);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkSetEvent(&submit->command, cmd_flags, device, event);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSetEvent_reply(device, event) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetEvent(device, event);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetEvent(&submit->command, cmd_flags, device, event);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetEvent_reply(device, event) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateQueryPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pQueryPool);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateQueryPool_reply(device, pCreateInfo, pAllocator, pQueryPool) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyQueryPool(device, queryPool, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyQueryPool(&submit->command, cmd_flags, device, queryPool, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyQueryPool_reply(device, queryPool, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetQueryPoolResults(&submit->command, cmd_flags, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetQueryPoolResults_reply(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetQueryPool(device, queryPool, firstQuery, queryCount);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetQueryPool(&submit->command, cmd_flags, device, queryPool, firstQuery, queryCount);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetQueryPool_reply(device, queryPool, firstQuery, queryCount) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateBuffer(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pBuffer);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateBuffer_reply(device, pCreateInfo, pAllocator, pBuffer) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyBuffer(device, buffer, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyBuffer(&submit->command, cmd_flags, device, buffer, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyBuffer_reply(device, buffer, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateBufferView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateBufferView(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pView);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateBufferView_reply(device, pCreateInfo, pAllocator, pView) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyBufferView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyBufferView(device, bufferView, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyBufferView(&submit->command, cmd_flags, device, bufferView, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyBufferView_reply(device, bufferView, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateImage(device, pCreateInfo, pAllocator, pImage);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateImage(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pImage);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateImage_reply(device, pCreateInfo, pAllocator, pImage) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyImage(device, image, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyImage(&submit->command, cmd_flags, device, image, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyImage_reply(device, image, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageSubresourceLayout(&submit->command, cmd_flags, device, image, pSubresource, pLayout);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSubresourceLayout_reply(device, image, pSubresource, pLayout) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateImageView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateImageView(device, pCreateInfo, pAllocator, pView);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateImageView(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pView);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateImageView_reply(device, pCreateInfo, pAllocator, pView) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyImageView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyImageView(device, imageView, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyImageView(&submit->command, cmd_flags, device, imageView, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyImageView_reply(device, imageView, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateShaderModule(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateShaderModule(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pShaderModule);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateShaderModule_reply(device, pCreateInfo, pAllocator, pShaderModule) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyShaderModule(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyShaderModule(device, shaderModule, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyShaderModule(&submit->command, cmd_flags, device, shaderModule, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyShaderModule_reply(device, shaderModule, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreatePipelineCache(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreatePipelineCache(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pPipelineCache);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreatePipelineCache_reply(device, pCreateInfo, pAllocator, pPipelineCache) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyPipelineCache(device, pipelineCache, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyPipelineCache(&submit->command, cmd_flags, device, pipelineCache, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipelineCache_reply(device, pipelineCache, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPipelineCacheData(&submit->command, cmd_flags, device, pipelineCache, pDataSize, pData);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPipelineCacheData_reply(device, pipelineCache, pDataSize, pData) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkMergePipelineCaches(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkMergePipelineCaches(&submit->command, cmd_flags, device, dstCache, srcCacheCount, pSrcCaches);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkMergePipelineCaches_reply(device, dstCache, srcCacheCount, pSrcCaches) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateGraphicsPipelines(&submit->command, cmd_flags, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateGraphicsPipelines_reply(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateComputePipelines(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateComputePipelines(&submit->command, cmd_flags, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateComputePipelines_reply(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyPipeline(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyPipeline(device, pipeline, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyPipeline(&submit->command, cmd_flags, device, pipeline, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipeline_reply(device, pipeline, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreatePipelineLayout(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pPipelineLayout);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreatePipelineLayout_reply(device, pCreateInfo, pAllocator, pPipelineLayout) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyPipelineLayout(&submit->command, cmd_flags, device, pipelineLayout, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipelineLayout_reply(device, pipelineLayout, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateSampler(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateSampler(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSampler);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSampler_reply(device, pCreateInfo, pAllocator, pSampler) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroySampler(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroySampler(device, sampler, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroySampler(&submit->command, cmd_flags, device, sampler, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySampler_reply(device, sampler, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateDescriptorSetLayout(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSetLayout);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorSetLayout_reply(device, pCreateInfo, pAllocator, pSetLayout) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyDescriptorSetLayout(&submit->command, cmd_flags, device, descriptorSetLayout, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorSetLayout_reply(device, descriptorSetLayout, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateDescriptorPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pDescriptorPool);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorPool_reply(device, pCreateInfo, pAllocator, pDescriptorPool) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyDescriptorPool(&submit->command, cmd_flags, device, descriptorPool, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorPool_reply(device, descriptorPool, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetDescriptorPool(device, descriptorPool, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetDescriptorPool(&submit->command, cmd_flags, device, descriptorPool, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetDescriptorPool_reply(device, descriptorPool, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkAllocateDescriptorSets(&submit->command, cmd_flags, device, pAllocateInfo, pDescriptorSets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateDescriptorSets_reply(device, pAllocateInfo, pDescriptorSets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkFreeDescriptorSets(&submit->command, cmd_flags, device, descriptorPool, descriptorSetCount, pDescriptorSets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeDescriptorSets_reply(device, descriptorPool, descriptorSetCount, pDescriptorSets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkUpdateDescriptorSets(&submit->command, cmd_flags, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUpdateDescriptorSets_reply(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateFramebuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateFramebuffer(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pFramebuffer);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateFramebuffer_reply(device, pCreateInfo, pAllocator, pFramebuffer) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyFramebuffer(device, framebuffer, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyFramebuffer(&submit->command, cmd_flags, device, framebuffer, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyFramebuffer_reply(device, framebuffer, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateRenderPass(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pRenderPass);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRenderPass_reply(device, pCreateInfo, pAllocator, pRenderPass) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyRenderPass(device, renderPass, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyRenderPass(&submit->command, cmd_flags, device, renderPass, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyRenderPass_reply(device, renderPass, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetRenderAreaGranularity(device, renderPass, pGranularity);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetRenderAreaGranularity(&submit->command, cmd_flags, device, renderPass, pGranularity);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetRenderAreaGranularity_reply(device, renderPass, pGranularity) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateCommandPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pCommandPool);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateCommandPool_reply(device, pCreateInfo, pAllocator, pCommandPool) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyCommandPool(device, commandPool, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyCommandPool(&submit->command, cmd_flags, device, commandPool, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyCommandPool_reply(device, commandPool, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetCommandPool(device, commandPool, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetCommandPool(&submit->command, cmd_flags, device, commandPool, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetCommandPool_reply(device, commandPool, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkAllocateCommandBuffers(&submit->command, cmd_flags, device, pAllocateInfo, pCommandBuffers);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateCommandBuffers_reply(device, pAllocateInfo, pCommandBuffers) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkFreeCommandBuffers(&submit->command, cmd_flags, device, commandPool, commandBufferCount, pCommandBuffers);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeCommandBuffers_reply(device, commandPool, commandBufferCount, pCommandBuffers) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkBeginCommandBuffer(commandBuffer, pBeginInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkBeginCommandBuffer(&submit->command, cmd_flags, commandBuffer, pBeginInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBeginCommandBuffer_reply(commandBuffer, pBeginInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEndCommandBuffer(commandBuffer);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEndCommandBuffer(&submit->command, cmd_flags, commandBuffer);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEndCommandBuffer_reply(commandBuffer) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkResetCommandBuffer(commandBuffer, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkResetCommandBuffer(&submit->command, cmd_flags, commandBuffer, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetCommandBuffer_reply(commandBuffer, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBindPipeline(&submit->command, cmd_flags, commandBuffer, pipelineBindPoint, pipeline);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindPipeline_reply(commandBuffer, pipelineBindPoint, pipeline) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetViewport(&submit->command, cmd_flags, commandBuffer, firstViewport, viewportCount, pViewports);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetViewport_reply(commandBuffer, firstViewport, viewportCount, pViewports) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetScissor(&submit->command, cmd_flags, commandBuffer, firstScissor, scissorCount, pScissors);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetScissor_reply(commandBuffer, firstScissor, scissorCount, pScissors) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetLineWidth(commandBuffer, lineWidth);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetLineWidth(&submit->command, cmd_flags, commandBuffer, lineWidth);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetLineWidth_reply(commandBuffer, lineWidth) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetDepthBias(&submit->command, cmd_flags, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBias_reply(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const float blendConstants[4], struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetBlendConstants(commandBuffer, blendConstants);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetBlendConstants(&submit->command, cmd_flags, commandBuffer, blendConstants);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetBlendConstants_reply(commandBuffer, blendConstants) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetDepthBounds(&submit->command, cmd_flags, commandBuffer, minDepthBounds, maxDepthBounds);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBounds_reply(commandBuffer, minDepthBounds, maxDepthBounds) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetStencilCompareMask(&submit->command, cmd_flags, commandBuffer, faceMask, compareMask);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilCompareMask_reply(commandBuffer, faceMask, compareMask) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetStencilWriteMask(&submit->command, cmd_flags, commandBuffer, faceMask, writeMask);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilWriteMask_reply(commandBuffer, faceMask, writeMask) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetStencilReference(commandBuffer, faceMask, reference);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetStencilReference(&submit->command, cmd_flags, commandBuffer, faceMask, reference);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilReference_reply(commandBuffer, faceMask, reference) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBindDescriptorSets(&submit->command, cmd_flags, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindDescriptorSets_reply(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBindIndexBuffer(&submit->command, cmd_flags, commandBuffer, buffer, offset, indexType);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindIndexBuffer_reply(commandBuffer, buffer, offset, indexType) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBindVertexBuffers(&submit->command, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindVertexBuffers_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDraw(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDraw(&submit->command, cmd_flags, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDraw_reply(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndexed(&submit->command, cmd_flags, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexed_reply(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndexedIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDispatch(&submit->command, cmd_flags, commandBuffer, groupCountX, groupCountY, groupCountZ);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatch_reply(commandBuffer, groupCountX, groupCountY, groupCountZ) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDispatchIndirect(commandBuffer, buffer, offset);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDispatchIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchIndirect_reply(commandBuffer, buffer, offset) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdCopyBuffer(&submit->command, cmd_flags, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBuffer_reply(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdCopyImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBlitImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBlitImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdCopyBufferToImage(&submit->command, cmd_flags, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBufferToImage_reply(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdCopyImageToBuffer(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImageToBuffer_reply(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdUpdateBuffer(&submit->command, cmd_flags, commandBuffer, dstBuffer, dstOffset, dataSize, pData);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdUpdateBuffer_reply(commandBuffer, dstBuffer, dstOffset, dataSize, pData) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdFillBuffer(&submit->command, cmd_flags, commandBuffer, dstBuffer, dstOffset, size, data);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdFillBuffer_reply(commandBuffer, dstBuffer, dstOffset, size, data) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdClearColorImage(&submit->command, cmd_flags, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearColorImage_reply(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdClearDepthStencilImage(&submit->command, cmd_flags, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearDepthStencilImage_reply(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdClearAttachments(&submit->command, cmd_flags, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearAttachments_reply(commandBuffer, attachmentCount, pAttachments, rectCount, pRects) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdResolveImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResolveImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetEvent(commandBuffer, event, stageMask);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetEvent(&submit->command, cmd_flags, commandBuffer, event, stageMask);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetEvent_reply(commandBuffer, event, stageMask) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdResetEvent(commandBuffer, event, stageMask);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdResetEvent(&submit->command, cmd_flags, commandBuffer, event, stageMask);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetEvent_reply(commandBuffer, event, stageMask) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdWaitEvents(&submit->command, cmd_flags, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdWaitEvents_reply(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdPipelineBarrier(&submit->command, cmd_flags, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPipelineBarrier_reply(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBeginQuery(&submit->command, cmd_flags, commandBuffer, queryPool, query, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQuery_reply(commandBuffer, queryPool, query, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdEndQuery(commandBuffer, queryPool, query);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdEndQuery(&submit->command, cmd_flags, commandBuffer, queryPool, query);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQuery_reply(commandBuffer, queryPool, query) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdResetQueryPool(&submit->command, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetQueryPool_reply(commandBuffer, queryPool, firstQuery, queryCount) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdWriteTimestamp(&submit->command, cmd_flags, commandBuffer, pipelineStage, queryPool, query);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdWriteTimestamp_reply(commandBuffer, pipelineStage, queryPool, query) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdCopyQueryPoolResults(&submit->command, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyQueryPoolResults_reply(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdPushConstants(&submit->command, cmd_flags, commandBuffer, layout, stageFlags, offset, size, pValues);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushConstants_reply(commandBuffer, layout, stageFlags, offset, size, pValues) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBeginRenderPass(&submit->command, cmd_flags, commandBuffer, pRenderPassBegin, contents);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass_reply(commandBuffer, pRenderPassBegin, contents) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdNextSubpass(commandBuffer, contents);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdNextSubpass(&submit->command, cmd_flags, commandBuffer, contents);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass_reply(commandBuffer, contents) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdEndRenderPass(commandBuffer);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdEndRenderPass(&submit->command, cmd_flags, commandBuffer);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass_reply(commandBuffer) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdExecuteCommands(&submit->command, cmd_flags, commandBuffer, commandBufferCount, pCommandBuffers);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdExecuteCommands_reply(commandBuffer, commandBufferCount, pCommandBuffers) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceFeatures2(&submit->command, cmd_flags, physicalDevice, pFeatures);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(physicalDevice, pFeatures) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceProperties2(&submit->command, cmd_flags, physicalDevice, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties2_reply(physicalDevice, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceFormatProperties2(&submit->command, cmd_flags, physicalDevice, format, pFormatProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(physicalDevice, format, pFormatProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceImageFormatProperties2(&submit->command, cmd_flags, physicalDevice, pImageFormatInfo, pImageFormatProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(physicalDevice, pImageFormatInfo, pImageFormatProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(&submit->command, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceMemoryProperties2(&submit->command, cmd_flags, physicalDevice, pMemoryProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(physicalDevice, pMemoryProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(&submit->command, cmd_flags, physicalDevice, pFormatInfo, pPropertyCount, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(physicalDevice, pFormatInfo, pPropertyCount, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkTrimCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkTrimCommandPool(device, commandPool, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkTrimCommandPool(&submit->command, cmd_flags, device, commandPool, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkTrimCommandPool_reply(device, commandPool, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceExternalBufferProperties(&submit->command, cmd_flags, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(physicalDevice, pExternalBufferInfo, pExternalBufferProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(&submit->command, cmd_flags, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetPhysicalDeviceExternalFenceProperties(&submit->command, cmd_flags, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(physicalDevice, pExternalFenceInfo, pExternalFenceProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkEnumeratePhysicalDeviceGroups(&submit->command, cmd_flags, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDeviceGroupPeerMemoryFeatures(&submit->command, cmd_flags, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkBindBufferMemory2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkBindBufferMemory2(&submit->command, cmd_flags, device, bindInfoCount, pBindInfos);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindBufferMemory2_reply(device, bindInfoCount, pBindInfos) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkBindImageMemory2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkBindImageMemory2(device, bindInfoCount, pBindInfos);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkBindImageMemory2(&submit->command, cmd_flags, device, bindInfoCount, pBindInfos);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory2_reply(device, bindInfoCount, pBindInfos) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdSetDeviceMask(commandBuffer, deviceMask);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdSetDeviceMask(&submit->command, cmd_flags, commandBuffer, deviceMask);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDeviceMask_reply(commandBuffer, deviceMask) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDispatchBase(&submit->command, cmd_flags, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchBase_reply(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateDescriptorUpdateTemplate(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorUpdateTemplate_reply(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyDescriptorUpdateTemplate(&submit->command, cmd_flags, device, descriptorUpdateTemplate, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorUpdateTemplate_reply(device, descriptorUpdateTemplate, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetBufferMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferMemoryRequirements2_reply(device, pInfo, pMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements2_reply(device, pInfo, pMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageSparseMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateSamplerYcbcrConversion(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pYcbcrConversion);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSamplerYcbcrConversion_reply(device, pCreateInfo, pAllocator, pYcbcrConversion) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroySamplerYcbcrConversion(&submit->command, cmd_flags, device, ycbcrConversion, pAllocator);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySamplerYcbcrConversion_reply(device, ycbcrConversion, pAllocator) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDeviceQueue2(device, pQueueInfo, pQueue);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDeviceQueue2(&submit->command, cmd_flags, device, pQueueInfo, pQueue);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue2_reply(device, pQueueInfo, pQueue) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDescriptorSetLayoutSupport(&submit->command, cmd_flags, device, pCreateInfo, pSupport);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDescriptorSetLayoutSupport_reply(device, pCreateInfo, pSupport) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateRenderPass2(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pRenderPass);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRenderPass2_reply(device, pCreateInfo, pAllocator, pRenderPass) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBeginRenderPass2(&submit->command, cmd_flags, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass2_reply(commandBuffer, pRenderPassBegin, pSubpassBeginInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdNextSubpass2(&submit->command, cmd_flags, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass2_reply(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdEndRenderPass2(&submit->command, cmd_flags, commandBuffer, pSubpassEndInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass2_reply(commandBuffer, pSubpassEndInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, uint64_t* pValue, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetSemaphoreCounterValue(device, semaphore, pValue);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetSemaphoreCounterValue(&submit->command, cmd_flags, device, semaphore, pValue);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetSemaphoreCounterValue_reply(device, semaphore, pValue) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkWaitSemaphores(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkWaitSemaphores(device, pWaitInfo, timeout);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkWaitSemaphores(&submit->command, cmd_flags, device, pWaitInfo, timeout);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWaitSemaphores_reply(device, pWaitInfo, timeout) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkSignalSemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkSignalSemaphore(device, pSignalInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkSignalSemaphore(&submit->command, cmd_flags, device, pSignalInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSignalSemaphore_reply(device, pSignalInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndirectCount(&submit->command, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndexedIndirectCount(&submit->command, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBindTransformFeedbackBuffersEXT(&submit->command, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBeginTransformFeedbackEXT(&submit->command, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdEndTransformFeedbackEXT(&submit->command, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdBeginQueryIndexedEXT(&submit->command, cmd_flags, commandBuffer, queryPool, query, flags, index);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(commandBuffer, queryPool, query, flags, index) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdEndQueryIndexedEXT(&submit->command, cmd_flags, commandBuffer, queryPool, query, index);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQueryIndexedEXT_reply(commandBuffer, queryPool, query, index) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCmdDrawIndirectByteCountEXT(&submit->command, cmd_flags, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectByteCountEXT_reply(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(&submit->command, cmd_flags, device, image, pProperties);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(device, image, pProperties) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetBufferOpaqueCaptureAddress(device, pInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetBufferOpaqueCaptureAddress(&submit->command, cmd_flags, device, pInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferOpaqueCaptureAddress_reply(device, pInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetBufferDeviceAddress(device, pInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetBufferDeviceAddress(&submit->command, cmd_flags, device, pInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetBufferDeviceAddress_reply(device, pInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(&submit->command, cmd_flags, device, pInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(device, pInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkSetReplyCommandStreamMESA(pStream);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkSetReplyCommandStreamMESA(&submit->command, cmd_flags, pStream);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSetReplyCommandStreamMESA_reply(pStream) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, size_t position, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkSeekReplyCommandStreamMESA(position);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkSeekReplyCommandStreamMESA(&submit->command, cmd_flags, position);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSeekReplyCommandStreamMESA_reply(position) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkExecuteCommandStreamsMESA(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkExecuteCommandStreamsMESA(&submit->command, cmd_flags, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkExecuteCommandStreamsMESA_reply(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkCreateRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkCreateRingMESA(ring, pCreateInfo);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkCreateRingMESA(&submit->command, cmd_flags, ring, pCreateInfo);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRingMESA_reply(ring, pCreateInfo) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkDestroyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkDestroyRingMESA(ring);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkDestroyRingMESA(&submit->command, cmd_flags, ring);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyRingMESA_reply(ring) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkNotifyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkNotifyRingMESA(ring, seqno, flags);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkNotifyRingMESA(&submit->command, cmd_flags, ring, seqno, flags);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkNotifyRingMESA_reply(ring, seqno, flags) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline void vn_submit_vkWriteRingExtraMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value, struct vn_instance_submit_command *submit)
-{
- uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
- void *cmd_data = local_cmd_data;
- size_t cmd_size = vn_sizeof_vkWriteRingExtraMESA(ring, offset, value);
- if (cmd_size > sizeof(local_cmd_data)) {
- cmd_data = malloc(cmd_size);
- if (!cmd_data)
- cmd_size = 0;
- }
-
- submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
- if (cmd_size)
- vn_encode_vkWriteRingExtraMESA(&submit->command, cmd_flags, ring, offset, value);
- submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWriteRingExtraMESA_reply(ring, offset, value) : 0;
- vn_instance_submit_command(vn_instance, submit);
-
- if (cmd_data != local_cmd_data)
- free(cmd_data);
-}
-
-static inline VkResult vn_call_vkCreateInstance(struct vn_instance *vn_instance, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateInstance(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pCreateInfo, pAllocator, pInstance, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateInstance_reply(&submit.reply, pCreateInfo, pAllocator, pInstance);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateInstance(struct vn_instance *vn_instance, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateInstance(vn_instance, 0, pCreateInfo, pAllocator, pInstance, &submit);
-}
-
-static inline void vn_call_vkDestroyInstance(struct vn_instance *vn_instance, VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyInstance(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyInstance_reply(&submit.reply, instance, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyInstance(struct vn_instance *vn_instance, VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyInstance(vn_instance, 0, instance, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumeratePhysicalDevices(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumeratePhysicalDevices_reply(&submit.reply, instance, pPhysicalDeviceCount, pPhysicalDevices);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumeratePhysicalDevices(vn_instance, 0, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceProperties_reply(&submit.reply, physicalDevice, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceProperties(vn_instance, 0, physicalDevice, pProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(&submit.reply, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(&submit.reply, physicalDevice, pMemoryProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceFeatures_reply(&submit.reply, physicalDevice, pFeatures);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, 0, physicalDevice, pFeatures, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceFormatProperties_reply(&submit.reply, physicalDevice, format, pFormatProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);
-}
-
-static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(&submit.reply, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, 0, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);
-}
-
-static inline VkResult vn_call_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateDevice_reply(&submit.reply, physicalDevice, pCreateInfo, pAllocator, pDevice);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDevice(vn_instance, 0, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);
-}
-
-static inline void vn_call_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyDevice_reply(&submit.reply, device, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDevice(vn_instance, 0, device, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, uint32_t* pApiVersion)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceVersion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pApiVersion, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumerateInstanceVersion_reply(&submit.reply, pApiVersion);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, uint32_t* pApiVersion)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceVersion(vn_instance, 0, pApiVersion, &submit);
-}
-
-static inline VkResult vn_call_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceLayerProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumerateInstanceLayerProperties_reply(&submit.reply, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceLayerProperties(vn_instance, 0, pPropertyCount, pProperties, &submit);
-}
-
-static inline VkResult vn_call_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceExtensionProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pLayerName, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumerateInstanceExtensionProperties_reply(&submit.reply, pLayerName, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateInstanceExtensionProperties(vn_instance, 0, pLayerName, pPropertyCount, pProperties, &submit);
-}
-
-static inline VkResult vn_call_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumerateDeviceLayerProperties_reply(&submit.reply, physicalDevice, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, 0, physicalDevice, pPropertyCount, pProperties, &submit);
-}
-
-static inline VkResult vn_call_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumerateDeviceExtensionProperties_reply(&submit.reply, physicalDevice, pLayerName, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, 0, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);
-}
-
-static inline void vn_call_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceQueue(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queueFamilyIndex, queueIndex, pQueue, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetDeviceQueue_reply(&submit.reply, device, queueFamilyIndex, queueIndex, pQueue);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceQueue(vn_instance, 0, device, queueFamilyIndex, queueIndex, pQueue, &submit);
-}
-
-static inline VkResult vn_call_vkQueueSubmit(struct vn_instance *vn_instance, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueSubmit(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, submitCount, pSubmits, fence, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkQueueSubmit_reply(&submit.reply, queue, submitCount, pSubmits, fence);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkQueueSubmit(struct vn_instance *vn_instance, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueSubmit(vn_instance, 0, queue, submitCount, pSubmits, fence, &submit);
-}
-
-static inline VkResult vn_call_vkQueueWaitIdle(struct vn_instance *vn_instance, VkQueue queue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueWaitIdle(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkQueueWaitIdle_reply(&submit.reply, queue);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkQueueWaitIdle(struct vn_instance *vn_instance, VkQueue queue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueWaitIdle(vn_instance, 0, queue, &submit);
-}
-
-static inline VkResult vn_call_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDeviceWaitIdle(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkDeviceWaitIdle_reply(&submit.reply, device);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDeviceWaitIdle(vn_instance, 0, device, &submit);
-}
-
-static inline VkResult vn_call_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pAllocator, pMemory, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkAllocateMemory_reply(&submit.reply, device, pAllocateInfo, pAllocator, pMemory);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateMemory(vn_instance, 0, device, pAllocateInfo, pAllocator, pMemory, &submit);
-}
-
-static inline void vn_call_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkFreeMemory_reply(&submit.reply, device, memory, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeMemory(vn_instance, 0, device, memory, pAllocator, &submit);
-}
-
-static inline void vn_call_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkUnmapMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, &submit);
- if (submit.reply_bo) {
- vn_decode_vkUnmapMemory_reply(&submit.reply, device, memory);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkUnmapMemory(vn_instance, 0, device, memory, &submit);
-}
-
-static inline VkResult vn_call_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFlushMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkFlushMappedMemoryRanges_reply(&submit.reply, device, memoryRangeCount, pMemoryRanges);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFlushMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
-}
-
-static inline VkResult vn_call_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkInvalidateMappedMemoryRanges_reply(&submit.reply, device, memoryRangeCount, pMemoryRanges);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
-}
-
-static inline void vn_call_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceMemoryCommitment(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pCommittedMemoryInBytes, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetDeviceMemoryCommitment_reply(&submit.reply, device, memory, pCommittedMemoryInBytes);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceMemoryCommitment(vn_instance, 0, device, memory, pCommittedMemoryInBytes, &submit);
-}
-
-static inline void vn_call_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, pMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetBufferMemoryRequirements_reply(&submit.reply, device, buffer, pMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetBufferMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferMemoryRequirements(vn_instance, 0, device, buffer, pMemoryRequirements, &submit);
-}
-
-static inline VkResult vn_call_vkBindBufferMemory(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindBufferMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, memory, memoryOffset, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkBindBufferMemory_reply(&submit.reply, device, buffer, memory, memoryOffset);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkBindBufferMemory(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindBufferMemory(vn_instance, 0, device, buffer, memory, memoryOffset, &submit);
-}
-
-static inline void vn_call_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetImageMemoryRequirements_reply(&submit.reply, device, image, pMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageMemoryRequirements(vn_instance, 0, device, image, pMemoryRequirements, &submit);
-}
-
-static inline VkResult vn_call_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindImageMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, memory, memoryOffset, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkBindImageMemory_reply(&submit.reply, device, image, memory, memoryOffset);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindImageMemory(vn_instance, 0, device, image, memory, memoryOffset, &submit);
-}
-
-static inline void vn_call_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetImageSparseMemoryRequirements_reply(&submit.reply, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, 0, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(&submit.reply, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, 0, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);
-}
-
-static inline VkResult vn_call_vkQueueBindSparse(struct vn_instance *vn_instance, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueBindSparse(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, bindInfoCount, pBindInfo, fence, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkQueueBindSparse_reply(&submit.reply, queue, bindInfoCount, pBindInfo, fence);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkQueueBindSparse(struct vn_instance *vn_instance, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkQueueBindSparse(vn_instance, 0, queue, bindInfoCount, pBindInfo, fence, &submit);
-}
-
-static inline VkResult vn_call_vkCreateFence(struct vn_instance *vn_instance, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateFence(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pFence, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateFence_reply(&submit.reply, device, pCreateInfo, pAllocator, pFence);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateFence(struct vn_instance *vn_instance, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateFence(vn_instance, 0, device, pCreateInfo, pAllocator, pFence, &submit);
-}
-
-static inline void vn_call_vkDestroyFence(struct vn_instance *vn_instance, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyFence(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fence, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyFence_reply(&submit.reply, device, fence, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyFence(struct vn_instance *vn_instance, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyFence(vn_instance, 0, device, fence, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkResetFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetFences(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fenceCount, pFences, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkResetFences_reply(&submit.reply, device, fenceCount, pFences);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkResetFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetFences(vn_instance, 0, device, fenceCount, pFences, &submit);
-}
-
-static inline VkResult vn_call_vkGetFenceStatus(struct vn_instance *vn_instance, VkDevice device, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetFenceStatus(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fence, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetFenceStatus_reply(&submit.reply, device, fence);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetFenceStatus(struct vn_instance *vn_instance, VkDevice device, VkFence fence)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetFenceStatus(vn_instance, 0, device, fence, &submit);
-}
-
-static inline VkResult vn_call_vkWaitForFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWaitForFences(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fenceCount, pFences, waitAll, timeout, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkWaitForFences_reply(&submit.reply, device, fenceCount, pFences, waitAll, timeout);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkWaitForFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWaitForFences(vn_instance, 0, device, fenceCount, pFences, waitAll, timeout, &submit);
-}
-
-static inline VkResult vn_call_vkCreateSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSemaphore, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateSemaphore_reply(&submit.reply, device, pCreateInfo, pAllocator, pSemaphore);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSemaphore(vn_instance, 0, device, pCreateInfo, pAllocator, pSemaphore, &submit);
-}
-
-static inline void vn_call_vkDestroySemaphore(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, semaphore, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroySemaphore_reply(&submit.reply, device, semaphore, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroySemaphore(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySemaphore(vn_instance, 0, device, semaphore, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateEvent(struct vn_instance *vn_instance, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pEvent, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateEvent_reply(&submit.reply, device, pCreateInfo, pAllocator, pEvent);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateEvent(struct vn_instance *vn_instance, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateEvent(vn_instance, 0, device, pCreateInfo, pAllocator, pEvent, &submit);
-}
-
-static inline void vn_call_vkDestroyEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyEvent_reply(&submit.reply, device, event, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyEvent(vn_instance, 0, device, event, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkGetEventStatus(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetEventStatus(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetEventStatus_reply(&submit.reply, device, event);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetEventStatus(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetEventStatus(vn_instance, 0, device, event, &submit);
-}
-
-static inline VkResult vn_call_vkSetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkSetEvent_reply(&submit.reply, device, event);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkSetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSetEvent(vn_instance, 0, device, event, &submit);
-}
-
-static inline VkResult vn_call_vkResetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkResetEvent_reply(&submit.reply, device, event);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkResetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetEvent(vn_instance, 0, device, event, &submit);
-}
-
-static inline VkResult vn_call_vkCreateQueryPool(struct vn_instance *vn_instance, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pQueryPool, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateQueryPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pQueryPool);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateQueryPool(struct vn_instance *vn_instance, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateQueryPool(vn_instance, 0, device, pCreateInfo, pAllocator, pQueryPool, &submit);
-}
-
-static inline void vn_call_vkDestroyQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyQueryPool_reply(&submit.reply, device, queryPool, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyQueryPool(vn_instance, 0, device, queryPool, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetQueryPoolResults(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetQueryPoolResults_reply(&submit.reply, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetQueryPoolResults(vn_instance, 0, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags, &submit);
-}
-
-static inline void vn_call_vkResetQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, firstQuery, queryCount, &submit);
- if (submit.reply_bo) {
- vn_decode_vkResetQueryPool_reply(&submit.reply, device, queryPool, firstQuery, queryCount);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkResetQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetQueryPool(vn_instance, 0, device, queryPool, firstQuery, queryCount, &submit);
-}
-
-static inline VkResult vn_call_vkCreateBuffer(struct vn_instance *vn_instance, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pBuffer, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateBuffer_reply(&submit.reply, device, pCreateInfo, pAllocator, pBuffer);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateBuffer(struct vn_instance *vn_instance, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateBuffer(vn_instance, 0, device, pCreateInfo, pAllocator, pBuffer, &submit);
-}
-
-static inline void vn_call_vkDestroyBuffer(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, buffer, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyBuffer_reply(&submit.reply, device, buffer, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyBuffer(struct vn_instance *vn_instance, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyBuffer(vn_instance, 0, device, buffer, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateBufferView(struct vn_instance *vn_instance, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateBufferView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pView, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateBufferView_reply(&submit.reply, device, pCreateInfo, pAllocator, pView);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateBufferView(struct vn_instance *vn_instance, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateBufferView(vn_instance, 0, device, pCreateInfo, pAllocator, pView, &submit);
-}
-
-static inline void vn_call_vkDestroyBufferView(struct vn_instance *vn_instance, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyBufferView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bufferView, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyBufferView_reply(&submit.reply, device, bufferView, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyBufferView(struct vn_instance *vn_instance, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyBufferView(vn_instance, 0, device, bufferView, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pImage, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateImage_reply(&submit.reply, device, pCreateInfo, pAllocator, pImage);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateImage(vn_instance, 0, device, pCreateInfo, pAllocator, pImage, &submit);
-}
-
-static inline void vn_call_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyImage_reply(&submit.reply, device, image, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyImage(vn_instance, 0, device, image, pAllocator, &submit);
-}
-
-static inline void vn_call_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSubresourceLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSubresource, pLayout, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetImageSubresourceLayout_reply(&submit.reply, device, image, pSubresource, pLayout);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSubresourceLayout(vn_instance, 0, device, image, pSubresource, pLayout, &submit);
-}
-
-static inline VkResult vn_call_vkCreateImageView(struct vn_instance *vn_instance, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateImageView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pView, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateImageView_reply(&submit.reply, device, pCreateInfo, pAllocator, pView);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateImageView(struct vn_instance *vn_instance, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateImageView(vn_instance, 0, device, pCreateInfo, pAllocator, pView, &submit);
-}
-
-static inline void vn_call_vkDestroyImageView(struct vn_instance *vn_instance, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyImageView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, imageView, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyImageView_reply(&submit.reply, device, imageView, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyImageView(struct vn_instance *vn_instance, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyImageView(vn_instance, 0, device, imageView, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateShaderModule(struct vn_instance *vn_instance, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateShaderModule(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pShaderModule, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateShaderModule_reply(&submit.reply, device, pCreateInfo, pAllocator, pShaderModule);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateShaderModule(struct vn_instance *vn_instance, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateShaderModule(vn_instance, 0, device, pCreateInfo, pAllocator, pShaderModule, &submit);
-}
-
-static inline void vn_call_vkDestroyShaderModule(struct vn_instance *vn_instance, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyShaderModule(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, shaderModule, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyShaderModule_reply(&submit.reply, device, shaderModule, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyShaderModule(struct vn_instance *vn_instance, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyShaderModule(vn_instance, 0, device, shaderModule, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreatePipelineCache(struct vn_instance *vn_instance, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreatePipelineCache(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pPipelineCache, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreatePipelineCache_reply(&submit.reply, device, pCreateInfo, pAllocator, pPipelineCache);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreatePipelineCache(struct vn_instance *vn_instance, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreatePipelineCache(vn_instance, 0, device, pCreateInfo, pAllocator, pPipelineCache, &submit);
-}
-
-static inline void vn_call_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipelineCache(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyPipelineCache_reply(&submit.reply, device, pipelineCache, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipelineCache(vn_instance, 0, device, pipelineCache, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPipelineCacheData(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, pDataSize, pData, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetPipelineCacheData_reply(&submit.reply, device, pipelineCache, pDataSize, pData);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPipelineCacheData(vn_instance, 0, device, pipelineCache, pDataSize, pData, &submit);
-}
-
-static inline VkResult vn_call_vkMergePipelineCaches(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkMergePipelineCaches(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, dstCache, srcCacheCount, pSrcCaches, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkMergePipelineCaches_reply(&submit.reply, device, dstCache, srcCacheCount, pSrcCaches);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkMergePipelineCaches(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkMergePipelineCaches(vn_instance, 0, device, dstCache, srcCacheCount, pSrcCaches, &submit);
-}
-
-static inline VkResult vn_call_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateGraphicsPipelines(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateGraphicsPipelines_reply(&submit.reply, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateGraphicsPipelines(vn_instance, 0, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
-}
-
-static inline VkResult vn_call_vkCreateComputePipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateComputePipelines(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateComputePipelines_reply(&submit.reply, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateComputePipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateComputePipelines(vn_instance, 0, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
-}
-
-static inline void vn_call_vkDestroyPipeline(struct vn_instance *vn_instance, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipeline(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipeline, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyPipeline_reply(&submit.reply, device, pipeline, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyPipeline(struct vn_instance *vn_instance, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipeline(vn_instance, 0, device, pipeline, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreatePipelineLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pPipelineLayout, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreatePipelineLayout_reply(&submit.reply, device, pCreateInfo, pAllocator, pPipelineLayout);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreatePipelineLayout(vn_instance, 0, device, pCreateInfo, pAllocator, pPipelineLayout, &submit);
-}
-
-static inline void vn_call_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipelineLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineLayout, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyPipelineLayout_reply(&submit.reply, device, pipelineLayout, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyPipelineLayout(vn_instance, 0, device, pipelineLayout, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateSampler(struct vn_instance *vn_instance, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSampler(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSampler, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateSampler_reply(&submit.reply, device, pCreateInfo, pAllocator, pSampler);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateSampler(struct vn_instance *vn_instance, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSampler(vn_instance, 0, device, pCreateInfo, pAllocator, pSampler, &submit);
-}
-
-static inline void vn_call_vkDestroySampler(struct vn_instance *vn_instance, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySampler(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, sampler, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroySampler_reply(&submit.reply, device, sampler, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroySampler(struct vn_instance *vn_instance, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySampler(vn_instance, 0, device, sampler, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorSetLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSetLayout, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateDescriptorSetLayout_reply(&submit.reply, device, pCreateInfo, pAllocator, pSetLayout);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorSetLayout(vn_instance, 0, device, pCreateInfo, pAllocator, pSetLayout, &submit);
-}
-
-static inline void vn_call_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorSetLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorSetLayout, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyDescriptorSetLayout_reply(&submit.reply, device, descriptorSetLayout, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorSetLayout(vn_instance, 0, device, descriptorSetLayout, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pDescriptorPool, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateDescriptorPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pDescriptorPool);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorPool(vn_instance, 0, device, pCreateInfo, pAllocator, pDescriptorPool, &submit);
-}
-
-static inline void vn_call_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyDescriptorPool_reply(&submit.reply, device, descriptorPool, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorPool(vn_instance, 0, device, descriptorPool, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkResetDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, flags, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkResetDescriptorPool_reply(&submit.reply, device, descriptorPool, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkResetDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetDescriptorPool(vn_instance, 0, device, descriptorPool, flags, &submit);
-}
-
-static inline VkResult vn_call_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pDescriptorSets, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkAllocateDescriptorSets_reply(&submit.reply, device, pAllocateInfo, pDescriptorSets);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateDescriptorSets(vn_instance, 0, device, pAllocateInfo, pDescriptorSets, &submit);
-}
-
-static inline VkResult vn_call_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, descriptorSetCount, pDescriptorSets, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkFreeDescriptorSets_reply(&submit.reply, device, descriptorPool, descriptorSetCount, pDescriptorSets);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeDescriptorSets(vn_instance, 0, device, descriptorPool, descriptorSetCount, pDescriptorSets, &submit);
-}
-
-static inline void vn_call_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkUpdateDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies, &submit);
- if (submit.reply_bo) {
- vn_decode_vkUpdateDescriptorSets_reply(&submit.reply, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkUpdateDescriptorSets(vn_instance, 0, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies, &submit);
-}
-
-static inline VkResult vn_call_vkCreateFramebuffer(struct vn_instance *vn_instance, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateFramebuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pFramebuffer, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateFramebuffer_reply(&submit.reply, device, pCreateInfo, pAllocator, pFramebuffer);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateFramebuffer(struct vn_instance *vn_instance, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateFramebuffer(vn_instance, 0, device, pCreateInfo, pAllocator, pFramebuffer, &submit);
-}
-
-static inline void vn_call_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyFramebuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, framebuffer, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyFramebuffer_reply(&submit.reply, device, framebuffer, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyFramebuffer(vn_instance, 0, device, framebuffer, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkCreateRenderPass(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pRenderPass, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateRenderPass_reply(&submit.reply, device, pCreateInfo, pAllocator, pRenderPass);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateRenderPass(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRenderPass(vn_instance, 0, device, pCreateInfo, pAllocator, pRenderPass, &submit);
-}
-
-static inline void vn_call_vkDestroyRenderPass(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, renderPass, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyRenderPass_reply(&submit.reply, device, renderPass, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyRenderPass(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyRenderPass(vn_instance, 0, device, renderPass, pAllocator, &submit);
-}
-
-static inline void vn_call_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetRenderAreaGranularity(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, renderPass, pGranularity, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetRenderAreaGranularity_reply(&submit.reply, device, renderPass, pGranularity);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetRenderAreaGranularity(vn_instance, 0, device, renderPass, pGranularity, &submit);
-}
-
-static inline VkResult vn_call_vkCreateCommandPool(struct vn_instance *vn_instance, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pCommandPool, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateCommandPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pCommandPool);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateCommandPool(struct vn_instance *vn_instance, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateCommandPool(vn_instance, 0, device, pCreateInfo, pAllocator, pCommandPool, &submit);
-}
-
-static inline void vn_call_vkDestroyCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyCommandPool_reply(&submit.reply, device, commandPool, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyCommandPool(vn_instance, 0, device, commandPool, pAllocator, &submit);
-}
-
-static inline VkResult vn_call_vkResetCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, flags, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkResetCommandPool_reply(&submit.reply, device, commandPool, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkResetCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetCommandPool(vn_instance, 0, device, commandPool, flags, &submit);
-}
-
-static inline VkResult vn_call_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pCommandBuffers, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkAllocateCommandBuffers_reply(&submit.reply, device, pAllocateInfo, pCommandBuffers);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkAllocateCommandBuffers(vn_instance, 0, device, pAllocateInfo, pCommandBuffers, &submit);
-}
-
-static inline void vn_call_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, commandBufferCount, pCommandBuffers, &submit);
- if (submit.reply_bo) {
- vn_decode_vkFreeCommandBuffers_reply(&submit.reply, device, commandPool, commandBufferCount, pCommandBuffers);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkFreeCommandBuffers(vn_instance, 0, device, commandPool, commandBufferCount, pCommandBuffers, &submit);
-}
-
-static inline VkResult vn_call_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBeginCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pBeginInfo, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkBeginCommandBuffer_reply(&submit.reply, commandBuffer, pBeginInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBeginCommandBuffer(vn_instance, 0, commandBuffer, pBeginInfo, &submit);
-}
-
-static inline VkResult vn_call_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEndCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEndCommandBuffer_reply(&submit.reply, commandBuffer);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEndCommandBuffer(vn_instance, 0, commandBuffer, &submit);
-}
-
-static inline VkResult vn_call_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, flags, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkResetCommandBuffer_reply(&submit.reply, commandBuffer, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkResetCommandBuffer(vn_instance, 0, commandBuffer, flags, &submit);
-}
-
-static inline void vn_call_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindPipeline(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, pipeline, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBindPipeline_reply(&submit.reply, commandBuffer, pipelineBindPoint, pipeline);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindPipeline(vn_instance, 0, commandBuffer, pipelineBindPoint, pipeline, &submit);
-}
-
-static inline void vn_call_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetViewport(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstViewport, viewportCount, pViewports, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetViewport_reply(&submit.reply, commandBuffer, firstViewport, viewportCount, pViewports);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetViewport(vn_instance, 0, commandBuffer, firstViewport, viewportCount, pViewports, &submit);
-}
-
-static inline void vn_call_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetScissor(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstScissor, scissorCount, pScissors, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetScissor_reply(&submit.reply, commandBuffer, firstScissor, scissorCount, pScissors);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetScissor(vn_instance, 0, commandBuffer, firstScissor, scissorCount, pScissors, &submit);
-}
-
-static inline void vn_call_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetLineWidth(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, lineWidth, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetLineWidth_reply(&submit.reply, commandBuffer, lineWidth);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetLineWidth(vn_instance, 0, commandBuffer, lineWidth, &submit);
-}
-
-static inline void vn_call_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDepthBias(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetDepthBias_reply(&submit.reply, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDepthBias(vn_instance, 0, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);
-}
-
-static inline void vn_call_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetBlendConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, blendConstants, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetBlendConstants_reply(&submit.reply, commandBuffer, blendConstants);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetBlendConstants(vn_instance, 0, commandBuffer, blendConstants, &submit);
-}
-
-static inline void vn_call_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDepthBounds(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, minDepthBounds, maxDepthBounds, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetDepthBounds_reply(&submit.reply, commandBuffer, minDepthBounds, maxDepthBounds);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDepthBounds(vn_instance, 0, commandBuffer, minDepthBounds, maxDepthBounds, &submit);
-}
-
-static inline void vn_call_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilCompareMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, compareMask, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetStencilCompareMask_reply(&submit.reply, commandBuffer, faceMask, compareMask);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilCompareMask(vn_instance, 0, commandBuffer, faceMask, compareMask, &submit);
-}
-
-static inline void vn_call_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilWriteMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, writeMask, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetStencilWriteMask_reply(&submit.reply, commandBuffer, faceMask, writeMask);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilWriteMask(vn_instance, 0, commandBuffer, faceMask, writeMask, &submit);
-}
-
-static inline void vn_call_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilReference(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, reference, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetStencilReference_reply(&submit.reply, commandBuffer, faceMask, reference);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetStencilReference(vn_instance, 0, commandBuffer, faceMask, reference, &submit);
-}
-
-static inline void vn_call_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBindDescriptorSets_reply(&submit.reply, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindDescriptorSets(vn_instance, 0, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);
-}
-
-static inline void vn_call_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindIndexBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, indexType, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBindIndexBuffer_reply(&submit.reply, commandBuffer, buffer, offset, indexType);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindIndexBuffer(vn_instance, 0, commandBuffer, buffer, offset, indexType, &submit);
-}
-
-static inline void vn_call_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindVertexBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBindVertexBuffers_reply(&submit.reply, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindVertexBuffers(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);
-}
-
-static inline void vn_call_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDraw(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDraw_reply(&submit.reply, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDraw(vn_instance, 0, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexed(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndexed_reply(&submit.reply, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexed(vn_instance, 0, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndirect_reply(&submit.reply, commandBuffer, buffer, offset, drawCount, stride);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexedIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndexedIndirect_reply(&submit.reply, commandBuffer, buffer, offset, drawCount, stride);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexedIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);
-}
-
-static inline void vn_call_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatch(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDispatch_reply(&submit.reply, commandBuffer, groupCountX, groupCountY, groupCountZ);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatch(vn_instance, 0, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);
-}
-
-static inline void vn_call_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatchIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDispatchIndirect_reply(&submit.reply, commandBuffer, buffer, offset);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatchIndirect(vn_instance, 0, commandBuffer, buffer, offset, &submit);
-}
-
-static inline void vn_call_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdCopyBuffer_reply(&submit.reply, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyBuffer(vn_instance, 0, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);
-}
-
-static inline void vn_call_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdCopyImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
-}
-
-static inline void vn_call_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBlitImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBlitImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBlitImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);
-}
-
-static inline void vn_call_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyBufferToImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdCopyBufferToImage_reply(&submit.reply, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyBufferToImage(vn_instance, 0, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);
-}
-
-static inline void vn_call_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyImageToBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdCopyImageToBuffer_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyImageToBuffer(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);
-}
-
-static inline void vn_call_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdUpdateBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdUpdateBuffer_reply(&submit.reply, commandBuffer, dstBuffer, dstOffset, dataSize, pData);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdUpdateBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);
-}
-
-static inline void vn_call_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdFillBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, size, data, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdFillBuffer_reply(&submit.reply, commandBuffer, dstBuffer, dstOffset, size, data);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdFillBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, size, data, &submit);
-}
-
-static inline void vn_call_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearColorImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdClearColorImage_reply(&submit.reply, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearColorImage(vn_instance, 0, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);
-}
-
-static inline void vn_call_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearDepthStencilImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdClearDepthStencilImage_reply(&submit.reply, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearDepthStencilImage(vn_instance, 0, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);
-}
-
-static inline void vn_call_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearAttachments(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdClearAttachments_reply(&submit.reply, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdClearAttachments(vn_instance, 0, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);
-}
-
-static inline void vn_call_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResolveImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdResolveImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResolveImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
-}
-
-static inline void vn_call_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetEvent_reply(&submit.reply, commandBuffer, event, stageMask);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);
-}
-
-static inline void vn_call_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdResetEvent_reply(&submit.reply, commandBuffer, event, stageMask);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);
-}
-
-static inline void vn_call_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdWaitEvents(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdWaitEvents_reply(&submit.reply, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdWaitEvents(vn_instance, 0, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
-}
-
-static inline void vn_call_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdPipelineBarrier(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdPipelineBarrier_reply(&submit.reply, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdPipelineBarrier(vn_instance, 0, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
-}
-
-static inline void vn_call_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBeginQuery_reply(&submit.reply, commandBuffer, queryPool, query, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginQuery(vn_instance, 0, commandBuffer, queryPool, query, flags, &submit);
-}
-
-static inline void vn_call_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdEndQuery_reply(&submit.reply, commandBuffer, queryPool, query);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndQuery(vn_instance, 0, commandBuffer, queryPool, query, &submit);
-}
-
-static inline void vn_call_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResetQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdResetQueryPool_reply(&submit.reply, commandBuffer, queryPool, firstQuery, queryCount);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdResetQueryPool(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, &submit);
-}
-
-static inline void vn_call_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdWriteTimestamp(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineStage, queryPool, query, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdWriteTimestamp_reply(&submit.reply, commandBuffer, pipelineStage, queryPool, query);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdWriteTimestamp(vn_instance, 0, commandBuffer, pipelineStage, queryPool, query, &submit);
-}
-
-static inline void vn_call_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyQueryPoolResults(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdCopyQueryPoolResults_reply(&submit.reply, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdCopyQueryPoolResults(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);
-}
-
-static inline void vn_call_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdPushConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdPushConstants_reply(&submit.reply, commandBuffer, layout, stageFlags, offset, size, pValues);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdPushConstants(vn_instance, 0, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);
-}
-
-static inline void vn_call_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, contents, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBeginRenderPass_reply(&submit.reply, commandBuffer, pRenderPassBegin, contents);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginRenderPass(vn_instance, 0, commandBuffer, pRenderPassBegin, contents, &submit);
-}
-
-static inline void vn_call_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdNextSubpass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, contents, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdNextSubpass_reply(&submit.reply, commandBuffer, contents);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdNextSubpass(vn_instance, 0, commandBuffer, contents, &submit);
-}
-
-static inline void vn_call_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdEndRenderPass_reply(&submit.reply, commandBuffer);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndRenderPass(vn_instance, 0, commandBuffer, &submit);
-}
-
-static inline void vn_call_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdExecuteCommands(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, commandBufferCount, pCommandBuffers, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdExecuteCommands_reply(&submit.reply, commandBuffer, commandBufferCount, pCommandBuffers);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdExecuteCommands(vn_instance, 0, commandBuffer, commandBufferCount, pCommandBuffers, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceFeatures2_reply(&submit.reply, physicalDevice, pFeatures);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, 0, physicalDevice, pFeatures, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceProperties2_reply(&submit.reply, physicalDevice, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, 0, physicalDevice, pProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(&submit.reply, physicalDevice, format, pFormatProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);
-}
-
-static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(&submit.reply, physicalDevice, pImageFormatInfo, pImageFormatProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, 0, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(&submit.reply, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(&submit.reply, physicalDevice, pMemoryProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(&submit.reply, physicalDevice, pFormatInfo, pPropertyCount, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, 0, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);
-}
-
-static inline void vn_call_vkTrimCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkTrimCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, flags, &submit);
- if (submit.reply_bo) {
- vn_decode_vkTrimCommandPool_reply(&submit.reply, device, commandPool, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkTrimCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkTrimCommandPool(vn_instance, 0, device, commandPool, flags, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(&submit.reply, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, 0, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(&submit.reply, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, 0, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);
-}
-
-static inline void vn_call_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(&submit.reply, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, 0, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);
-}
-
-static inline VkResult vn_call_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkEnumeratePhysicalDeviceGroups_reply(&submit.reply, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, 0, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);
-}
-
-static inline void vn_call_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(&submit.reply, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, 0, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);
-}
-
-static inline VkResult vn_call_vkBindBufferMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindBufferMemory2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bindInfoCount, pBindInfos, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkBindBufferMemory2_reply(&submit.reply, device, bindInfoCount, pBindInfos);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkBindBufferMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindBufferMemory2(vn_instance, 0, device, bindInfoCount, pBindInfos, &submit);
-}
-
-static inline VkResult vn_call_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindImageMemory2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bindInfoCount, pBindInfos, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkBindImageMemory2_reply(&submit.reply, device, bindInfoCount, pBindInfos);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkBindImageMemory2(vn_instance, 0, device, bindInfoCount, pBindInfos, &submit);
-}
-
-static inline void vn_call_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDeviceMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, deviceMask, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdSetDeviceMask_reply(&submit.reply, commandBuffer, deviceMask);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdSetDeviceMask(vn_instance, 0, commandBuffer, deviceMask, &submit);
-}
-
-static inline void vn_call_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatchBase(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDispatchBase_reply(&submit.reply, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDispatchBase(vn_instance, 0, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);
-}
-
-static inline VkResult vn_call_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorUpdateTemplate(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateDescriptorUpdateTemplate_reply(&submit.reply, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateDescriptorUpdateTemplate(vn_instance, 0, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate, &submit);
-}
-
-static inline void vn_call_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorUpdateTemplate(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorUpdateTemplate, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyDescriptorUpdateTemplate_reply(&submit.reply, device, descriptorUpdateTemplate, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyDescriptorUpdateTemplate(vn_instance, 0, device, descriptorUpdateTemplate, pAllocator, &submit);
-}
-
-static inline void vn_call_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetBufferMemoryRequirements2_reply(&submit.reply, device, pInfo, pMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetBufferMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferMemoryRequirements2(vn_instance, 0, device, pInfo, pMemoryRequirements, &submit);
-}
-
-static inline void vn_call_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetImageMemoryRequirements2_reply(&submit.reply, device, pInfo, pMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageMemoryRequirements2(vn_instance, 0, device, pInfo, pMemoryRequirements, &submit);
-}
-
-static inline void vn_call_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetImageSparseMemoryRequirements2_reply(&submit.reply, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, 0, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
-}
-
-static inline VkResult vn_call_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSamplerYcbcrConversion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pYcbcrConversion, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateSamplerYcbcrConversion_reply(&submit.reply, device, pCreateInfo, pAllocator, pYcbcrConversion);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateSamplerYcbcrConversion(vn_instance, 0, device, pCreateInfo, pAllocator, pYcbcrConversion, &submit);
-}
-
-static inline void vn_call_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySamplerYcbcrConversion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, ycbcrConversion, pAllocator, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroySamplerYcbcrConversion_reply(&submit.reply, device, ycbcrConversion, pAllocator);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroySamplerYcbcrConversion(vn_instance, 0, device, ycbcrConversion, pAllocator, &submit);
-}
-
-static inline void vn_call_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceQueue2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pQueueInfo, pQueue, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetDeviceQueue2_reply(&submit.reply, device, pQueueInfo, pQueue);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceQueue2(vn_instance, 0, device, pQueueInfo, pQueue, &submit);
-}
-
-static inline void vn_call_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDescriptorSetLayoutSupport(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pSupport, &submit);
- if (submit.reply_bo) {
- vn_decode_vkGetDescriptorSetLayoutSupport_reply(&submit.reply, device, pCreateInfo, pSupport);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDescriptorSetLayoutSupport(vn_instance, 0, device, pCreateInfo, pSupport, &submit);
-}
-
-static inline VkResult vn_call_vkCreateRenderPass2(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pRenderPass, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkCreateRenderPass2_reply(&submit.reply, device, pCreateInfo, pAllocator, pRenderPass);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkCreateRenderPass2(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRenderPass2(vn_instance, 0, device, pCreateInfo, pAllocator, pRenderPass, &submit);
-}
-
-static inline void vn_call_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBeginRenderPass2_reply(&submit.reply, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginRenderPass2(vn_instance, 0, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);
-}
-
-static inline void vn_call_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdNextSubpass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdNextSubpass2_reply(&submit.reply, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdNextSubpass2(vn_instance, 0, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);
-}
-
-static inline void vn_call_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassEndInfo, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdEndRenderPass2_reply(&submit.reply, commandBuffer, pSubpassEndInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndRenderPass2(vn_instance, 0, commandBuffer, pSubpassEndInfo, &submit);
-}
-
-static inline VkResult vn_call_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetSemaphoreCounterValue(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, semaphore, pValue, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetSemaphoreCounterValue_reply(&submit.reply, device, semaphore, pValue);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetSemaphoreCounterValue(vn_instance, 0, device, semaphore, pValue, &submit);
-}
-
-static inline VkResult vn_call_vkWaitSemaphores(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWaitSemaphores(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pWaitInfo, timeout, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkWaitSemaphores_reply(&submit.reply, device, pWaitInfo, timeout);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkWaitSemaphores(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWaitSemaphores(vn_instance, 0, device, pWaitInfo, timeout, &submit);
-}
-
-static inline VkResult vn_call_vkSignalSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSignalSemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pSignalInfo, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkSignalSemaphore_reply(&submit.reply, device, pSignalInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkSignalSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSignalSemaphore(vn_instance, 0, device, pSignalInfo, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndirectCount_reply(&submit.reply, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndexedIndirectCount_reply(&submit.reply, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
-}
-
-static inline void vn_call_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBindTransformFeedbackBuffersEXT_reply(&submit.reply, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);
-}
-
-static inline void vn_call_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBeginTransformFeedbackEXT_reply(&submit.reply, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
-}
-
-static inline void vn_call_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdEndTransformFeedbackEXT_reply(&submit.reply, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
-}
-
-static inline void vn_call_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, index, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdBeginQueryIndexedEXT_reply(&submit.reply, commandBuffer, queryPool, query, flags, index);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, flags, index, &submit);
-}
-
-static inline void vn_call_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, index, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdEndQueryIndexedEXT_reply(&submit.reply, commandBuffer, queryPool, query, index);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, index, &submit);
-}
-
-static inline void vn_call_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCmdDrawIndirectByteCountEXT_reply(&submit.reply, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, 0, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);
-}
-
-static inline VkResult vn_call_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pProperties, &submit);
- if (submit.reply_bo) {
- const VkResult ret = vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(&submit.reply, device, image, pProperties);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, 0, device, image, pProperties, &submit);
-}
-
-static inline uint64_t vn_call_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferOpaqueCaptureAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
- if (submit.reply_bo) {
- const uint64_t ret = vn_decode_vkGetBufferOpaqueCaptureAddress_reply(&submit.reply, device, pInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetBufferOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferOpaqueCaptureAddress(vn_instance, 0, device, pInfo, &submit);
-}
-
-static inline VkDeviceAddress vn_call_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferDeviceAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
- if (submit.reply_bo) {
- const VkDeviceAddress ret = vn_decode_vkGetBufferDeviceAddress_reply(&submit.reply, device, pInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetBufferDeviceAddress(struct vn_instance *vn_instance, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetBufferDeviceAddress(vn_instance, 0, device, pInfo, &submit);
-}
-
-static inline uint64_t vn_call_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
- if (submit.reply_bo) {
- const uint64_t ret = vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(&submit.reply, device, pInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- return ret;
- } else {
- return VK_ERROR_OUT_OF_HOST_MEMORY;
- }
-}
-
-static inline void vn_async_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, 0, device, pInfo, &submit);
-}
-
-static inline void vn_call_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSetReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pStream, &submit);
- if (submit.reply_bo) {
- vn_decode_vkSetReplyCommandStreamMESA_reply(&submit.reply, pStream);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSetReplyCommandStreamMESA(vn_instance, 0, pStream, &submit);
-}
-
-static inline void vn_call_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, position, &submit);
- if (submit.reply_bo) {
- vn_decode_vkSeekReplyCommandStreamMESA_reply(&submit.reply, position);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, 0, position, &submit);
-}
-
-static inline void vn_call_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkExecuteCommandStreamsMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
- if (submit.reply_bo) {
- vn_decode_vkExecuteCommandStreamsMESA_reply(&submit.reply, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkExecuteCommandStreamsMESA(vn_instance, 0, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
-}
-
-static inline void vn_call_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, pCreateInfo, &submit);
- if (submit.reply_bo) {
- vn_decode_vkCreateRingMESA_reply(&submit.reply, ring, pCreateInfo);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkCreateRingMESA(vn_instance, 0, ring, pCreateInfo, &submit);
-}
-
-static inline void vn_call_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, &submit);
- if (submit.reply_bo) {
- vn_decode_vkDestroyRingMESA_reply(&submit.reply, ring);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkDestroyRingMESA(vn_instance, 0, ring, &submit);
-}
-
-static inline void vn_call_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkNotifyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, seqno, flags, &submit);
- if (submit.reply_bo) {
- vn_decode_vkNotifyRingMESA_reply(&submit.reply, ring, seqno, flags);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkNotifyRingMESA(vn_instance, 0, ring, seqno, flags, &submit);
-}
-
-static inline void vn_call_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWriteRingExtraMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, offset, value, &submit);
- if (submit.reply_bo) {
- vn_decode_vkWriteRingExtraMESA_reply(&submit.reply, ring, offset, value);
- vn_renderer_bo_unref(submit.reply_bo);
- }
-}
-
-static inline void vn_async_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
-{
- struct vn_instance_submit_command submit;
- vn_submit_vkWriteRingExtraMESA(vn_instance, 0, ring, offset, value, &submit);
-}
-
-#endif /* VN_PROTOCOL_DRIVER_CALLS_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h
new file mode 100644
index 00000000000..bf057222236
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h
@@ -0,0 +1,7386 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H
+#define VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkCommandBufferAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkCommandBufferAllocateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferAllocateInfo_self(const VkCommandBufferAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkCommandPool(&val->commandPool);
+ size += vn_sizeof_VkCommandBufferLevel(&val->level);
+ size += vn_sizeof_uint32_t(&val->commandBufferCount);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkCommandBufferAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkCommandBufferAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandBufferAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkCommandBufferAllocateInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkCommandPool(enc, &val->commandPool);
+ vn_encode_VkCommandBufferLevel(enc, &val->level);
+ vn_encode_uint32_t(enc, &val->commandBufferCount);
+}
+
+static inline void
+vn_encode_VkCommandBufferAllocateInfo(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO });
+ vn_encode_VkCommandBufferAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkCommandBufferAllocateInfo_self(enc, val);
+}
+
+/* struct VkCommandBufferInheritanceInfo chain */
+
+static inline size_t
+vn_sizeof_VkCommandBufferInheritanceInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferInheritanceInfo_self(const VkCommandBufferInheritanceInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkRenderPass(&val->renderPass);
+ size += vn_sizeof_uint32_t(&val->subpass);
+ size += vn_sizeof_VkFramebuffer(&val->framebuffer);
+ size += vn_sizeof_VkBool32(&val->occlusionQueryEnable);
+ size += vn_sizeof_VkFlags(&val->queryFlags);
+ size += vn_sizeof_VkFlags(&val->pipelineStatistics);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(val->pNext);
+ size += vn_sizeof_VkCommandBufferInheritanceInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkCommandBufferInheritanceInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkRenderPass(enc, &val->renderPass);
+ vn_encode_uint32_t(enc, &val->subpass);
+ vn_encode_VkFramebuffer(enc, &val->framebuffer);
+ vn_encode_VkBool32(enc, &val->occlusionQueryEnable);
+ vn_encode_VkFlags(enc, &val->queryFlags);
+ vn_encode_VkFlags(enc, &val->pipelineStatistics);
+}
+
+static inline void
+vn_encode_VkCommandBufferInheritanceInfo(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO });
+ vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, val->pNext);
+ vn_encode_VkCommandBufferInheritanceInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkCommandBufferInheritanceInfo_self(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkRenderPass(dec, &val->renderPass);
+ vn_decode_uint32_t(dec, &val->subpass);
+ vn_decode_VkFramebuffer(dec, &val->framebuffer);
+ vn_decode_VkBool32(dec, &val->occlusionQueryEnable);
+ vn_decode_VkFlags(dec, &val->queryFlags);
+ vn_decode_VkFlags(dec, &val->pipelineStatistics);
+}
+
+static inline void
+vn_decode_VkCommandBufferInheritanceInfo(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkCommandBufferInheritanceInfo_pnext(dec, val->pNext);
+ vn_decode_VkCommandBufferInheritanceInfo_self(dec, val);
+}
+
+/* struct VkDeviceGroupCommandBufferBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(const VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->deviceMask);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->deviceMask);
+}
+
+static inline void
+vn_encode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO });
+ vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->deviceMask);
+}
+
+static inline void
+vn_decode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(dec, val->pNext);
+ vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, val);
+}
+
+/* struct VkCommandBufferBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkCommandBufferBeginInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkCommandBufferBeginInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self((const VkDeviceGroupCommandBufferBeginInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferBeginInfo_self(const VkCommandBufferBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_simple_pointer(val->pInheritanceInfo);
+ if (val->pInheritanceInfo)
+ size += vn_sizeof_VkCommandBufferInheritanceInfo(val->pInheritanceInfo);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkCommandBufferBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkCommandBufferBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkCommandBufferBeginInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, (const VkDeviceGroupCommandBufferBeginInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ if (vn_encode_simple_pointer(enc, val->pInheritanceInfo))
+ vn_encode_VkCommandBufferInheritanceInfo(enc, val->pInheritanceInfo);
+}
+
+static inline void
+vn_encode_VkCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO });
+ vn_encode_VkCommandBufferBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkCommandBufferBeginInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
+ vn_decode_VkCommandBufferBeginInfo_pnext(dec, pnext->pNext);
+ vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, (VkDeviceGroupCommandBufferBeginInfo *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkFlags(dec, &val->flags);
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkCommandBufferInheritanceInfo(dec, (VkCommandBufferInheritanceInfo *)val->pInheritanceInfo);
+ } else {
+ val->pInheritanceInfo = NULL;
+ }
+}
+
+static inline void
+vn_decode_VkCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkCommandBufferBeginInfo_pnext(dec, val->pNext);
+ vn_decode_VkCommandBufferBeginInfo_self(dec, val);
+}
+
+/* struct VkBufferCopy */
+
+static inline size_t
+vn_sizeof_VkBufferCopy(const VkBufferCopy *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDeviceSize(&val->srcOffset);
+ size += vn_sizeof_VkDeviceSize(&val->dstOffset);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferCopy(struct vn_cs_encoder *enc, const VkBufferCopy *val)
+{
+ vn_encode_VkDeviceSize(enc, &val->srcOffset);
+ vn_encode_VkDeviceSize(enc, &val->dstOffset);
+ vn_encode_VkDeviceSize(enc, &val->size);
+}
+
+/* struct VkImageSubresourceLayers */
+
+static inline size_t
+vn_sizeof_VkImageSubresourceLayers(const VkImageSubresourceLayers *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->aspectMask);
+ size += vn_sizeof_uint32_t(&val->mipLevel);
+ size += vn_sizeof_uint32_t(&val->baseArrayLayer);
+ size += vn_sizeof_uint32_t(&val->layerCount);
+ return size;
+}
+
+static inline void
+vn_encode_VkImageSubresourceLayers(struct vn_cs_encoder *enc, const VkImageSubresourceLayers *val)
+{
+ vn_encode_VkFlags(enc, &val->aspectMask);
+ vn_encode_uint32_t(enc, &val->mipLevel);
+ vn_encode_uint32_t(enc, &val->baseArrayLayer);
+ vn_encode_uint32_t(enc, &val->layerCount);
+}
+
+/* struct VkImageCopy */
+
+static inline size_t
+vn_sizeof_VkImageCopy(const VkImageCopy *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
+ size += vn_sizeof_VkOffset3D(&val->srcOffset);
+ size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
+ size += vn_sizeof_VkOffset3D(&val->dstOffset);
+ size += vn_sizeof_VkExtent3D(&val->extent);
+ return size;
+}
+
+static inline void
+vn_encode_VkImageCopy(struct vn_cs_encoder *enc, const VkImageCopy *val)
+{
+ vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
+ vn_encode_VkOffset3D(enc, &val->srcOffset);
+ vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
+ vn_encode_VkOffset3D(enc, &val->dstOffset);
+ vn_encode_VkExtent3D(enc, &val->extent);
+}
+
+/* struct VkImageBlit */
+
+static inline size_t
+vn_sizeof_VkImageBlit(const VkImageBlit *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
+ size += vn_sizeof_array_size(2);
+ for (uint32_t i = 0; i < 2; i++)
+ size += vn_sizeof_VkOffset3D(&val->srcOffsets[i]);
+ size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
+ size += vn_sizeof_array_size(2);
+ for (uint32_t i = 0; i < 2; i++)
+ size += vn_sizeof_VkOffset3D(&val->dstOffsets[i]);
+ return size;
+}
+
+static inline void
+vn_encode_VkImageBlit(struct vn_cs_encoder *enc, const VkImageBlit *val)
+{
+ vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
+ vn_encode_array_size(enc, 2);
+ for (uint32_t i = 0; i < 2; i++)
+ vn_encode_VkOffset3D(enc, &val->srcOffsets[i]);
+ vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
+ vn_encode_array_size(enc, 2);
+ for (uint32_t i = 0; i < 2; i++)
+ vn_encode_VkOffset3D(enc, &val->dstOffsets[i]);
+}
+
+/* struct VkBufferImageCopy */
+
+static inline size_t
+vn_sizeof_VkBufferImageCopy(const VkBufferImageCopy *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDeviceSize(&val->bufferOffset);
+ size += vn_sizeof_uint32_t(&val->bufferRowLength);
+ size += vn_sizeof_uint32_t(&val->bufferImageHeight);
+ size += vn_sizeof_VkImageSubresourceLayers(&val->imageSubresource);
+ size += vn_sizeof_VkOffset3D(&val->imageOffset);
+ size += vn_sizeof_VkExtent3D(&val->imageExtent);
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferImageCopy(struct vn_cs_encoder *enc, const VkBufferImageCopy *val)
+{
+ vn_encode_VkDeviceSize(enc, &val->bufferOffset);
+ vn_encode_uint32_t(enc, &val->bufferRowLength);
+ vn_encode_uint32_t(enc, &val->bufferImageHeight);
+ vn_encode_VkImageSubresourceLayers(enc, &val->imageSubresource);
+ vn_encode_VkOffset3D(enc, &val->imageOffset);
+ vn_encode_VkExtent3D(enc, &val->imageExtent);
+}
+
+/* union VkClearColorValue */
+
+static inline size_t
+vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)
+{
+ size_t size = vn_sizeof_uint32_t(&tag);
+ switch (tag) {
+ case 0:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_float_array(val->float32, 4);
+ break;
+ case 1:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_int32_t_array(val->int32, 4);
+ break;
+ case 2:
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_uint32_t_array(val->uint32, 4);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkClearColorValue(const VkClearColorValue *val)
+{
+ return vn_sizeof_VkClearColorValue_tag(val, 2);
+}
+
+static inline void
+vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)
+{
+ vn_encode_uint32_t(enc, &tag);
+ switch (tag) {
+ case 0:
+ vn_encode_array_size(enc, 4);
+ vn_encode_float_array(enc, val->float32, 4);
+ break;
+ case 1:
+ vn_encode_array_size(enc, 4);
+ vn_encode_int32_t_array(enc, val->int32, 4);
+ break;
+ case 2:
+ vn_encode_array_size(enc, 4);
+ vn_encode_uint32_t_array(enc, val->uint32, 4);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)
+{
+ vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
+}
+
+/* struct VkClearDepthStencilValue */
+
+static inline size_t
+vn_sizeof_VkClearDepthStencilValue(const VkClearDepthStencilValue *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_float(&val->depth);
+ size += vn_sizeof_uint32_t(&val->stencil);
+ return size;
+}
+
+static inline void
+vn_encode_VkClearDepthStencilValue(struct vn_cs_encoder *enc, const VkClearDepthStencilValue *val)
+{
+ vn_encode_float(enc, &val->depth);
+ vn_encode_uint32_t(enc, &val->stencil);
+}
+
+/* union VkClearValue */
+
+static inline size_t
+vn_sizeof_VkClearValue_tag(const VkClearValue *val, uint32_t tag)
+{
+ size_t size = vn_sizeof_uint32_t(&tag);
+ switch (tag) {
+ case 0:
+ size += vn_sizeof_VkClearColorValue(&val->color);
+ break;
+ case 1:
+ size += vn_sizeof_VkClearDepthStencilValue(&val->depthStencil);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkClearValue(const VkClearValue *val)
+{
+ return vn_sizeof_VkClearValue_tag(val, 0);
+}
+
+static inline void
+vn_encode_VkClearValue_tag(struct vn_cs_encoder *enc, const VkClearValue *val, uint32_t tag)
+{
+ vn_encode_uint32_t(enc, &tag);
+ switch (tag) {
+ case 0:
+ vn_encode_VkClearColorValue(enc, &val->color);
+ break;
+ case 1:
+ vn_encode_VkClearDepthStencilValue(enc, &val->depthStencil);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_encode_VkClearValue(struct vn_cs_encoder *enc, const VkClearValue *val)
+{
+ vn_encode_VkClearValue_tag(enc, val, 0); /* union with default tag */
+}
+
+/* struct VkClearAttachment */
+
+static inline size_t
+vn_sizeof_VkClearAttachment(const VkClearAttachment *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->aspectMask);
+ size += vn_sizeof_uint32_t(&val->colorAttachment);
+ size += vn_sizeof_VkClearValue(&val->clearValue);
+ return size;
+}
+
+static inline void
+vn_encode_VkClearAttachment(struct vn_cs_encoder *enc, const VkClearAttachment *val)
+{
+ vn_encode_VkFlags(enc, &val->aspectMask);
+ vn_encode_uint32_t(enc, &val->colorAttachment);
+ vn_encode_VkClearValue(enc, &val->clearValue);
+}
+
+/* struct VkClearRect */
+
+static inline size_t
+vn_sizeof_VkClearRect(const VkClearRect *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkRect2D(&val->rect);
+ size += vn_sizeof_uint32_t(&val->baseArrayLayer);
+ size += vn_sizeof_uint32_t(&val->layerCount);
+ return size;
+}
+
+static inline void
+vn_encode_VkClearRect(struct vn_cs_encoder *enc, const VkClearRect *val)
+{
+ vn_encode_VkRect2D(enc, &val->rect);
+ vn_encode_uint32_t(enc, &val->baseArrayLayer);
+ vn_encode_uint32_t(enc, &val->layerCount);
+}
+
+/* struct VkImageResolve */
+
+static inline size_t
+vn_sizeof_VkImageResolve(const VkImageResolve *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
+ size += vn_sizeof_VkOffset3D(&val->srcOffset);
+ size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
+ size += vn_sizeof_VkOffset3D(&val->dstOffset);
+ size += vn_sizeof_VkExtent3D(&val->extent);
+ return size;
+}
+
+static inline void
+vn_encode_VkImageResolve(struct vn_cs_encoder *enc, const VkImageResolve *val)
+{
+ vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
+ vn_encode_VkOffset3D(enc, &val->srcOffset);
+ vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
+ vn_encode_VkOffset3D(enc, &val->dstOffset);
+ vn_encode_VkExtent3D(enc, &val->extent);
+}
+
+/* struct VkMemoryBarrier chain */
+
+static inline size_t
+vn_sizeof_VkMemoryBarrier_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryBarrier_self(const VkMemoryBarrier *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->srcAccessMask);
+ size += vn_sizeof_VkFlags(&val->dstAccessMask);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMemoryBarrier(const VkMemoryBarrier *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMemoryBarrier_pnext(val->pNext);
+ size += vn_sizeof_VkMemoryBarrier_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMemoryBarrier_self(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->srcAccessMask);
+ vn_encode_VkFlags(enc, &val->dstAccessMask);
+}
+
+static inline void
+vn_encode_VkMemoryBarrier(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_BARRIER);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_BARRIER });
+ vn_encode_VkMemoryBarrier_pnext(enc, val->pNext);
+ vn_encode_VkMemoryBarrier_self(enc, val);
+}
+
+/* struct VkBufferMemoryBarrier chain */
+
+static inline size_t
+vn_sizeof_VkBufferMemoryBarrier_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBufferMemoryBarrier_self(const VkBufferMemoryBarrier *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->srcAccessMask);
+ size += vn_sizeof_VkFlags(&val->dstAccessMask);
+ size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);
+ size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ size += vn_sizeof_VkDeviceSize(&val->offset);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBufferMemoryBarrier(const VkBufferMemoryBarrier *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBufferMemoryBarrier_pnext(val->pNext);
+ size += vn_sizeof_VkBufferMemoryBarrier_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBufferMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBufferMemoryBarrier_self(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->srcAccessMask);
+ vn_encode_VkFlags(enc, &val->dstAccessMask);
+ vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);
+ vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);
+ vn_encode_VkBuffer(enc, &val->buffer);
+ vn_encode_VkDeviceSize(enc, &val->offset);
+ vn_encode_VkDeviceSize(enc, &val->size);
+}
+
+static inline void
+vn_encode_VkBufferMemoryBarrier(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER });
+ vn_encode_VkBufferMemoryBarrier_pnext(enc, val->pNext);
+ vn_encode_VkBufferMemoryBarrier_self(enc, val);
+}
+
+/* struct VkImageMemoryBarrier chain */
+
+static inline size_t
+vn_sizeof_VkImageMemoryBarrier_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageMemoryBarrier_self(const VkImageMemoryBarrier *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->srcAccessMask);
+ size += vn_sizeof_VkFlags(&val->dstAccessMask);
+ size += vn_sizeof_VkImageLayout(&val->oldLayout);
+ size += vn_sizeof_VkImageLayout(&val->newLayout);
+ size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);
+ size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageMemoryBarrier(const VkImageMemoryBarrier *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageMemoryBarrier_pnext(val->pNext);
+ size += vn_sizeof_VkImageMemoryBarrier_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageMemoryBarrier_self(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->srcAccessMask);
+ vn_encode_VkFlags(enc, &val->dstAccessMask);
+ vn_encode_VkImageLayout(enc, &val->oldLayout);
+ vn_encode_VkImageLayout(enc, &val->newLayout);
+ vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);
+ vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange);
+}
+
+static inline void
+vn_encode_VkImageMemoryBarrier(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER });
+ vn_encode_VkImageMemoryBarrier_pnext(enc, val->pNext);
+ vn_encode_VkImageMemoryBarrier_self(enc, val);
+}
+
+/* struct VkDeviceGroupRenderPassBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(const VkDeviceGroupRenderPassBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->deviceMask);
+ size += vn_sizeof_uint32_t(&val->deviceRenderAreaCount);
+ if (val->pDeviceRenderAreas) {
+ size += vn_sizeof_array_size(val->deviceRenderAreaCount);
+ for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)
+ size += vn_sizeof_VkRect2D(&val->pDeviceRenderAreas[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceGroupRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->deviceMask);
+ vn_encode_uint32_t(enc, &val->deviceRenderAreaCount);
+ if (val->pDeviceRenderAreas) {
+ vn_encode_array_size(enc, val->deviceRenderAreaCount);
+ for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)
+ vn_encode_VkRect2D(enc, &val->pDeviceRenderAreas[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDeviceGroupRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO });
+ vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, val);
+}
+
+/* struct VkRenderPassAttachmentBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassAttachmentBeginInfo_self(const VkRenderPassAttachmentBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->attachmentCount);
+ if (val->pAttachments) {
+ size += vn_sizeof_array_size(val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ size += vn_sizeof_VkImageView(&val->pAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassAttachmentBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassAttachmentBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->attachmentCount);
+ if (val->pAttachments) {
+ vn_encode_array_size(enc, val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ vn_encode_VkImageView(enc, &val->pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassAttachmentBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO });
+ vn_encode_VkRenderPassAttachmentBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, val);
+}
+
+/* struct VkRenderPassBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassBeginInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self((const VkDeviceGroupRenderPassBeginInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self((const VkRenderPassAttachmentBeginInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassBeginInfo_self(const VkRenderPassBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkRenderPass(&val->renderPass);
+ size += vn_sizeof_VkFramebuffer(&val->framebuffer);
+ size += vn_sizeof_VkRect2D(&val->renderArea);
+ size += vn_sizeof_uint32_t(&val->clearValueCount);
+ if (val->pClearValues) {
+ size += vn_sizeof_array_size(val->clearValueCount);
+ for (uint32_t i = 0; i < val->clearValueCount; i++)
+ size += vn_sizeof_VkClearValue(&val->pClearValues[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassBeginInfo(const VkRenderPassBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, (const VkDeviceGroupRenderPassBeginInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, (const VkRenderPassAttachmentBeginInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkRenderPass(enc, &val->renderPass);
+ vn_encode_VkFramebuffer(enc, &val->framebuffer);
+ vn_encode_VkRect2D(enc, &val->renderArea);
+ vn_encode_uint32_t(enc, &val->clearValueCount);
+ if (val->pClearValues) {
+ vn_encode_array_size(enc, val->clearValueCount);
+ for (uint32_t i = 0; i < val->clearValueCount; i++)
+ vn_encode_VkClearValue(enc, &val->pClearValues[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO });
+ vn_encode_VkRenderPassBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassBeginInfo_self(enc, val);
+}
+
+/* struct VkSubpassBeginInfo chain */
+
+static inline size_t
+vn_sizeof_VkSubpassBeginInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubpassBeginInfo_self(const VkSubpassBeginInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSubpassContents(&val->contents);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubpassBeginInfo(const VkSubpassBeginInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubpassBeginInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSubpassBeginInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubpassBeginInfo_self(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkSubpassContents(enc, &val->contents);
+}
+
+static inline void
+vn_encode_VkSubpassBeginInfo(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO });
+ vn_encode_VkSubpassBeginInfo_pnext(enc, val->pNext);
+ vn_encode_VkSubpassBeginInfo_self(enc, val);
+}
+
+/* struct VkSubpassEndInfo chain */
+
+static inline size_t
+vn_sizeof_VkSubpassEndInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubpassEndInfo_self(const VkSubpassEndInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubpassEndInfo(const VkSubpassEndInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubpassEndInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSubpassEndInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassEndInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubpassEndInfo_self(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)
+{
+ /* skip val->{sType,pNext} */
+}
+
+static inline void
+vn_encode_VkSubpassEndInfo(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_END_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_END_INFO });
+ vn_encode_VkSubpassEndInfo_pnext(enc, val->pNext);
+ vn_encode_VkSubpassEndInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
+ 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_VkCommandBuffer(&pCommandBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkAllocateCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ 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_VkCommandBuffer(enc, &pCommandBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkAllocateCommandBuffers_reply(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* 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_VkCommandBuffer(&pCommandBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkAllocateCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* 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_VkCommandBuffer(dec, &pCommandBuffers[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pCommandBuffers = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkCommandPool(&commandPool);
+ cmd_size += vn_sizeof_uint32_t(&commandBufferCount);
+ if (pCommandBuffers) {
+ cmd_size += vn_sizeof_array_size(commandBufferCount);
+ for (uint32_t i = 0; i < commandBufferCount; i++)
+ cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkFreeCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkCommandPool(enc, &commandPool);
+ vn_encode_uint32_t(enc, &commandBufferCount);
+ if (pCommandBuffers) {
+ vn_encode_array_size(enc, commandBufferCount);
+ for (uint32_t i = 0; i < commandBufferCount; i++)
+ vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkFreeCommandBuffers_reply(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip commandBufferCount */
+ /* skip pCommandBuffers */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkFreeCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip commandBufferCount */
+ /* skip pCommandBuffers */
+}
+
+static inline size_t vn_sizeof_vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_simple_pointer(pBeginInfo);
+ if (pBeginInfo)
+ cmd_size += vn_sizeof_VkCommandBufferBeginInfo(pBeginInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkBeginCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ if (vn_encode_simple_pointer(enc, pBeginInfo))
+ vn_encode_VkCommandBufferBeginInfo(enc, pBeginInfo);
+}
+
+static inline size_t vn_sizeof_vkBeginCommandBuffer_reply(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip commandBuffer */
+ /* skip pBeginInfo */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkBeginCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip commandBuffer */
+ /* skip pBeginInfo */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkEndCommandBuffer(VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEndCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+}
+
+static inline size_t vn_sizeof_vkEndCommandBuffer_reply(VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip commandBuffer */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEndCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEndCommandBuffer_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip commandBuffer */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkResetCommandBuffer_reply(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip commandBuffer */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkResetCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetCommandBuffer_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip commandBuffer */
+ /* skip flags */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);
+ cmd_size += vn_sizeof_VkPipeline(&pipeline);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBindPipeline(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);
+ vn_encode_VkPipeline(enc, &pipeline);
+}
+
+static inline size_t vn_sizeof_vkCmdBindPipeline_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pipelineBindPoint */
+ /* skip pipeline */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBindPipeline_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBindPipeline_EXT);
+
+ /* skip commandBuffer */
+ /* skip pipelineBindPoint */
+ /* skip pipeline */
+}
+
+static inline size_t vn_sizeof_vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstViewport);
+ cmd_size += vn_sizeof_uint32_t(&viewportCount);
+ if (pViewports) {
+ cmd_size += vn_sizeof_array_size(viewportCount);
+ for (uint32_t i = 0; i < viewportCount; i++)
+ cmd_size += vn_sizeof_VkViewport(&pViewports[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetViewport(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstViewport);
+ vn_encode_uint32_t(enc, &viewportCount);
+ if (pViewports) {
+ vn_encode_array_size(enc, viewportCount);
+ for (uint32_t i = 0; i < viewportCount; i++)
+ vn_encode_VkViewport(enc, &pViewports[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdSetViewport_reply(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstViewport */
+ /* skip viewportCount */
+ /* skip pViewports */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetViewport_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetViewport_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstViewport */
+ /* skip viewportCount */
+ /* skip pViewports */
+}
+
+static inline size_t vn_sizeof_vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstScissor);
+ cmd_size += vn_sizeof_uint32_t(&scissorCount);
+ if (pScissors) {
+ cmd_size += vn_sizeof_array_size(scissorCount);
+ for (uint32_t i = 0; i < scissorCount; i++)
+ cmd_size += vn_sizeof_VkRect2D(&pScissors[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetScissor(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstScissor);
+ vn_encode_uint32_t(enc, &scissorCount);
+ if (pScissors) {
+ vn_encode_array_size(enc, scissorCount);
+ for (uint32_t i = 0; i < scissorCount; i++)
+ vn_encode_VkRect2D(enc, &pScissors[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdSetScissor_reply(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstScissor */
+ /* skip scissorCount */
+ /* skip pScissors */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetScissor_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetScissor_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstScissor */
+ /* skip scissorCount */
+ /* skip pScissors */
+}
+
+static inline size_t vn_sizeof_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_float(&lineWidth);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetLineWidth(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_float(enc, &lineWidth);
+}
+
+static inline size_t vn_sizeof_vkCmdSetLineWidth_reply(VkCommandBuffer commandBuffer, float lineWidth)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip lineWidth */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetLineWidth_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float lineWidth)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT);
+
+ /* skip commandBuffer */
+ /* skip lineWidth */
+}
+
+static inline size_t vn_sizeof_vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_float(&depthBiasConstantFactor);
+ cmd_size += vn_sizeof_float(&depthBiasClamp);
+ cmd_size += vn_sizeof_float(&depthBiasSlopeFactor);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetDepthBias(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_float(enc, &depthBiasConstantFactor);
+ vn_encode_float(enc, &depthBiasClamp);
+ vn_encode_float(enc, &depthBiasSlopeFactor);
+}
+
+static inline size_t vn_sizeof_vkCmdSetDepthBias_reply(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip depthBiasConstantFactor */
+ /* skip depthBiasClamp */
+ /* skip depthBiasSlopeFactor */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetDepthBias_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT);
+
+ /* skip commandBuffer */
+ /* skip depthBiasConstantFactor */
+ /* skip depthBiasClamp */
+ /* skip depthBiasSlopeFactor */
+}
+
+static inline size_t vn_sizeof_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_array_size(4);
+ cmd_size += vn_sizeof_float_array(blendConstants, 4);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetBlendConstants(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_array_size(enc, 4);
+ vn_encode_float_array(enc, blendConstants, 4);
+}
+
+static inline size_t vn_sizeof_vkCmdSetBlendConstants_reply(VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip blendConstants */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetBlendConstants_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT);
+
+ /* skip commandBuffer */
+ /* skip blendConstants */
+}
+
+static inline size_t vn_sizeof_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_float(&minDepthBounds);
+ cmd_size += vn_sizeof_float(&maxDepthBounds);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetDepthBounds(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_float(enc, &minDepthBounds);
+ vn_encode_float(enc, &maxDepthBounds);
+}
+
+static inline size_t vn_sizeof_vkCmdSetDepthBounds_reply(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip minDepthBounds */
+ /* skip maxDepthBounds */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetDepthBounds_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT);
+
+ /* skip commandBuffer */
+ /* skip minDepthBounds */
+ /* skip maxDepthBounds */
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkFlags(&faceMask);
+ cmd_size += vn_sizeof_uint32_t(&compareMask);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetStencilCompareMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkFlags(enc, &faceMask);
+ vn_encode_uint32_t(enc, &compareMask);
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilCompareMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip compareMask */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetStencilCompareMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip compareMask */
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkFlags(&faceMask);
+ cmd_size += vn_sizeof_uint32_t(&writeMask);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetStencilWriteMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkFlags(enc, &faceMask);
+ vn_encode_uint32_t(enc, &writeMask);
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilWriteMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip writeMask */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetStencilWriteMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip writeMask */
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkFlags(&faceMask);
+ cmd_size += vn_sizeof_uint32_t(&reference);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetStencilReference(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkFlags(enc, &faceMask);
+ vn_encode_uint32_t(enc, &reference);
+}
+
+static inline size_t vn_sizeof_vkCmdSetStencilReference_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip reference */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetStencilReference_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT);
+
+ /* skip commandBuffer */
+ /* skip faceMask */
+ /* skip reference */
+}
+
+static inline size_t vn_sizeof_vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);
+ cmd_size += vn_sizeof_VkPipelineLayout(&layout);
+ cmd_size += vn_sizeof_uint32_t(&firstSet);
+ cmd_size += vn_sizeof_uint32_t(&descriptorSetCount);
+ if (pDescriptorSets) {
+ cmd_size += vn_sizeof_array_size(descriptorSetCount);
+ for (uint32_t i = 0; i < descriptorSetCount; i++)
+ cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&dynamicOffsetCount);
+ if (pDynamicOffsets) {
+ cmd_size += vn_sizeof_array_size(dynamicOffsetCount);
+ cmd_size += vn_sizeof_uint32_t_array(pDynamicOffsets, dynamicOffsetCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBindDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);
+ vn_encode_VkPipelineLayout(enc, &layout);
+ vn_encode_uint32_t(enc, &firstSet);
+ vn_encode_uint32_t(enc, &descriptorSetCount);
+ if (pDescriptorSets) {
+ vn_encode_array_size(enc, descriptorSetCount);
+ for (uint32_t i = 0; i < descriptorSetCount; i++)
+ vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &dynamicOffsetCount);
+ if (pDynamicOffsets) {
+ vn_encode_array_size(enc, dynamicOffsetCount);
+ vn_encode_uint32_t_array(enc, pDynamicOffsets, dynamicOffsetCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdBindDescriptorSets_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pipelineBindPoint */
+ /* skip layout */
+ /* skip firstSet */
+ /* skip descriptorSetCount */
+ /* skip pDescriptorSets */
+ /* skip dynamicOffsetCount */
+ /* skip pDynamicOffsets */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBindDescriptorSets_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT);
+
+ /* skip commandBuffer */
+ /* skip pipelineBindPoint */
+ /* skip layout */
+ /* skip firstSet */
+ /* skip descriptorSetCount */
+ /* skip pDescriptorSets */
+ /* skip dynamicOffsetCount */
+ /* skip pDynamicOffsets */
+}
+
+static inline size_t vn_sizeof_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+ cmd_size += vn_sizeof_VkIndexType(&indexType);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBindIndexBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+ vn_encode_VkIndexType(enc, &indexType);
+}
+
+static inline size_t vn_sizeof_vkCmdBindIndexBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip indexType */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBindIndexBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip indexType */
+}
+
+static inline size_t vn_sizeof_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstBinding);
+ cmd_size += vn_sizeof_uint32_t(&bindingCount);
+ if (pBuffers) {
+ cmd_size += vn_sizeof_array_size(bindingCount);
+ for (uint32_t i = 0; i < bindingCount; i++)
+ cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pOffsets) {
+ cmd_size += vn_sizeof_array_size(bindingCount);
+ cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBindVertexBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstBinding);
+ vn_encode_uint32_t(enc, &bindingCount);
+ if (pBuffers) {
+ vn_encode_array_size(enc, bindingCount);
+ for (uint32_t i = 0; i < bindingCount; i++)
+ vn_encode_VkBuffer(enc, &pBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pOffsets) {
+ vn_encode_array_size(enc, bindingCount);
+ vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdBindVertexBuffers_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstBinding */
+ /* skip bindingCount */
+ /* skip pBuffers */
+ /* skip pOffsets */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBindVertexBuffers_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstBinding */
+ /* skip bindingCount */
+ /* skip pBuffers */
+ /* skip pOffsets */
+}
+
+static inline size_t vn_sizeof_vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&vertexCount);
+ cmd_size += vn_sizeof_uint32_t(&instanceCount);
+ cmd_size += vn_sizeof_uint32_t(&firstVertex);
+ cmd_size += vn_sizeof_uint32_t(&firstInstance);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDraw(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &vertexCount);
+ vn_encode_uint32_t(enc, &instanceCount);
+ vn_encode_uint32_t(enc, &firstVertex);
+ vn_encode_uint32_t(enc, &firstInstance);
+}
+
+static inline size_t vn_sizeof_vkCmdDraw_reply(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip vertexCount */
+ /* skip instanceCount */
+ /* skip firstVertex */
+ /* skip firstInstance */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDraw_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDraw_EXT);
+
+ /* skip commandBuffer */
+ /* skip vertexCount */
+ /* skip instanceCount */
+ /* skip firstVertex */
+ /* skip firstInstance */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&indexCount);
+ cmd_size += vn_sizeof_uint32_t(&instanceCount);
+ cmd_size += vn_sizeof_uint32_t(&firstIndex);
+ cmd_size += vn_sizeof_int32_t(&vertexOffset);
+ cmd_size += vn_sizeof_uint32_t(&firstInstance);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndexed(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &indexCount);
+ vn_encode_uint32_t(enc, &instanceCount);
+ vn_encode_uint32_t(enc, &firstIndex);
+ vn_encode_int32_t(enc, &vertexOffset);
+ vn_encode_uint32_t(enc, &firstInstance);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexed_reply(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip indexCount */
+ /* skip instanceCount */
+ /* skip firstIndex */
+ /* skip vertexOffset */
+ /* skip firstInstance */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndexed_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT);
+
+ /* skip commandBuffer */
+ /* skip indexCount */
+ /* skip instanceCount */
+ /* skip firstIndex */
+ /* skip vertexOffset */
+ /* skip firstInstance */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+ cmd_size += vn_sizeof_uint32_t(&drawCount);
+ cmd_size += vn_sizeof_uint32_t(&stride);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+ vn_encode_uint32_t(enc, &drawCount);
+ vn_encode_uint32_t(enc, &stride);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip drawCount */
+ /* skip stride */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip drawCount */
+ /* skip stride */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+ cmd_size += vn_sizeof_uint32_t(&drawCount);
+ cmd_size += vn_sizeof_uint32_t(&stride);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndexedIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+ vn_encode_uint32_t(enc, &drawCount);
+ vn_encode_uint32_t(enc, &stride);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip drawCount */
+ /* skip stride */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndexedIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip drawCount */
+ /* skip stride */
+}
+
+static inline size_t vn_sizeof_vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&groupCountX);
+ cmd_size += vn_sizeof_uint32_t(&groupCountY);
+ cmd_size += vn_sizeof_uint32_t(&groupCountZ);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDispatch(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &groupCountX);
+ vn_encode_uint32_t(enc, &groupCountY);
+ vn_encode_uint32_t(enc, &groupCountZ);
+}
+
+static inline size_t vn_sizeof_vkCmdDispatch_reply(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip groupCountX */
+ /* skip groupCountY */
+ /* skip groupCountZ */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDispatch_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDispatch_EXT);
+
+ /* skip commandBuffer */
+ /* skip groupCountX */
+ /* skip groupCountY */
+ /* skip groupCountZ */
+}
+
+static inline size_t vn_sizeof_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDispatchIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+}
+
+static inline size_t vn_sizeof_vkCmdDispatchIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDispatchIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+}
+
+static inline size_t vn_sizeof_vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&srcBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkBufferCopy(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdCopyBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &srcBuffer);
+ vn_encode_VkBuffer(enc, &dstBuffer);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkBufferCopy(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdCopyBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcBuffer */
+ /* skip dstBuffer */
+ /* skip regionCount */
+ /* skip pRegions */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdCopyBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcBuffer */
+ /* skip dstBuffer */
+ /* skip regionCount */
+ /* skip pRegions */
+}
+
+static inline size_t vn_sizeof_vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&srcImage);
+ cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
+ cmd_size += vn_sizeof_VkImage(&dstImage);
+ cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkImageCopy(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdCopyImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &srcImage);
+ vn_encode_VkImageLayout(enc, &srcImageLayout);
+ vn_encode_VkImage(enc, &dstImage);
+ vn_encode_VkImageLayout(enc, &dstImageLayout);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkImageCopy(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdCopyImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdCopyImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+}
+
+static inline size_t vn_sizeof_vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&srcImage);
+ cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
+ cmd_size += vn_sizeof_VkImage(&dstImage);
+ cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkImageBlit(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkFilter(&filter);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBlitImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &srcImage);
+ vn_encode_VkImageLayout(enc, &srcImageLayout);
+ vn_encode_VkImage(enc, &dstImage);
+ vn_encode_VkImageLayout(enc, &dstImageLayout);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkImageBlit(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkFilter(enc, &filter);
+}
+
+static inline size_t vn_sizeof_vkCmdBlitImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+ /* skip filter */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBlitImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBlitImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+ /* skip filter */
+}
+
+static inline size_t vn_sizeof_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&srcBuffer);
+ cmd_size += vn_sizeof_VkImage(&dstImage);
+ cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdCopyBufferToImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &srcBuffer);
+ vn_encode_VkImage(enc, &dstImage);
+ vn_encode_VkImageLayout(enc, &dstImageLayout);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkBufferImageCopy(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdCopyBufferToImage_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcBuffer */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdCopyBufferToImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcBuffer */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+}
+
+static inline size_t vn_sizeof_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&srcImage);
+ cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
+ cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdCopyImageToBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &srcImage);
+ vn_encode_VkImageLayout(enc, &srcImageLayout);
+ vn_encode_VkBuffer(enc, &dstBuffer);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkBufferImageCopy(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdCopyImageToBuffer_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstBuffer */
+ /* skip regionCount */
+ /* skip pRegions */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdCopyImageToBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstBuffer */
+ /* skip regionCount */
+ /* skip pRegions */
+}
+
+static inline size_t vn_sizeof_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
+ cmd_size += vn_sizeof_VkDeviceSize(&dataSize);
+ if (pData) {
+ cmd_size += vn_sizeof_array_size(dataSize);
+ cmd_size += vn_sizeof_blob_array(pData, dataSize);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdUpdateBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &dstBuffer);
+ vn_encode_VkDeviceSize(enc, &dstOffset);
+ vn_encode_VkDeviceSize(enc, &dataSize);
+ if (pData) {
+ vn_encode_array_size(enc, dataSize);
+ vn_encode_blob_array(enc, pData, dataSize);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdUpdateBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip dataSize */
+ /* skip pData */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdUpdateBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT);
+
+ /* skip commandBuffer */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip dataSize */
+ /* skip pData */
+}
+
+static inline size_t vn_sizeof_vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
+ cmd_size += vn_sizeof_VkDeviceSize(&size);
+ cmd_size += vn_sizeof_uint32_t(&data);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdFillBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &dstBuffer);
+ vn_encode_VkDeviceSize(enc, &dstOffset);
+ vn_encode_VkDeviceSize(enc, &size);
+ vn_encode_uint32_t(enc, &data);
+}
+
+static inline size_t vn_sizeof_vkCmdFillBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip size */
+ /* skip data */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdFillBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdFillBuffer_EXT);
+
+ /* skip commandBuffer */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip size */
+ /* skip data */
+}
+
+static inline size_t vn_sizeof_vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_VkImageLayout(&imageLayout);
+ cmd_size += vn_sizeof_simple_pointer(pColor);
+ if (pColor)
+ cmd_size += vn_sizeof_VkClearColorValue(pColor);
+ cmd_size += vn_sizeof_uint32_t(&rangeCount);
+ if (pRanges) {
+ cmd_size += vn_sizeof_array_size(rangeCount);
+ for (uint32_t i = 0; i < rangeCount; i++)
+ cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdClearColorImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &image);
+ vn_encode_VkImageLayout(enc, &imageLayout);
+ if (vn_encode_simple_pointer(enc, pColor))
+ vn_encode_VkClearColorValue(enc, pColor);
+ vn_encode_uint32_t(enc, &rangeCount);
+ if (pRanges) {
+ vn_encode_array_size(enc, rangeCount);
+ for (uint32_t i = 0; i < rangeCount; i++)
+ vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdClearColorImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip image */
+ /* skip imageLayout */
+ /* skip pColor */
+ /* skip rangeCount */
+ /* skip pRanges */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdClearColorImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdClearColorImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip image */
+ /* skip imageLayout */
+ /* skip pColor */
+ /* skip rangeCount */
+ /* skip pRanges */
+}
+
+static inline size_t vn_sizeof_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_VkImageLayout(&imageLayout);
+ cmd_size += vn_sizeof_simple_pointer(pDepthStencil);
+ if (pDepthStencil)
+ cmd_size += vn_sizeof_VkClearDepthStencilValue(pDepthStencil);
+ cmd_size += vn_sizeof_uint32_t(&rangeCount);
+ if (pRanges) {
+ cmd_size += vn_sizeof_array_size(rangeCount);
+ for (uint32_t i = 0; i < rangeCount; i++)
+ cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdClearDepthStencilImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &image);
+ vn_encode_VkImageLayout(enc, &imageLayout);
+ if (vn_encode_simple_pointer(enc, pDepthStencil))
+ vn_encode_VkClearDepthStencilValue(enc, pDepthStencil);
+ vn_encode_uint32_t(enc, &rangeCount);
+ if (pRanges) {
+ vn_encode_array_size(enc, rangeCount);
+ for (uint32_t i = 0; i < rangeCount; i++)
+ vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdClearDepthStencilImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip image */
+ /* skip imageLayout */
+ /* skip pDepthStencil */
+ /* skip rangeCount */
+ /* skip pRanges */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdClearDepthStencilImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip image */
+ /* skip imageLayout */
+ /* skip pDepthStencil */
+ /* skip rangeCount */
+ /* skip pRanges */
+}
+
+static inline size_t vn_sizeof_vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&attachmentCount);
+ if (pAttachments) {
+ cmd_size += vn_sizeof_array_size(attachmentCount);
+ for (uint32_t i = 0; i < attachmentCount; i++)
+ cmd_size += vn_sizeof_VkClearAttachment(&pAttachments[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&rectCount);
+ if (pRects) {
+ cmd_size += vn_sizeof_array_size(rectCount);
+ for (uint32_t i = 0; i < rectCount; i++)
+ cmd_size += vn_sizeof_VkClearRect(&pRects[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdClearAttachments(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &attachmentCount);
+ if (pAttachments) {
+ vn_encode_array_size(enc, attachmentCount);
+ for (uint32_t i = 0; i < attachmentCount; i++)
+ vn_encode_VkClearAttachment(enc, &pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &rectCount);
+ if (pRects) {
+ vn_encode_array_size(enc, rectCount);
+ for (uint32_t i = 0; i < rectCount; i++)
+ vn_encode_VkClearRect(enc, &pRects[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdClearAttachments_reply(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip attachmentCount */
+ /* skip pAttachments */
+ /* skip rectCount */
+ /* skip pRects */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdClearAttachments_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdClearAttachments_EXT);
+
+ /* skip commandBuffer */
+ /* skip attachmentCount */
+ /* skip pAttachments */
+ /* skip rectCount */
+ /* skip pRects */
+}
+
+static inline size_t vn_sizeof_vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkImage(&srcImage);
+ cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
+ cmd_size += vn_sizeof_VkImage(&dstImage);
+ cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
+ cmd_size += vn_sizeof_uint32_t(&regionCount);
+ if (pRegions) {
+ cmd_size += vn_sizeof_array_size(regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ cmd_size += vn_sizeof_VkImageResolve(&pRegions[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdResolveImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkImage(enc, &srcImage);
+ vn_encode_VkImageLayout(enc, &srcImageLayout);
+ vn_encode_VkImage(enc, &dstImage);
+ vn_encode_VkImageLayout(enc, &dstImageLayout);
+ vn_encode_uint32_t(enc, &regionCount);
+ if (pRegions) {
+ vn_encode_array_size(enc, regionCount);
+ for (uint32_t i = 0; i < regionCount; i++)
+ vn_encode_VkImageResolve(enc, &pRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdResolveImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdResolveImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdResolveImage_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcImage */
+ /* skip srcImageLayout */
+ /* skip dstImage */
+ /* skip dstImageLayout */
+ /* skip regionCount */
+ /* skip pRegions */
+}
+
+static inline size_t vn_sizeof_vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkEvent(&event);
+ cmd_size += vn_sizeof_VkFlags(&stageMask);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkEvent(enc, &event);
+ vn_encode_VkFlags(enc, &stageMask);
+}
+
+static inline size_t vn_sizeof_vkCmdSetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip event */
+ /* skip stageMask */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetEvent_EXT);
+
+ /* skip commandBuffer */
+ /* skip event */
+ /* skip stageMask */
+}
+
+static inline size_t vn_sizeof_vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkEvent(&event);
+ cmd_size += vn_sizeof_VkFlags(&stageMask);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdResetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkEvent(enc, &event);
+ vn_encode_VkFlags(enc, &stageMask);
+}
+
+static inline size_t vn_sizeof_vkCmdResetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip event */
+ /* skip stageMask */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdResetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdResetEvent_EXT);
+
+ /* skip commandBuffer */
+ /* skip event */
+ /* skip stageMask */
+}
+
+static inline size_t vn_sizeof_vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&eventCount);
+ if (pEvents) {
+ cmd_size += vn_sizeof_array_size(eventCount);
+ for (uint32_t i = 0; i < eventCount; i++)
+ cmd_size += vn_sizeof_VkEvent(&pEvents[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkFlags(&srcStageMask);
+ cmd_size += vn_sizeof_VkFlags(&dstStageMask);
+ cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);
+ if (pMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(memoryBarrierCount);
+ for (uint32_t i = 0; i < memoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);
+ if (pBufferMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);
+ for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);
+ if (pImageMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);
+ for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdWaitEvents(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &eventCount);
+ if (pEvents) {
+ vn_encode_array_size(enc, eventCount);
+ for (uint32_t i = 0; i < eventCount; i++)
+ vn_encode_VkEvent(enc, &pEvents[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkFlags(enc, &srcStageMask);
+ vn_encode_VkFlags(enc, &dstStageMask);
+ vn_encode_uint32_t(enc, &memoryBarrierCount);
+ if (pMemoryBarriers) {
+ vn_encode_array_size(enc, memoryBarrierCount);
+ for (uint32_t i = 0; i < memoryBarrierCount; i++)
+ vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);
+ if (pBufferMemoryBarriers) {
+ vn_encode_array_size(enc, bufferMemoryBarrierCount);
+ for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
+ vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &imageMemoryBarrierCount);
+ if (pImageMemoryBarriers) {
+ vn_encode_array_size(enc, imageMemoryBarrierCount);
+ for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
+ vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdWaitEvents_reply(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip eventCount */
+ /* skip pEvents */
+ /* skip srcStageMask */
+ /* skip dstStageMask */
+ /* skip memoryBarrierCount */
+ /* skip pMemoryBarriers */
+ /* skip bufferMemoryBarrierCount */
+ /* skip pBufferMemoryBarriers */
+ /* skip imageMemoryBarrierCount */
+ /* skip pImageMemoryBarriers */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdWaitEvents_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdWaitEvents_EXT);
+
+ /* skip commandBuffer */
+ /* skip eventCount */
+ /* skip pEvents */
+ /* skip srcStageMask */
+ /* skip dstStageMask */
+ /* skip memoryBarrierCount */
+ /* skip pMemoryBarriers */
+ /* skip bufferMemoryBarrierCount */
+ /* skip pBufferMemoryBarriers */
+ /* skip imageMemoryBarrierCount */
+ /* skip pImageMemoryBarriers */
+}
+
+static inline size_t vn_sizeof_vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkFlags(&srcStageMask);
+ cmd_size += vn_sizeof_VkFlags(&dstStageMask);
+ cmd_size += vn_sizeof_VkFlags(&dependencyFlags);
+ cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);
+ if (pMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(memoryBarrierCount);
+ for (uint32_t i = 0; i < memoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);
+ if (pBufferMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);
+ for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);
+ if (pImageMemoryBarriers) {
+ cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);
+ for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
+ cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdPipelineBarrier(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkFlags(enc, &srcStageMask);
+ vn_encode_VkFlags(enc, &dstStageMask);
+ vn_encode_VkFlags(enc, &dependencyFlags);
+ vn_encode_uint32_t(enc, &memoryBarrierCount);
+ if (pMemoryBarriers) {
+ vn_encode_array_size(enc, memoryBarrierCount);
+ for (uint32_t i = 0; i < memoryBarrierCount; i++)
+ vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);
+ if (pBufferMemoryBarriers) {
+ vn_encode_array_size(enc, bufferMemoryBarrierCount);
+ for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
+ vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &imageMemoryBarrierCount);
+ if (pImageMemoryBarriers) {
+ vn_encode_array_size(enc, imageMemoryBarrierCount);
+ for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
+ vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdPipelineBarrier_reply(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip srcStageMask */
+ /* skip dstStageMask */
+ /* skip dependencyFlags */
+ /* skip memoryBarrierCount */
+ /* skip pMemoryBarriers */
+ /* skip bufferMemoryBarrierCount */
+ /* skip pBufferMemoryBarriers */
+ /* skip imageMemoryBarrierCount */
+ /* skip pImageMemoryBarriers */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdPipelineBarrier_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT);
+
+ /* skip commandBuffer */
+ /* skip srcStageMask */
+ /* skip dstStageMask */
+ /* skip dependencyFlags */
+ /* skip memoryBarrierCount */
+ /* skip pMemoryBarriers */
+ /* skip bufferMemoryBarrierCount */
+ /* skip pBufferMemoryBarriers */
+ /* skip imageMemoryBarrierCount */
+ /* skip pImageMemoryBarriers */
+}
+
+static inline size_t vn_sizeof_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&query);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBeginQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &query);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkCmdBeginQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBeginQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQuery_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip flags */
+}
+
+static inline size_t vn_sizeof_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&query);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdEndQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &query);
+}
+
+static inline size_t vn_sizeof_vkCmdEndQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdEndQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdEndQuery_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+}
+
+static inline size_t vn_sizeof_vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&firstQuery);
+ cmd_size += vn_sizeof_uint32_t(&queryCount);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdResetQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &firstQuery);
+ vn_encode_uint32_t(enc, &queryCount);
+}
+
+static inline size_t vn_sizeof_vkCmdResetQueryPool_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdResetQueryPool_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+}
+
+static inline size_t vn_sizeof_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkPipelineStageFlagBits(&pipelineStage);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&query);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdWriteTimestamp(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkPipelineStageFlagBits(enc, &pipelineStage);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &query);
+}
+
+static inline size_t vn_sizeof_vkCmdWriteTimestamp_reply(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pipelineStage */
+ /* skip queryPool */
+ /* skip query */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdWriteTimestamp_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT);
+
+ /* skip commandBuffer */
+ /* skip pipelineStage */
+ /* skip queryPool */
+ /* skip query */
+}
+
+static inline size_t vn_sizeof_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&firstQuery);
+ cmd_size += vn_sizeof_uint32_t(&queryCount);
+ cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
+ cmd_size += vn_sizeof_VkDeviceSize(&stride);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdCopyQueryPoolResults(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &firstQuery);
+ vn_encode_uint32_t(enc, &queryCount);
+ vn_encode_VkBuffer(enc, &dstBuffer);
+ vn_encode_VkDeviceSize(enc, &dstOffset);
+ vn_encode_VkDeviceSize(enc, &stride);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkCmdCopyQueryPoolResults_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip stride */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdCopyQueryPoolResults_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+ /* skip dstBuffer */
+ /* skip dstOffset */
+ /* skip stride */
+ /* skip flags */
+}
+
+static inline size_t vn_sizeof_vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkPipelineLayout(&layout);
+ cmd_size += vn_sizeof_VkFlags(&stageFlags);
+ cmd_size += vn_sizeof_uint32_t(&offset);
+ cmd_size += vn_sizeof_uint32_t(&size);
+ if (pValues) {
+ cmd_size += vn_sizeof_array_size(size);
+ cmd_size += vn_sizeof_blob_array(pValues, size);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdPushConstants(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkPipelineLayout(enc, &layout);
+ vn_encode_VkFlags(enc, &stageFlags);
+ vn_encode_uint32_t(enc, &offset);
+ vn_encode_uint32_t(enc, &size);
+ if (pValues) {
+ vn_encode_array_size(enc, size);
+ vn_encode_blob_array(enc, pValues, size);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdPushConstants_reply(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip layout */
+ /* skip stageFlags */
+ /* skip offset */
+ /* skip size */
+ /* skip pValues */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdPushConstants_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdPushConstants_EXT);
+
+ /* skip commandBuffer */
+ /* skip layout */
+ /* skip stageFlags */
+ /* skip offset */
+ /* skip size */
+ /* skip pValues */
+}
+
+static inline size_t vn_sizeof_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);
+ if (pRenderPassBegin)
+ cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);
+ cmd_size += vn_sizeof_VkSubpassContents(&contents);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBeginRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ if (vn_encode_simple_pointer(enc, pRenderPassBegin))
+ vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);
+ vn_encode_VkSubpassContents(enc, &contents);
+}
+
+static inline size_t vn_sizeof_vkCmdBeginRenderPass_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pRenderPassBegin */
+ /* skip contents */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBeginRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT);
+
+ /* skip commandBuffer */
+ /* skip pRenderPassBegin */
+ /* skip contents */
+}
+
+static inline size_t vn_sizeof_vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkSubpassContents(&contents);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdNextSubpass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkSubpassContents(enc, &contents);
+}
+
+static inline size_t vn_sizeof_vkCmdNextSubpass_reply(VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip contents */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdNextSubpass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass_EXT);
+
+ /* skip commandBuffer */
+ /* skip contents */
+}
+
+static inline size_t vn_sizeof_vkCmdEndRenderPass(VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdEndRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+}
+
+static inline size_t vn_sizeof_vkCmdEndRenderPass_reply(VkCommandBuffer commandBuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdEndRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT);
+
+ /* skip commandBuffer */
+}
+
+static inline size_t vn_sizeof_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&commandBufferCount);
+ if (pCommandBuffers) {
+ cmd_size += vn_sizeof_array_size(commandBufferCount);
+ for (uint32_t i = 0; i < commandBufferCount; i++)
+ cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdExecuteCommands(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &commandBufferCount);
+ if (pCommandBuffers) {
+ vn_encode_array_size(enc, commandBufferCount);
+ for (uint32_t i = 0; i < commandBufferCount; i++)
+ vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdExecuteCommands_reply(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip commandBufferCount */
+ /* skip pCommandBuffers */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdExecuteCommands_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT);
+
+ /* skip commandBuffer */
+ /* skip commandBufferCount */
+ /* skip pCommandBuffers */
+}
+
+static inline size_t vn_sizeof_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&deviceMask);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdSetDeviceMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &deviceMask);
+}
+
+static inline size_t vn_sizeof_vkCmdSetDeviceMask_reply(VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip deviceMask */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdSetDeviceMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT);
+
+ /* skip commandBuffer */
+ /* skip deviceMask */
+}
+
+static inline size_t vn_sizeof_vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&baseGroupX);
+ cmd_size += vn_sizeof_uint32_t(&baseGroupY);
+ cmd_size += vn_sizeof_uint32_t(&baseGroupZ);
+ cmd_size += vn_sizeof_uint32_t(&groupCountX);
+ cmd_size += vn_sizeof_uint32_t(&groupCountY);
+ cmd_size += vn_sizeof_uint32_t(&groupCountZ);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDispatchBase(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &baseGroupX);
+ vn_encode_uint32_t(enc, &baseGroupY);
+ vn_encode_uint32_t(enc, &baseGroupZ);
+ vn_encode_uint32_t(enc, &groupCountX);
+ vn_encode_uint32_t(enc, &groupCountY);
+ vn_encode_uint32_t(enc, &groupCountZ);
+}
+
+static inline size_t vn_sizeof_vkCmdDispatchBase_reply(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip baseGroupX */
+ /* skip baseGroupY */
+ /* skip baseGroupZ */
+ /* skip groupCountX */
+ /* skip groupCountY */
+ /* skip groupCountZ */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDispatchBase_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchBase_EXT);
+
+ /* skip commandBuffer */
+ /* skip baseGroupX */
+ /* skip baseGroupY */
+ /* skip baseGroupZ */
+ /* skip groupCountX */
+ /* skip groupCountY */
+ /* skip groupCountZ */
+}
+
+static inline size_t vn_sizeof_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);
+ if (pRenderPassBegin)
+ cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);
+ cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);
+ if (pSubpassBeginInfo)
+ cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBeginRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ if (vn_encode_simple_pointer(enc, pRenderPassBegin))
+ vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);
+ if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))
+ vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);
+}
+
+static inline size_t vn_sizeof_vkCmdBeginRenderPass2_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pRenderPassBegin */
+ /* skip pSubpassBeginInfo */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBeginRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT);
+
+ /* skip commandBuffer */
+ /* skip pRenderPassBegin */
+ /* skip pSubpassBeginInfo */
+}
+
+static inline size_t vn_sizeof_vkCmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);
+ if (pSubpassBeginInfo)
+ cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);
+ cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);
+ if (pSubpassEndInfo)
+ cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdNextSubpass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))
+ vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);
+ if (vn_encode_simple_pointer(enc, pSubpassEndInfo))
+ vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);
+}
+
+static inline size_t vn_sizeof_vkCmdNextSubpass2_reply(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pSubpassBeginInfo */
+ /* skip pSubpassEndInfo */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdNextSubpass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT);
+
+ /* skip commandBuffer */
+ /* skip pSubpassBeginInfo */
+ /* skip pSubpassEndInfo */
+}
+
+static inline size_t vn_sizeof_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);
+ if (pSubpassEndInfo)
+ cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdEndRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ if (vn_encode_simple_pointer(enc, pSubpassEndInfo))
+ vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);
+}
+
+static inline size_t vn_sizeof_vkCmdEndRenderPass2_reply(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip pSubpassEndInfo */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdEndRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT);
+
+ /* skip commandBuffer */
+ /* skip pSubpassEndInfo */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+ cmd_size += vn_sizeof_VkBuffer(&countBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);
+ cmd_size += vn_sizeof_uint32_t(&maxDrawCount);
+ cmd_size += vn_sizeof_uint32_t(&stride);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndirectCount(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+ vn_encode_VkBuffer(enc, &countBuffer);
+ vn_encode_VkDeviceSize(enc, &countBufferOffset);
+ vn_encode_uint32_t(enc, &maxDrawCount);
+ vn_encode_uint32_t(enc, &stride);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip countBuffer */
+ /* skip countBufferOffset */
+ /* skip maxDrawCount */
+ /* skip stride */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndirectCount_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip countBuffer */
+ /* skip countBufferOffset */
+ /* skip maxDrawCount */
+ /* skip stride */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkBuffer(&buffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&offset);
+ cmd_size += vn_sizeof_VkBuffer(&countBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);
+ cmd_size += vn_sizeof_uint32_t(&maxDrawCount);
+ cmd_size += vn_sizeof_uint32_t(&stride);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndexedIndirectCount(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkBuffer(enc, &buffer);
+ vn_encode_VkDeviceSize(enc, &offset);
+ vn_encode_VkBuffer(enc, &countBuffer);
+ vn_encode_VkDeviceSize(enc, &countBufferOffset);
+ vn_encode_uint32_t(enc, &maxDrawCount);
+ vn_encode_uint32_t(enc, &stride);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip countBuffer */
+ /* skip countBufferOffset */
+ /* skip maxDrawCount */
+ /* skip stride */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndexedIndirectCount_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT);
+
+ /* skip commandBuffer */
+ /* skip buffer */
+ /* skip offset */
+ /* skip countBuffer */
+ /* skip countBufferOffset */
+ /* skip maxDrawCount */
+ /* skip stride */
+}
+
+static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstBinding);
+ cmd_size += vn_sizeof_uint32_t(&bindingCount);
+ if (pBuffers) {
+ cmd_size += vn_sizeof_array_size(bindingCount);
+ for (uint32_t i = 0; i < bindingCount; i++)
+ cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pOffsets) {
+ cmd_size += vn_sizeof_array_size(bindingCount);
+ cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pSizes) {
+ cmd_size += vn_sizeof_array_size(bindingCount);
+ cmd_size += vn_sizeof_VkDeviceSize_array(pSizes, bindingCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBindTransformFeedbackBuffersEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstBinding);
+ vn_encode_uint32_t(enc, &bindingCount);
+ if (pBuffers) {
+ vn_encode_array_size(enc, bindingCount);
+ for (uint32_t i = 0; i < bindingCount; i++)
+ vn_encode_VkBuffer(enc, &pBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pOffsets) {
+ vn_encode_array_size(enc, bindingCount);
+ vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pSizes) {
+ vn_encode_array_size(enc, bindingCount);
+ vn_encode_VkDeviceSize_array(enc, pSizes, bindingCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstBinding */
+ /* skip bindingCount */
+ /* skip pBuffers */
+ /* skip pOffsets */
+ /* skip pSizes */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBindTransformFeedbackBuffersEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstBinding */
+ /* skip bindingCount */
+ /* skip pBuffers */
+ /* skip pOffsets */
+ /* skip pSizes */
+}
+
+static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);
+ cmd_size += vn_sizeof_uint32_t(&counterBufferCount);
+ if (pCounterBuffers) {
+ cmd_size += vn_sizeof_array_size(counterBufferCount);
+ for (uint32_t i = 0; i < counterBufferCount; i++)
+ cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pCounterBufferOffsets) {
+ cmd_size += vn_sizeof_array_size(counterBufferCount);
+ cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBeginTransformFeedbackEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstCounterBuffer);
+ vn_encode_uint32_t(enc, &counterBufferCount);
+ if (pCounterBuffers) {
+ vn_encode_array_size(enc, counterBufferCount);
+ for (uint32_t i = 0; i < counterBufferCount; i++)
+ vn_encode_VkBuffer(enc, &pCounterBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pCounterBufferOffsets) {
+ vn_encode_array_size(enc, counterBufferCount);
+ vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstCounterBuffer */
+ /* skip counterBufferCount */
+ /* skip pCounterBuffers */
+ /* skip pCounterBufferOffsets */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBeginTransformFeedbackEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstCounterBuffer */
+ /* skip counterBufferCount */
+ /* skip pCounterBuffers */
+ /* skip pCounterBufferOffsets */
+}
+
+static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);
+ cmd_size += vn_sizeof_uint32_t(&counterBufferCount);
+ if (pCounterBuffers) {
+ cmd_size += vn_sizeof_array_size(counterBufferCount);
+ for (uint32_t i = 0; i < counterBufferCount; i++)
+ cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pCounterBufferOffsets) {
+ cmd_size += vn_sizeof_array_size(counterBufferCount);
+ cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdEndTransformFeedbackEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &firstCounterBuffer);
+ vn_encode_uint32_t(enc, &counterBufferCount);
+ if (pCounterBuffers) {
+ vn_encode_array_size(enc, counterBufferCount);
+ for (uint32_t i = 0; i < counterBufferCount; i++)
+ vn_encode_VkBuffer(enc, &pCounterBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pCounterBufferOffsets) {
+ vn_encode_array_size(enc, counterBufferCount);
+ vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip firstCounterBuffer */
+ /* skip counterBufferCount */
+ /* skip pCounterBuffers */
+ /* skip pCounterBufferOffsets */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdEndTransformFeedbackEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip firstCounterBuffer */
+ /* skip counterBufferCount */
+ /* skip pCounterBuffers */
+ /* skip pCounterBufferOffsets */
+}
+
+static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&query);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+ cmd_size += vn_sizeof_uint32_t(&index);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdBeginQueryIndexedEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &query);
+ vn_encode_VkFlags(enc, &flags);
+ vn_encode_uint32_t(enc, &index);
+}
+
+static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip flags */
+ /* skip index */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdBeginQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip flags */
+ /* skip index */
+}
+
+static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&query);
+ cmd_size += vn_sizeof_uint32_t(&index);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdEndQueryIndexedEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &query);
+ vn_encode_uint32_t(enc, &index);
+}
+
+static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip index */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdEndQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip queryPool */
+ /* skip query */
+ /* skip index */
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
+ cmd_size += vn_sizeof_uint32_t(&instanceCount);
+ cmd_size += vn_sizeof_uint32_t(&firstInstance);
+ cmd_size += vn_sizeof_VkBuffer(&counterBuffer);
+ cmd_size += vn_sizeof_VkDeviceSize(&counterBufferOffset);
+ cmd_size += vn_sizeof_uint32_t(&counterOffset);
+ cmd_size += vn_sizeof_uint32_t(&vertexStride);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCmdDrawIndirectByteCountEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkCommandBuffer(enc, &commandBuffer);
+ vn_encode_uint32_t(enc, &instanceCount);
+ vn_encode_uint32_t(enc, &firstInstance);
+ vn_encode_VkBuffer(enc, &counterBuffer);
+ vn_encode_VkDeviceSize(enc, &counterBufferOffset);
+ vn_encode_uint32_t(enc, &counterOffset);
+ vn_encode_uint32_t(enc, &vertexStride);
+}
+
+static inline size_t vn_sizeof_vkCmdDrawIndirectByteCountEXT_reply(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip commandBuffer */
+ /* skip instanceCount */
+ /* skip firstInstance */
+ /* skip counterBuffer */
+ /* skip counterBufferOffset */
+ /* skip counterOffset */
+ /* skip vertexStride */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCmdDrawIndirectByteCountEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT);
+
+ /* skip commandBuffer */
+ /* skip instanceCount */
+ /* skip firstInstance */
+ /* skip counterBuffer */
+ /* skip counterBufferOffset */
+ /* skip counterOffset */
+ /* skip vertexStride */
+}
+
+static inline void vn_submit_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkAllocateCommandBuffers(&submit->command, cmd_flags, device, pAllocateInfo, pCommandBuffers);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateCommandBuffers_reply(device, pAllocateInfo, pCommandBuffers) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkFreeCommandBuffers(&submit->command, cmd_flags, device, commandPool, commandBufferCount, pCommandBuffers);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeCommandBuffers_reply(device, commandPool, commandBufferCount, pCommandBuffers) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkBeginCommandBuffer(commandBuffer, pBeginInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkBeginCommandBuffer(&submit->command, cmd_flags, commandBuffer, pBeginInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBeginCommandBuffer_reply(commandBuffer, pBeginInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEndCommandBuffer(commandBuffer);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEndCommandBuffer(&submit->command, cmd_flags, commandBuffer);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEndCommandBuffer_reply(commandBuffer) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetCommandBuffer(commandBuffer, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetCommandBuffer(&submit->command, cmd_flags, commandBuffer, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetCommandBuffer_reply(commandBuffer, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBindPipeline(&submit->command, cmd_flags, commandBuffer, pipelineBindPoint, pipeline);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindPipeline_reply(commandBuffer, pipelineBindPoint, pipeline) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetViewport(&submit->command, cmd_flags, commandBuffer, firstViewport, viewportCount, pViewports);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetViewport_reply(commandBuffer, firstViewport, viewportCount, pViewports) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetScissor(&submit->command, cmd_flags, commandBuffer, firstScissor, scissorCount, pScissors);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetScissor_reply(commandBuffer, firstScissor, scissorCount, pScissors) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetLineWidth(commandBuffer, lineWidth);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetLineWidth(&submit->command, cmd_flags, commandBuffer, lineWidth);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetLineWidth_reply(commandBuffer, lineWidth) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetDepthBias(&submit->command, cmd_flags, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBias_reply(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const float blendConstants[4], struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetBlendConstants(commandBuffer, blendConstants);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetBlendConstants(&submit->command, cmd_flags, commandBuffer, blendConstants);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetBlendConstants_reply(commandBuffer, blendConstants) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetDepthBounds(&submit->command, cmd_flags, commandBuffer, minDepthBounds, maxDepthBounds);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBounds_reply(commandBuffer, minDepthBounds, maxDepthBounds) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetStencilCompareMask(&submit->command, cmd_flags, commandBuffer, faceMask, compareMask);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilCompareMask_reply(commandBuffer, faceMask, compareMask) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetStencilWriteMask(&submit->command, cmd_flags, commandBuffer, faceMask, writeMask);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilWriteMask_reply(commandBuffer, faceMask, writeMask) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetStencilReference(commandBuffer, faceMask, reference);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetStencilReference(&submit->command, cmd_flags, commandBuffer, faceMask, reference);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilReference_reply(commandBuffer, faceMask, reference) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBindDescriptorSets(&submit->command, cmd_flags, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindDescriptorSets_reply(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBindIndexBuffer(&submit->command, cmd_flags, commandBuffer, buffer, offset, indexType);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindIndexBuffer_reply(commandBuffer, buffer, offset, indexType) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBindVertexBuffers(&submit->command, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindVertexBuffers_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDraw(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDraw(&submit->command, cmd_flags, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDraw_reply(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndexed(&submit->command, cmd_flags, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexed_reply(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndexedIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDispatch(&submit->command, cmd_flags, commandBuffer, groupCountX, groupCountY, groupCountZ);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatch_reply(commandBuffer, groupCountX, groupCountY, groupCountZ) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDispatchIndirect(commandBuffer, buffer, offset);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDispatchIndirect(&submit->command, cmd_flags, commandBuffer, buffer, offset);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchIndirect_reply(commandBuffer, buffer, offset) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdCopyBuffer(&submit->command, cmd_flags, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBuffer_reply(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdCopyImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBlitImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBlitImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdCopyBufferToImage(&submit->command, cmd_flags, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBufferToImage_reply(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdCopyImageToBuffer(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImageToBuffer_reply(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdUpdateBuffer(&submit->command, cmd_flags, commandBuffer, dstBuffer, dstOffset, dataSize, pData);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdUpdateBuffer_reply(commandBuffer, dstBuffer, dstOffset, dataSize, pData) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdFillBuffer(&submit->command, cmd_flags, commandBuffer, dstBuffer, dstOffset, size, data);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdFillBuffer_reply(commandBuffer, dstBuffer, dstOffset, size, data) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdClearColorImage(&submit->command, cmd_flags, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearColorImage_reply(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdClearDepthStencilImage(&submit->command, cmd_flags, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearDepthStencilImage_reply(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdClearAttachments(&submit->command, cmd_flags, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearAttachments_reply(commandBuffer, attachmentCount, pAttachments, rectCount, pRects) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdResolveImage(&submit->command, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResolveImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetEvent(commandBuffer, event, stageMask);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetEvent(&submit->command, cmd_flags, commandBuffer, event, stageMask);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetEvent_reply(commandBuffer, event, stageMask) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdResetEvent(commandBuffer, event, stageMask);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdResetEvent(&submit->command, cmd_flags, commandBuffer, event, stageMask);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetEvent_reply(commandBuffer, event, stageMask) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdWaitEvents(&submit->command, cmd_flags, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdWaitEvents_reply(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdPipelineBarrier(&submit->command, cmd_flags, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPipelineBarrier_reply(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBeginQuery(&submit->command, cmd_flags, commandBuffer, queryPool, query, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQuery_reply(commandBuffer, queryPool, query, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdEndQuery(commandBuffer, queryPool, query);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdEndQuery(&submit->command, cmd_flags, commandBuffer, queryPool, query);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQuery_reply(commandBuffer, queryPool, query) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdResetQueryPool(&submit->command, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetQueryPool_reply(commandBuffer, queryPool, firstQuery, queryCount) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdWriteTimestamp(&submit->command, cmd_flags, commandBuffer, pipelineStage, queryPool, query);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdWriteTimestamp_reply(commandBuffer, pipelineStage, queryPool, query) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdCopyQueryPoolResults(&submit->command, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyQueryPoolResults_reply(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdPushConstants(&submit->command, cmd_flags, commandBuffer, layout, stageFlags, offset, size, pValues);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushConstants_reply(commandBuffer, layout, stageFlags, offset, size, pValues) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBeginRenderPass(&submit->command, cmd_flags, commandBuffer, pRenderPassBegin, contents);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass_reply(commandBuffer, pRenderPassBegin, contents) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdNextSubpass(commandBuffer, contents);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdNextSubpass(&submit->command, cmd_flags, commandBuffer, contents);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass_reply(commandBuffer, contents) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdEndRenderPass(commandBuffer);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdEndRenderPass(&submit->command, cmd_flags, commandBuffer);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass_reply(commandBuffer) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdExecuteCommands(&submit->command, cmd_flags, commandBuffer, commandBufferCount, pCommandBuffers);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdExecuteCommands_reply(commandBuffer, commandBufferCount, pCommandBuffers) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdSetDeviceMask(commandBuffer, deviceMask);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdSetDeviceMask(&submit->command, cmd_flags, commandBuffer, deviceMask);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDeviceMask_reply(commandBuffer, deviceMask) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDispatchBase(&submit->command, cmd_flags, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchBase_reply(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBeginRenderPass2(&submit->command, cmd_flags, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass2_reply(commandBuffer, pRenderPassBegin, pSubpassBeginInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdNextSubpass2(&submit->command, cmd_flags, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass2_reply(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdEndRenderPass2(&submit->command, cmd_flags, commandBuffer, pSubpassEndInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass2_reply(commandBuffer, pSubpassEndInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndirectCount(&submit->command, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndexedIndirectCount(&submit->command, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBindTransformFeedbackBuffersEXT(&submit->command, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBeginTransformFeedbackEXT(&submit->command, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdEndTransformFeedbackEXT(&submit->command, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdBeginQueryIndexedEXT(&submit->command, cmd_flags, commandBuffer, queryPool, query, flags, index);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(commandBuffer, queryPool, query, flags, index) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdEndQueryIndexedEXT(&submit->command, cmd_flags, commandBuffer, queryPool, query, index);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQueryIndexedEXT_reply(commandBuffer, queryPool, query, index) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCmdDrawIndirectByteCountEXT(&submit->command, cmd_flags, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectByteCountEXT_reply(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pCommandBuffers, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkAllocateCommandBuffers_reply(&submit.reply, device, pAllocateInfo, pCommandBuffers);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateCommandBuffers(vn_instance, 0, device, pAllocateInfo, pCommandBuffers, &submit);
+}
+
+static inline void vn_call_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, commandBufferCount, pCommandBuffers, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkFreeCommandBuffers_reply(&submit.reply, device, commandPool, commandBufferCount, pCommandBuffers);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeCommandBuffers(vn_instance, 0, device, commandPool, commandBufferCount, pCommandBuffers, &submit);
+}
+
+static inline VkResult vn_call_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBeginCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pBeginInfo, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkBeginCommandBuffer_reply(&submit.reply, commandBuffer, pBeginInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBeginCommandBuffer(vn_instance, 0, commandBuffer, pBeginInfo, &submit);
+}
+
+static inline VkResult vn_call_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEndCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEndCommandBuffer_reply(&submit.reply, commandBuffer);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEndCommandBuffer(vn_instance, 0, commandBuffer, &submit);
+}
+
+static inline VkResult vn_call_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, flags, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkResetCommandBuffer_reply(&submit.reply, commandBuffer, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetCommandBuffer(vn_instance, 0, commandBuffer, flags, &submit);
+}
+
+static inline void vn_call_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindPipeline(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, pipeline, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBindPipeline_reply(&submit.reply, commandBuffer, pipelineBindPoint, pipeline);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindPipeline(vn_instance, 0, commandBuffer, pipelineBindPoint, pipeline, &submit);
+}
+
+static inline void vn_call_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetViewport(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstViewport, viewportCount, pViewports, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetViewport_reply(&submit.reply, commandBuffer, firstViewport, viewportCount, pViewports);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetViewport(vn_instance, 0, commandBuffer, firstViewport, viewportCount, pViewports, &submit);
+}
+
+static inline void vn_call_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetScissor(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstScissor, scissorCount, pScissors, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetScissor_reply(&submit.reply, commandBuffer, firstScissor, scissorCount, pScissors);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetScissor(vn_instance, 0, commandBuffer, firstScissor, scissorCount, pScissors, &submit);
+}
+
+static inline void vn_call_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetLineWidth(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, lineWidth, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetLineWidth_reply(&submit.reply, commandBuffer, lineWidth);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetLineWidth(vn_instance, 0, commandBuffer, lineWidth, &submit);
+}
+
+static inline void vn_call_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDepthBias(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetDepthBias_reply(&submit.reply, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDepthBias(vn_instance, 0, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);
+}
+
+static inline void vn_call_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetBlendConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, blendConstants, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetBlendConstants_reply(&submit.reply, commandBuffer, blendConstants);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetBlendConstants(vn_instance, 0, commandBuffer, blendConstants, &submit);
+}
+
+static inline void vn_call_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDepthBounds(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, minDepthBounds, maxDepthBounds, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetDepthBounds_reply(&submit.reply, commandBuffer, minDepthBounds, maxDepthBounds);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDepthBounds(vn_instance, 0, commandBuffer, minDepthBounds, maxDepthBounds, &submit);
+}
+
+static inline void vn_call_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilCompareMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, compareMask, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetStencilCompareMask_reply(&submit.reply, commandBuffer, faceMask, compareMask);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilCompareMask(vn_instance, 0, commandBuffer, faceMask, compareMask, &submit);
+}
+
+static inline void vn_call_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilWriteMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, writeMask, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetStencilWriteMask_reply(&submit.reply, commandBuffer, faceMask, writeMask);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilWriteMask(vn_instance, 0, commandBuffer, faceMask, writeMask, &submit);
+}
+
+static inline void vn_call_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilReference(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, reference, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetStencilReference_reply(&submit.reply, commandBuffer, faceMask, reference);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetStencilReference(vn_instance, 0, commandBuffer, faceMask, reference, &submit);
+}
+
+static inline void vn_call_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBindDescriptorSets_reply(&submit.reply, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBindDescriptorSets(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindDescriptorSets(vn_instance, 0, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);
+}
+
+static inline void vn_call_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindIndexBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, indexType, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBindIndexBuffer_reply(&submit.reply, commandBuffer, buffer, offset, indexType);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindIndexBuffer(vn_instance, 0, commandBuffer, buffer, offset, indexType, &submit);
+}
+
+static inline void vn_call_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindVertexBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBindVertexBuffers_reply(&submit.reply, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindVertexBuffers(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);
+}
+
+static inline void vn_call_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDraw(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDraw_reply(&submit.reply, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDraw(vn_instance, 0, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexed(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndexed_reply(&submit.reply, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndexed(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexed(vn_instance, 0, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndirect_reply(&submit.reply, commandBuffer, buffer, offset, drawCount, stride);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexedIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndexedIndirect_reply(&submit.reply, commandBuffer, buffer, offset, drawCount, stride);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexedIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);
+}
+
+static inline void vn_call_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatch(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDispatch_reply(&submit.reply, commandBuffer, groupCountX, groupCountY, groupCountZ);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatch(vn_instance, 0, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);
+}
+
+static inline void vn_call_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatchIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDispatchIndirect_reply(&submit.reply, commandBuffer, buffer, offset);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatchIndirect(vn_instance, 0, commandBuffer, buffer, offset, &submit);
+}
+
+static inline void vn_call_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdCopyBuffer_reply(&submit.reply, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyBuffer(vn_instance, 0, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);
+}
+
+static inline void vn_call_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdCopyImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdCopyImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+}
+
+static inline void vn_call_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBlitImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBlitImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBlitImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBlitImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);
+}
+
+static inline void vn_call_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyBufferToImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdCopyBufferToImage_reply(&submit.reply, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyBufferToImage(vn_instance, 0, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+}
+
+static inline void vn_call_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyImageToBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdCopyImageToBuffer_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyImageToBuffer(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);
+}
+
+static inline void vn_call_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdUpdateBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdUpdateBuffer_reply(&submit.reply, commandBuffer, dstBuffer, dstOffset, dataSize, pData);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdUpdateBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);
+}
+
+static inline void vn_call_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdFillBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, size, data, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdFillBuffer_reply(&submit.reply, commandBuffer, dstBuffer, dstOffset, size, data);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdFillBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, size, data, &submit);
+}
+
+static inline void vn_call_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearColorImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdClearColorImage_reply(&submit.reply, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdClearColorImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearColorImage(vn_instance, 0, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);
+}
+
+static inline void vn_call_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearDepthStencilImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdClearDepthStencilImage_reply(&submit.reply, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdClearDepthStencilImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearDepthStencilImage(vn_instance, 0, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);
+}
+
+static inline void vn_call_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearAttachments(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdClearAttachments_reply(&submit.reply, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdClearAttachments(vn_instance, 0, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);
+}
+
+static inline void vn_call_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResolveImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdResolveImage_reply(&submit.reply, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdResolveImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResolveImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);
+}
+
+static inline void vn_call_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetEvent_reply(&submit.reply, commandBuffer, event, stageMask);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);
+}
+
+static inline void vn_call_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdResetEvent_reply(&submit.reply, commandBuffer, event, stageMask);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);
+}
+
+static inline void vn_call_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdWaitEvents(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdWaitEvents_reply(&submit.reply, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdWaitEvents(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdWaitEvents(vn_instance, 0, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
+}
+
+static inline void vn_call_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdPipelineBarrier(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdPipelineBarrier_reply(&submit.reply, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdPipelineBarrier(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdPipelineBarrier(vn_instance, 0, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);
+}
+
+static inline void vn_call_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBeginQuery_reply(&submit.reply, commandBuffer, queryPool, query, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginQuery(vn_instance, 0, commandBuffer, queryPool, query, flags, &submit);
+}
+
+static inline void vn_call_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdEndQuery_reply(&submit.reply, commandBuffer, queryPool, query);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndQuery(vn_instance, 0, commandBuffer, queryPool, query, &submit);
+}
+
+static inline void vn_call_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResetQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdResetQueryPool_reply(&submit.reply, commandBuffer, queryPool, firstQuery, queryCount);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdResetQueryPool(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, &submit);
+}
+
+static inline void vn_call_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdWriteTimestamp(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineStage, queryPool, query, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdWriteTimestamp_reply(&submit.reply, commandBuffer, pipelineStage, queryPool, query);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdWriteTimestamp(vn_instance, 0, commandBuffer, pipelineStage, queryPool, query, &submit);
+}
+
+static inline void vn_call_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyQueryPoolResults(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdCopyQueryPoolResults_reply(&submit.reply, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdCopyQueryPoolResults(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdCopyQueryPoolResults(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);
+}
+
+static inline void vn_call_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdPushConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdPushConstants_reply(&submit.reply, commandBuffer, layout, stageFlags, offset, size, pValues);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdPushConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdPushConstants(vn_instance, 0, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);
+}
+
+static inline void vn_call_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, contents, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBeginRenderPass_reply(&submit.reply, commandBuffer, pRenderPassBegin, contents);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginRenderPass(vn_instance, 0, commandBuffer, pRenderPassBegin, contents, &submit);
+}
+
+static inline void vn_call_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdNextSubpass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, contents, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdNextSubpass_reply(&submit.reply, commandBuffer, contents);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdNextSubpass(vn_instance, 0, commandBuffer, contents, &submit);
+}
+
+static inline void vn_call_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdEndRenderPass_reply(&submit.reply, commandBuffer);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndRenderPass(vn_instance, 0, commandBuffer, &submit);
+}
+
+static inline void vn_call_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdExecuteCommands(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, commandBufferCount, pCommandBuffers, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdExecuteCommands_reply(&submit.reply, commandBuffer, commandBufferCount, pCommandBuffers);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdExecuteCommands(vn_instance, 0, commandBuffer, commandBufferCount, pCommandBuffers, &submit);
+}
+
+static inline void vn_call_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDeviceMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, deviceMask, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdSetDeviceMask_reply(&submit.reply, commandBuffer, deviceMask);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdSetDeviceMask(vn_instance, 0, commandBuffer, deviceMask, &submit);
+}
+
+static inline void vn_call_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatchBase(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDispatchBase_reply(&submit.reply, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDispatchBase(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDispatchBase(vn_instance, 0, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);
+}
+
+static inline void vn_call_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBeginRenderPass2_reply(&submit.reply, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginRenderPass2(vn_instance, 0, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);
+}
+
+static inline void vn_call_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdNextSubpass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdNextSubpass2_reply(&submit.reply, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdNextSubpass2(vn_instance, 0, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);
+}
+
+static inline void vn_call_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassEndInfo, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdEndRenderPass2_reply(&submit.reply, commandBuffer, pSubpassEndInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndRenderPass2(vn_instance, 0, commandBuffer, pSubpassEndInfo, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndirectCount_reply(&submit.reply, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndexedIndirectCount_reply(&submit.reply, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndexedIndirectCount(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);
+}
+
+static inline void vn_call_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBindTransformFeedbackBuffersEXT_reply(&submit.reply, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBindTransformFeedbackBuffersEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);
+}
+
+static inline void vn_call_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBeginTransformFeedbackEXT_reply(&submit.reply, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
+}
+
+static inline void vn_call_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdEndTransformFeedbackEXT_reply(&submit.reply, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);
+}
+
+static inline void vn_call_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, index, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdBeginQueryIndexedEXT_reply(&submit.reply, commandBuffer, queryPool, query, flags, index);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, flags, index, &submit);
+}
+
+static inline void vn_call_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, index, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdEndQueryIndexedEXT_reply(&submit.reply, commandBuffer, queryPool, query, index);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, index, &submit);
+}
+
+static inline void vn_call_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCmdDrawIndirectByteCountEXT_reply(&submit.reply, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCmdDrawIndirectByteCountEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, 0, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_command_pool.h b/src/virtio/venus-protocol/vn_protocol_driver_command_pool.h
new file mode 100644
index 00000000000..e3f332af708
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_command_pool.h
@@ -0,0 +1,449 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_COMMAND_POOL_H
+#define VN_PROTOCOL_DRIVER_COMMAND_POOL_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkCommandPoolCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkCommandPoolCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkCommandPoolCreateInfo_self(const VkCommandPoolCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkCommandPoolCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkCommandPoolCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkCommandPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkCommandPoolCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndex);
+}
+
+static inline void
+vn_encode_VkCommandPoolCreateInfo(struct vn_cs_encoder *enc, const VkCommandPoolCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO });
+ vn_encode_VkCommandPoolCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkCommandPoolCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkCommandPoolCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pCommandPool);
+ if (pCommandPool)
+ cmd_size += vn_sizeof_VkCommandPool(pCommandPool);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkCommandPoolCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pCommandPool))
+ vn_encode_VkCommandPool(enc, pCommandPool);
+}
+
+static inline size_t vn_sizeof_vkCreateCommandPool_reply(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pCommandPool);
+ if (pCommandPool)
+ cmd_size += vn_sizeof_VkCommandPool(pCommandPool);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateCommandPool_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkCommandPool(dec, pCommandPool);
+ } else {
+ pCommandPool = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkCommandPool(&commandPool);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkCommandPool(enc, &commandPool);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyCommandPool_reply(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyCommandPool_EXT);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkCommandPool(&commandPool);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkCommandPool(enc, &commandPool);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkResetCommandPool_reply(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip commandPool */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkResetCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetCommandPool_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip commandPool */
+ /* skip flags */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkCommandPool(&commandPool);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkTrimCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkCommandPool(enc, &commandPool);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkTrimCommandPool_reply(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkTrimCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkTrimCommandPool_EXT);
+
+ /* skip device */
+ /* skip commandPool */
+ /* skip flags */
+}
+
+static inline void vn_submit_vkCreateCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateCommandPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pCommandPool);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateCommandPool_reply(device, pCreateInfo, pAllocator, pCommandPool) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyCommandPool(device, commandPool, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyCommandPool(&submit->command, cmd_flags, device, commandPool, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyCommandPool_reply(device, commandPool, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetCommandPool(device, commandPool, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetCommandPool(&submit->command, cmd_flags, device, commandPool, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetCommandPool_reply(device, commandPool, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkTrimCommandPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkTrimCommandPool(device, commandPool, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkTrimCommandPool(&submit->command, cmd_flags, device, commandPool, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkTrimCommandPool_reply(device, commandPool, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateCommandPool(struct vn_instance *vn_instance, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pCommandPool, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateCommandPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pCommandPool);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateCommandPool(struct vn_instance *vn_instance, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateCommandPool(vn_instance, 0, device, pCreateInfo, pAllocator, pCommandPool, &submit);
+}
+
+static inline void vn_call_vkDestroyCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyCommandPool_reply(&submit.reply, device, commandPool, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyCommandPool(vn_instance, 0, device, commandPool, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkResetCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, flags, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkResetCommandPool_reply(&submit.reply, device, commandPool, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkResetCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetCommandPool(vn_instance, 0, device, commandPool, flags, &submit);
+}
+
+static inline void vn_call_vkTrimCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkTrimCommandPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, flags, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkTrimCommandPool_reply(&submit.reply, device, commandPool, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkTrimCommandPool(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkTrimCommandPool(vn_instance, 0, device, commandPool, flags, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_COMMAND_POOL_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_commands.h b/src/virtio/venus-protocol/vn_protocol_driver_commands.h
deleted file mode 100644
index ff3d7d00b30..00000000000
--- a/src/virtio/venus-protocol/vn_protocol_driver_commands.h
+++ /dev/null
@@ -1,11871 +0,0 @@
-/* This file is generated by venus-protocol git-72189394. */
-
-/*
- * Copyright 2020 Google LLC
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef VN_PROTOCOL_DRIVER_COMMANDS_H
-#define VN_PROTOCOL_DRIVER_COMMANDS_H
-
-#include "vn_protocol_driver_structs.h"
-
-/*
- * These commands are not included
- *
- * vkGetDeviceProcAddr
- * vkGetInstanceProcAddr
- * vkMapMemory
- * vkUpdateDescriptorSetWithTemplate
- */
-
-static inline size_t vn_sizeof_vkCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkInstanceCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pInstance);
- if (pInstance)
- cmd_size += vn_sizeof_VkInstance(pInstance);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateInstance(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkInstanceCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pInstance))
- vn_encode_VkInstance(enc, pInstance);
-}
-
-static inline size_t vn_sizeof_vkCreateInstance_reply(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pInstance);
- if (pInstance)
- cmd_size += vn_sizeof_VkInstance(pInstance);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateInstance_reply(struct vn_cs_decoder *dec, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateInstance_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkInstance(dec, pInstance);
- } else {
- pInstance = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkInstance(&instance);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyInstance(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkInstance(enc, &instance);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyInstance_reply(VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip instance */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyInstance_reply(struct vn_cs_decoder *dec, VkInstance instance, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyInstance_EXT);
-
- /* skip instance */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkInstance(&instance);
- cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);
- 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_VkPhysicalDevice(&pPhysicalDevices[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumeratePhysicalDevices(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkInstance(enc, &instance);
- 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_VkPhysicalDevice(enc, &pPhysicalDevices[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumeratePhysicalDevices_reply(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip instance */
- cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);
- 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_VkPhysicalDevice(&pPhysicalDevices[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumeratePhysicalDevices_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip instance */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPhysicalDeviceCount);
- } else {
- pPhysicalDeviceCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPhysicalDeviceCount);
- for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)
- vn_decode_VkPhysicalDevice(dec, &pPhysicalDevices[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pPhysicalDevices = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceProperties_partial(pProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pProperties))
- vn_encode_VkPhysicalDeviceProperties_partial(enc, pProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceProperties(pProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceProperties(dec, pProperties);
- } else {
- pProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
- 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_VkQueueFamilyProperties_partial(&pQueueFamilyProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- 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_VkQueueFamilyProperties_partial(enc, &pQueueFamilyProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
- 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_VkQueueFamilyProperties(&pQueueFamilyProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);
- } else {
- pQueueFamilyPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pQueueFamilyPropertyCount);
- for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)
- vn_decode_VkQueueFamilyProperties(dec, &pQueueFamilyProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pQueueFamilyProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
- if (pMemoryProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(pMemoryProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pMemoryProperties))
- vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, pMemoryProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
- if (pMemoryProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties(pMemoryProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceMemoryProperties(dec, pMemoryProperties);
- } else {
- pMemoryProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pFeatures);
- if (pFeatures)
- cmd_size += vn_sizeof_VkPhysicalDeviceFeatures_partial(pFeatures);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pFeatures))
- vn_encode_VkPhysicalDeviceFeatures_partial(enc, pFeatures);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pFeatures);
- if (pFeatures)
- cmd_size += vn_sizeof_VkPhysicalDeviceFeatures(pFeatures);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceFeatures_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceFeatures(dec, pFeatures);
- } else {
- pFeatures = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_VkFormat(&format);
- cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
- if (pFormatProperties)
- cmd_size += vn_sizeof_VkFormatProperties_partial(pFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- vn_encode_VkFormat(enc, &format);
- if (vn_encode_simple_pointer(enc, pFormatProperties))
- vn_encode_VkFormatProperties_partial(enc, pFormatProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip format */
- cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
- if (pFormatProperties)
- cmd_size += vn_sizeof_VkFormatProperties(pFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT);
-
- /* skip physicalDevice */
- /* skip format */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkFormatProperties(dec, pFormatProperties);
- } else {
- pFormatProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_VkFormat(&format);
- cmd_size += vn_sizeof_VkImageType(&type);
- cmd_size += vn_sizeof_VkImageTiling(&tiling);
- cmd_size += vn_sizeof_VkFlags(&usage);
- cmd_size += vn_sizeof_VkFlags(&flags);
- cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
- if (pImageFormatProperties)
- cmd_size += vn_sizeof_VkImageFormatProperties_partial(pImageFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- vn_encode_VkFormat(enc, &format);
- vn_encode_VkImageType(enc, &type);
- vn_encode_VkImageTiling(enc, &tiling);
- vn_encode_VkFlags(enc, &usage);
- vn_encode_VkFlags(enc, &flags);
- if (vn_encode_simple_pointer(enc, pImageFormatProperties))
- vn_encode_VkImageFormatProperties_partial(enc, pImageFormatProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip physicalDevice */
- /* skip format */
- /* skip type */
- /* skip tiling */
- /* skip usage */
- /* skip flags */
- cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
- if (pImageFormatProperties)
- cmd_size += vn_sizeof_VkImageFormatProperties(pImageFormatProperties);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip physicalDevice */
- /* skip format */
- /* skip type */
- /* skip tiling */
- /* skip usage */
- /* skip flags */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkImageFormatProperties(dec, pImageFormatProperties);
- } else {
- pImageFormatProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkDeviceCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pDevice);
- if (pDevice)
- cmd_size += vn_sizeof_VkDevice(pDevice);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkDeviceCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pDevice))
- vn_encode_VkDevice(enc, pDevice);
-}
-
-static inline size_t vn_sizeof_vkCreateDevice_reply(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip physicalDevice */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pDevice);
- if (pDevice)
- cmd_size += vn_sizeof_VkDevice(pDevice);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateDevice_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateDevice_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip physicalDevice */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDevice(dec, pDevice);
- } else {
- pDevice = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyDevice_reply(VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyDevice_reply(struct vn_cs_decoder *dec, VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyDevice_EXT);
-
- /* skip device */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceVersion(uint32_t* pApiVersion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_simple_pointer(pApiVersion); /* out */
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumerateInstanceVersion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t* pApiVersion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_simple_pointer(enc, pApiVersion); /* out */
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceVersion_reply(uint32_t* pApiVersion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- cmd_size += vn_sizeof_simple_pointer(pApiVersion);
- if (pApiVersion)
- cmd_size += vn_sizeof_uint32_t(pApiVersion);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumerateInstanceVersion_reply(struct vn_cs_decoder *dec, uint32_t* pApiVersion)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pApiVersion);
- } else {
- pApiVersion = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkLayerProperties_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumerateInstanceLayerProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- 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_VkLayerProperties_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties_reply(uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkLayerProperties(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumerateInstanceLayerProperties_reply(struct vn_cs_decoder *dec, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkLayerProperties(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- 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);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkExtensionProperties_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumerateInstanceExtensionProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- 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);
- } else {
- vn_encode_array_size(enc, 0);
- }
- 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_VkExtensionProperties_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties_reply(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip pLayerName */
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkExtensionProperties(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumerateInstanceExtensionProperties_reply(struct vn_cs_decoder *dec, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip pLayerName */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkExtensionProperties(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkLayerProperties_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumerateDeviceLayerProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- 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_VkLayerProperties_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkLayerProperties(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumerateDeviceLayerProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkLayerProperties(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- 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);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkExtensionProperties_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumerateDeviceExtensionProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- 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);
- } else {
- vn_encode_array_size(enc, 0);
- }
- 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_VkExtensionProperties_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip physicalDevice */
- /* skip pLayerName */
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkExtensionProperties(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumerateDeviceExtensionProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip physicalDevice */
- /* skip pLayerName */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkExtensionProperties(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&queueFamilyIndex);
- cmd_size += vn_sizeof_uint32_t(&queueIndex);
- cmd_size += vn_sizeof_simple_pointer(pQueue);
- if (pQueue)
- cmd_size += vn_sizeof_VkQueue(pQueue);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDeviceQueue(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &queueFamilyIndex);
- vn_encode_uint32_t(enc, &queueIndex);
- if (vn_encode_simple_pointer(enc, pQueue))
- vn_encode_VkQueue(enc, pQueue);
-}
-
-static inline size_t vn_sizeof_vkGetDeviceQueue_reply(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip queueFamilyIndex */
- /* skip queueIndex */
- cmd_size += vn_sizeof_simple_pointer(pQueue);
- if (pQueue)
- cmd_size += vn_sizeof_VkQueue(pQueue);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetDeviceQueue_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue_EXT);
-
- /* skip device */
- /* skip queueFamilyIndex */
- /* skip queueIndex */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkQueue(dec, pQueue);
- } else {
- pQueue = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkQueue(&queue);
- cmd_size += vn_sizeof_uint32_t(&submitCount);
- if (pSubmits) {
- cmd_size += vn_sizeof_array_size(submitCount);
- for (uint32_t i = 0; i < submitCount; i++)
- cmd_size += vn_sizeof_VkSubmitInfo(&pSubmits[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkFence(&fence);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkQueueSubmit(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkQueue(enc, &queue);
- vn_encode_uint32_t(enc, &submitCount);
- if (pSubmits) {
- vn_encode_array_size(enc, submitCount);
- for (uint32_t i = 0; i < submitCount; i++)
- vn_encode_VkSubmitInfo(enc, &pSubmits[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkFence(enc, &fence);
-}
-
-static inline size_t vn_sizeof_vkQueueSubmit_reply(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip queue */
- /* skip submitCount */
- /* skip pSubmits */
- /* skip fence */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkQueueSubmit_reply(struct vn_cs_decoder *dec, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkQueueSubmit_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip queue */
- /* skip submitCount */
- /* skip pSubmits */
- /* skip fence */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkQueueWaitIdle(VkQueue queue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkQueue(&queue);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkQueueWaitIdle(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkQueue(enc, &queue);
-}
-
-static inline size_t vn_sizeof_vkQueueWaitIdle_reply(VkQueue queue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip queue */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkQueueWaitIdle_reply(struct vn_cs_decoder *dec, VkQueue queue)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkQueueWaitIdle_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip queue */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDeviceWaitIdle(VkDevice device)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDeviceWaitIdle(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
-}
-
-static inline size_t vn_sizeof_vkDeviceWaitIdle_reply(VkDevice device)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkDeviceWaitIdle_reply(struct vn_cs_decoder *dec, VkDevice device)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
- if (pAllocateInfo)
- cmd_size += vn_sizeof_VkMemoryAllocateInfo(pAllocateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pMemory);
- if (pMemory)
- cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkAllocateMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pAllocateInfo))
- vn_encode_VkMemoryAllocateInfo(enc, pAllocateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pMemory))
- vn_encode_VkDeviceMemory(enc, pMemory);
-}
-
-static inline size_t vn_sizeof_vkAllocateMemory_reply(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pAllocateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pMemory);
- if (pMemory)
- cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkAllocateMemory_reply(struct vn_cs_decoder *dec, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkAllocateMemory_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pAllocateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDeviceMemory(dec, pMemory);
- } else {
- pMemory = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDeviceMemory(&memory);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkFreeMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDeviceMemory(enc, &memory);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkFreeMemory_reply(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip memory */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkFreeMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkFreeMemory_EXT);
-
- /* skip device */
- /* skip memory */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDeviceMemory(&memory);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkUnmapMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDeviceMemory(enc, &memory);
-}
-
-static inline size_t vn_sizeof_vkUnmapMemory_reply(VkDevice device, VkDeviceMemory memory)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip memory */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkUnmapMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkUnmapMemory_EXT);
-
- /* skip device */
- /* skip memory */
-}
-
-static inline size_t vn_sizeof_vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
- if (pMemoryRanges) {
- cmd_size += vn_sizeof_array_size(memoryRangeCount);
- for (uint32_t i = 0; i < memoryRangeCount; i++)
- cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkFlushMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &memoryRangeCount);
- if (pMemoryRanges) {
- vn_encode_array_size(enc, memoryRangeCount);
- for (uint32_t i = 0; i < memoryRangeCount; i++)
- vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkFlushMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip memoryRangeCount */
- /* skip pMemoryRanges */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkFlushMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip memoryRangeCount */
- /* skip pMemoryRanges */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
- if (pMemoryRanges) {
- cmd_size += vn_sizeof_array_size(memoryRangeCount);
- for (uint32_t i = 0; i < memoryRangeCount; i++)
- cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkInvalidateMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &memoryRangeCount);
- if (pMemoryRanges) {
- vn_encode_array_size(enc, memoryRangeCount);
- for (uint32_t i = 0; i < memoryRangeCount; i++)
- vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip memoryRangeCount */
- /* skip pMemoryRanges */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkInvalidateMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip memoryRangeCount */
- /* skip pMemoryRanges */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDeviceMemory(&memory);
- cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes); /* out */
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDeviceMemoryCommitment(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDeviceMemory(enc, &memory);
- vn_encode_simple_pointer(enc, pCommittedMemoryInBytes); /* out */
-}
-
-static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment_reply(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip memory */
- cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes);
- if (pCommittedMemoryInBytes)
- cmd_size += vn_sizeof_VkDeviceSize(pCommittedMemoryInBytes);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetDeviceMemoryCommitment_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT);
-
- /* skip device */
- /* skip memory */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDeviceSize(dec, pCommittedMemoryInBytes);
- } else {
- pCommittedMemoryInBytes = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements_partial(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetBufferMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkBuffer(enc, &buffer);
- if (vn_encode_simple_pointer(enc, pMemoryRequirements))
- vn_encode_VkMemoryRequirements_partial(enc, pMemoryRequirements);
-}
-
-static inline size_t vn_sizeof_vkGetBufferMemoryRequirements_reply(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip buffer */
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetBufferMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT);
-
- /* skip device */
- /* skip buffer */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkMemoryRequirements(dec, pMemoryRequirements);
- } else {
- pMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceMemory(&memory);
- cmd_size += vn_sizeof_VkDeviceSize(&memoryOffset);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkBindBufferMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceMemory(enc, &memory);
- vn_encode_VkDeviceSize(enc, &memoryOffset);
-}
-
-static inline size_t vn_sizeof_vkBindBufferMemory_reply(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip buffer */
- /* skip memory */
- /* skip memoryOffset */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkBindBufferMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkBindBufferMemory_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip buffer */
- /* skip memory */
- /* skip memoryOffset */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements_partial(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- if (vn_encode_simple_pointer(enc, pMemoryRequirements))
- vn_encode_VkMemoryRequirements_partial(enc, pMemoryRequirements);
-}
-
-static inline size_t vn_sizeof_vkGetImageMemoryRequirements_reply(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip image */
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetImageMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT);
-
- /* skip device */
- /* skip image */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkMemoryRequirements(dec, pMemoryRequirements);
- } else {
- pMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_VkDeviceMemory(&memory);
- cmd_size += vn_sizeof_VkDeviceSize(&memoryOffset);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkBindImageMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- vn_encode_VkDeviceMemory(enc, &memory);
- vn_encode_VkDeviceSize(enc, &memoryOffset);
-}
-
-static inline size_t vn_sizeof_vkBindImageMemory_reply(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip image */
- /* skip memory */
- /* skip memoryOffset */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkBindImageMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip image */
- /* skip memory */
- /* skip memoryOffset */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
- 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_VkSparseImageMemoryRequirements_partial(&pSparseMemoryRequirements[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageSparseMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- 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_VkSparseImageMemoryRequirements_partial(enc, &pSparseMemoryRequirements[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements_reply(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip image */
- cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
- 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_VkSparseImageMemoryRequirements(&pSparseMemoryRequirements[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetImageSparseMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT);
-
- /* skip device */
- /* skip image */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
- } else {
- pSparseMemoryRequirementCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
- for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
- vn_decode_VkSparseImageMemoryRequirements(dec, &pSparseMemoryRequirements[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pSparseMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_VkFormat(&format);
- cmd_size += vn_sizeof_VkImageType(&type);
- cmd_size += vn_sizeof_VkSampleCountFlagBits(&samples);
- cmd_size += vn_sizeof_VkFlags(&usage);
- cmd_size += vn_sizeof_VkImageTiling(&tiling);
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkSparseImageFormatProperties_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- vn_encode_VkFormat(enc, &format);
- vn_encode_VkImageType(enc, &type);
- vn_encode_VkSampleCountFlagBits(enc, &samples);
- vn_encode_VkFlags(enc, &usage);
- vn_encode_VkImageTiling(enc, &tiling);
- 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_VkSparseImageFormatProperties_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip format */
- /* skip type */
- /* skip samples */
- /* skip usage */
- /* skip tiling */
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkSparseImageFormatProperties(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT);
-
- /* skip physicalDevice */
- /* skip format */
- /* skip type */
- /* skip samples */
- /* skip usage */
- /* skip tiling */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkSparseImageFormatProperties(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkQueue(&queue);
- cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
- if (pBindInfo) {
- cmd_size += vn_sizeof_array_size(bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- cmd_size += vn_sizeof_VkBindSparseInfo(&pBindInfo[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkFence(&fence);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkQueueBindSparse(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkQueue(enc, &queue);
- vn_encode_uint32_t(enc, &bindInfoCount);
- if (pBindInfo) {
- vn_encode_array_size(enc, bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- vn_encode_VkBindSparseInfo(enc, &pBindInfo[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkFence(enc, &fence);
-}
-
-static inline size_t vn_sizeof_vkQueueBindSparse_reply(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip queue */
- /* skip bindInfoCount */
- /* skip pBindInfo */
- /* skip fence */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkQueueBindSparse_reply(struct vn_cs_decoder *dec, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkQueueBindSparse_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip queue */
- /* skip bindInfoCount */
- /* skip pBindInfo */
- /* skip fence */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkFenceCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pFence);
- if (pFence)
- cmd_size += vn_sizeof_VkFence(pFence);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateFence(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkFenceCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pFence))
- vn_encode_VkFence(enc, pFence);
-}
-
-static inline size_t vn_sizeof_vkCreateFence_reply(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pFence);
- if (pFence)
- cmd_size += vn_sizeof_VkFence(pFence);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateFence_reply(struct vn_cs_decoder *dec, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateFence_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkFence(dec, pFence);
- } else {
- pFence = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkFence(&fence);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyFence(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkFence(enc, &fence);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyFence_reply(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip fence */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyFence_reply(struct vn_cs_decoder *dec, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyFence_EXT);
-
- /* skip device */
- /* skip fence */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&fenceCount);
- if (pFences) {
- cmd_size += vn_sizeof_array_size(fenceCount);
- for (uint32_t i = 0; i < fenceCount; i++)
- cmd_size += vn_sizeof_VkFence(&pFences[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetFences(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &fenceCount);
- if (pFences) {
- vn_encode_array_size(enc, fenceCount);
- for (uint32_t i = 0; i < fenceCount; i++)
- vn_encode_VkFence(enc, &pFences[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkResetFences_reply(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip fenceCount */
- /* skip pFences */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkResetFences_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetFences_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip fenceCount */
- /* skip pFences */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetFenceStatus(VkDevice device, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkFence(&fence);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetFenceStatus(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkFence(enc, &fence);
-}
-
-static inline size_t vn_sizeof_vkGetFenceStatus_reply(VkDevice device, VkFence fence)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip fence */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetFenceStatus_reply(struct vn_cs_decoder *dec, VkDevice device, VkFence fence)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetFenceStatus_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip fence */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&fenceCount);
- if (pFences) {
- cmd_size += vn_sizeof_array_size(fenceCount);
- for (uint32_t i = 0; i < fenceCount; i++)
- cmd_size += vn_sizeof_VkFence(&pFences[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkBool32(&waitAll);
- cmd_size += vn_sizeof_uint64_t(&timeout);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkWaitForFences(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &fenceCount);
- if (pFences) {
- vn_encode_array_size(enc, fenceCount);
- for (uint32_t i = 0; i < fenceCount; i++)
- vn_encode_VkFence(enc, &pFences[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkBool32(enc, &waitAll);
- vn_encode_uint64_t(enc, &timeout);
-}
-
-static inline size_t vn_sizeof_vkWaitForFences_reply(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip fenceCount */
- /* skip pFences */
- /* skip waitAll */
- /* skip timeout */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkWaitForFences_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkWaitForFences_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip fenceCount */
- /* skip pFences */
- /* skip waitAll */
- /* skip timeout */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkSemaphoreCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pSemaphore);
- if (pSemaphore)
- cmd_size += vn_sizeof_VkSemaphore(pSemaphore);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateSemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkSemaphoreCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pSemaphore))
- vn_encode_VkSemaphore(enc, pSemaphore);
-}
-
-static inline size_t vn_sizeof_vkCreateSemaphore_reply(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pSemaphore);
- if (pSemaphore)
- cmd_size += vn_sizeof_VkSemaphore(pSemaphore);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateSemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateSemaphore_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkSemaphore(dec, pSemaphore);
- } else {
- pSemaphore = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkSemaphore(&semaphore);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroySemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkSemaphore(enc, &semaphore);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroySemaphore_reply(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip semaphore */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroySemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroySemaphore_EXT);
-
- /* skip device */
- /* skip semaphore */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkEventCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pEvent);
- if (pEvent)
- cmd_size += vn_sizeof_VkEvent(pEvent);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkEventCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pEvent))
- vn_encode_VkEvent(enc, pEvent);
-}
-
-static inline size_t vn_sizeof_vkCreateEvent_reply(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pEvent);
- if (pEvent)
- cmd_size += vn_sizeof_VkEvent(pEvent);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateEvent_reply(struct vn_cs_decoder *dec, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateEvent_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkEvent(dec, pEvent);
- } else {
- pEvent = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkEvent(&event);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkEvent(enc, &event);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyEvent_reply(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip event */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyEvent_EXT);
-
- /* skip device */
- /* skip event */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetEventStatus(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkEvent(&event);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetEventStatus(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkEvent(enc, &event);
-}
-
-static inline size_t vn_sizeof_vkGetEventStatus_reply(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip event */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetEventStatus_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetEventStatus_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip event */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkSetEvent(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkEvent(&event);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkSetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkEvent(enc, &event);
-}
-
-static inline size_t vn_sizeof_vkSetEvent_reply(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip event */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkSetEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkSetEvent_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip event */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkResetEvent(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkEvent(&event);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkEvent(enc, &event);
-}
-
-static inline size_t vn_sizeof_vkResetEvent_reply(VkDevice device, VkEvent event)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip event */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkResetEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetEvent_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip event */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkQueryPoolCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pQueryPool);
- if (pQueryPool)
- cmd_size += vn_sizeof_VkQueryPool(pQueryPool);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkQueryPoolCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pQueryPool))
- vn_encode_VkQueryPool(enc, pQueryPool);
-}
-
-static inline size_t vn_sizeof_vkCreateQueryPool_reply(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pQueryPool);
- if (pQueryPool)
- cmd_size += vn_sizeof_VkQueryPool(pQueryPool);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateQueryPool_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkQueryPool(dec, pQueryPool);
- } else {
- pQueryPool = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkQueryPool(enc, &queryPool);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyQueryPool_reply(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip queryPool */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyQueryPool_EXT);
-
- /* skip device */
- /* skip queryPool */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&firstQuery);
- cmd_size += vn_sizeof_uint32_t(&queryCount);
- cmd_size += vn_sizeof_size_t(&dataSize);
- cmd_size += vn_sizeof_simple_pointer(pData); /* out */
- cmd_size += vn_sizeof_VkDeviceSize(&stride);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetQueryPoolResults(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &firstQuery);
- vn_encode_uint32_t(enc, &queryCount);
- vn_encode_size_t(enc, &dataSize);
- vn_encode_array_size(enc, pData ? dataSize : 0); /* out */
- vn_encode_VkDeviceSize(enc, &stride);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkGetQueryPoolResults_reply(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
- /* skip dataSize */
- if (pData) {
- cmd_size += vn_sizeof_array_size(dataSize);
- cmd_size += vn_sizeof_blob_array(pData, dataSize);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- /* skip stride */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetQueryPoolResults_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
- /* skip dataSize */
- if (vn_peek_array_size(dec)) {
- 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);
- pData = NULL;
- }
- /* skip stride */
- /* skip flags */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&firstQuery);
- cmd_size += vn_sizeof_uint32_t(&queryCount);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &firstQuery);
- vn_encode_uint32_t(enc, &queryCount);
-}
-
-static inline size_t vn_sizeof_vkResetQueryPool_reply(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkResetQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetQueryPool_EXT);
-
- /* skip device */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
-}
-
-static inline size_t vn_sizeof_vkCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkBufferCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pBuffer);
- if (pBuffer)
- cmd_size += vn_sizeof_VkBuffer(pBuffer);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkBufferCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pBuffer))
- vn_encode_VkBuffer(enc, pBuffer);
-}
-
-static inline size_t vn_sizeof_vkCreateBuffer_reply(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pBuffer);
- if (pBuffer)
- cmd_size += vn_sizeof_VkBuffer(pBuffer);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateBuffer_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateBuffer_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkBuffer(dec, pBuffer);
- } else {
- pBuffer = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkBuffer(enc, &buffer);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyBuffer_reply(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip buffer */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyBuffer_reply(struct vn_cs_decoder *dec, VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyBuffer_EXT);
-
- /* skip device */
- /* skip buffer */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkBufferViewCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pView);
- if (pView)
- cmd_size += vn_sizeof_VkBufferView(pView);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateBufferView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkBufferViewCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pView))
- vn_encode_VkBufferView(enc, pView);
-}
-
-static inline size_t vn_sizeof_vkCreateBufferView_reply(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateBufferView_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pView);
- if (pView)
- cmd_size += vn_sizeof_VkBufferView(pView);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateBufferView_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateBufferView_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkBufferView(dec, pView);
- } else {
- pView = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkBufferView(&bufferView);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyBufferView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkBufferView(enc, &bufferView);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyBufferView_reply(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyBufferView_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip bufferView */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyBufferView_reply(struct vn_cs_decoder *dec, VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyBufferView_EXT);
-
- /* skip device */
- /* skip bufferView */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkImageCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pImage);
- if (pImage)
- cmd_size += vn_sizeof_VkImage(pImage);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkImageCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pImage))
- vn_encode_VkImage(enc, pImage);
-}
-
-static inline size_t vn_sizeof_vkCreateImage_reply(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pImage);
- if (pImage)
- cmd_size += vn_sizeof_VkImage(pImage);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateImage_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateImage_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkImage(dec, pImage);
- } else {
- pImage = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyImage_reply(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip image */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyImage_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyImage_EXT);
-
- /* skip device */
- /* skip image */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_simple_pointer(pSubresource);
- if (pSubresource)
- cmd_size += vn_sizeof_VkImageSubresource(pSubresource);
- cmd_size += vn_sizeof_simple_pointer(pLayout);
- if (pLayout)
- cmd_size += vn_sizeof_VkSubresourceLayout_partial(pLayout);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageSubresourceLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- if (vn_encode_simple_pointer(enc, pSubresource))
- vn_encode_VkImageSubresource(enc, pSubresource);
- if (vn_encode_simple_pointer(enc, pLayout))
- vn_encode_VkSubresourceLayout_partial(enc, pLayout);
-}
-
-static inline size_t vn_sizeof_vkGetImageSubresourceLayout_reply(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip image */
- /* skip pSubresource */
- cmd_size += vn_sizeof_simple_pointer(pLayout);
- if (pLayout)
- cmd_size += vn_sizeof_VkSubresourceLayout(pLayout);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetImageSubresourceLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT);
-
- /* skip device */
- /* skip image */
- /* skip pSubresource */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkSubresourceLayout(dec, pLayout);
- } else {
- pLayout = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkImageViewCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pView);
- if (pView)
- cmd_size += vn_sizeof_VkImageView(pView);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateImageView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkImageViewCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pView))
- vn_encode_VkImageView(enc, pView);
-}
-
-static inline size_t vn_sizeof_vkCreateImageView_reply(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pView);
- if (pView)
- cmd_size += vn_sizeof_VkImageView(pView);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateImageView_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateImageView_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkImageView(dec, pView);
- } else {
- pView = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImageView(&imageView);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyImageView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImageView(enc, &imageView);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyImageView_reply(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip imageView */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyImageView_reply(struct vn_cs_decoder *dec, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyImageView_EXT);
-
- /* skip device */
- /* skip imageView */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkShaderModuleCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pShaderModule);
- if (pShaderModule)
- cmd_size += vn_sizeof_VkShaderModule(pShaderModule);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateShaderModule(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkShaderModuleCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pShaderModule))
- vn_encode_VkShaderModule(enc, pShaderModule);
-}
-
-static inline size_t vn_sizeof_vkCreateShaderModule_reply(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pShaderModule);
- if (pShaderModule)
- cmd_size += vn_sizeof_VkShaderModule(pShaderModule);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateShaderModule_reply(struct vn_cs_decoder *dec, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateShaderModule_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkShaderModule(dec, pShaderModule);
- } else {
- pShaderModule = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkShaderModule(&shaderModule);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyShaderModule(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkShaderModule(enc, &shaderModule);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyShaderModule_reply(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip shaderModule */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyShaderModule_reply(struct vn_cs_decoder *dec, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyShaderModule_EXT);
-
- /* skip device */
- /* skip shaderModule */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkPipelineCacheCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pPipelineCache);
- if (pPipelineCache)
- cmd_size += vn_sizeof_VkPipelineCache(pPipelineCache);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreatePipelineCache(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkPipelineCacheCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pPipelineCache))
- vn_encode_VkPipelineCache(enc, pPipelineCache);
-}
-
-static inline size_t vn_sizeof_vkCreatePipelineCache_reply(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pPipelineCache);
- if (pPipelineCache)
- cmd_size += vn_sizeof_VkPipelineCache(pPipelineCache);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreatePipelineCache_reply(struct vn_cs_decoder *dec, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreatePipelineCache_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPipelineCache(dec, pPipelineCache);
- } else {
- pPipelineCache = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyPipelineCache(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipelineCache(enc, &pipelineCache);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyPipelineCache_reply(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pipelineCache */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyPipelineCache_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT);
-
- /* skip device */
- /* skip pipelineCache */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
- cmd_size += vn_sizeof_simple_pointer(pDataSize);
- if (pDataSize)
- cmd_size += vn_sizeof_size_t(pDataSize);
- cmd_size += vn_sizeof_simple_pointer(pData); /* out */
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPipelineCacheData(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- 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 */
-}
-
-static inline size_t vn_sizeof_vkGetPipelineCacheData_reply(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pipelineCache */
- cmd_size += vn_sizeof_simple_pointer(pDataSize);
- 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);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetPipelineCacheData_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pipelineCache */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_size_t(dec, pDataSize);
- } else {
- pDataSize = NULL;
- }
- if (vn_peek_array_size(dec)) {
- const size_t array_size = vn_decode_array_size(dec, *pDataSize);
- vn_decode_blob_array(dec, pData, array_size);
- } else {
- vn_decode_array_size(dec, 0);
- pData = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineCache(&dstCache);
- cmd_size += vn_sizeof_uint32_t(&srcCacheCount);
- if (pSrcCaches) {
- cmd_size += vn_sizeof_array_size(srcCacheCount);
- for (uint32_t i = 0; i < srcCacheCount; i++)
- cmd_size += vn_sizeof_VkPipelineCache(&pSrcCaches[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkMergePipelineCaches(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipelineCache(enc, &dstCache);
- vn_encode_uint32_t(enc, &srcCacheCount);
- if (pSrcCaches) {
- vn_encode_array_size(enc, srcCacheCount);
- for (uint32_t i = 0; i < srcCacheCount; i++)
- vn_encode_VkPipelineCache(enc, &pSrcCaches[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkMergePipelineCaches_reply(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip dstCache */
- /* skip srcCacheCount */
- /* skip pSrcCaches */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkMergePipelineCaches_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkMergePipelineCaches_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip dstCache */
- /* skip srcCacheCount */
- /* skip pSrcCaches */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
- cmd_size += vn_sizeof_uint32_t(&createInfoCount);
- if (pCreateInfos) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkGraphicsPipelineCreateInfo(&pCreateInfos[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- if (pPipelines) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateGraphicsPipelines(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipelineCache(enc, &pipelineCache);
- vn_encode_uint32_t(enc, &createInfoCount);
- if (pCreateInfos) {
- vn_encode_array_size(enc, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_encode_VkGraphicsPipelineCreateInfo(enc, &pCreateInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (pPipelines) {
- vn_encode_array_size(enc, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_encode_VkPipeline(enc, &pPipelines[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCreateGraphicsPipelines_reply(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pipelineCache */
- /* skip createInfoCount */
- /* skip pCreateInfos */
- /* skip pAllocator */
- if (pPipelines) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateGraphicsPipelines_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pipelineCache */
- /* skip createInfoCount */
- /* skip pCreateInfos */
- /* skip pAllocator */
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_decode_VkPipeline(dec, &pPipelines[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pPipelines = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
- cmd_size += vn_sizeof_uint32_t(&createInfoCount);
- if (pCreateInfos) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkComputePipelineCreateInfo(&pCreateInfos[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- if (pPipelines) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateComputePipelines(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipelineCache(enc, &pipelineCache);
- vn_encode_uint32_t(enc, &createInfoCount);
- if (pCreateInfos) {
- vn_encode_array_size(enc, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_encode_VkComputePipelineCreateInfo(enc, &pCreateInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (pPipelines) {
- vn_encode_array_size(enc, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_encode_VkPipeline(enc, &pPipelines[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCreateComputePipelines_reply(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pipelineCache */
- /* skip createInfoCount */
- /* skip pCreateInfos */
- /* skip pAllocator */
- if (pPipelines) {
- cmd_size += vn_sizeof_array_size(createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateComputePipelines_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateComputePipelines_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pipelineCache */
- /* skip createInfoCount */
- /* skip pCreateInfos */
- /* skip pAllocator */
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, createInfoCount);
- for (uint32_t i = 0; i < createInfoCount; i++)
- vn_decode_VkPipeline(dec, &pPipelines[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pPipelines = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipeline(&pipeline);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyPipeline(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipeline(enc, &pipeline);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyPipeline_reply(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pipeline */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyPipeline_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyPipeline_EXT);
-
- /* skip device */
- /* skip pipeline */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkPipelineLayoutCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pPipelineLayout);
- if (pPipelineLayout)
- cmd_size += vn_sizeof_VkPipelineLayout(pPipelineLayout);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreatePipelineLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkPipelineLayoutCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pPipelineLayout))
- vn_encode_VkPipelineLayout(enc, pPipelineLayout);
-}
-
-static inline size_t vn_sizeof_vkCreatePipelineLayout_reply(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pPipelineLayout);
- if (pPipelineLayout)
- cmd_size += vn_sizeof_VkPipelineLayout(pPipelineLayout);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreatePipelineLayout_reply(struct vn_cs_decoder *dec, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPipelineLayout(dec, pPipelineLayout);
- } else {
- pPipelineLayout = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkPipelineLayout(&pipelineLayout);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyPipelineLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkPipelineLayout(enc, &pipelineLayout);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyPipelineLayout_reply(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pipelineLayout */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyPipelineLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT);
-
- /* skip device */
- /* skip pipelineLayout */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkSamplerCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pSampler);
- if (pSampler)
- cmd_size += vn_sizeof_VkSampler(pSampler);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateSampler(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkSamplerCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pSampler))
- vn_encode_VkSampler(enc, pSampler);
-}
-
-static inline size_t vn_sizeof_vkCreateSampler_reply(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pSampler);
- if (pSampler)
- cmd_size += vn_sizeof_VkSampler(pSampler);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateSampler_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateSampler_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkSampler(dec, pSampler);
- } else {
- pSampler = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkSampler(&sampler);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroySampler(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkSampler(enc, &sampler);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroySampler_reply(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip sampler */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroySampler_reply(struct vn_cs_decoder *dec, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroySampler_EXT);
-
- /* skip device */
- /* skip sampler */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkDescriptorSetLayoutCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pSetLayout);
- if (pSetLayout)
- cmd_size += vn_sizeof_VkDescriptorSetLayout(pSetLayout);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateDescriptorSetLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkDescriptorSetLayoutCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pSetLayout))
- vn_encode_VkDescriptorSetLayout(enc, pSetLayout);
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorSetLayout_reply(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pSetLayout);
- if (pSetLayout)
- cmd_size += vn_sizeof_VkDescriptorSetLayout(pSetLayout);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateDescriptorSetLayout_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDescriptorSetLayout(dec, pSetLayout);
- } else {
- pSetLayout = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDescriptorSetLayout(&descriptorSetLayout);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyDescriptorSetLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDescriptorSetLayout(enc, &descriptorSetLayout);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorSetLayout_reply(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip descriptorSetLayout */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyDescriptorSetLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT);
-
- /* skip device */
- /* skip descriptorSetLayout */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkDescriptorPoolCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pDescriptorPool);
- if (pDescriptorPool)
- cmd_size += vn_sizeof_VkDescriptorPool(pDescriptorPool);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkDescriptorPoolCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pDescriptorPool))
- vn_encode_VkDescriptorPool(enc, pDescriptorPool);
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorPool_reply(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pDescriptorPool);
- if (pDescriptorPool)
- cmd_size += vn_sizeof_VkDescriptorPool(pDescriptorPool);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDescriptorPool(dec, pDescriptorPool);
- } else {
- pDescriptorPool = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDescriptorPool(enc, &descriptorPool);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorPool_reply(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip descriptorPool */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT);
-
- /* skip device */
- /* skip descriptorPool */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDescriptorPool(enc, &descriptorPool);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkResetDescriptorPool_reply(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip descriptorPool */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkResetDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetDescriptorPool_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip descriptorPool */
- /* skip flags */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
- 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_VkDescriptorSet(&pDescriptorSets[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkAllocateDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- 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_VkDescriptorSet(enc, &pDescriptorSets[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkAllocateDescriptorSets_reply(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* 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_VkDescriptorSet(&pDescriptorSets[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkAllocateDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* 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_VkDescriptorSet(dec, &pDescriptorSets[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pDescriptorSets = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
- cmd_size += vn_sizeof_uint32_t(&descriptorSetCount);
- if (pDescriptorSets) {
- cmd_size += vn_sizeof_array_size(descriptorSetCount);
- for (uint32_t i = 0; i < descriptorSetCount; i++)
- cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkFreeDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDescriptorPool(enc, &descriptorPool);
- vn_encode_uint32_t(enc, &descriptorSetCount);
- if (pDescriptorSets) {
- vn_encode_array_size(enc, descriptorSetCount);
- for (uint32_t i = 0; i < descriptorSetCount; i++)
- vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkFreeDescriptorSets_reply(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip descriptorPool */
- /* skip descriptorSetCount */
- /* skip pDescriptorSets */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkFreeDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip descriptorPool */
- /* skip descriptorSetCount */
- /* skip pDescriptorSets */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&descriptorWriteCount);
- if (pDescriptorWrites) {
- cmd_size += vn_sizeof_array_size(descriptorWriteCount);
- for (uint32_t i = 0; i < descriptorWriteCount; i++)
- cmd_size += vn_sizeof_VkWriteDescriptorSet(&pDescriptorWrites[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&descriptorCopyCount);
- if (pDescriptorCopies) {
- cmd_size += vn_sizeof_array_size(descriptorCopyCount);
- for (uint32_t i = 0; i < descriptorCopyCount; i++)
- cmd_size += vn_sizeof_VkCopyDescriptorSet(&pDescriptorCopies[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkUpdateDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &descriptorWriteCount);
- if (pDescriptorWrites) {
- vn_encode_array_size(enc, descriptorWriteCount);
- for (uint32_t i = 0; i < descriptorWriteCount; i++)
- vn_encode_VkWriteDescriptorSet(enc, &pDescriptorWrites[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &descriptorCopyCount);
- if (pDescriptorCopies) {
- vn_encode_array_size(enc, descriptorCopyCount);
- for (uint32_t i = 0; i < descriptorCopyCount; i++)
- vn_encode_VkCopyDescriptorSet(enc, &pDescriptorCopies[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkUpdateDescriptorSets_reply(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip descriptorWriteCount */
- /* skip pDescriptorWrites */
- /* skip descriptorCopyCount */
- /* skip pDescriptorCopies */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkUpdateDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT);
-
- /* skip device */
- /* skip descriptorWriteCount */
- /* skip pDescriptorWrites */
- /* skip descriptorCopyCount */
- /* skip pDescriptorCopies */
-}
-
-static inline size_t vn_sizeof_vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkFramebufferCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pFramebuffer);
- if (pFramebuffer)
- cmd_size += vn_sizeof_VkFramebuffer(pFramebuffer);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateFramebuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkFramebufferCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pFramebuffer))
- vn_encode_VkFramebuffer(enc, pFramebuffer);
-}
-
-static inline size_t vn_sizeof_vkCreateFramebuffer_reply(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pFramebuffer);
- if (pFramebuffer)
- cmd_size += vn_sizeof_VkFramebuffer(pFramebuffer);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateFramebuffer_reply(struct vn_cs_decoder *dec, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateFramebuffer_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkFramebuffer(dec, pFramebuffer);
- } else {
- pFramebuffer = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkFramebuffer(&framebuffer);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyFramebuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkFramebuffer(enc, &framebuffer);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyFramebuffer_reply(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip framebuffer */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyFramebuffer_reply(struct vn_cs_decoder *dec, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT);
-
- /* skip device */
- /* skip framebuffer */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkRenderPassCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pRenderPass);
- if (pRenderPass)
- cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkRenderPassCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pRenderPass))
- vn_encode_VkRenderPass(enc, pRenderPass);
-}
-
-static inline size_t vn_sizeof_vkCreateRenderPass_reply(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pRenderPass);
- if (pRenderPass)
- cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateRenderPass_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateRenderPass_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkRenderPass(dec, pRenderPass);
- } else {
- pRenderPass = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkRenderPass(&renderPass);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkRenderPass(enc, &renderPass);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyRenderPass_reply(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip renderPass */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyRenderPass_reply(struct vn_cs_decoder *dec, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyRenderPass_EXT);
-
- /* skip device */
- /* skip renderPass */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkRenderPass(&renderPass);
- cmd_size += vn_sizeof_simple_pointer(pGranularity);
- if (pGranularity)
- cmd_size += vn_sizeof_VkExtent2D_partial(pGranularity);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetRenderAreaGranularity(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkRenderPass(enc, &renderPass);
- if (vn_encode_simple_pointer(enc, pGranularity))
- vn_encode_VkExtent2D_partial(enc, pGranularity);
-}
-
-static inline size_t vn_sizeof_vkGetRenderAreaGranularity_reply(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip renderPass */
- cmd_size += vn_sizeof_simple_pointer(pGranularity);
- if (pGranularity)
- cmd_size += vn_sizeof_VkExtent2D(pGranularity);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetRenderAreaGranularity_reply(struct vn_cs_decoder *dec, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT);
-
- /* skip device */
- /* skip renderPass */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkExtent2D(dec, pGranularity);
- } else {
- pGranularity = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkCommandPoolCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pCommandPool);
- if (pCommandPool)
- cmd_size += vn_sizeof_VkCommandPool(pCommandPool);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkCommandPoolCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pCommandPool))
- vn_encode_VkCommandPool(enc, pCommandPool);
-}
-
-static inline size_t vn_sizeof_vkCreateCommandPool_reply(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateCommandPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pCommandPool);
- if (pCommandPool)
- cmd_size += vn_sizeof_VkCommandPool(pCommandPool);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateCommandPool_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkCommandPool(dec, pCommandPool);
- } else {
- pCommandPool = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkCommandPool(&commandPool);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkCommandPool(enc, &commandPool);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyCommandPool_reply(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyCommandPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip commandPool */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyCommandPool_EXT);
-
- /* skip device */
- /* skip commandPool */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkCommandPool(&commandPool);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkCommandPool(enc, &commandPool);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkResetCommandPool_reply(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip commandPool */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkResetCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetCommandPool_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip commandPool */
- /* skip flags */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
- 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_VkCommandBuffer(&pCommandBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkAllocateCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- 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_VkCommandBuffer(enc, &pCommandBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkAllocateCommandBuffers_reply(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* 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_VkCommandBuffer(&pCommandBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkAllocateCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* 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_VkCommandBuffer(dec, &pCommandBuffers[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pCommandBuffers = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkCommandPool(&commandPool);
- cmd_size += vn_sizeof_uint32_t(&commandBufferCount);
- if (pCommandBuffers) {
- cmd_size += vn_sizeof_array_size(commandBufferCount);
- for (uint32_t i = 0; i < commandBufferCount; i++)
- cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkFreeCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkCommandPool(enc, &commandPool);
- vn_encode_uint32_t(enc, &commandBufferCount);
- if (pCommandBuffers) {
- vn_encode_array_size(enc, commandBufferCount);
- for (uint32_t i = 0; i < commandBufferCount; i++)
- vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkFreeCommandBuffers_reply(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip commandPool */
- /* skip commandBufferCount */
- /* skip pCommandBuffers */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkFreeCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT);
-
- /* skip device */
- /* skip commandPool */
- /* skip commandBufferCount */
- /* skip pCommandBuffers */
-}
-
-static inline size_t vn_sizeof_vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_simple_pointer(pBeginInfo);
- if (pBeginInfo)
- cmd_size += vn_sizeof_VkCommandBufferBeginInfo(pBeginInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkBeginCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- if (vn_encode_simple_pointer(enc, pBeginInfo))
- vn_encode_VkCommandBufferBeginInfo(enc, pBeginInfo);
-}
-
-static inline size_t vn_sizeof_vkBeginCommandBuffer_reply(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip commandBuffer */
- /* skip pBeginInfo */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkBeginCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip commandBuffer */
- /* skip pBeginInfo */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkEndCommandBuffer(VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEndCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
-}
-
-static inline size_t vn_sizeof_vkEndCommandBuffer_reply(VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip commandBuffer */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEndCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEndCommandBuffer_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip commandBuffer */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkResetCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkResetCommandBuffer_reply(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip commandBuffer */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkResetCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkResetCommandBuffer_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip commandBuffer */
- /* skip flags */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);
- cmd_size += vn_sizeof_VkPipeline(&pipeline);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBindPipeline(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);
- vn_encode_VkPipeline(enc, &pipeline);
-}
-
-static inline size_t vn_sizeof_vkCmdBindPipeline_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pipelineBindPoint */
- /* skip pipeline */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBindPipeline_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBindPipeline_EXT);
-
- /* skip commandBuffer */
- /* skip pipelineBindPoint */
- /* skip pipeline */
-}
-
-static inline size_t vn_sizeof_vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstViewport);
- cmd_size += vn_sizeof_uint32_t(&viewportCount);
- if (pViewports) {
- cmd_size += vn_sizeof_array_size(viewportCount);
- for (uint32_t i = 0; i < viewportCount; i++)
- cmd_size += vn_sizeof_VkViewport(&pViewports[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetViewport(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstViewport);
- vn_encode_uint32_t(enc, &viewportCount);
- if (pViewports) {
- vn_encode_array_size(enc, viewportCount);
- for (uint32_t i = 0; i < viewportCount; i++)
- vn_encode_VkViewport(enc, &pViewports[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdSetViewport_reply(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstViewport */
- /* skip viewportCount */
- /* skip pViewports */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetViewport_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetViewport_EXT);
-
- /* skip commandBuffer */
- /* skip firstViewport */
- /* skip viewportCount */
- /* skip pViewports */
-}
-
-static inline size_t vn_sizeof_vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstScissor);
- cmd_size += vn_sizeof_uint32_t(&scissorCount);
- if (pScissors) {
- cmd_size += vn_sizeof_array_size(scissorCount);
- for (uint32_t i = 0; i < scissorCount; i++)
- cmd_size += vn_sizeof_VkRect2D(&pScissors[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetScissor(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstScissor);
- vn_encode_uint32_t(enc, &scissorCount);
- if (pScissors) {
- vn_encode_array_size(enc, scissorCount);
- for (uint32_t i = 0; i < scissorCount; i++)
- vn_encode_VkRect2D(enc, &pScissors[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdSetScissor_reply(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstScissor */
- /* skip scissorCount */
- /* skip pScissors */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetScissor_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetScissor_EXT);
-
- /* skip commandBuffer */
- /* skip firstScissor */
- /* skip scissorCount */
- /* skip pScissors */
-}
-
-static inline size_t vn_sizeof_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_float(&lineWidth);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetLineWidth(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_float(enc, &lineWidth);
-}
-
-static inline size_t vn_sizeof_vkCmdSetLineWidth_reply(VkCommandBuffer commandBuffer, float lineWidth)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip lineWidth */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetLineWidth_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float lineWidth)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT);
-
- /* skip commandBuffer */
- /* skip lineWidth */
-}
-
-static inline size_t vn_sizeof_vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_float(&depthBiasConstantFactor);
- cmd_size += vn_sizeof_float(&depthBiasClamp);
- cmd_size += vn_sizeof_float(&depthBiasSlopeFactor);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetDepthBias(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_float(enc, &depthBiasConstantFactor);
- vn_encode_float(enc, &depthBiasClamp);
- vn_encode_float(enc, &depthBiasSlopeFactor);
-}
-
-static inline size_t vn_sizeof_vkCmdSetDepthBias_reply(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip depthBiasConstantFactor */
- /* skip depthBiasClamp */
- /* skip depthBiasSlopeFactor */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetDepthBias_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT);
-
- /* skip commandBuffer */
- /* skip depthBiasConstantFactor */
- /* skip depthBiasClamp */
- /* skip depthBiasSlopeFactor */
-}
-
-static inline size_t vn_sizeof_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_array_size(4);
- cmd_size += vn_sizeof_float_array(blendConstants, 4);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetBlendConstants(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_array_size(enc, 4);
- vn_encode_float_array(enc, blendConstants, 4);
-}
-
-static inline size_t vn_sizeof_vkCmdSetBlendConstants_reply(VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip blendConstants */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetBlendConstants_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT);
-
- /* skip commandBuffer */
- /* skip blendConstants */
-}
-
-static inline size_t vn_sizeof_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_float(&minDepthBounds);
- cmd_size += vn_sizeof_float(&maxDepthBounds);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetDepthBounds(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_float(enc, &minDepthBounds);
- vn_encode_float(enc, &maxDepthBounds);
-}
-
-static inline size_t vn_sizeof_vkCmdSetDepthBounds_reply(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip minDepthBounds */
- /* skip maxDepthBounds */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetDepthBounds_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT);
-
- /* skip commandBuffer */
- /* skip minDepthBounds */
- /* skip maxDepthBounds */
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkFlags(&faceMask);
- cmd_size += vn_sizeof_uint32_t(&compareMask);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetStencilCompareMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkFlags(enc, &faceMask);
- vn_encode_uint32_t(enc, &compareMask);
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilCompareMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip compareMask */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetStencilCompareMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip compareMask */
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkFlags(&faceMask);
- cmd_size += vn_sizeof_uint32_t(&writeMask);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetStencilWriteMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkFlags(enc, &faceMask);
- vn_encode_uint32_t(enc, &writeMask);
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilWriteMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip writeMask */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetStencilWriteMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip writeMask */
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkFlags(&faceMask);
- cmd_size += vn_sizeof_uint32_t(&reference);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetStencilReference(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkFlags(enc, &faceMask);
- vn_encode_uint32_t(enc, &reference);
-}
-
-static inline size_t vn_sizeof_vkCmdSetStencilReference_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip reference */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetStencilReference_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT);
-
- /* skip commandBuffer */
- /* skip faceMask */
- /* skip reference */
-}
-
-static inline size_t vn_sizeof_vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);
- cmd_size += vn_sizeof_VkPipelineLayout(&layout);
- cmd_size += vn_sizeof_uint32_t(&firstSet);
- cmd_size += vn_sizeof_uint32_t(&descriptorSetCount);
- if (pDescriptorSets) {
- cmd_size += vn_sizeof_array_size(descriptorSetCount);
- for (uint32_t i = 0; i < descriptorSetCount; i++)
- cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&dynamicOffsetCount);
- if (pDynamicOffsets) {
- cmd_size += vn_sizeof_array_size(dynamicOffsetCount);
- cmd_size += vn_sizeof_uint32_t_array(pDynamicOffsets, dynamicOffsetCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBindDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);
- vn_encode_VkPipelineLayout(enc, &layout);
- vn_encode_uint32_t(enc, &firstSet);
- vn_encode_uint32_t(enc, &descriptorSetCount);
- if (pDescriptorSets) {
- vn_encode_array_size(enc, descriptorSetCount);
- for (uint32_t i = 0; i < descriptorSetCount; i++)
- vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &dynamicOffsetCount);
- if (pDynamicOffsets) {
- vn_encode_array_size(enc, dynamicOffsetCount);
- vn_encode_uint32_t_array(enc, pDynamicOffsets, dynamicOffsetCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdBindDescriptorSets_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pipelineBindPoint */
- /* skip layout */
- /* skip firstSet */
- /* skip descriptorSetCount */
- /* skip pDescriptorSets */
- /* skip dynamicOffsetCount */
- /* skip pDynamicOffsets */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBindDescriptorSets_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT);
-
- /* skip commandBuffer */
- /* skip pipelineBindPoint */
- /* skip layout */
- /* skip firstSet */
- /* skip descriptorSetCount */
- /* skip pDescriptorSets */
- /* skip dynamicOffsetCount */
- /* skip pDynamicOffsets */
-}
-
-static inline size_t vn_sizeof_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
- cmd_size += vn_sizeof_VkIndexType(&indexType);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBindIndexBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
- vn_encode_VkIndexType(enc, &indexType);
-}
-
-static inline size_t vn_sizeof_vkCmdBindIndexBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip indexType */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBindIndexBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip indexType */
-}
-
-static inline size_t vn_sizeof_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstBinding);
- cmd_size += vn_sizeof_uint32_t(&bindingCount);
- if (pBuffers) {
- cmd_size += vn_sizeof_array_size(bindingCount);
- for (uint32_t i = 0; i < bindingCount; i++)
- cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pOffsets) {
- cmd_size += vn_sizeof_array_size(bindingCount);
- cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBindVertexBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstBinding);
- vn_encode_uint32_t(enc, &bindingCount);
- if (pBuffers) {
- vn_encode_array_size(enc, bindingCount);
- for (uint32_t i = 0; i < bindingCount; i++)
- vn_encode_VkBuffer(enc, &pBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pOffsets) {
- vn_encode_array_size(enc, bindingCount);
- vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdBindVertexBuffers_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstBinding */
- /* skip bindingCount */
- /* skip pBuffers */
- /* skip pOffsets */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBindVertexBuffers_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT);
-
- /* skip commandBuffer */
- /* skip firstBinding */
- /* skip bindingCount */
- /* skip pBuffers */
- /* skip pOffsets */
-}
-
-static inline size_t vn_sizeof_vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&vertexCount);
- cmd_size += vn_sizeof_uint32_t(&instanceCount);
- cmd_size += vn_sizeof_uint32_t(&firstVertex);
- cmd_size += vn_sizeof_uint32_t(&firstInstance);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDraw(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &vertexCount);
- vn_encode_uint32_t(enc, &instanceCount);
- vn_encode_uint32_t(enc, &firstVertex);
- vn_encode_uint32_t(enc, &firstInstance);
-}
-
-static inline size_t vn_sizeof_vkCmdDraw_reply(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip vertexCount */
- /* skip instanceCount */
- /* skip firstVertex */
- /* skip firstInstance */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDraw_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDraw_EXT);
-
- /* skip commandBuffer */
- /* skip vertexCount */
- /* skip instanceCount */
- /* skip firstVertex */
- /* skip firstInstance */
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&indexCount);
- cmd_size += vn_sizeof_uint32_t(&instanceCount);
- cmd_size += vn_sizeof_uint32_t(&firstIndex);
- cmd_size += vn_sizeof_int32_t(&vertexOffset);
- cmd_size += vn_sizeof_uint32_t(&firstInstance);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndexed(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &indexCount);
- vn_encode_uint32_t(enc, &instanceCount);
- vn_encode_uint32_t(enc, &firstIndex);
- vn_encode_int32_t(enc, &vertexOffset);
- vn_encode_uint32_t(enc, &firstInstance);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexed_reply(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip indexCount */
- /* skip instanceCount */
- /* skip firstIndex */
- /* skip vertexOffset */
- /* skip firstInstance */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndexed_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT);
-
- /* skip commandBuffer */
- /* skip indexCount */
- /* skip instanceCount */
- /* skip firstIndex */
- /* skip vertexOffset */
- /* skip firstInstance */
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
- cmd_size += vn_sizeof_uint32_t(&drawCount);
- cmd_size += vn_sizeof_uint32_t(&stride);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
- vn_encode_uint32_t(enc, &drawCount);
- vn_encode_uint32_t(enc, &stride);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip drawCount */
- /* skip stride */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip drawCount */
- /* skip stride */
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
- cmd_size += vn_sizeof_uint32_t(&drawCount);
- cmd_size += vn_sizeof_uint32_t(&stride);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndexedIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
- vn_encode_uint32_t(enc, &drawCount);
- vn_encode_uint32_t(enc, &stride);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip drawCount */
- /* skip stride */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndexedIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip drawCount */
- /* skip stride */
-}
-
-static inline size_t vn_sizeof_vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&groupCountX);
- cmd_size += vn_sizeof_uint32_t(&groupCountY);
- cmd_size += vn_sizeof_uint32_t(&groupCountZ);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDispatch(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &groupCountX);
- vn_encode_uint32_t(enc, &groupCountY);
- vn_encode_uint32_t(enc, &groupCountZ);
-}
-
-static inline size_t vn_sizeof_vkCmdDispatch_reply(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip groupCountX */
- /* skip groupCountY */
- /* skip groupCountZ */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDispatch_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDispatch_EXT);
-
- /* skip commandBuffer */
- /* skip groupCountX */
- /* skip groupCountY */
- /* skip groupCountZ */
-}
-
-static inline size_t vn_sizeof_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDispatchIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
-}
-
-static inline size_t vn_sizeof_vkCmdDispatchIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDispatchIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
-}
-
-static inline size_t vn_sizeof_vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&srcBuffer);
- cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkBufferCopy(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdCopyBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &srcBuffer);
- vn_encode_VkBuffer(enc, &dstBuffer);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkBufferCopy(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdCopyBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcBuffer */
- /* skip dstBuffer */
- /* skip regionCount */
- /* skip pRegions */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdCopyBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT);
-
- /* skip commandBuffer */
- /* skip srcBuffer */
- /* skip dstBuffer */
- /* skip regionCount */
- /* skip pRegions */
-}
-
-static inline size_t vn_sizeof_vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&srcImage);
- cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
- cmd_size += vn_sizeof_VkImage(&dstImage);
- cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkImageCopy(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdCopyImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &srcImage);
- vn_encode_VkImageLayout(enc, &srcImageLayout);
- vn_encode_VkImage(enc, &dstImage);
- vn_encode_VkImageLayout(enc, &dstImageLayout);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkImageCopy(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdCopyImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdCopyImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImage_EXT);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-}
-
-static inline size_t vn_sizeof_vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&srcImage);
- cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
- cmd_size += vn_sizeof_VkImage(&dstImage);
- cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkImageBlit(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkFilter(&filter);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBlitImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &srcImage);
- vn_encode_VkImageLayout(enc, &srcImageLayout);
- vn_encode_VkImage(enc, &dstImage);
- vn_encode_VkImageLayout(enc, &dstImageLayout);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkImageBlit(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkFilter(enc, &filter);
-}
-
-static inline size_t vn_sizeof_vkCmdBlitImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
- /* skip filter */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBlitImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBlitImage_EXT);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
- /* skip filter */
-}
-
-static inline size_t vn_sizeof_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&srcBuffer);
- cmd_size += vn_sizeof_VkImage(&dstImage);
- cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdCopyBufferToImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &srcBuffer);
- vn_encode_VkImage(enc, &dstImage);
- vn_encode_VkImageLayout(enc, &dstImageLayout);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkBufferImageCopy(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdCopyBufferToImage_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcBuffer */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdCopyBufferToImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT);
-
- /* skip commandBuffer */
- /* skip srcBuffer */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-}
-
-static inline size_t vn_sizeof_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&srcImage);
- cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
- cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdCopyImageToBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &srcImage);
- vn_encode_VkImageLayout(enc, &srcImageLayout);
- vn_encode_VkBuffer(enc, &dstBuffer);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkBufferImageCopy(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdCopyImageToBuffer_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstBuffer */
- /* skip regionCount */
- /* skip pRegions */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdCopyImageToBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstBuffer */
- /* skip regionCount */
- /* skip pRegions */
-}
-
-static inline size_t vn_sizeof_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
- cmd_size += vn_sizeof_VkDeviceSize(&dataSize);
- if (pData) {
- cmd_size += vn_sizeof_array_size(dataSize);
- cmd_size += vn_sizeof_blob_array(pData, dataSize);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdUpdateBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &dstBuffer);
- vn_encode_VkDeviceSize(enc, &dstOffset);
- vn_encode_VkDeviceSize(enc, &dataSize);
- if (pData) {
- vn_encode_array_size(enc, dataSize);
- vn_encode_blob_array(enc, pData, dataSize);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdUpdateBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip dataSize */
- /* skip pData */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdUpdateBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT);
-
- /* skip commandBuffer */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip dataSize */
- /* skip pData */
-}
-
-static inline size_t vn_sizeof_vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
- cmd_size += vn_sizeof_VkDeviceSize(&size);
- cmd_size += vn_sizeof_uint32_t(&data);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdFillBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &dstBuffer);
- vn_encode_VkDeviceSize(enc, &dstOffset);
- vn_encode_VkDeviceSize(enc, &size);
- vn_encode_uint32_t(enc, &data);
-}
-
-static inline size_t vn_sizeof_vkCmdFillBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip size */
- /* skip data */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdFillBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdFillBuffer_EXT);
-
- /* skip commandBuffer */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip size */
- /* skip data */
-}
-
-static inline size_t vn_sizeof_vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_VkImageLayout(&imageLayout);
- cmd_size += vn_sizeof_simple_pointer(pColor);
- if (pColor)
- cmd_size += vn_sizeof_VkClearColorValue(pColor);
- cmd_size += vn_sizeof_uint32_t(&rangeCount);
- if (pRanges) {
- cmd_size += vn_sizeof_array_size(rangeCount);
- for (uint32_t i = 0; i < rangeCount; i++)
- cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdClearColorImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &image);
- vn_encode_VkImageLayout(enc, &imageLayout);
- if (vn_encode_simple_pointer(enc, pColor))
- vn_encode_VkClearColorValue(enc, pColor);
- vn_encode_uint32_t(enc, &rangeCount);
- if (pRanges) {
- vn_encode_array_size(enc, rangeCount);
- for (uint32_t i = 0; i < rangeCount; i++)
- vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdClearColorImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip image */
- /* skip imageLayout */
- /* skip pColor */
- /* skip rangeCount */
- /* skip pRanges */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdClearColorImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdClearColorImage_EXT);
-
- /* skip commandBuffer */
- /* skip image */
- /* skip imageLayout */
- /* skip pColor */
- /* skip rangeCount */
- /* skip pRanges */
-}
-
-static inline size_t vn_sizeof_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_VkImageLayout(&imageLayout);
- cmd_size += vn_sizeof_simple_pointer(pDepthStencil);
- if (pDepthStencil)
- cmd_size += vn_sizeof_VkClearDepthStencilValue(pDepthStencil);
- cmd_size += vn_sizeof_uint32_t(&rangeCount);
- if (pRanges) {
- cmd_size += vn_sizeof_array_size(rangeCount);
- for (uint32_t i = 0; i < rangeCount; i++)
- cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdClearDepthStencilImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &image);
- vn_encode_VkImageLayout(enc, &imageLayout);
- if (vn_encode_simple_pointer(enc, pDepthStencil))
- vn_encode_VkClearDepthStencilValue(enc, pDepthStencil);
- vn_encode_uint32_t(enc, &rangeCount);
- if (pRanges) {
- vn_encode_array_size(enc, rangeCount);
- for (uint32_t i = 0; i < rangeCount; i++)
- vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdClearDepthStencilImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip image */
- /* skip imageLayout */
- /* skip pDepthStencil */
- /* skip rangeCount */
- /* skip pRanges */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdClearDepthStencilImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT);
-
- /* skip commandBuffer */
- /* skip image */
- /* skip imageLayout */
- /* skip pDepthStencil */
- /* skip rangeCount */
- /* skip pRanges */
-}
-
-static inline size_t vn_sizeof_vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&attachmentCount);
- if (pAttachments) {
- cmd_size += vn_sizeof_array_size(attachmentCount);
- for (uint32_t i = 0; i < attachmentCount; i++)
- cmd_size += vn_sizeof_VkClearAttachment(&pAttachments[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&rectCount);
- if (pRects) {
- cmd_size += vn_sizeof_array_size(rectCount);
- for (uint32_t i = 0; i < rectCount; i++)
- cmd_size += vn_sizeof_VkClearRect(&pRects[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdClearAttachments(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &attachmentCount);
- if (pAttachments) {
- vn_encode_array_size(enc, attachmentCount);
- for (uint32_t i = 0; i < attachmentCount; i++)
- vn_encode_VkClearAttachment(enc, &pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &rectCount);
- if (pRects) {
- vn_encode_array_size(enc, rectCount);
- for (uint32_t i = 0; i < rectCount; i++)
- vn_encode_VkClearRect(enc, &pRects[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdClearAttachments_reply(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip attachmentCount */
- /* skip pAttachments */
- /* skip rectCount */
- /* skip pRects */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdClearAttachments_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdClearAttachments_EXT);
-
- /* skip commandBuffer */
- /* skip attachmentCount */
- /* skip pAttachments */
- /* skip rectCount */
- /* skip pRects */
-}
-
-static inline size_t vn_sizeof_vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkImage(&srcImage);
- cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);
- cmd_size += vn_sizeof_VkImage(&dstImage);
- cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);
- cmd_size += vn_sizeof_uint32_t(&regionCount);
- if (pRegions) {
- cmd_size += vn_sizeof_array_size(regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- cmd_size += vn_sizeof_VkImageResolve(&pRegions[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdResolveImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkImage(enc, &srcImage);
- vn_encode_VkImageLayout(enc, &srcImageLayout);
- vn_encode_VkImage(enc, &dstImage);
- vn_encode_VkImageLayout(enc, &dstImageLayout);
- vn_encode_uint32_t(enc, &regionCount);
- if (pRegions) {
- vn_encode_array_size(enc, regionCount);
- for (uint32_t i = 0; i < regionCount; i++)
- vn_encode_VkImageResolve(enc, &pRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdResolveImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdResolveImage_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdResolveImage_EXT);
-
- /* skip commandBuffer */
- /* skip srcImage */
- /* skip srcImageLayout */
- /* skip dstImage */
- /* skip dstImageLayout */
- /* skip regionCount */
- /* skip pRegions */
-}
-
-static inline size_t vn_sizeof_vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkEvent(&event);
- cmd_size += vn_sizeof_VkFlags(&stageMask);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkEvent(enc, &event);
- vn_encode_VkFlags(enc, &stageMask);
-}
-
-static inline size_t vn_sizeof_vkCmdSetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip event */
- /* skip stageMask */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetEvent_EXT);
-
- /* skip commandBuffer */
- /* skip event */
- /* skip stageMask */
-}
-
-static inline size_t vn_sizeof_vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkEvent(&event);
- cmd_size += vn_sizeof_VkFlags(&stageMask);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdResetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkEvent(enc, &event);
- vn_encode_VkFlags(enc, &stageMask);
-}
-
-static inline size_t vn_sizeof_vkCmdResetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip event */
- /* skip stageMask */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdResetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdResetEvent_EXT);
-
- /* skip commandBuffer */
- /* skip event */
- /* skip stageMask */
-}
-
-static inline size_t vn_sizeof_vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&eventCount);
- if (pEvents) {
- cmd_size += vn_sizeof_array_size(eventCount);
- for (uint32_t i = 0; i < eventCount; i++)
- cmd_size += vn_sizeof_VkEvent(&pEvents[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkFlags(&srcStageMask);
- cmd_size += vn_sizeof_VkFlags(&dstStageMask);
- cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);
- if (pMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(memoryBarrierCount);
- for (uint32_t i = 0; i < memoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);
- if (pBufferMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);
- for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);
- if (pImageMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);
- for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdWaitEvents(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &eventCount);
- if (pEvents) {
- vn_encode_array_size(enc, eventCount);
- for (uint32_t i = 0; i < eventCount; i++)
- vn_encode_VkEvent(enc, &pEvents[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkFlags(enc, &srcStageMask);
- vn_encode_VkFlags(enc, &dstStageMask);
- vn_encode_uint32_t(enc, &memoryBarrierCount);
- if (pMemoryBarriers) {
- vn_encode_array_size(enc, memoryBarrierCount);
- for (uint32_t i = 0; i < memoryBarrierCount; i++)
- vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);
- if (pBufferMemoryBarriers) {
- vn_encode_array_size(enc, bufferMemoryBarrierCount);
- for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
- vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &imageMemoryBarrierCount);
- if (pImageMemoryBarriers) {
- vn_encode_array_size(enc, imageMemoryBarrierCount);
- for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
- vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdWaitEvents_reply(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip eventCount */
- /* skip pEvents */
- /* skip srcStageMask */
- /* skip dstStageMask */
- /* skip memoryBarrierCount */
- /* skip pMemoryBarriers */
- /* skip bufferMemoryBarrierCount */
- /* skip pBufferMemoryBarriers */
- /* skip imageMemoryBarrierCount */
- /* skip pImageMemoryBarriers */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdWaitEvents_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdWaitEvents_EXT);
-
- /* skip commandBuffer */
- /* skip eventCount */
- /* skip pEvents */
- /* skip srcStageMask */
- /* skip dstStageMask */
- /* skip memoryBarrierCount */
- /* skip pMemoryBarriers */
- /* skip bufferMemoryBarrierCount */
- /* skip pBufferMemoryBarriers */
- /* skip imageMemoryBarrierCount */
- /* skip pImageMemoryBarriers */
-}
-
-static inline size_t vn_sizeof_vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkFlags(&srcStageMask);
- cmd_size += vn_sizeof_VkFlags(&dstStageMask);
- cmd_size += vn_sizeof_VkFlags(&dependencyFlags);
- cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);
- if (pMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(memoryBarrierCount);
- for (uint32_t i = 0; i < memoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);
- if (pBufferMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);
- for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);
- if (pImageMemoryBarriers) {
- cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);
- for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
- cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdPipelineBarrier(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkFlags(enc, &srcStageMask);
- vn_encode_VkFlags(enc, &dstStageMask);
- vn_encode_VkFlags(enc, &dependencyFlags);
- vn_encode_uint32_t(enc, &memoryBarrierCount);
- if (pMemoryBarriers) {
- vn_encode_array_size(enc, memoryBarrierCount);
- for (uint32_t i = 0; i < memoryBarrierCount; i++)
- vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);
- if (pBufferMemoryBarriers) {
- vn_encode_array_size(enc, bufferMemoryBarrierCount);
- for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)
- vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &imageMemoryBarrierCount);
- if (pImageMemoryBarriers) {
- vn_encode_array_size(enc, imageMemoryBarrierCount);
- for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)
- vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdPipelineBarrier_reply(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip srcStageMask */
- /* skip dstStageMask */
- /* skip dependencyFlags */
- /* skip memoryBarrierCount */
- /* skip pMemoryBarriers */
- /* skip bufferMemoryBarrierCount */
- /* skip pBufferMemoryBarriers */
- /* skip imageMemoryBarrierCount */
- /* skip pImageMemoryBarriers */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdPipelineBarrier_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT);
-
- /* skip commandBuffer */
- /* skip srcStageMask */
- /* skip dstStageMask */
- /* skip dependencyFlags */
- /* skip memoryBarrierCount */
- /* skip pMemoryBarriers */
- /* skip bufferMemoryBarrierCount */
- /* skip pBufferMemoryBarriers */
- /* skip imageMemoryBarrierCount */
- /* skip pImageMemoryBarriers */
-}
-
-static inline size_t vn_sizeof_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&query);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBeginQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &query);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkCmdBeginQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBeginQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQuery_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip flags */
-}
-
-static inline size_t vn_sizeof_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&query);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdEndQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &query);
-}
-
-static inline size_t vn_sizeof_vkCmdEndQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdEndQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdEndQuery_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
-}
-
-static inline size_t vn_sizeof_vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&firstQuery);
- cmd_size += vn_sizeof_uint32_t(&queryCount);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdResetQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &firstQuery);
- vn_encode_uint32_t(enc, &queryCount);
-}
-
-static inline size_t vn_sizeof_vkCmdResetQueryPool_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdResetQueryPool_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
-}
-
-static inline size_t vn_sizeof_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkPipelineStageFlagBits(&pipelineStage);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&query);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdWriteTimestamp(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkPipelineStageFlagBits(enc, &pipelineStage);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &query);
-}
-
-static inline size_t vn_sizeof_vkCmdWriteTimestamp_reply(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pipelineStage */
- /* skip queryPool */
- /* skip query */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdWriteTimestamp_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT);
-
- /* skip commandBuffer */
- /* skip pipelineStage */
- /* skip queryPool */
- /* skip query */
-}
-
-static inline size_t vn_sizeof_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&firstQuery);
- cmd_size += vn_sizeof_uint32_t(&queryCount);
- cmd_size += vn_sizeof_VkBuffer(&dstBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);
- cmd_size += vn_sizeof_VkDeviceSize(&stride);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdCopyQueryPoolResults(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &firstQuery);
- vn_encode_uint32_t(enc, &queryCount);
- vn_encode_VkBuffer(enc, &dstBuffer);
- vn_encode_VkDeviceSize(enc, &dstOffset);
- vn_encode_VkDeviceSize(enc, &stride);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkCmdCopyQueryPoolResults_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip stride */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdCopyQueryPoolResults_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip firstQuery */
- /* skip queryCount */
- /* skip dstBuffer */
- /* skip dstOffset */
- /* skip stride */
- /* skip flags */
-}
-
-static inline size_t vn_sizeof_vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkPipelineLayout(&layout);
- cmd_size += vn_sizeof_VkFlags(&stageFlags);
- cmd_size += vn_sizeof_uint32_t(&offset);
- cmd_size += vn_sizeof_uint32_t(&size);
- if (pValues) {
- cmd_size += vn_sizeof_array_size(size);
- cmd_size += vn_sizeof_blob_array(pValues, size);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdPushConstants(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkPipelineLayout(enc, &layout);
- vn_encode_VkFlags(enc, &stageFlags);
- vn_encode_uint32_t(enc, &offset);
- vn_encode_uint32_t(enc, &size);
- if (pValues) {
- vn_encode_array_size(enc, size);
- vn_encode_blob_array(enc, pValues, size);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdPushConstants_reply(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip layout */
- /* skip stageFlags */
- /* skip offset */
- /* skip size */
- /* skip pValues */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdPushConstants_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdPushConstants_EXT);
-
- /* skip commandBuffer */
- /* skip layout */
- /* skip stageFlags */
- /* skip offset */
- /* skip size */
- /* skip pValues */
-}
-
-static inline size_t vn_sizeof_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);
- if (pRenderPassBegin)
- cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);
- cmd_size += vn_sizeof_VkSubpassContents(&contents);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBeginRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- if (vn_encode_simple_pointer(enc, pRenderPassBegin))
- vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);
- vn_encode_VkSubpassContents(enc, &contents);
-}
-
-static inline size_t vn_sizeof_vkCmdBeginRenderPass_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pRenderPassBegin */
- /* skip contents */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBeginRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT);
-
- /* skip commandBuffer */
- /* skip pRenderPassBegin */
- /* skip contents */
-}
-
-static inline size_t vn_sizeof_vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkSubpassContents(&contents);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdNextSubpass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkSubpassContents(enc, &contents);
-}
-
-static inline size_t vn_sizeof_vkCmdNextSubpass_reply(VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip contents */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdNextSubpass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass_EXT);
-
- /* skip commandBuffer */
- /* skip contents */
-}
-
-static inline size_t vn_sizeof_vkCmdEndRenderPass(VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdEndRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
-}
-
-static inline size_t vn_sizeof_vkCmdEndRenderPass_reply(VkCommandBuffer commandBuffer)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdEndRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT);
-
- /* skip commandBuffer */
-}
-
-static inline size_t vn_sizeof_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&commandBufferCount);
- if (pCommandBuffers) {
- cmd_size += vn_sizeof_array_size(commandBufferCount);
- for (uint32_t i = 0; i < commandBufferCount; i++)
- cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdExecuteCommands(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &commandBufferCount);
- if (pCommandBuffers) {
- vn_encode_array_size(enc, commandBufferCount);
- for (uint32_t i = 0; i < commandBufferCount; i++)
- vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdExecuteCommands_reply(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip commandBufferCount */
- /* skip pCommandBuffers */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdExecuteCommands_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT);
-
- /* skip commandBuffer */
- /* skip commandBufferCount */
- /* skip pCommandBuffers */
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pFeatures);
- if (pFeatures)
- cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2_partial(pFeatures);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pFeatures))
- vn_encode_VkPhysicalDeviceFeatures2_partial(enc, pFeatures);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pFeatures);
- if (pFeatures)
- cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2(pFeatures);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceFeatures2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceFeatures2(dec, pFeatures);
- } else {
- pFeatures = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceProperties2_partial(pProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pProperties))
- vn_encode_VkPhysicalDeviceProperties2_partial(enc, pProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceProperties2(pProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceProperties2(dec, pProperties);
- } else {
- pProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_VkFormat(&format);
- cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
- if (pFormatProperties)
- cmd_size += vn_sizeof_VkFormatProperties2_partial(pFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- vn_encode_VkFormat(enc, &format);
- if (vn_encode_simple_pointer(enc, pFormatProperties))
- vn_encode_VkFormatProperties2_partial(enc, pFormatProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip format */
- cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
- if (pFormatProperties)
- cmd_size += vn_sizeof_VkFormatProperties2(pFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT);
-
- /* skip physicalDevice */
- /* skip format */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkFormatProperties2(dec, pFormatProperties);
- } else {
- pFormatProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pImageFormatInfo);
- if (pImageFormatInfo)
- cmd_size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2(pImageFormatInfo);
- cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
- if (pImageFormatProperties)
- cmd_size += vn_sizeof_VkImageFormatProperties2_partial(pImageFormatProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pImageFormatInfo))
- vn_encode_VkPhysicalDeviceImageFormatInfo2(enc, pImageFormatInfo);
- if (vn_encode_simple_pointer(enc, pImageFormatProperties))
- vn_encode_VkImageFormatProperties2_partial(enc, pImageFormatProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip physicalDevice */
- /* skip pImageFormatInfo */
- cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
- if (pImageFormatProperties)
- cmd_size += vn_sizeof_VkImageFormatProperties2(pImageFormatProperties);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip physicalDevice */
- /* skip pImageFormatInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkImageFormatProperties2(dec, pImageFormatProperties);
- } else {
- pImageFormatProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
- 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_VkQueueFamilyProperties2_partial(&pQueueFamilyProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- 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_VkQueueFamilyProperties2_partial(enc, &pQueueFamilyProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
- 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_VkQueueFamilyProperties2(&pQueueFamilyProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);
- } else {
- pQueueFamilyPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pQueueFamilyPropertyCount);
- for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)
- vn_decode_VkQueueFamilyProperties2(dec, &pQueueFamilyProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pQueueFamilyProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
- if (pMemoryProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(pMemoryProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pMemoryProperties))
- vn_encode_VkPhysicalDeviceMemoryProperties2_partial(enc, pMemoryProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
- if (pMemoryProperties)
- cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2(pMemoryProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT);
-
- /* skip physicalDevice */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkPhysicalDeviceMemoryProperties2(dec, pMemoryProperties);
- } else {
- pMemoryProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pFormatInfo);
- if (pFormatInfo)
- cmd_size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(pFormatInfo);
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkSparseImageFormatProperties2_partial(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pFormatInfo))
- vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(enc, pFormatInfo);
- 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_VkSparseImageFormatProperties2_partial(enc, &pProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip pFormatInfo */
- cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
- 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_VkSparseImageFormatProperties2(&pProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT);
-
- /* skip physicalDevice */
- /* skip pFormatInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPropertyCount);
- } else {
- pPropertyCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPropertyCount);
- for (uint32_t i = 0; i < *pPropertyCount; i++)
- vn_decode_VkSparseImageFormatProperties2(dec, &pProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkCommandPool(&commandPool);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkTrimCommandPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkCommandPool(enc, &commandPool);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkTrimCommandPool_reply(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkTrimCommandPool_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip commandPool */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkTrimCommandPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkTrimCommandPool_EXT);
-
- /* skip device */
- /* skip commandPool */
- /* skip flags */
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pExternalBufferInfo);
- if (pExternalBufferInfo)
- cmd_size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo(pExternalBufferInfo);
- cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);
- if (pExternalBufferProperties)
- cmd_size += vn_sizeof_VkExternalBufferProperties_partial(pExternalBufferProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceExternalBufferProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pExternalBufferInfo))
- vn_encode_VkPhysicalDeviceExternalBufferInfo(enc, pExternalBufferInfo);
- if (vn_encode_simple_pointer(enc, pExternalBufferProperties))
- vn_encode_VkExternalBufferProperties_partial(enc, pExternalBufferProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip pExternalBufferInfo */
- cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);
- if (pExternalBufferProperties)
- cmd_size += vn_sizeof_VkExternalBufferProperties(pExternalBufferProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT);
-
- /* skip physicalDevice */
- /* skip pExternalBufferInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkExternalBufferProperties(dec, pExternalBufferProperties);
- } else {
- pExternalBufferProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreInfo);
- if (pExternalSemaphoreInfo)
- cmd_size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(pExternalSemaphoreInfo);
- cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);
- if (pExternalSemaphoreProperties)
- cmd_size += vn_sizeof_VkExternalSemaphoreProperties_partial(pExternalSemaphoreProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pExternalSemaphoreInfo))
- vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(enc, pExternalSemaphoreInfo);
- if (vn_encode_simple_pointer(enc, pExternalSemaphoreProperties))
- vn_encode_VkExternalSemaphoreProperties_partial(enc, pExternalSemaphoreProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip pExternalSemaphoreInfo */
- cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);
- if (pExternalSemaphoreProperties)
- cmd_size += vn_sizeof_VkExternalSemaphoreProperties(pExternalSemaphoreProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT);
-
- /* skip physicalDevice */
- /* skip pExternalSemaphoreInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkExternalSemaphoreProperties(dec, pExternalSemaphoreProperties);
- } else {
- pExternalSemaphoreProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
- cmd_size += vn_sizeof_simple_pointer(pExternalFenceInfo);
- if (pExternalFenceInfo)
- cmd_size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo(pExternalFenceInfo);
- cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);
- if (pExternalFenceProperties)
- cmd_size += vn_sizeof_VkExternalFenceProperties_partial(pExternalFenceProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetPhysicalDeviceExternalFenceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkPhysicalDevice(enc, &physicalDevice);
- if (vn_encode_simple_pointer(enc, pExternalFenceInfo))
- vn_encode_VkPhysicalDeviceExternalFenceInfo(enc, pExternalFenceInfo);
- if (vn_encode_simple_pointer(enc, pExternalFenceProperties))
- vn_encode_VkExternalFenceProperties_partial(enc, pExternalFenceProperties);
-}
-
-static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip physicalDevice */
- /* skip pExternalFenceInfo */
- cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);
- if (pExternalFenceProperties)
- cmd_size += vn_sizeof_VkExternalFenceProperties(pExternalFenceProperties);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT);
-
- /* skip physicalDevice */
- /* skip pExternalFenceInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkExternalFenceProperties(dec, pExternalFenceProperties);
- } else {
- pExternalFenceProperties = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkInstance(&instance);
- cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);
- 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_VkPhysicalDeviceGroupProperties_partial(&pPhysicalDeviceGroupProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkEnumeratePhysicalDeviceGroups(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkInstance(enc, &instance);
- 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_VkPhysicalDeviceGroupProperties_partial(enc, &pPhysicalDeviceGroupProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip instance */
- cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);
- 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_VkPhysicalDeviceGroupProperties(&pPhysicalDeviceGroupProperties[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkEnumeratePhysicalDeviceGroups_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip instance */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pPhysicalDeviceGroupCount);
- } else {
- pPhysicalDeviceGroupCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pPhysicalDeviceGroupCount);
- for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)
- vn_decode_VkPhysicalDeviceGroupProperties(dec, &pPhysicalDeviceGroupProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pPhysicalDeviceGroupProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&heapIndex);
- cmd_size += vn_sizeof_uint32_t(&localDeviceIndex);
- cmd_size += vn_sizeof_uint32_t(&remoteDeviceIndex);
- cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures); /* out */
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDeviceGroupPeerMemoryFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &heapIndex);
- vn_encode_uint32_t(enc, &localDeviceIndex);
- vn_encode_uint32_t(enc, &remoteDeviceIndex);
- vn_encode_simple_pointer(enc, pPeerMemoryFeatures); /* out */
-}
-
-static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip heapIndex */
- /* skip localDeviceIndex */
- /* skip remoteDeviceIndex */
- cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures);
- if (pPeerMemoryFeatures)
- cmd_size += vn_sizeof_VkFlags(pPeerMemoryFeatures);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT);
-
- /* skip device */
- /* skip heapIndex */
- /* skip localDeviceIndex */
- /* skip remoteDeviceIndex */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkFlags(dec, pPeerMemoryFeatures);
- } else {
- pPeerMemoryFeatures = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkBindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
- if (pBindInfos) {
- cmd_size += vn_sizeof_array_size(bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- cmd_size += vn_sizeof_VkBindBufferMemoryInfo(&pBindInfos[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkBindBufferMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &bindInfoCount);
- if (pBindInfos) {
- vn_encode_array_size(enc, bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- vn_encode_VkBindBufferMemoryInfo(enc, &pBindInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkBindBufferMemory2_reply(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindBufferMemory2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip bindInfoCount */
- /* skip pBindInfos */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkBindBufferMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkBindBufferMemory2_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip bindInfoCount */
- /* skip pBindInfos */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
- if (pBindInfos) {
- cmd_size += vn_sizeof_array_size(bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- cmd_size += vn_sizeof_VkBindImageMemoryInfo(&pBindInfos[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkBindImageMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_uint32_t(enc, &bindInfoCount);
- if (pBindInfos) {
- vn_encode_array_size(enc, bindInfoCount);
- for (uint32_t i = 0; i < bindInfoCount; i++)
- vn_encode_VkBindImageMemoryInfo(enc, &pBindInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkBindImageMemory2_reply(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip bindInfoCount */
- /* skip pBindInfos */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkBindImageMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory2_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip bindInfoCount */
- /* skip pBindInfos */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&deviceMask);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdSetDeviceMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &deviceMask);
-}
-
-static inline size_t vn_sizeof_vkCmdSetDeviceMask_reply(VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip deviceMask */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdSetDeviceMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t deviceMask)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT);
-
- /* skip commandBuffer */
- /* skip deviceMask */
-}
-
-static inline size_t vn_sizeof_vkCmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&baseGroupX);
- cmd_size += vn_sizeof_uint32_t(&baseGroupY);
- cmd_size += vn_sizeof_uint32_t(&baseGroupZ);
- cmd_size += vn_sizeof_uint32_t(&groupCountX);
- cmd_size += vn_sizeof_uint32_t(&groupCountY);
- cmd_size += vn_sizeof_uint32_t(&groupCountZ);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDispatchBase(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &baseGroupX);
- vn_encode_uint32_t(enc, &baseGroupY);
- vn_encode_uint32_t(enc, &baseGroupZ);
- vn_encode_uint32_t(enc, &groupCountX);
- vn_encode_uint32_t(enc, &groupCountY);
- vn_encode_uint32_t(enc, &groupCountZ);
-}
-
-static inline size_t vn_sizeof_vkCmdDispatchBase_reply(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip baseGroupX */
- /* skip baseGroupY */
- /* skip baseGroupZ */
- /* skip groupCountX */
- /* skip groupCountY */
- /* skip groupCountZ */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDispatchBase_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchBase_EXT);
-
- /* skip commandBuffer */
- /* skip baseGroupX */
- /* skip baseGroupY */
- /* skip baseGroupZ */
- /* skip groupCountX */
- /* skip groupCountY */
- /* skip groupCountZ */
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pDescriptorUpdateTemplate);
- if (pDescriptorUpdateTemplate)
- cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(pDescriptorUpdateTemplate);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateDescriptorUpdateTemplate(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkDescriptorUpdateTemplateCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pDescriptorUpdateTemplate))
- vn_encode_VkDescriptorUpdateTemplate(enc, pDescriptorUpdateTemplate);
-}
-
-static inline size_t vn_sizeof_vkCreateDescriptorUpdateTemplate_reply(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pDescriptorUpdateTemplate);
- if (pDescriptorUpdateTemplate)
- cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(pDescriptorUpdateTemplate);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateDescriptorUpdateTemplate_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDescriptorUpdateTemplate(dec, pDescriptorUpdateTemplate);
- } else {
- pDescriptorUpdateTemplate = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(&descriptorUpdateTemplate);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyDescriptorUpdateTemplate(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkDescriptorUpdateTemplate(enc, &descriptorUpdateTemplate);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroyDescriptorUpdateTemplate_reply(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip descriptorUpdateTemplate */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyDescriptorUpdateTemplate_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT);
-
- /* skip device */
- /* skip descriptorUpdateTemplate */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkBufferMemoryRequirementsInfo2(pInfo);
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements2_partial(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetBufferMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkBufferMemoryRequirementsInfo2(enc, pInfo);
- if (vn_encode_simple_pointer(enc, pMemoryRequirements))
- vn_encode_VkMemoryRequirements2_partial(enc, pMemoryRequirements);
-}
-
-static inline size_t vn_sizeof_vkGetBufferMemoryRequirements2_reply(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pInfo */
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements2(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetBufferMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT);
-
- /* skip device */
- /* skip pInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkMemoryRequirements2(dec, pMemoryRequirements);
- } else {
- pMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkImageMemoryRequirementsInfo2(pInfo);
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements2_partial(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkImageMemoryRequirementsInfo2(enc, pInfo);
- if (vn_encode_simple_pointer(enc, pMemoryRequirements))
- vn_encode_VkMemoryRequirements2_partial(enc, pMemoryRequirements);
-}
-
-static inline size_t vn_sizeof_vkGetImageMemoryRequirements2_reply(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pInfo */
- cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
- if (pMemoryRequirements)
- cmd_size += vn_sizeof_VkMemoryRequirements2(pMemoryRequirements);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetImageMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT);
-
- /* skip device */
- /* skip pInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkMemoryRequirements2(dec, pMemoryRequirements);
- } else {
- pMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2(pInfo);
- cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
- 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_VkSparseImageMemoryRequirements2_partial(&pSparseMemoryRequirements[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageSparseMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkImageSparseMemoryRequirementsInfo2(enc, pInfo);
- 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_VkSparseImageMemoryRequirements2_partial(enc, &pSparseMemoryRequirements[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pInfo */
- cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
- 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_VkSparseImageMemoryRequirements2(&pSparseMemoryRequirements[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetImageSparseMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT);
-
- /* skip device */
- /* skip pInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
- } else {
- pSparseMemoryRequirementCount = NULL;
- }
- if (vn_peek_array_size(dec)) {
- vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
- for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
- vn_decode_VkSparseImageMemoryRequirements2(dec, &pSparseMemoryRequirements[i]);
- } else {
- vn_decode_array_size(dec, 0);
- pSparseMemoryRequirements = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pYcbcrConversion);
- if (pYcbcrConversion)
- cmd_size += vn_sizeof_VkSamplerYcbcrConversion(pYcbcrConversion);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateSamplerYcbcrConversion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkSamplerYcbcrConversionCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pYcbcrConversion))
- vn_encode_VkSamplerYcbcrConversion(enc, pYcbcrConversion);
-}
-
-static inline size_t vn_sizeof_vkCreateSamplerYcbcrConversion_reply(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pYcbcrConversion);
- if (pYcbcrConversion)
- cmd_size += vn_sizeof_VkSamplerYcbcrConversion(pYcbcrConversion);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateSamplerYcbcrConversion_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkSamplerYcbcrConversion(dec, pYcbcrConversion);
- } else {
- pYcbcrConversion = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkSamplerYcbcrConversion(&ycbcrConversion);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroySamplerYcbcrConversion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkSamplerYcbcrConversion(enc, &ycbcrConversion);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
-}
-
-static inline size_t vn_sizeof_vkDestroySamplerYcbcrConversion_reply(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip ycbcrConversion */
- /* skip pAllocator */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroySamplerYcbcrConversion_reply(struct vn_cs_decoder *dec, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT);
-
- /* skip device */
- /* skip ycbcrConversion */
- /* skip pAllocator */
-}
-
-static inline size_t vn_sizeof_vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pQueueInfo);
- if (pQueueInfo)
- cmd_size += vn_sizeof_VkDeviceQueueInfo2(pQueueInfo);
- cmd_size += vn_sizeof_simple_pointer(pQueue);
- if (pQueue)
- cmd_size += vn_sizeof_VkQueue(pQueue);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDeviceQueue2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pQueueInfo))
- vn_encode_VkDeviceQueueInfo2(enc, pQueueInfo);
- if (vn_encode_simple_pointer(enc, pQueue))
- vn_encode_VkQueue(enc, pQueue);
-}
-
-static inline size_t vn_sizeof_vkGetDeviceQueue2_reply(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pQueueInfo */
- cmd_size += vn_sizeof_simple_pointer(pQueue);
- if (pQueue)
- cmd_size += vn_sizeof_VkQueue(pQueue);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetDeviceQueue2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT);
-
- /* skip device */
- /* skip pQueueInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkQueue(dec, pQueue);
- } else {
- pQueue = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkDescriptorSetLayoutCreateInfo(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pSupport);
- if (pSupport)
- cmd_size += vn_sizeof_VkDescriptorSetLayoutSupport_partial(pSupport);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDescriptorSetLayoutSupport(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkDescriptorSetLayoutCreateInfo(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pSupport))
- vn_encode_VkDescriptorSetLayoutSupport_partial(enc, pSupport);
-}
-
-static inline size_t vn_sizeof_vkGetDescriptorSetLayoutSupport_reply(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip device */
- /* skip pCreateInfo */
- cmd_size += vn_sizeof_simple_pointer(pSupport);
- if (pSupport)
- cmd_size += vn_sizeof_VkDescriptorSetLayoutSupport(pSupport);
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkGetDescriptorSetLayoutSupport_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT);
-
- /* skip device */
- /* skip pCreateInfo */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkDescriptorSetLayoutSupport(dec, pSupport);
- } else {
- pSupport = NULL;
- }
-}
-
-static inline size_t vn_sizeof_vkCreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkRenderPassCreateInfo2(pCreateInfo);
- cmd_size += vn_sizeof_simple_pointer(pAllocator);
- if (pAllocator)
- assert(false);
- cmd_size += vn_sizeof_simple_pointer(pRenderPass);
- if (pRenderPass)
- cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkRenderPassCreateInfo2(enc, pCreateInfo);
- if (vn_encode_simple_pointer(enc, pAllocator))
- assert(false);
- if (vn_encode_simple_pointer(enc, pRenderPass))
- vn_encode_VkRenderPass(enc, pRenderPass);
-}
-
-static inline size_t vn_sizeof_vkCreateRenderPass2_reply(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- cmd_size += vn_sizeof_simple_pointer(pRenderPass);
- if (pRenderPass)
- cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkCreateRenderPass2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateRenderPass2_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pCreateInfo */
- /* skip pAllocator */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkRenderPass(dec, pRenderPass);
- } else {
- pRenderPass = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);
- if (pRenderPassBegin)
- cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);
- cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);
- if (pSubpassBeginInfo)
- cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBeginRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- if (vn_encode_simple_pointer(enc, pRenderPassBegin))
- vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);
- if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))
- vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);
-}
-
-static inline size_t vn_sizeof_vkCmdBeginRenderPass2_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pRenderPassBegin */
- /* skip pSubpassBeginInfo */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBeginRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT);
-
- /* skip commandBuffer */
- /* skip pRenderPassBegin */
- /* skip pSubpassBeginInfo */
-}
-
-static inline size_t vn_sizeof_vkCmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);
- if (pSubpassBeginInfo)
- cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);
- cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);
- if (pSubpassEndInfo)
- cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdNextSubpass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))
- vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);
- if (vn_encode_simple_pointer(enc, pSubpassEndInfo))
- vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);
-}
-
-static inline size_t vn_sizeof_vkCmdNextSubpass2_reply(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pSubpassBeginInfo */
- /* skip pSubpassEndInfo */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdNextSubpass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT);
-
- /* skip commandBuffer */
- /* skip pSubpassBeginInfo */
- /* skip pSubpassEndInfo */
-}
-
-static inline size_t vn_sizeof_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);
- if (pSubpassEndInfo)
- cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdEndRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- if (vn_encode_simple_pointer(enc, pSubpassEndInfo))
- vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);
-}
-
-static inline size_t vn_sizeof_vkCmdEndRenderPass2_reply(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip pSubpassEndInfo */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdEndRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT);
-
- /* skip commandBuffer */
- /* skip pSubpassEndInfo */
-}
-
-static inline size_t vn_sizeof_vkGetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkSemaphore(&semaphore);
- cmd_size += vn_sizeof_simple_pointer(pValue); /* out */
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetSemaphoreCounterValue(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkSemaphore(enc, &semaphore);
- vn_encode_simple_pointer(enc, pValue); /* out */
-}
-
-static inline size_t vn_sizeof_vkGetSemaphoreCounterValue_reply(VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip semaphore */
- cmd_size += vn_sizeof_simple_pointer(pValue);
- if (pValue)
- cmd_size += vn_sizeof_uint64_t(pValue);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetSemaphoreCounterValue_reply(struct vn_cs_decoder *dec, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip semaphore */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_uint64_t(dec, pValue);
- } else {
- pValue = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkWaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pWaitInfo);
- if (pWaitInfo)
- cmd_size += vn_sizeof_VkSemaphoreWaitInfo(pWaitInfo);
- cmd_size += vn_sizeof_uint64_t(&timeout);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkWaitSemaphores(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pWaitInfo))
- vn_encode_VkSemaphoreWaitInfo(enc, pWaitInfo);
- vn_encode_uint64_t(enc, &timeout);
-}
-
-static inline size_t vn_sizeof_vkWaitSemaphores_reply(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pWaitInfo */
- /* skip timeout */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkWaitSemaphores_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkWaitSemaphores_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pWaitInfo */
- /* skip timeout */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkSignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pSignalInfo);
- if (pSignalInfo)
- cmd_size += vn_sizeof_VkSemaphoreSignalInfo(pSignalInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkSignalSemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pSignalInfo))
- vn_encode_VkSemaphoreSignalInfo(enc, pSignalInfo);
-}
-
-static inline size_t vn_sizeof_vkSignalSemaphore_reply(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip pSignalInfo */
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkSignalSemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkSignalSemaphore_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip pSignalInfo */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
- cmd_size += vn_sizeof_VkBuffer(&countBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);
- cmd_size += vn_sizeof_uint32_t(&maxDrawCount);
- cmd_size += vn_sizeof_uint32_t(&stride);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndirectCount(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
- vn_encode_VkBuffer(enc, &countBuffer);
- vn_encode_VkDeviceSize(enc, &countBufferOffset);
- vn_encode_uint32_t(enc, &maxDrawCount);
- vn_encode_uint32_t(enc, &stride);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip countBuffer */
- /* skip countBufferOffset */
- /* skip maxDrawCount */
- /* skip stride */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndirectCount_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip countBuffer */
- /* skip countBufferOffset */
- /* skip maxDrawCount */
- /* skip stride */
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkBuffer(&buffer);
- cmd_size += vn_sizeof_VkDeviceSize(&offset);
- cmd_size += vn_sizeof_VkBuffer(&countBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);
- cmd_size += vn_sizeof_uint32_t(&maxDrawCount);
- cmd_size += vn_sizeof_uint32_t(&stride);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndexedIndirectCount(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkBuffer(enc, &buffer);
- vn_encode_VkDeviceSize(enc, &offset);
- vn_encode_VkBuffer(enc, &countBuffer);
- vn_encode_VkDeviceSize(enc, &countBufferOffset);
- vn_encode_uint32_t(enc, &maxDrawCount);
- vn_encode_uint32_t(enc, &stride);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip countBuffer */
- /* skip countBufferOffset */
- /* skip maxDrawCount */
- /* skip stride */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndexedIndirectCount_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT);
-
- /* skip commandBuffer */
- /* skip buffer */
- /* skip offset */
- /* skip countBuffer */
- /* skip countBufferOffset */
- /* skip maxDrawCount */
- /* skip stride */
-}
-
-static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstBinding);
- cmd_size += vn_sizeof_uint32_t(&bindingCount);
- if (pBuffers) {
- cmd_size += vn_sizeof_array_size(bindingCount);
- for (uint32_t i = 0; i < bindingCount; i++)
- cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pOffsets) {
- cmd_size += vn_sizeof_array_size(bindingCount);
- cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pSizes) {
- cmd_size += vn_sizeof_array_size(bindingCount);
- cmd_size += vn_sizeof_VkDeviceSize_array(pSizes, bindingCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBindTransformFeedbackBuffersEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstBinding);
- vn_encode_uint32_t(enc, &bindingCount);
- if (pBuffers) {
- vn_encode_array_size(enc, bindingCount);
- for (uint32_t i = 0; i < bindingCount; i++)
- vn_encode_VkBuffer(enc, &pBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pOffsets) {
- vn_encode_array_size(enc, bindingCount);
- vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pSizes) {
- vn_encode_array_size(enc, bindingCount);
- vn_encode_VkDeviceSize_array(enc, pSizes, bindingCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstBinding */
- /* skip bindingCount */
- /* skip pBuffers */
- /* skip pOffsets */
- /* skip pSizes */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBindTransformFeedbackBuffersEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT);
-
- /* skip commandBuffer */
- /* skip firstBinding */
- /* skip bindingCount */
- /* skip pBuffers */
- /* skip pOffsets */
- /* skip pSizes */
-}
-
-static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);
- cmd_size += vn_sizeof_uint32_t(&counterBufferCount);
- if (pCounterBuffers) {
- cmd_size += vn_sizeof_array_size(counterBufferCount);
- for (uint32_t i = 0; i < counterBufferCount; i++)
- cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pCounterBufferOffsets) {
- cmd_size += vn_sizeof_array_size(counterBufferCount);
- cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBeginTransformFeedbackEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstCounterBuffer);
- vn_encode_uint32_t(enc, &counterBufferCount);
- if (pCounterBuffers) {
- vn_encode_array_size(enc, counterBufferCount);
- for (uint32_t i = 0; i < counterBufferCount; i++)
- vn_encode_VkBuffer(enc, &pCounterBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pCounterBufferOffsets) {
- vn_encode_array_size(enc, counterBufferCount);
- vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstCounterBuffer */
- /* skip counterBufferCount */
- /* skip pCounterBuffers */
- /* skip pCounterBufferOffsets */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBeginTransformFeedbackEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT);
-
- /* skip commandBuffer */
- /* skip firstCounterBuffer */
- /* skip counterBufferCount */
- /* skip pCounterBuffers */
- /* skip pCounterBufferOffsets */
-}
-
-static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);
- cmd_size += vn_sizeof_uint32_t(&counterBufferCount);
- if (pCounterBuffers) {
- cmd_size += vn_sizeof_array_size(counterBufferCount);
- for (uint32_t i = 0; i < counterBufferCount; i++)
- cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pCounterBufferOffsets) {
- cmd_size += vn_sizeof_array_size(counterBufferCount);
- cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdEndTransformFeedbackEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &firstCounterBuffer);
- vn_encode_uint32_t(enc, &counterBufferCount);
- if (pCounterBuffers) {
- vn_encode_array_size(enc, counterBufferCount);
- for (uint32_t i = 0; i < counterBufferCount; i++)
- vn_encode_VkBuffer(enc, &pCounterBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pCounterBufferOffsets) {
- vn_encode_array_size(enc, counterBufferCount);
- vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip firstCounterBuffer */
- /* skip counterBufferCount */
- /* skip pCounterBuffers */
- /* skip pCounterBufferOffsets */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdEndTransformFeedbackEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT);
-
- /* skip commandBuffer */
- /* skip firstCounterBuffer */
- /* skip counterBufferCount */
- /* skip pCounterBuffers */
- /* skip pCounterBufferOffsets */
-}
-
-static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&query);
- cmd_size += vn_sizeof_VkFlags(&flags);
- cmd_size += vn_sizeof_uint32_t(&index);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdBeginQueryIndexedEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &query);
- vn_encode_VkFlags(enc, &flags);
- vn_encode_uint32_t(enc, &index);
-}
-
-static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip flags */
- /* skip index */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdBeginQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip flags */
- /* skip index */
-}
-
-static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_VkQueryPool(&queryPool);
- cmd_size += vn_sizeof_uint32_t(&query);
- cmd_size += vn_sizeof_uint32_t(&index);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdEndQueryIndexedEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_VkQueryPool(enc, &queryPool);
- vn_encode_uint32_t(enc, &query);
- vn_encode_uint32_t(enc, &index);
-}
-
-static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip index */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdEndQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT);
-
- /* skip commandBuffer */
- /* skip queryPool */
- /* skip query */
- /* skip index */
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);
- cmd_size += vn_sizeof_uint32_t(&instanceCount);
- cmd_size += vn_sizeof_uint32_t(&firstInstance);
- cmd_size += vn_sizeof_VkBuffer(&counterBuffer);
- cmd_size += vn_sizeof_VkDeviceSize(&counterBufferOffset);
- cmd_size += vn_sizeof_uint32_t(&counterOffset);
- cmd_size += vn_sizeof_uint32_t(&vertexStride);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCmdDrawIndirectByteCountEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkCommandBuffer(enc, &commandBuffer);
- vn_encode_uint32_t(enc, &instanceCount);
- vn_encode_uint32_t(enc, &firstInstance);
- vn_encode_VkBuffer(enc, &counterBuffer);
- vn_encode_VkDeviceSize(enc, &counterBufferOffset);
- vn_encode_uint32_t(enc, &counterOffset);
- vn_encode_uint32_t(enc, &vertexStride);
-}
-
-static inline size_t vn_sizeof_vkCmdDrawIndirectByteCountEXT_reply(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip commandBuffer */
- /* skip instanceCount */
- /* skip firstInstance */
- /* skip counterBuffer */
- /* skip counterBufferOffset */
- /* skip counterOffset */
- /* skip vertexStride */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCmdDrawIndirectByteCountEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT);
-
- /* skip commandBuffer */
- /* skip instanceCount */
- /* skip firstInstance */
- /* skip counterBuffer */
- /* skip counterBufferOffset */
- /* skip counterOffset */
- /* skip vertexStride */
-}
-
-static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_VkImage(&image);
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(pProperties);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- vn_encode_VkImage(enc, &image);
- if (vn_encode_simple_pointer(enc, pProperties))
- vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(enc, pProperties);
-}
-
-static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkResult ret;
- cmd_size += vn_sizeof_VkResult(&ret);
- /* skip device */
- /* skip image */
- cmd_size += vn_sizeof_simple_pointer(pProperties);
- if (pProperties)
- cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(pProperties);
-
- return cmd_size;
-}
-
-static inline VkResult vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT);
-
- VkResult ret;
- vn_decode_VkResult(dec, &ret);
- /* skip device */
- /* skip image */
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkImageDrmFormatModifierPropertiesEXT(dec, pProperties);
- } else {
- pProperties = NULL;
- }
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkBufferDeviceAddressInfo(pInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetBufferOpaqueCaptureAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkBufferDeviceAddressInfo(enc, pInfo);
-}
-
-static inline size_t vn_sizeof_vkGetBufferOpaqueCaptureAddress_reply(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- uint64_t ret;
- cmd_size += vn_sizeof_uint64_t(&ret);
- /* skip device */
- /* skip pInfo */
-
- return cmd_size;
-}
-
-static inline uint64_t vn_decode_vkGetBufferOpaqueCaptureAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT);
-
- uint64_t ret;
- vn_decode_uint64_t(dec, &ret);
- /* skip device */
- /* skip pInfo */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkBufferDeviceAddressInfo(pInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetBufferDeviceAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkBufferDeviceAddressInfo(enc, pInfo);
-}
-
-static inline size_t vn_sizeof_vkGetBufferDeviceAddress_reply(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- VkDeviceAddress ret;
- cmd_size += vn_sizeof_VkDeviceAddress(&ret);
- /* skip device */
- /* skip pInfo */
-
- return cmd_size;
-}
-
-static inline VkDeviceAddress vn_decode_vkGetBufferDeviceAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT);
-
- VkDeviceAddress ret;
- vn_decode_VkDeviceAddress(dec, &ret);
- /* skip device */
- /* skip pInfo */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_VkDevice(&device);
- cmd_size += vn_sizeof_simple_pointer(pInfo);
- if (pInfo)
- cmd_size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(pInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_VkDevice(enc, &device);
- if (vn_encode_simple_pointer(enc, pInfo))
- vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(enc, pInfo);
-}
-
-static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- uint64_t ret;
- cmd_size += vn_sizeof_uint64_t(&ret);
- /* skip device */
- /* skip pInfo */
-
- return cmd_size;
-}
-
-static inline uint64_t vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT);
-
- uint64_t ret;
- vn_decode_uint64_t(dec, &ret);
- /* skip device */
- /* skip pInfo */
-
- return ret;
-}
-
-static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA(const VkCommandStreamDescriptionMESA* pStream)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_simple_pointer(pStream);
- if (pStream)
- cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(pStream);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkSetReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- if (vn_encode_simple_pointer(enc, pStream))
- vn_encode_VkCommandStreamDescriptionMESA(enc, pStream);
-}
-
-static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA_reply(const VkCommandStreamDescriptionMESA* pStream)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip pStream */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkSetReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, const VkCommandStreamDescriptionMESA* pStream)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT);
-
- /* skip pStream */
-}
-
-static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA(size_t position)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_size_t(&position);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkSeekReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, size_t position)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_size_t(enc, &position);
-}
-
-static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA_reply(size_t position)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip position */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkSeekReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, size_t position)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT);
-
- /* skip position */
-}
-
-static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_uint32_t(&streamCount);
- if (pStreams) {
- cmd_size += vn_sizeof_array_size(streamCount);
- for (uint32_t i = 0; i < streamCount; i++)
- cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(&pStreams[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- if (pReplyPositions) {
- cmd_size += vn_sizeof_array_size(streamCount);
- cmd_size += vn_sizeof_size_t_array(pReplyPositions, streamCount);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_uint32_t(&dependencyCount);
- if (pDependencies) {
- cmd_size += vn_sizeof_array_size(dependencyCount);
- for (uint32_t i = 0; i < dependencyCount; i++)
- cmd_size += vn_sizeof_VkCommandStreamDependencyMESA(&pDependencies[i]);
- } else {
- cmd_size += vn_sizeof_array_size(0);
- }
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkExecuteCommandStreamsMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_uint32_t(enc, &streamCount);
- if (pStreams) {
- vn_encode_array_size(enc, streamCount);
- for (uint32_t i = 0; i < streamCount; i++)
- vn_encode_VkCommandStreamDescriptionMESA(enc, &pStreams[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (pReplyPositions) {
- vn_encode_array_size(enc, streamCount);
- vn_encode_size_t_array(enc, pReplyPositions, streamCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &dependencyCount);
- if (pDependencies) {
- vn_encode_array_size(enc, dependencyCount);
- for (uint32_t i = 0; i < dependencyCount; i++)
- vn_encode_VkCommandStreamDependencyMESA(enc, &pDependencies[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA_reply(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip streamCount */
- /* skip pStreams */
- /* skip pReplyPositions */
- /* skip dependencyCount */
- /* skip pDependencies */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkExecuteCommandStreamsMESA_reply(struct vn_cs_decoder *dec, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT);
-
- /* skip streamCount */
- /* skip pStreams */
- /* skip pReplyPositions */
- /* skip dependencyCount */
- /* skip pDependencies */
- /* skip flags */
-}
-
-static inline size_t vn_sizeof_vkCreateRingMESA(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_uint64_t(&ring);
- cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
- if (pCreateInfo)
- cmd_size += vn_sizeof_VkRingCreateInfoMESA(pCreateInfo);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkCreateRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_uint64_t(enc, &ring);
- if (vn_encode_simple_pointer(enc, pCreateInfo))
- vn_encode_VkRingCreateInfoMESA(enc, pCreateInfo);
-}
-
-static inline size_t vn_sizeof_vkCreateRingMESA_reply(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip ring */
- /* skip pCreateInfo */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkCreateRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkCreateRingMESA_EXT);
-
- /* skip ring */
- /* skip pCreateInfo */
-}
-
-static inline size_t vn_sizeof_vkDestroyRingMESA(uint64_t ring)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_uint64_t(&ring);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkDestroyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_uint64_t(enc, &ring);
-}
-
-static inline size_t vn_sizeof_vkDestroyRingMESA_reply(uint64_t ring)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip ring */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkDestroyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkDestroyRingMESA_EXT);
-
- /* skip ring */
-}
-
-static inline size_t vn_sizeof_vkNotifyRingMESA(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_uint64_t(&ring);
- cmd_size += vn_sizeof_uint32_t(&seqno);
- cmd_size += vn_sizeof_VkFlags(&flags);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkNotifyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_uint64_t(enc, &ring);
- vn_encode_uint32_t(enc, &seqno);
- vn_encode_VkFlags(enc, &flags);
-}
-
-static inline size_t vn_sizeof_vkNotifyRingMESA_reply(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip ring */
- /* skip seqno */
- /* skip flags */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkNotifyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkNotifyRingMESA_EXT);
-
- /* skip ring */
- /* skip seqno */
- /* skip flags */
-}
-
-static inline size_t vn_sizeof_vkWriteRingExtraMESA(uint64_t ring, size_t offset, uint32_t value)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
- const VkFlags cmd_flags = 0;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
-
- cmd_size += vn_sizeof_uint64_t(&ring);
- cmd_size += vn_sizeof_size_t(&offset);
- cmd_size += vn_sizeof_uint32_t(&value);
-
- return cmd_size;
-}
-
-static inline void vn_encode_vkWriteRingExtraMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
-
- vn_encode_VkCommandTypeEXT(enc, &cmd_type);
- vn_encode_VkFlags(enc, &cmd_flags);
-
- vn_encode_uint64_t(enc, &ring);
- vn_encode_size_t(enc, &offset);
- vn_encode_uint32_t(enc, &value);
-}
-
-static inline size_t vn_sizeof_vkWriteRingExtraMESA_reply(uint64_t ring, size_t offset, uint32_t value)
-{
- const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
- size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
-
- /* skip ring */
- /* skip offset */
- /* skip value */
-
- return cmd_size;
-}
-
-static inline void vn_decode_vkWriteRingExtraMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, size_t offset, uint32_t value)
-{
- VkCommandTypeEXT command_type;
- vn_decode_VkCommandTypeEXT(dec, &command_type);
- assert(command_type == VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT);
-
- /* skip ring */
- /* skip offset */
- /* skip value */
-}
-
-#endif /* VN_PROTOCOL_DRIVER_COMMANDS_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_cs.h b/src/virtio/venus-protocol/vn_protocol_driver_cs.h
index fa63ab6e359..95b689d67c9 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_cs.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_cs.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_defines.h b/src/virtio/venus-protocol/vn_protocol_driver_defines.h
index 546a81f79b2..ef5bcfedd71 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_defines.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_defines.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
@@ -14,6 +14,8 @@
#include "vn_protocol_driver_cs.h"
+#define VN_SUBMIT_LOCAL_CMD_SIZE 256
+
/* VkStructureType */
#define VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA ((VkStructureType)1000384000)
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_pool.h b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_pool.h
new file mode 100644
index 00000000000..7941d03bc32
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_pool.h
@@ -0,0 +1,398 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DESCRIPTOR_POOL_H
+#define VN_PROTOCOL_DRIVER_DESCRIPTOR_POOL_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkDescriptorPoolSize */
+
+static inline size_t
+vn_sizeof_VkDescriptorPoolSize(const VkDescriptorPoolSize *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDescriptorType(&val->type);
+ size += vn_sizeof_uint32_t(&val->descriptorCount);
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorPoolSize(struct vn_cs_encoder *enc, const VkDescriptorPoolSize *val)
+{
+ vn_encode_VkDescriptorType(enc, &val->type);
+ vn_encode_uint32_t(enc, &val->descriptorCount);
+}
+
+/* struct VkDescriptorPoolCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorPoolCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorPoolCreateInfo_self(const VkDescriptorPoolCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->maxSets);
+ size += vn_sizeof_uint32_t(&val->poolSizeCount);
+ if (val->pPoolSizes) {
+ size += vn_sizeof_array_size(val->poolSizeCount);
+ for (uint32_t i = 0; i < val->poolSizeCount; i++)
+ size += vn_sizeof_VkDescriptorPoolSize(&val->pPoolSizes[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorPoolCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorPoolCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorPoolCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->maxSets);
+ vn_encode_uint32_t(enc, &val->poolSizeCount);
+ if (val->pPoolSizes) {
+ vn_encode_array_size(enc, val->poolSizeCount);
+ for (uint32_t i = 0; i < val->poolSizeCount; i++)
+ vn_encode_VkDescriptorPoolSize(enc, &val->pPoolSizes[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDescriptorPoolCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorPoolCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO });
+ vn_encode_VkDescriptorPoolCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorPoolCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkDescriptorPoolCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pDescriptorPool);
+ if (pDescriptorPool)
+ cmd_size += vn_sizeof_VkDescriptorPool(pDescriptorPool);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkDescriptorPoolCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pDescriptorPool))
+ vn_encode_VkDescriptorPool(enc, pDescriptorPool);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorPool_reply(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pDescriptorPool);
+ if (pDescriptorPool)
+ cmd_size += vn_sizeof_VkDescriptorPool(pDescriptorPool);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDescriptorPool(dec, pDescriptorPool);
+ } else {
+ pDescriptorPool = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDescriptorPool(enc, &descriptorPool);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorPool_reply(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT);
+
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetDescriptorPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDescriptorPool(enc, &descriptorPool);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkResetDescriptorPool_reply(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetDescriptorPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkResetDescriptorPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetDescriptorPool_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip flags */
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateDescriptorPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pDescriptorPool);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorPool_reply(device, pCreateInfo, pAllocator, pDescriptorPool) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyDescriptorPool(&submit->command, cmd_flags, device, descriptorPool, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorPool_reply(device, descriptorPool, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetDescriptorPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetDescriptorPool(device, descriptorPool, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetDescriptorPool(&submit->command, cmd_flags, device, descriptorPool, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetDescriptorPool_reply(device, descriptorPool, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pDescriptorPool, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateDescriptorPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pDescriptorPool);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateDescriptorPool(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorPool(vn_instance, 0, device, pCreateInfo, pAllocator, pDescriptorPool, &submit);
+}
+
+static inline void vn_call_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyDescriptorPool_reply(&submit.reply, device, descriptorPool, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorPool(vn_instance, 0, device, descriptorPool, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkResetDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetDescriptorPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, flags, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkResetDescriptorPool_reply(&submit.reply, device, descriptorPool, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkResetDescriptorPool(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetDescriptorPool(vn_instance, 0, device, descriptorPool, flags, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DESCRIPTOR_POOL_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h
new file mode 100644
index 00000000000..9b6fcebd631
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set.h
@@ -0,0 +1,744 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_H
+#define VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/*
+ * These structs/unions/commands are not included
+ *
+ * vkUpdateDescriptorSetWithTemplate
+ */
+
+/* struct VkDescriptorSetVariableDescriptorCountAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->descriptorSetCount);
+ if (val->pDescriptorCounts) {
+ size += vn_sizeof_array_size(val->descriptorSetCount);
+ size += vn_sizeof_uint32_t_array(val->pDescriptorCounts, val->descriptorSetCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo(const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->descriptorSetCount);
+ if (val->pDescriptorCounts) {
+ vn_encode_array_size(enc, val->descriptorSetCount);
+ vn_encode_uint32_t_array(enc, val->pDescriptorCounts, val->descriptorSetCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO });
+ vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(enc, val);
+}
+
+/* struct VkDescriptorSetAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetAllocateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDescriptorSetAllocateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self((const VkDescriptorSetVariableDescriptorCountAllocateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetAllocateInfo_self(const VkDescriptorSetAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDescriptorPool(&val->descriptorPool);
+ size += vn_sizeof_uint32_t(&val->descriptorSetCount);
+ if (val->pSetLayouts) {
+ size += vn_sizeof_array_size(val->descriptorSetCount);
+ for (uint32_t i = 0; i < val->descriptorSetCount; i++)
+ size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDescriptorSetAllocateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(enc, (const VkDescriptorSetVariableDescriptorCountAllocateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetAllocateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDescriptorPool(enc, &val->descriptorPool);
+ vn_encode_uint32_t(enc, &val->descriptorSetCount);
+ if (val->pSetLayouts) {
+ vn_encode_array_size(enc, val->descriptorSetCount);
+ for (uint32_t i = 0; i < val->descriptorSetCount; i++)
+ vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDescriptorSetAllocateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO });
+ vn_encode_VkDescriptorSetAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorSetAllocateInfo_self(enc, val);
+}
+
+/* struct VkDescriptorImageInfo */
+
+static inline size_t
+vn_sizeof_VkDescriptorImageInfo(const VkDescriptorImageInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkSampler(&val->sampler);
+ size += vn_sizeof_VkImageView(&val->imageView);
+ size += vn_sizeof_VkImageLayout(&val->imageLayout);
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorImageInfo(struct vn_cs_encoder *enc, const VkDescriptorImageInfo *val)
+{
+ vn_encode_VkSampler(enc, &val->sampler);
+ vn_encode_VkImageView(enc, &val->imageView);
+ vn_encode_VkImageLayout(enc, &val->imageLayout);
+}
+
+/* struct VkDescriptorBufferInfo */
+
+static inline size_t
+vn_sizeof_VkDescriptorBufferInfo(const VkDescriptorBufferInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ size += vn_sizeof_VkDeviceSize(&val->offset);
+ size += vn_sizeof_VkDeviceSize(&val->range);
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorBufferInfo(struct vn_cs_encoder *enc, const VkDescriptorBufferInfo *val)
+{
+ vn_encode_VkBuffer(enc, &val->buffer);
+ vn_encode_VkDeviceSize(enc, &val->offset);
+ vn_encode_VkDeviceSize(enc, &val->range);
+}
+
+/* struct VkWriteDescriptorSet chain */
+
+static inline size_t
+vn_sizeof_VkWriteDescriptorSet_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkWriteDescriptorSet_self(const VkWriteDescriptorSet *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDescriptorSet(&val->dstSet);
+ size += vn_sizeof_uint32_t(&val->dstBinding);
+ size += vn_sizeof_uint32_t(&val->dstArrayElement);
+ size += vn_sizeof_uint32_t(&val->descriptorCount);
+ size += vn_sizeof_VkDescriptorType(&val->descriptorType);
+ if (val->pImageInfo) {
+ size += vn_sizeof_array_size(val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ size += vn_sizeof_VkDescriptorImageInfo(&val->pImageInfo[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pBufferInfo) {
+ size += vn_sizeof_array_size(val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ size += vn_sizeof_VkDescriptorBufferInfo(&val->pBufferInfo[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pTexelBufferView) {
+ size += vn_sizeof_array_size(val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ size += vn_sizeof_VkBufferView(&val->pTexelBufferView[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkWriteDescriptorSet(const VkWriteDescriptorSet *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkWriteDescriptorSet_pnext(val->pNext);
+ size += vn_sizeof_VkWriteDescriptorSet_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkWriteDescriptorSet_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkWriteDescriptorSet_self(struct vn_cs_encoder *enc, const VkWriteDescriptorSet *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDescriptorSet(enc, &val->dstSet);
+ vn_encode_uint32_t(enc, &val->dstBinding);
+ vn_encode_uint32_t(enc, &val->dstArrayElement);
+ vn_encode_uint32_t(enc, &val->descriptorCount);
+ vn_encode_VkDescriptorType(enc, &val->descriptorType);
+ if (val->pImageInfo) {
+ vn_encode_array_size(enc, val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ vn_encode_VkDescriptorImageInfo(enc, &val->pImageInfo[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pBufferInfo) {
+ vn_encode_array_size(enc, val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ vn_encode_VkDescriptorBufferInfo(enc, &val->pBufferInfo[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pTexelBufferView) {
+ vn_encode_array_size(enc, val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ vn_encode_VkBufferView(enc, &val->pTexelBufferView[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkWriteDescriptorSet(struct vn_cs_encoder *enc, const VkWriteDescriptorSet *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET });
+ vn_encode_VkWriteDescriptorSet_pnext(enc, val->pNext);
+ vn_encode_VkWriteDescriptorSet_self(enc, val);
+}
+
+/* struct VkCopyDescriptorSet chain */
+
+static inline size_t
+vn_sizeof_VkCopyDescriptorSet_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkCopyDescriptorSet_self(const VkCopyDescriptorSet *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDescriptorSet(&val->srcSet);
+ size += vn_sizeof_uint32_t(&val->srcBinding);
+ size += vn_sizeof_uint32_t(&val->srcArrayElement);
+ size += vn_sizeof_VkDescriptorSet(&val->dstSet);
+ size += vn_sizeof_uint32_t(&val->dstBinding);
+ size += vn_sizeof_uint32_t(&val->dstArrayElement);
+ size += vn_sizeof_uint32_t(&val->descriptorCount);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkCopyDescriptorSet(const VkCopyDescriptorSet *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkCopyDescriptorSet_pnext(val->pNext);
+ size += vn_sizeof_VkCopyDescriptorSet_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkCopyDescriptorSet_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkCopyDescriptorSet_self(struct vn_cs_encoder *enc, const VkCopyDescriptorSet *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDescriptorSet(enc, &val->srcSet);
+ vn_encode_uint32_t(enc, &val->srcBinding);
+ vn_encode_uint32_t(enc, &val->srcArrayElement);
+ vn_encode_VkDescriptorSet(enc, &val->dstSet);
+ vn_encode_uint32_t(enc, &val->dstBinding);
+ vn_encode_uint32_t(enc, &val->dstArrayElement);
+ vn_encode_uint32_t(enc, &val->descriptorCount);
+}
+
+static inline void
+vn_encode_VkCopyDescriptorSet(struct vn_cs_encoder *enc, const VkCopyDescriptorSet *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET });
+ vn_encode_VkCopyDescriptorSet_pnext(enc, val->pNext);
+ vn_encode_VkCopyDescriptorSet_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
+ 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_VkDescriptorSet(&pDescriptorSets[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkAllocateDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ 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_VkDescriptorSet(enc, &pDescriptorSets[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkAllocateDescriptorSets_reply(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* 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_VkDescriptorSet(&pDescriptorSets[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkAllocateDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* 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_VkDescriptorSet(dec, &pDescriptorSets[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pDescriptorSets = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDescriptorPool(&descriptorPool);
+ cmd_size += vn_sizeof_uint32_t(&descriptorSetCount);
+ if (pDescriptorSets) {
+ cmd_size += vn_sizeof_array_size(descriptorSetCount);
+ for (uint32_t i = 0; i < descriptorSetCount; i++)
+ cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkFreeDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDescriptorPool(enc, &descriptorPool);
+ vn_encode_uint32_t(enc, &descriptorSetCount);
+ if (pDescriptorSets) {
+ vn_encode_array_size(enc, descriptorSetCount);
+ for (uint32_t i = 0; i < descriptorSetCount; i++)
+ vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkFreeDescriptorSets_reply(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip descriptorSetCount */
+ /* skip pDescriptorSets */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkFreeDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip descriptorPool */
+ /* skip descriptorSetCount */
+ /* skip pDescriptorSets */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&descriptorWriteCount);
+ if (pDescriptorWrites) {
+ cmd_size += vn_sizeof_array_size(descriptorWriteCount);
+ for (uint32_t i = 0; i < descriptorWriteCount; i++)
+ cmd_size += vn_sizeof_VkWriteDescriptorSet(&pDescriptorWrites[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&descriptorCopyCount);
+ if (pDescriptorCopies) {
+ cmd_size += vn_sizeof_array_size(descriptorCopyCount);
+ for (uint32_t i = 0; i < descriptorCopyCount; i++)
+ cmd_size += vn_sizeof_VkCopyDescriptorSet(&pDescriptorCopies[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkUpdateDescriptorSets(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &descriptorWriteCount);
+ if (pDescriptorWrites) {
+ vn_encode_array_size(enc, descriptorWriteCount);
+ for (uint32_t i = 0; i < descriptorWriteCount; i++)
+ vn_encode_VkWriteDescriptorSet(enc, &pDescriptorWrites[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &descriptorCopyCount);
+ if (pDescriptorCopies) {
+ vn_encode_array_size(enc, descriptorCopyCount);
+ for (uint32_t i = 0; i < descriptorCopyCount; i++)
+ vn_encode_VkCopyDescriptorSet(enc, &pDescriptorCopies[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkUpdateDescriptorSets_reply(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip descriptorWriteCount */
+ /* skip pDescriptorWrites */
+ /* skip descriptorCopyCount */
+ /* skip pDescriptorCopies */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkUpdateDescriptorSets_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT);
+
+ /* skip device */
+ /* skip descriptorWriteCount */
+ /* skip pDescriptorWrites */
+ /* skip descriptorCopyCount */
+ /* skip pDescriptorCopies */
+}
+
+static inline void vn_submit_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkAllocateDescriptorSets(&submit->command, cmd_flags, device, pAllocateInfo, pDescriptorSets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateDescriptorSets_reply(device, pAllocateInfo, pDescriptorSets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkFreeDescriptorSets(&submit->command, cmd_flags, device, descriptorPool, descriptorSetCount, pDescriptorSets);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeDescriptorSets_reply(device, descriptorPool, descriptorSetCount, pDescriptorSets) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkUpdateDescriptorSets(&submit->command, cmd_flags, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUpdateDescriptorSets_reply(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pDescriptorSets, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkAllocateDescriptorSets_reply(&submit.reply, device, pAllocateInfo, pDescriptorSets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkAllocateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateDescriptorSets(vn_instance, 0, device, pAllocateInfo, pDescriptorSets, &submit);
+}
+
+static inline VkResult vn_call_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorPool, descriptorSetCount, pDescriptorSets, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkFreeDescriptorSets_reply(&submit.reply, device, descriptorPool, descriptorSetCount, pDescriptorSets);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkFreeDescriptorSets(struct vn_instance *vn_instance, VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeDescriptorSets(vn_instance, 0, device, descriptorPool, descriptorSetCount, pDescriptorSets, &submit);
+}
+
+static inline void vn_call_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkUpdateDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkUpdateDescriptorSets_reply(&submit.reply, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkUpdateDescriptorSets(struct vn_instance *vn_instance, VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkUpdateDescriptorSets(vn_instance, 0, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set_layout.h b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set_layout.h
new file mode 100644
index 00000000000..fd446bd2cae
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_set_layout.h
@@ -0,0 +1,802 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_LAYOUT_H
+#define VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_LAYOUT_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkDescriptorSetLayoutBinding */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->binding);
+ size += vn_sizeof_VkDescriptorType(&val->descriptorType);
+ size += vn_sizeof_uint32_t(&val->descriptorCount);
+ size += vn_sizeof_VkFlags(&val->stageFlags);
+ if (val->pImmutableSamplers) {
+ size += vn_sizeof_array_size(val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ size += vn_sizeof_VkSampler(&val->pImmutableSamplers[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutBinding(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBinding *val)
+{
+ vn_encode_uint32_t(enc, &val->binding);
+ vn_encode_VkDescriptorType(enc, &val->descriptorType);
+ vn_encode_uint32_t(enc, &val->descriptorCount);
+ vn_encode_VkFlags(enc, &val->stageFlags);
+ if (val->pImmutableSamplers) {
+ vn_encode_array_size(enc, val->descriptorCount);
+ for (uint32_t i = 0; i < val->descriptorCount; i++)
+ vn_encode_VkSampler(enc, &val->pImmutableSamplers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkDescriptorSetLayoutBindingFlagsCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->bindingCount);
+ if (val->pBindingFlags) {
+ size += vn_sizeof_array_size(val->bindingCount);
+ for (uint32_t i = 0; i < val->bindingCount; i++)
+ size += vn_sizeof_VkFlags(&val->pBindingFlags[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo(const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->bindingCount);
+ if (val->pBindingFlags) {
+ vn_encode_array_size(enc, val->bindingCount);
+ for (uint32_t i = 0; i < val->bindingCount; i++)
+ vn_encode_VkFlags(enc, &val->pBindingFlags[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO });
+ vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(enc, val);
+}
+
+/* struct VkDescriptorSetLayoutCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self((const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutCreateInfo_self(const VkDescriptorSetLayoutCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->bindingCount);
+ if (val->pBindings) {
+ size += vn_sizeof_array_size(val->bindingCount);
+ for (uint32_t i = 0; i < val->bindingCount; i++)
+ size += vn_sizeof_VkDescriptorSetLayoutBinding(&val->pBindings[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(enc, (const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->bindingCount);
+ if (val->pBindings) {
+ vn_encode_array_size(enc, val->bindingCount);
+ for (uint32_t i = 0; i < val->bindingCount; i++)
+ vn_encode_VkDescriptorSetLayoutBinding(enc, &val->pBindings[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO });
+ vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorSetLayoutCreateInfo_self(enc, val);
+}
+
+/* struct VkDescriptorSetVariableDescriptorCountLayoutSupport chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxVariableDescriptorCount);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(struct vn_cs_decoder *dec, VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxVariableDescriptorCount);
+}
+
+static inline void
+vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport(struct vn_cs_decoder *dec, VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT);
+
+ assert(val->sType == stype);
+ vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(dec, val->pNext);
+ vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxVariableDescriptorCount */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_partial(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(val->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxVariableDescriptorCount */
+}
+
+static inline void
+vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_partial(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT });
+ vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(enc, val->pNext);
+ vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(enc, val);
+}
+
+/* struct VkDescriptorSetLayoutSupport chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext(pnext->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self((const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport_self(const VkDescriptorSetLayoutSupport *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->supported);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkDescriptorSetLayoutSupport_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
+ vn_decode_VkDescriptorSetLayoutSupport_pnext(dec, pnext->pNext);
+ vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(dec, (VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkDescriptorSetLayoutSupport_self(struct vn_cs_decoder *dec, VkDescriptorSetLayoutSupport *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->supported);
+}
+
+static inline void
+vn_decode_VkDescriptorSetLayoutSupport(struct vn_cs_decoder *dec, VkDescriptorSetLayoutSupport *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT);
+
+ assert(val->sType == stype);
+ vn_decode_VkDescriptorSetLayoutSupport_pnext(dec, val->pNext);
+ vn_decode_VkDescriptorSetLayoutSupport_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial((const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport_self_partial(const VkDescriptorSetLayoutSupport *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->supported */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorSetLayoutSupport_partial(const VkDescriptorSetLayoutSupport *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(val->pNext);
+ size += vn_sizeof_VkDescriptorSetLayoutSupport_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(enc, (const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutSupport_self_partial(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutSupport *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->supported */
+}
+
+static inline void
+vn_encode_VkDescriptorSetLayoutSupport_partial(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutSupport *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT });
+ vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(enc, val->pNext);
+ vn_encode_VkDescriptorSetLayoutSupport_self_partial(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkDescriptorSetLayoutCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pSetLayout);
+ if (pSetLayout)
+ cmd_size += vn_sizeof_VkDescriptorSetLayout(pSetLayout);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateDescriptorSetLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkDescriptorSetLayoutCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pSetLayout))
+ vn_encode_VkDescriptorSetLayout(enc, pSetLayout);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorSetLayout_reply(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pSetLayout);
+ if (pSetLayout)
+ cmd_size += vn_sizeof_VkDescriptorSetLayout(pSetLayout);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateDescriptorSetLayout_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDescriptorSetLayout(dec, pSetLayout);
+ } else {
+ pSetLayout = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDescriptorSetLayout(&descriptorSetLayout);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyDescriptorSetLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDescriptorSetLayout(enc, &descriptorSetLayout);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorSetLayout_reply(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip descriptorSetLayout */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyDescriptorSetLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT);
+
+ /* skip device */
+ /* skip descriptorSetLayout */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkDescriptorSetLayoutCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pSupport);
+ if (pSupport)
+ cmd_size += vn_sizeof_VkDescriptorSetLayoutSupport_partial(pSupport);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDescriptorSetLayoutSupport(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkDescriptorSetLayoutCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pSupport))
+ vn_encode_VkDescriptorSetLayoutSupport_partial(enc, pSupport);
+}
+
+static inline size_t vn_sizeof_vkGetDescriptorSetLayoutSupport_reply(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pCreateInfo */
+ cmd_size += vn_sizeof_simple_pointer(pSupport);
+ if (pSupport)
+ cmd_size += vn_sizeof_VkDescriptorSetLayoutSupport(pSupport);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetDescriptorSetLayoutSupport_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT);
+
+ /* skip device */
+ /* skip pCreateInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDescriptorSetLayoutSupport(dec, pSupport);
+ } else {
+ pSupport = NULL;
+ }
+}
+
+static inline void vn_submit_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateDescriptorSetLayout(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSetLayout);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorSetLayout_reply(device, pCreateInfo, pAllocator, pSetLayout) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyDescriptorSetLayout(&submit->command, cmd_flags, device, descriptorSetLayout, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorSetLayout_reply(device, descriptorSetLayout, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDescriptorSetLayoutSupport(&submit->command, cmd_flags, device, pCreateInfo, pSupport);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDescriptorSetLayoutSupport_reply(device, pCreateInfo, pSupport) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorSetLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSetLayout, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateDescriptorSetLayout_reply(&submit.reply, device, pCreateInfo, pAllocator, pSetLayout);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorSetLayout(vn_instance, 0, device, pCreateInfo, pAllocator, pSetLayout, &submit);
+}
+
+static inline void vn_call_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorSetLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorSetLayout, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyDescriptorSetLayout_reply(&submit.reply, device, descriptorSetLayout, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyDescriptorSetLayout(struct vn_instance *vn_instance, VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorSetLayout(vn_instance, 0, device, descriptorSetLayout, pAllocator, &submit);
+}
+
+static inline void vn_call_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDescriptorSetLayoutSupport(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pSupport, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetDescriptorSetLayoutSupport_reply(&submit.reply, device, pCreateInfo, pSupport);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetDescriptorSetLayoutSupport(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDescriptorSetLayoutSupport(vn_instance, 0, device, pCreateInfo, pSupport, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DESCRIPTOR_SET_LAYOUT_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_descriptor_update_template.h b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_update_template.h
new file mode 100644
index 00000000000..4cec93c7342
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_descriptor_update_template.h
@@ -0,0 +1,320 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DESCRIPTOR_UPDATE_TEMPLATE_H
+#define VN_PROTOCOL_DRIVER_DESCRIPTOR_UPDATE_TEMPLATE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkDescriptorUpdateTemplateEntry */
+
+static inline size_t
+vn_sizeof_VkDescriptorUpdateTemplateEntry(const VkDescriptorUpdateTemplateEntry *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->dstBinding);
+ size += vn_sizeof_uint32_t(&val->dstArrayElement);
+ size += vn_sizeof_uint32_t(&val->descriptorCount);
+ size += vn_sizeof_VkDescriptorType(&val->descriptorType);
+ size += vn_sizeof_size_t(&val->offset);
+ size += vn_sizeof_size_t(&val->stride);
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorUpdateTemplateEntry(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateEntry *val)
+{
+ vn_encode_uint32_t(enc, &val->dstBinding);
+ vn_encode_uint32_t(enc, &val->dstArrayElement);
+ vn_encode_uint32_t(enc, &val->descriptorCount);
+ vn_encode_VkDescriptorType(enc, &val->descriptorType);
+ vn_encode_size_t(enc, &val->offset);
+ vn_encode_size_t(enc, &val->stride);
+}
+
+/* struct VkDescriptorUpdateTemplateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_self(const VkDescriptorUpdateTemplateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->descriptorUpdateEntryCount);
+ if (val->pDescriptorUpdateEntries) {
+ size += vn_sizeof_array_size(val->descriptorUpdateEntryCount);
+ for (uint32_t i = 0; i < val->descriptorUpdateEntryCount; i++)
+ size += vn_sizeof_VkDescriptorUpdateTemplateEntry(&val->pDescriptorUpdateEntries[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_VkDescriptorUpdateTemplateType(&val->templateType);
+ size += vn_sizeof_VkDescriptorSetLayout(&val->descriptorSetLayout);
+ size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
+ size += vn_sizeof_VkPipelineLayout(&val->pipelineLayout);
+ size += vn_sizeof_uint32_t(&val->set);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDescriptorUpdateTemplateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDescriptorUpdateTemplateCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->descriptorUpdateEntryCount);
+ if (val->pDescriptorUpdateEntries) {
+ vn_encode_array_size(enc, val->descriptorUpdateEntryCount);
+ for (uint32_t i = 0; i < val->descriptorUpdateEntryCount; i++)
+ vn_encode_VkDescriptorUpdateTemplateEntry(enc, &val->pDescriptorUpdateEntries[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkDescriptorUpdateTemplateType(enc, &val->templateType);
+ vn_encode_VkDescriptorSetLayout(enc, &val->descriptorSetLayout);
+ vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
+ vn_encode_VkPipelineLayout(enc, &val->pipelineLayout);
+ vn_encode_uint32_t(enc, &val->set);
+}
+
+static inline void
+vn_encode_VkDescriptorUpdateTemplateCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO });
+ vn_encode_VkDescriptorUpdateTemplateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDescriptorUpdateTemplateCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pDescriptorUpdateTemplate);
+ if (pDescriptorUpdateTemplate)
+ cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(pDescriptorUpdateTemplate);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateDescriptorUpdateTemplate(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkDescriptorUpdateTemplateCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pDescriptorUpdateTemplate))
+ vn_encode_VkDescriptorUpdateTemplate(enc, pDescriptorUpdateTemplate);
+}
+
+static inline size_t vn_sizeof_vkCreateDescriptorUpdateTemplate_reply(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pDescriptorUpdateTemplate);
+ if (pDescriptorUpdateTemplate)
+ cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(pDescriptorUpdateTemplate);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateDescriptorUpdateTemplate_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDescriptorUpdateTemplate(dec, pDescriptorUpdateTemplate);
+ } else {
+ pDescriptorUpdateTemplate = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDescriptorUpdateTemplate(&descriptorUpdateTemplate);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyDescriptorUpdateTemplate(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDescriptorUpdateTemplate(enc, &descriptorUpdateTemplate);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyDescriptorUpdateTemplate_reply(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip descriptorUpdateTemplate */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyDescriptorUpdateTemplate_reply(struct vn_cs_decoder *dec, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT);
+
+ /* skip device */
+ /* skip descriptorUpdateTemplate */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateDescriptorUpdateTemplate(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDescriptorUpdateTemplate_reply(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyDescriptorUpdateTemplate(&submit->command, cmd_flags, device, descriptorUpdateTemplate, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDescriptorUpdateTemplate_reply(device, descriptorUpdateTemplate, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorUpdateTemplate(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateDescriptorUpdateTemplate_reply(&submit.reply, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDescriptorUpdateTemplate(vn_instance, 0, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate, &submit);
+}
+
+static inline void vn_call_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorUpdateTemplate(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, descriptorUpdateTemplate, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyDescriptorUpdateTemplate_reply(&submit.reply, device, descriptorUpdateTemplate, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyDescriptorUpdateTemplate(struct vn_instance *vn_instance, VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDescriptorUpdateTemplate(vn_instance, 0, device, descriptorUpdateTemplate, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DESCRIPTOR_UPDATE_TEMPLATE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_device.h b/src/virtio/venus-protocol/vn_protocol_driver_device.h
new file mode 100644
index 00000000000..8feef222f46
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_device.h
@@ -0,0 +1,13588 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DEVICE_H
+#define VN_PROTOCOL_DRIVER_DEVICE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/*
+ * These structs/unions/commands are not included
+ *
+ * vkGetDeviceProcAddr
+ */
+
+/* struct VkPhysicalDeviceLimits */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->maxImageDimension1D);
+ size += vn_sizeof_uint32_t(&val->maxImageDimension2D);
+ size += vn_sizeof_uint32_t(&val->maxImageDimension3D);
+ size += vn_sizeof_uint32_t(&val->maxImageDimensionCube);
+ size += vn_sizeof_uint32_t(&val->maxImageArrayLayers);
+ size += vn_sizeof_uint32_t(&val->maxTexelBufferElements);
+ size += vn_sizeof_uint32_t(&val->maxUniformBufferRange);
+ size += vn_sizeof_uint32_t(&val->maxStorageBufferRange);
+ size += vn_sizeof_uint32_t(&val->maxPushConstantsSize);
+ size += vn_sizeof_uint32_t(&val->maxMemoryAllocationCount);
+ size += vn_sizeof_uint32_t(&val->maxSamplerAllocationCount);
+ size += vn_sizeof_VkDeviceSize(&val->bufferImageGranularity);
+ size += vn_sizeof_VkDeviceSize(&val->sparseAddressSpaceSize);
+ size += vn_sizeof_uint32_t(&val->maxBoundDescriptorSets);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSamplers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorInputAttachments);
+ size += vn_sizeof_uint32_t(&val->maxPerStageResources);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetSamplers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetInputAttachments);
+ size += vn_sizeof_uint32_t(&val->maxVertexInputAttributes);
+ size += vn_sizeof_uint32_t(&val->maxVertexInputBindings);
+ size += vn_sizeof_uint32_t(&val->maxVertexInputAttributeOffset);
+ size += vn_sizeof_uint32_t(&val->maxVertexInputBindingStride);
+ size += vn_sizeof_uint32_t(&val->maxVertexOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationGenerationLevel);
+ size += vn_sizeof_uint32_t(&val->maxTessellationPatchSize);
+ size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexInputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationControlPerPatchOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationControlTotalOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationInputComponents);
+ size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxGeometryShaderInvocations);
+ size += vn_sizeof_uint32_t(&val->maxGeometryInputComponents);
+ size += vn_sizeof_uint32_t(&val->maxGeometryOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxGeometryOutputVertices);
+ size += vn_sizeof_uint32_t(&val->maxGeometryTotalOutputComponents);
+ size += vn_sizeof_uint32_t(&val->maxFragmentInputComponents);
+ size += vn_sizeof_uint32_t(&val->maxFragmentOutputAttachments);
+ size += vn_sizeof_uint32_t(&val->maxFragmentDualSrcAttachments);
+ size += vn_sizeof_uint32_t(&val->maxFragmentCombinedOutputResources);
+ size += vn_sizeof_uint32_t(&val->maxComputeSharedMemorySize);
+ size += vn_sizeof_array_size(3);
+ size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupCount, 3);
+ size += vn_sizeof_uint32_t(&val->maxComputeWorkGroupInvocations);
+ size += vn_sizeof_array_size(3);
+ size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupSize, 3);
+ size += vn_sizeof_uint32_t(&val->subPixelPrecisionBits);
+ size += vn_sizeof_uint32_t(&val->subTexelPrecisionBits);
+ size += vn_sizeof_uint32_t(&val->mipmapPrecisionBits);
+ size += vn_sizeof_uint32_t(&val->maxDrawIndexedIndexValue);
+ size += vn_sizeof_uint32_t(&val->maxDrawIndirectCount);
+ size += vn_sizeof_float(&val->maxSamplerLodBias);
+ size += vn_sizeof_float(&val->maxSamplerAnisotropy);
+ size += vn_sizeof_uint32_t(&val->maxViewports);
+ size += vn_sizeof_array_size(2);
+ size += vn_sizeof_uint32_t_array(val->maxViewportDimensions, 2);
+ size += vn_sizeof_array_size(2);
+ size += vn_sizeof_float_array(val->viewportBoundsRange, 2);
+ size += vn_sizeof_uint32_t(&val->viewportSubPixelBits);
+ size += vn_sizeof_size_t(&val->minMemoryMapAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->minTexelBufferOffsetAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->minUniformBufferOffsetAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->minStorageBufferOffsetAlignment);
+ size += vn_sizeof_int32_t(&val->minTexelOffset);
+ size += vn_sizeof_uint32_t(&val->maxTexelOffset);
+ size += vn_sizeof_int32_t(&val->minTexelGatherOffset);
+ size += vn_sizeof_uint32_t(&val->maxTexelGatherOffset);
+ size += vn_sizeof_float(&val->minInterpolationOffset);
+ size += vn_sizeof_float(&val->maxInterpolationOffset);
+ size += vn_sizeof_uint32_t(&val->subPixelInterpolationOffsetBits);
+ size += vn_sizeof_uint32_t(&val->maxFramebufferWidth);
+ size += vn_sizeof_uint32_t(&val->maxFramebufferHeight);
+ size += vn_sizeof_uint32_t(&val->maxFramebufferLayers);
+ size += vn_sizeof_VkFlags(&val->framebufferColorSampleCounts);
+ size += vn_sizeof_VkFlags(&val->framebufferDepthSampleCounts);
+ size += vn_sizeof_VkFlags(&val->framebufferStencilSampleCounts);
+ size += vn_sizeof_VkFlags(&val->framebufferNoAttachmentsSampleCounts);
+ size += vn_sizeof_uint32_t(&val->maxColorAttachments);
+ size += vn_sizeof_VkFlags(&val->sampledImageColorSampleCounts);
+ size += vn_sizeof_VkFlags(&val->sampledImageIntegerSampleCounts);
+ size += vn_sizeof_VkFlags(&val->sampledImageDepthSampleCounts);
+ size += vn_sizeof_VkFlags(&val->sampledImageStencilSampleCounts);
+ size += vn_sizeof_VkFlags(&val->storageImageSampleCounts);
+ size += vn_sizeof_uint32_t(&val->maxSampleMaskWords);
+ size += vn_sizeof_VkBool32(&val->timestampComputeAndGraphics);
+ size += vn_sizeof_float(&val->timestampPeriod);
+ size += vn_sizeof_uint32_t(&val->maxClipDistances);
+ size += vn_sizeof_uint32_t(&val->maxCullDistances);
+ size += vn_sizeof_uint32_t(&val->maxCombinedClipAndCullDistances);
+ size += vn_sizeof_uint32_t(&val->discreteQueuePriorities);
+ size += vn_sizeof_array_size(2);
+ size += vn_sizeof_float_array(val->pointSizeRange, 2);
+ size += vn_sizeof_array_size(2);
+ size += vn_sizeof_float_array(val->lineWidthRange, 2);
+ size += vn_sizeof_float(&val->pointSizeGranularity);
+ size += vn_sizeof_float(&val->lineWidthGranularity);
+ size += vn_sizeof_VkBool32(&val->strictLines);
+ size += vn_sizeof_VkBool32(&val->standardSampleLocations);
+ size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyOffsetAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyRowPitchAlignment);
+ size += vn_sizeof_VkDeviceSize(&val->nonCoherentAtomSize);
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceLimits(struct vn_cs_decoder *dec, VkPhysicalDeviceLimits *val)
+{
+ vn_decode_uint32_t(dec, &val->maxImageDimension1D);
+ vn_decode_uint32_t(dec, &val->maxImageDimension2D);
+ vn_decode_uint32_t(dec, &val->maxImageDimension3D);
+ vn_decode_uint32_t(dec, &val->maxImageDimensionCube);
+ vn_decode_uint32_t(dec, &val->maxImageArrayLayers);
+ vn_decode_uint32_t(dec, &val->maxTexelBufferElements);
+ vn_decode_uint32_t(dec, &val->maxUniformBufferRange);
+ vn_decode_uint32_t(dec, &val->maxStorageBufferRange);
+ vn_decode_uint32_t(dec, &val->maxPushConstantsSize);
+ vn_decode_uint32_t(dec, &val->maxMemoryAllocationCount);
+ vn_decode_uint32_t(dec, &val->maxSamplerAllocationCount);
+ vn_decode_VkDeviceSize(dec, &val->bufferImageGranularity);
+ vn_decode_VkDeviceSize(dec, &val->sparseAddressSpaceSize);
+ vn_decode_uint32_t(dec, &val->maxBoundDescriptorSets);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSamplers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSampledImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorInputAttachments);
+ vn_decode_uint32_t(dec, &val->maxPerStageResources);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetSamplers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetSampledImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetInputAttachments);
+ vn_decode_uint32_t(dec, &val->maxVertexInputAttributes);
+ vn_decode_uint32_t(dec, &val->maxVertexInputBindings);
+ vn_decode_uint32_t(dec, &val->maxVertexInputAttributeOffset);
+ vn_decode_uint32_t(dec, &val->maxVertexInputBindingStride);
+ vn_decode_uint32_t(dec, &val->maxVertexOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationGenerationLevel);
+ vn_decode_uint32_t(dec, &val->maxTessellationPatchSize);
+ vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexInputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationControlPerPatchOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationControlTotalOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationEvaluationInputComponents);
+ vn_decode_uint32_t(dec, &val->maxTessellationEvaluationOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxGeometryShaderInvocations);
+ vn_decode_uint32_t(dec, &val->maxGeometryInputComponents);
+ vn_decode_uint32_t(dec, &val->maxGeometryOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxGeometryOutputVertices);
+ vn_decode_uint32_t(dec, &val->maxGeometryTotalOutputComponents);
+ vn_decode_uint32_t(dec, &val->maxFragmentInputComponents);
+ vn_decode_uint32_t(dec, &val->maxFragmentOutputAttachments);
+ vn_decode_uint32_t(dec, &val->maxFragmentDualSrcAttachments);
+ vn_decode_uint32_t(dec, &val->maxFragmentCombinedOutputResources);
+ vn_decode_uint32_t(dec, &val->maxComputeSharedMemorySize);
+ {
+ const size_t array_size = vn_decode_array_size(dec, 3);
+ vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupCount, array_size);
+ }
+ vn_decode_uint32_t(dec, &val->maxComputeWorkGroupInvocations);
+ {
+ const size_t array_size = vn_decode_array_size(dec, 3);
+ vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupSize, array_size);
+ }
+ vn_decode_uint32_t(dec, &val->subPixelPrecisionBits);
+ vn_decode_uint32_t(dec, &val->subTexelPrecisionBits);
+ vn_decode_uint32_t(dec, &val->mipmapPrecisionBits);
+ vn_decode_uint32_t(dec, &val->maxDrawIndexedIndexValue);
+ vn_decode_uint32_t(dec, &val->maxDrawIndirectCount);
+ vn_decode_float(dec, &val->maxSamplerLodBias);
+ vn_decode_float(dec, &val->maxSamplerAnisotropy);
+ vn_decode_uint32_t(dec, &val->maxViewports);
+ {
+ const size_t array_size = vn_decode_array_size(dec, 2);
+ vn_decode_uint32_t_array(dec, val->maxViewportDimensions, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, 2);
+ vn_decode_float_array(dec, val->viewportBoundsRange, array_size);
+ }
+ vn_decode_uint32_t(dec, &val->viewportSubPixelBits);
+ vn_decode_size_t(dec, &val->minMemoryMapAlignment);
+ vn_decode_VkDeviceSize(dec, &val->minTexelBufferOffsetAlignment);
+ vn_decode_VkDeviceSize(dec, &val->minUniformBufferOffsetAlignment);
+ vn_decode_VkDeviceSize(dec, &val->minStorageBufferOffsetAlignment);
+ vn_decode_int32_t(dec, &val->minTexelOffset);
+ vn_decode_uint32_t(dec, &val->maxTexelOffset);
+ vn_decode_int32_t(dec, &val->minTexelGatherOffset);
+ vn_decode_uint32_t(dec, &val->maxTexelGatherOffset);
+ vn_decode_float(dec, &val->minInterpolationOffset);
+ vn_decode_float(dec, &val->maxInterpolationOffset);
+ vn_decode_uint32_t(dec, &val->subPixelInterpolationOffsetBits);
+ vn_decode_uint32_t(dec, &val->maxFramebufferWidth);
+ vn_decode_uint32_t(dec, &val->maxFramebufferHeight);
+ vn_decode_uint32_t(dec, &val->maxFramebufferLayers);
+ vn_decode_VkFlags(dec, &val->framebufferColorSampleCounts);
+ vn_decode_VkFlags(dec, &val->framebufferDepthSampleCounts);
+ vn_decode_VkFlags(dec, &val->framebufferStencilSampleCounts);
+ vn_decode_VkFlags(dec, &val->framebufferNoAttachmentsSampleCounts);
+ vn_decode_uint32_t(dec, &val->maxColorAttachments);
+ vn_decode_VkFlags(dec, &val->sampledImageColorSampleCounts);
+ vn_decode_VkFlags(dec, &val->sampledImageIntegerSampleCounts);
+ vn_decode_VkFlags(dec, &val->sampledImageDepthSampleCounts);
+ vn_decode_VkFlags(dec, &val->sampledImageStencilSampleCounts);
+ vn_decode_VkFlags(dec, &val->storageImageSampleCounts);
+ vn_decode_uint32_t(dec, &val->maxSampleMaskWords);
+ vn_decode_VkBool32(dec, &val->timestampComputeAndGraphics);
+ vn_decode_float(dec, &val->timestampPeriod);
+ vn_decode_uint32_t(dec, &val->maxClipDistances);
+ vn_decode_uint32_t(dec, &val->maxCullDistances);
+ vn_decode_uint32_t(dec, &val->maxCombinedClipAndCullDistances);
+ vn_decode_uint32_t(dec, &val->discreteQueuePriorities);
+ {
+ const size_t array_size = vn_decode_array_size(dec, 2);
+ vn_decode_float_array(dec, val->pointSizeRange, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, 2);
+ vn_decode_float_array(dec, val->lineWidthRange, array_size);
+ }
+ vn_decode_float(dec, &val->pointSizeGranularity);
+ vn_decode_float(dec, &val->lineWidthGranularity);
+ vn_decode_VkBool32(dec, &val->strictLines);
+ vn_decode_VkBool32(dec, &val->standardSampleLocations);
+ vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyOffsetAlignment);
+ vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyRowPitchAlignment);
+ vn_decode_VkDeviceSize(dec, &val->nonCoherentAtomSize);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceLimits_partial(const VkPhysicalDeviceLimits *val)
+{
+ size_t size = 0;
+ /* skip val->maxImageDimension1D */
+ /* skip val->maxImageDimension2D */
+ /* skip val->maxImageDimension3D */
+ /* skip val->maxImageDimensionCube */
+ /* skip val->maxImageArrayLayers */
+ /* skip val->maxTexelBufferElements */
+ /* skip val->maxUniformBufferRange */
+ /* skip val->maxStorageBufferRange */
+ /* skip val->maxPushConstantsSize */
+ /* skip val->maxMemoryAllocationCount */
+ /* skip val->maxSamplerAllocationCount */
+ /* skip val->bufferImageGranularity */
+ /* skip val->sparseAddressSpaceSize */
+ /* skip val->maxBoundDescriptorSets */
+ /* skip val->maxPerStageDescriptorSamplers */
+ /* skip val->maxPerStageDescriptorUniformBuffers */
+ /* skip val->maxPerStageDescriptorStorageBuffers */
+ /* skip val->maxPerStageDescriptorSampledImages */
+ /* skip val->maxPerStageDescriptorStorageImages */
+ /* skip val->maxPerStageDescriptorInputAttachments */
+ /* skip val->maxPerStageResources */
+ /* skip val->maxDescriptorSetSamplers */
+ /* skip val->maxDescriptorSetUniformBuffers */
+ /* skip val->maxDescriptorSetUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetStorageBuffers */
+ /* skip val->maxDescriptorSetStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetSampledImages */
+ /* skip val->maxDescriptorSetStorageImages */
+ /* skip val->maxDescriptorSetInputAttachments */
+ /* skip val->maxVertexInputAttributes */
+ /* skip val->maxVertexInputBindings */
+ /* skip val->maxVertexInputAttributeOffset */
+ /* skip val->maxVertexInputBindingStride */
+ /* skip val->maxVertexOutputComponents */
+ /* skip val->maxTessellationGenerationLevel */
+ /* skip val->maxTessellationPatchSize */
+ /* skip val->maxTessellationControlPerVertexInputComponents */
+ /* skip val->maxTessellationControlPerVertexOutputComponents */
+ /* skip val->maxTessellationControlPerPatchOutputComponents */
+ /* skip val->maxTessellationControlTotalOutputComponents */
+ /* skip val->maxTessellationEvaluationInputComponents */
+ /* skip val->maxTessellationEvaluationOutputComponents */
+ /* skip val->maxGeometryShaderInvocations */
+ /* skip val->maxGeometryInputComponents */
+ /* skip val->maxGeometryOutputComponents */
+ /* skip val->maxGeometryOutputVertices */
+ /* skip val->maxGeometryTotalOutputComponents */
+ /* skip val->maxFragmentInputComponents */
+ /* skip val->maxFragmentOutputAttachments */
+ /* skip val->maxFragmentDualSrcAttachments */
+ /* skip val->maxFragmentCombinedOutputResources */
+ /* skip val->maxComputeSharedMemorySize */
+ /* skip val->maxComputeWorkGroupCount */
+ /* skip val->maxComputeWorkGroupInvocations */
+ /* skip val->maxComputeWorkGroupSize */
+ /* skip val->subPixelPrecisionBits */
+ /* skip val->subTexelPrecisionBits */
+ /* skip val->mipmapPrecisionBits */
+ /* skip val->maxDrawIndexedIndexValue */
+ /* skip val->maxDrawIndirectCount */
+ /* skip val->maxSamplerLodBias */
+ /* skip val->maxSamplerAnisotropy */
+ /* skip val->maxViewports */
+ /* skip val->maxViewportDimensions */
+ /* skip val->viewportBoundsRange */
+ /* skip val->viewportSubPixelBits */
+ /* skip val->minMemoryMapAlignment */
+ /* skip val->minTexelBufferOffsetAlignment */
+ /* skip val->minUniformBufferOffsetAlignment */
+ /* skip val->minStorageBufferOffsetAlignment */
+ /* skip val->minTexelOffset */
+ /* skip val->maxTexelOffset */
+ /* skip val->minTexelGatherOffset */
+ /* skip val->maxTexelGatherOffset */
+ /* skip val->minInterpolationOffset */
+ /* skip val->maxInterpolationOffset */
+ /* skip val->subPixelInterpolationOffsetBits */
+ /* skip val->maxFramebufferWidth */
+ /* skip val->maxFramebufferHeight */
+ /* skip val->maxFramebufferLayers */
+ /* skip val->framebufferColorSampleCounts */
+ /* skip val->framebufferDepthSampleCounts */
+ /* skip val->framebufferStencilSampleCounts */
+ /* skip val->framebufferNoAttachmentsSampleCounts */
+ /* skip val->maxColorAttachments */
+ /* skip val->sampledImageColorSampleCounts */
+ /* skip val->sampledImageIntegerSampleCounts */
+ /* skip val->sampledImageDepthSampleCounts */
+ /* skip val->sampledImageStencilSampleCounts */
+ /* skip val->storageImageSampleCounts */
+ /* skip val->maxSampleMaskWords */
+ /* skip val->timestampComputeAndGraphics */
+ /* skip val->timestampPeriod */
+ /* skip val->maxClipDistances */
+ /* skip val->maxCullDistances */
+ /* skip val->maxCombinedClipAndCullDistances */
+ /* skip val->discreteQueuePriorities */
+ /* skip val->pointSizeRange */
+ /* skip val->lineWidthRange */
+ /* skip val->pointSizeGranularity */
+ /* skip val->lineWidthGranularity */
+ /* skip val->strictLines */
+ /* skip val->standardSampleLocations */
+ /* skip val->optimalBufferCopyOffsetAlignment */
+ /* skip val->optimalBufferCopyRowPitchAlignment */
+ /* skip val->nonCoherentAtomSize */
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceLimits_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLimits *val)
+{
+ /* skip val->maxImageDimension1D */
+ /* skip val->maxImageDimension2D */
+ /* skip val->maxImageDimension3D */
+ /* skip val->maxImageDimensionCube */
+ /* skip val->maxImageArrayLayers */
+ /* skip val->maxTexelBufferElements */
+ /* skip val->maxUniformBufferRange */
+ /* skip val->maxStorageBufferRange */
+ /* skip val->maxPushConstantsSize */
+ /* skip val->maxMemoryAllocationCount */
+ /* skip val->maxSamplerAllocationCount */
+ /* skip val->bufferImageGranularity */
+ /* skip val->sparseAddressSpaceSize */
+ /* skip val->maxBoundDescriptorSets */
+ /* skip val->maxPerStageDescriptorSamplers */
+ /* skip val->maxPerStageDescriptorUniformBuffers */
+ /* skip val->maxPerStageDescriptorStorageBuffers */
+ /* skip val->maxPerStageDescriptorSampledImages */
+ /* skip val->maxPerStageDescriptorStorageImages */
+ /* skip val->maxPerStageDescriptorInputAttachments */
+ /* skip val->maxPerStageResources */
+ /* skip val->maxDescriptorSetSamplers */
+ /* skip val->maxDescriptorSetUniformBuffers */
+ /* skip val->maxDescriptorSetUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetStorageBuffers */
+ /* skip val->maxDescriptorSetStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetSampledImages */
+ /* skip val->maxDescriptorSetStorageImages */
+ /* skip val->maxDescriptorSetInputAttachments */
+ /* skip val->maxVertexInputAttributes */
+ /* skip val->maxVertexInputBindings */
+ /* skip val->maxVertexInputAttributeOffset */
+ /* skip val->maxVertexInputBindingStride */
+ /* skip val->maxVertexOutputComponents */
+ /* skip val->maxTessellationGenerationLevel */
+ /* skip val->maxTessellationPatchSize */
+ /* skip val->maxTessellationControlPerVertexInputComponents */
+ /* skip val->maxTessellationControlPerVertexOutputComponents */
+ /* skip val->maxTessellationControlPerPatchOutputComponents */
+ /* skip val->maxTessellationControlTotalOutputComponents */
+ /* skip val->maxTessellationEvaluationInputComponents */
+ /* skip val->maxTessellationEvaluationOutputComponents */
+ /* skip val->maxGeometryShaderInvocations */
+ /* skip val->maxGeometryInputComponents */
+ /* skip val->maxGeometryOutputComponents */
+ /* skip val->maxGeometryOutputVertices */
+ /* skip val->maxGeometryTotalOutputComponents */
+ /* skip val->maxFragmentInputComponents */
+ /* skip val->maxFragmentOutputAttachments */
+ /* skip val->maxFragmentDualSrcAttachments */
+ /* skip val->maxFragmentCombinedOutputResources */
+ /* skip val->maxComputeSharedMemorySize */
+ /* skip val->maxComputeWorkGroupCount */
+ /* skip val->maxComputeWorkGroupInvocations */
+ /* skip val->maxComputeWorkGroupSize */
+ /* skip val->subPixelPrecisionBits */
+ /* skip val->subTexelPrecisionBits */
+ /* skip val->mipmapPrecisionBits */
+ /* skip val->maxDrawIndexedIndexValue */
+ /* skip val->maxDrawIndirectCount */
+ /* skip val->maxSamplerLodBias */
+ /* skip val->maxSamplerAnisotropy */
+ /* skip val->maxViewports */
+ /* skip val->maxViewportDimensions */
+ /* skip val->viewportBoundsRange */
+ /* skip val->viewportSubPixelBits */
+ /* skip val->minMemoryMapAlignment */
+ /* skip val->minTexelBufferOffsetAlignment */
+ /* skip val->minUniformBufferOffsetAlignment */
+ /* skip val->minStorageBufferOffsetAlignment */
+ /* skip val->minTexelOffset */
+ /* skip val->maxTexelOffset */
+ /* skip val->minTexelGatherOffset */
+ /* skip val->maxTexelGatherOffset */
+ /* skip val->minInterpolationOffset */
+ /* skip val->maxInterpolationOffset */
+ /* skip val->subPixelInterpolationOffsetBits */
+ /* skip val->maxFramebufferWidth */
+ /* skip val->maxFramebufferHeight */
+ /* skip val->maxFramebufferLayers */
+ /* skip val->framebufferColorSampleCounts */
+ /* skip val->framebufferDepthSampleCounts */
+ /* skip val->framebufferStencilSampleCounts */
+ /* skip val->framebufferNoAttachmentsSampleCounts */
+ /* skip val->maxColorAttachments */
+ /* skip val->sampledImageColorSampleCounts */
+ /* skip val->sampledImageIntegerSampleCounts */
+ /* skip val->sampledImageDepthSampleCounts */
+ /* skip val->sampledImageStencilSampleCounts */
+ /* skip val->storageImageSampleCounts */
+ /* skip val->maxSampleMaskWords */
+ /* skip val->timestampComputeAndGraphics */
+ /* skip val->timestampPeriod */
+ /* skip val->maxClipDistances */
+ /* skip val->maxCullDistances */
+ /* skip val->maxCombinedClipAndCullDistances */
+ /* skip val->discreteQueuePriorities */
+ /* skip val->pointSizeRange */
+ /* skip val->lineWidthRange */
+ /* skip val->pointSizeGranularity */
+ /* skip val->lineWidthGranularity */
+ /* skip val->strictLines */
+ /* skip val->standardSampleLocations */
+ /* skip val->optimalBufferCopyOffsetAlignment */
+ /* skip val->optimalBufferCopyRowPitchAlignment */
+ /* skip val->nonCoherentAtomSize */
+}
+
+/* struct VkPhysicalDeviceSparseProperties */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkBool32(&val->residencyStandard2DBlockShape);
+ size += vn_sizeof_VkBool32(&val->residencyStandard2DMultisampleBlockShape);
+ size += vn_sizeof_VkBool32(&val->residencyStandard3DBlockShape);
+ size += vn_sizeof_VkBool32(&val->residencyAlignedMipSize);
+ size += vn_sizeof_VkBool32(&val->residencyNonResidentStrict);
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSparseProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseProperties *val)
+{
+ vn_decode_VkBool32(dec, &val->residencyStandard2DBlockShape);
+ vn_decode_VkBool32(dec, &val->residencyStandard2DMultisampleBlockShape);
+ vn_decode_VkBool32(dec, &val->residencyStandard3DBlockShape);
+ vn_decode_VkBool32(dec, &val->residencyAlignedMipSize);
+ vn_decode_VkBool32(dec, &val->residencyNonResidentStrict);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSparseProperties_partial(const VkPhysicalDeviceSparseProperties *val)
+{
+ size_t size = 0;
+ /* skip val->residencyStandard2DBlockShape */
+ /* skip val->residencyStandard2DMultisampleBlockShape */
+ /* skip val->residencyStandard3DBlockShape */
+ /* skip val->residencyAlignedMipSize */
+ /* skip val->residencyNonResidentStrict */
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSparseProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseProperties *val)
+{
+ /* skip val->residencyStandard2DBlockShape */
+ /* skip val->residencyStandard2DMultisampleBlockShape */
+ /* skip val->residencyStandard3DBlockShape */
+ /* skip val->residencyAlignedMipSize */
+ /* skip val->residencyNonResidentStrict */
+}
+
+/* struct VkPhysicalDeviceProperties */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->apiVersion);
+ size += vn_sizeof_uint32_t(&val->driverVersion);
+ size += vn_sizeof_uint32_t(&val->vendorID);
+ 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_array_size(VK_UUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->pipelineCacheUUID, VK_UUID_SIZE);
+ size += vn_sizeof_VkPhysicalDeviceLimits(&val->limits);
+ size += vn_sizeof_VkPhysicalDeviceSparseProperties(&val->sparseProperties);
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties *val)
+{
+ vn_decode_uint32_t(dec, &val->apiVersion);
+ vn_decode_uint32_t(dec, &val->driverVersion);
+ vn_decode_uint32_t(dec, &val->vendorID);
+ vn_decode_uint32_t(dec, &val->deviceID);
+ 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);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->pipelineCacheUUID, array_size);
+ }
+ vn_decode_VkPhysicalDeviceLimits(dec, &val->limits);
+ vn_decode_VkPhysicalDeviceSparseProperties(dec, &val->sparseProperties);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties_partial(const VkPhysicalDeviceProperties *val)
+{
+ size_t size = 0;
+ /* skip val->apiVersion */
+ /* skip val->driverVersion */
+ /* skip val->vendorID */
+ /* skip val->deviceID */
+ /* skip val->deviceType */
+ /* skip val->deviceName */
+ /* skip val->pipelineCacheUUID */
+ size += vn_sizeof_VkPhysicalDeviceLimits_partial(&val->limits);
+ size += vn_sizeof_VkPhysicalDeviceSparseProperties_partial(&val->sparseProperties);
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties *val)
+{
+ /* skip val->apiVersion */
+ /* skip val->driverVersion */
+ /* skip val->vendorID */
+ /* skip val->deviceID */
+ /* skip val->deviceType */
+ /* skip val->deviceName */
+ /* skip val->pipelineCacheUUID */
+ vn_encode_VkPhysicalDeviceLimits_partial(enc, &val->limits);
+ vn_encode_VkPhysicalDeviceSparseProperties_partial(enc, &val->sparseProperties);
+}
+
+/* struct VkQueueFamilyProperties */
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties(const VkQueueFamilyProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->queueFlags);
+ size += vn_sizeof_uint32_t(&val->queueCount);
+ size += vn_sizeof_uint32_t(&val->timestampValidBits);
+ size += vn_sizeof_VkExtent3D(&val->minImageTransferGranularity);
+ return size;
+}
+
+static inline void
+vn_decode_VkQueueFamilyProperties(struct vn_cs_decoder *dec, VkQueueFamilyProperties *val)
+{
+ vn_decode_VkFlags(dec, &val->queueFlags);
+ vn_decode_uint32_t(dec, &val->queueCount);
+ vn_decode_uint32_t(dec, &val->timestampValidBits);
+ vn_decode_VkExtent3D(dec, &val->minImageTransferGranularity);
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties_partial(const VkQueueFamilyProperties *val)
+{
+ size_t size = 0;
+ /* skip val->queueFlags */
+ /* skip val->queueCount */
+ /* skip val->timestampValidBits */
+ size += vn_sizeof_VkExtent3D_partial(&val->minImageTransferGranularity);
+ return size;
+}
+
+static inline void
+vn_encode_VkQueueFamilyProperties_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties *val)
+{
+ /* skip val->queueFlags */
+ /* skip val->queueCount */
+ /* skip val->timestampValidBits */
+ vn_encode_VkExtent3D_partial(enc, &val->minImageTransferGranularity);
+}
+
+/* struct VkMemoryType */
+
+static inline size_t
+vn_sizeof_VkMemoryType(const VkMemoryType *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->propertyFlags);
+ size += vn_sizeof_uint32_t(&val->heapIndex);
+ return size;
+}
+
+static inline void
+vn_decode_VkMemoryType(struct vn_cs_decoder *dec, VkMemoryType *val)
+{
+ vn_decode_VkFlags(dec, &val->propertyFlags);
+ vn_decode_uint32_t(dec, &val->heapIndex);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryType_partial(const VkMemoryType *val)
+{
+ size_t size = 0;
+ /* skip val->propertyFlags */
+ /* skip val->heapIndex */
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryType_partial(struct vn_cs_encoder *enc, const VkMemoryType *val)
+{
+ /* skip val->propertyFlags */
+ /* skip val->heapIndex */
+}
+
+/* struct VkMemoryHeap */
+
+static inline size_t
+vn_sizeof_VkMemoryHeap(const VkMemoryHeap *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline void
+vn_decode_VkMemoryHeap(struct vn_cs_decoder *dec, VkMemoryHeap *val)
+{
+ vn_decode_VkDeviceSize(dec, &val->size);
+ vn_decode_VkFlags(dec, &val->flags);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryHeap_partial(const VkMemoryHeap *val)
+{
+ size_t size = 0;
+ /* skip val->size */
+ /* skip val->flags */
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryHeap_partial(struct vn_cs_encoder *enc, const VkMemoryHeap *val)
+{
+ /* skip val->size */
+ /* skip val->flags */
+}
+
+/* struct VkPhysicalDeviceMemoryProperties */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->memoryTypeCount);
+ size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
+ size += vn_sizeof_VkMemoryType(&val->memoryTypes[i]);
+ size += vn_sizeof_uint32_t(&val->memoryHeapCount);
+ size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
+ size += vn_sizeof_VkMemoryHeap(&val->memoryHeaps[i]);
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties *val)
+{
+ 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++)
+ 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++)
+ vn_decode_VkMemoryHeap(dec, &val->memoryHeaps[i]);
+ }
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(const VkPhysicalDeviceMemoryProperties *val)
+{
+ size_t size = 0;
+ /* skip val->memoryTypeCount */
+ size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
+ size += vn_sizeof_VkMemoryType_partial(&val->memoryTypes[i]);
+ /* skip val->memoryHeapCount */
+ size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
+ size += vn_sizeof_VkMemoryHeap_partial(&val->memoryHeaps[i]);
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties *val)
+{
+ /* skip val->memoryTypeCount */
+ vn_encode_array_size(enc, VK_MAX_MEMORY_TYPES);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
+ vn_encode_VkMemoryType_partial(enc, &val->memoryTypes[i]);
+ /* skip val->memoryHeapCount */
+ vn_encode_array_size(enc, VK_MAX_MEMORY_HEAPS);
+ for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
+ vn_encode_VkMemoryHeap_partial(enc, &val->memoryHeaps[i]);
+}
+
+/* struct VkPhysicalDeviceFeatures */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkBool32(&val->robustBufferAccess);
+ size += vn_sizeof_VkBool32(&val->fullDrawIndexUint32);
+ size += vn_sizeof_VkBool32(&val->imageCubeArray);
+ size += vn_sizeof_VkBool32(&val->independentBlend);
+ size += vn_sizeof_VkBool32(&val->geometryShader);
+ size += vn_sizeof_VkBool32(&val->tessellationShader);
+ size += vn_sizeof_VkBool32(&val->sampleRateShading);
+ size += vn_sizeof_VkBool32(&val->dualSrcBlend);
+ size += vn_sizeof_VkBool32(&val->logicOp);
+ size += vn_sizeof_VkBool32(&val->multiDrawIndirect);
+ size += vn_sizeof_VkBool32(&val->drawIndirectFirstInstance);
+ size += vn_sizeof_VkBool32(&val->depthClamp);
+ size += vn_sizeof_VkBool32(&val->depthBiasClamp);
+ size += vn_sizeof_VkBool32(&val->fillModeNonSolid);
+ size += vn_sizeof_VkBool32(&val->depthBounds);
+ size += vn_sizeof_VkBool32(&val->wideLines);
+ size += vn_sizeof_VkBool32(&val->largePoints);
+ size += vn_sizeof_VkBool32(&val->alphaToOne);
+ size += vn_sizeof_VkBool32(&val->multiViewport);
+ size += vn_sizeof_VkBool32(&val->samplerAnisotropy);
+ size += vn_sizeof_VkBool32(&val->textureCompressionETC2);
+ size += vn_sizeof_VkBool32(&val->textureCompressionASTC_LDR);
+ size += vn_sizeof_VkBool32(&val->textureCompressionBC);
+ size += vn_sizeof_VkBool32(&val->occlusionQueryPrecise);
+ size += vn_sizeof_VkBool32(&val->pipelineStatisticsQuery);
+ size += vn_sizeof_VkBool32(&val->vertexPipelineStoresAndAtomics);
+ size += vn_sizeof_VkBool32(&val->fragmentStoresAndAtomics);
+ size += vn_sizeof_VkBool32(&val->shaderTessellationAndGeometryPointSize);
+ size += vn_sizeof_VkBool32(&val->shaderImageGatherExtended);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageExtendedFormats);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageMultisample);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageReadWithoutFormat);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageWriteWithoutFormat);
+ size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderClipDistance);
+ size += vn_sizeof_VkBool32(&val->shaderCullDistance);
+ size += vn_sizeof_VkBool32(&val->shaderFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderInt64);
+ size += vn_sizeof_VkBool32(&val->shaderInt16);
+ size += vn_sizeof_VkBool32(&val->shaderResourceResidency);
+ size += vn_sizeof_VkBool32(&val->shaderResourceMinLod);
+ size += vn_sizeof_VkBool32(&val->sparseBinding);
+ size += vn_sizeof_VkBool32(&val->sparseResidencyBuffer);
+ size += vn_sizeof_VkBool32(&val->sparseResidencyImage2D);
+ size += vn_sizeof_VkBool32(&val->sparseResidencyImage3D);
+ size += vn_sizeof_VkBool32(&val->sparseResidency2Samples);
+ size += vn_sizeof_VkBool32(&val->sparseResidency4Samples);
+ size += vn_sizeof_VkBool32(&val->sparseResidency8Samples);
+ size += vn_sizeof_VkBool32(&val->sparseResidency16Samples);
+ size += vn_sizeof_VkBool32(&val->sparseResidencyAliased);
+ size += vn_sizeof_VkBool32(&val->variableMultisampleRate);
+ size += vn_sizeof_VkBool32(&val->inheritedQueries);
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)
+{
+ vn_encode_VkBool32(enc, &val->robustBufferAccess);
+ vn_encode_VkBool32(enc, &val->fullDrawIndexUint32);
+ vn_encode_VkBool32(enc, &val->imageCubeArray);
+ vn_encode_VkBool32(enc, &val->independentBlend);
+ vn_encode_VkBool32(enc, &val->geometryShader);
+ vn_encode_VkBool32(enc, &val->tessellationShader);
+ vn_encode_VkBool32(enc, &val->sampleRateShading);
+ vn_encode_VkBool32(enc, &val->dualSrcBlend);
+ vn_encode_VkBool32(enc, &val->logicOp);
+ vn_encode_VkBool32(enc, &val->multiDrawIndirect);
+ vn_encode_VkBool32(enc, &val->drawIndirectFirstInstance);
+ vn_encode_VkBool32(enc, &val->depthClamp);
+ vn_encode_VkBool32(enc, &val->depthBiasClamp);
+ vn_encode_VkBool32(enc, &val->fillModeNonSolid);
+ vn_encode_VkBool32(enc, &val->depthBounds);
+ vn_encode_VkBool32(enc, &val->wideLines);
+ vn_encode_VkBool32(enc, &val->largePoints);
+ vn_encode_VkBool32(enc, &val->alphaToOne);
+ vn_encode_VkBool32(enc, &val->multiViewport);
+ vn_encode_VkBool32(enc, &val->samplerAnisotropy);
+ vn_encode_VkBool32(enc, &val->textureCompressionETC2);
+ vn_encode_VkBool32(enc, &val->textureCompressionASTC_LDR);
+ vn_encode_VkBool32(enc, &val->textureCompressionBC);
+ vn_encode_VkBool32(enc, &val->occlusionQueryPrecise);
+ vn_encode_VkBool32(enc, &val->pipelineStatisticsQuery);
+ vn_encode_VkBool32(enc, &val->vertexPipelineStoresAndAtomics);
+ vn_encode_VkBool32(enc, &val->fragmentStoresAndAtomics);
+ vn_encode_VkBool32(enc, &val->shaderTessellationAndGeometryPointSize);
+ vn_encode_VkBool32(enc, &val->shaderImageGatherExtended);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageExtendedFormats);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageMultisample);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageReadWithoutFormat);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageWriteWithoutFormat);
+ vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderSampledImageArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderClipDistance);
+ vn_encode_VkBool32(enc, &val->shaderCullDistance);
+ vn_encode_VkBool32(enc, &val->shaderFloat64);
+ vn_encode_VkBool32(enc, &val->shaderInt64);
+ vn_encode_VkBool32(enc, &val->shaderInt16);
+ vn_encode_VkBool32(enc, &val->shaderResourceResidency);
+ vn_encode_VkBool32(enc, &val->shaderResourceMinLod);
+ vn_encode_VkBool32(enc, &val->sparseBinding);
+ vn_encode_VkBool32(enc, &val->sparseResidencyBuffer);
+ vn_encode_VkBool32(enc, &val->sparseResidencyImage2D);
+ vn_encode_VkBool32(enc, &val->sparseResidencyImage3D);
+ vn_encode_VkBool32(enc, &val->sparseResidency2Samples);
+ vn_encode_VkBool32(enc, &val->sparseResidency4Samples);
+ vn_encode_VkBool32(enc, &val->sparseResidency8Samples);
+ vn_encode_VkBool32(enc, &val->sparseResidency16Samples);
+ vn_encode_VkBool32(enc, &val->sparseResidencyAliased);
+ vn_encode_VkBool32(enc, &val->variableMultisampleRate);
+ vn_encode_VkBool32(enc, &val->inheritedQueries);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures *val)
+{
+ vn_decode_VkBool32(dec, &val->robustBufferAccess);
+ vn_decode_VkBool32(dec, &val->fullDrawIndexUint32);
+ vn_decode_VkBool32(dec, &val->imageCubeArray);
+ vn_decode_VkBool32(dec, &val->independentBlend);
+ vn_decode_VkBool32(dec, &val->geometryShader);
+ vn_decode_VkBool32(dec, &val->tessellationShader);
+ vn_decode_VkBool32(dec, &val->sampleRateShading);
+ vn_decode_VkBool32(dec, &val->dualSrcBlend);
+ vn_decode_VkBool32(dec, &val->logicOp);
+ vn_decode_VkBool32(dec, &val->multiDrawIndirect);
+ vn_decode_VkBool32(dec, &val->drawIndirectFirstInstance);
+ vn_decode_VkBool32(dec, &val->depthClamp);
+ vn_decode_VkBool32(dec, &val->depthBiasClamp);
+ vn_decode_VkBool32(dec, &val->fillModeNonSolid);
+ vn_decode_VkBool32(dec, &val->depthBounds);
+ vn_decode_VkBool32(dec, &val->wideLines);
+ vn_decode_VkBool32(dec, &val->largePoints);
+ vn_decode_VkBool32(dec, &val->alphaToOne);
+ vn_decode_VkBool32(dec, &val->multiViewport);
+ vn_decode_VkBool32(dec, &val->samplerAnisotropy);
+ vn_decode_VkBool32(dec, &val->textureCompressionETC2);
+ vn_decode_VkBool32(dec, &val->textureCompressionASTC_LDR);
+ vn_decode_VkBool32(dec, &val->textureCompressionBC);
+ vn_decode_VkBool32(dec, &val->occlusionQueryPrecise);
+ vn_decode_VkBool32(dec, &val->pipelineStatisticsQuery);
+ vn_decode_VkBool32(dec, &val->vertexPipelineStoresAndAtomics);
+ vn_decode_VkBool32(dec, &val->fragmentStoresAndAtomics);
+ vn_decode_VkBool32(dec, &val->shaderTessellationAndGeometryPointSize);
+ vn_decode_VkBool32(dec, &val->shaderImageGatherExtended);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageExtendedFormats);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageMultisample);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageReadWithoutFormat);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageWriteWithoutFormat);
+ vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderSampledImageArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderClipDistance);
+ vn_decode_VkBool32(dec, &val->shaderCullDistance);
+ vn_decode_VkBool32(dec, &val->shaderFloat64);
+ vn_decode_VkBool32(dec, &val->shaderInt64);
+ vn_decode_VkBool32(dec, &val->shaderInt16);
+ vn_decode_VkBool32(dec, &val->shaderResourceResidency);
+ vn_decode_VkBool32(dec, &val->shaderResourceMinLod);
+ vn_decode_VkBool32(dec, &val->sparseBinding);
+ vn_decode_VkBool32(dec, &val->sparseResidencyBuffer);
+ vn_decode_VkBool32(dec, &val->sparseResidencyImage2D);
+ vn_decode_VkBool32(dec, &val->sparseResidencyImage3D);
+ vn_decode_VkBool32(dec, &val->sparseResidency2Samples);
+ vn_decode_VkBool32(dec, &val->sparseResidency4Samples);
+ vn_decode_VkBool32(dec, &val->sparseResidency8Samples);
+ vn_decode_VkBool32(dec, &val->sparseResidency16Samples);
+ vn_decode_VkBool32(dec, &val->sparseResidencyAliased);
+ vn_decode_VkBool32(dec, &val->variableMultisampleRate);
+ vn_decode_VkBool32(dec, &val->inheritedQueries);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures_partial(const VkPhysicalDeviceFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->robustBufferAccess */
+ /* skip val->fullDrawIndexUint32 */
+ /* skip val->imageCubeArray */
+ /* skip val->independentBlend */
+ /* skip val->geometryShader */
+ /* skip val->tessellationShader */
+ /* skip val->sampleRateShading */
+ /* skip val->dualSrcBlend */
+ /* skip val->logicOp */
+ /* skip val->multiDrawIndirect */
+ /* skip val->drawIndirectFirstInstance */
+ /* skip val->depthClamp */
+ /* skip val->depthBiasClamp */
+ /* skip val->fillModeNonSolid */
+ /* skip val->depthBounds */
+ /* skip val->wideLines */
+ /* skip val->largePoints */
+ /* skip val->alphaToOne */
+ /* skip val->multiViewport */
+ /* skip val->samplerAnisotropy */
+ /* skip val->textureCompressionETC2 */
+ /* skip val->textureCompressionASTC_LDR */
+ /* skip val->textureCompressionBC */
+ /* skip val->occlusionQueryPrecise */
+ /* skip val->pipelineStatisticsQuery */
+ /* skip val->vertexPipelineStoresAndAtomics */
+ /* skip val->fragmentStoresAndAtomics */
+ /* skip val->shaderTessellationAndGeometryPointSize */
+ /* skip val->shaderImageGatherExtended */
+ /* skip val->shaderStorageImageExtendedFormats */
+ /* skip val->shaderStorageImageMultisample */
+ /* skip val->shaderStorageImageReadWithoutFormat */
+ /* skip val->shaderStorageImageWriteWithoutFormat */
+ /* skip val->shaderUniformBufferArrayDynamicIndexing */
+ /* skip val->shaderSampledImageArrayDynamicIndexing */
+ /* skip val->shaderStorageBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageImageArrayDynamicIndexing */
+ /* skip val->shaderClipDistance */
+ /* skip val->shaderCullDistance */
+ /* skip val->shaderFloat64 */
+ /* skip val->shaderInt64 */
+ /* skip val->shaderInt16 */
+ /* skip val->shaderResourceResidency */
+ /* skip val->shaderResourceMinLod */
+ /* skip val->sparseBinding */
+ /* skip val->sparseResidencyBuffer */
+ /* skip val->sparseResidencyImage2D */
+ /* skip val->sparseResidencyImage3D */
+ /* skip val->sparseResidency2Samples */
+ /* skip val->sparseResidency4Samples */
+ /* skip val->sparseResidency8Samples */
+ /* skip val->sparseResidency16Samples */
+ /* skip val->sparseResidencyAliased */
+ /* skip val->variableMultisampleRate */
+ /* skip val->inheritedQueries */
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)
+{
+ /* skip val->robustBufferAccess */
+ /* skip val->fullDrawIndexUint32 */
+ /* skip val->imageCubeArray */
+ /* skip val->independentBlend */
+ /* skip val->geometryShader */
+ /* skip val->tessellationShader */
+ /* skip val->sampleRateShading */
+ /* skip val->dualSrcBlend */
+ /* skip val->logicOp */
+ /* skip val->multiDrawIndirect */
+ /* skip val->drawIndirectFirstInstance */
+ /* skip val->depthClamp */
+ /* skip val->depthBiasClamp */
+ /* skip val->fillModeNonSolid */
+ /* skip val->depthBounds */
+ /* skip val->wideLines */
+ /* skip val->largePoints */
+ /* skip val->alphaToOne */
+ /* skip val->multiViewport */
+ /* skip val->samplerAnisotropy */
+ /* skip val->textureCompressionETC2 */
+ /* skip val->textureCompressionASTC_LDR */
+ /* skip val->textureCompressionBC */
+ /* skip val->occlusionQueryPrecise */
+ /* skip val->pipelineStatisticsQuery */
+ /* skip val->vertexPipelineStoresAndAtomics */
+ /* skip val->fragmentStoresAndAtomics */
+ /* skip val->shaderTessellationAndGeometryPointSize */
+ /* skip val->shaderImageGatherExtended */
+ /* skip val->shaderStorageImageExtendedFormats */
+ /* skip val->shaderStorageImageMultisample */
+ /* skip val->shaderStorageImageReadWithoutFormat */
+ /* skip val->shaderStorageImageWriteWithoutFormat */
+ /* skip val->shaderUniformBufferArrayDynamicIndexing */
+ /* skip val->shaderSampledImageArrayDynamicIndexing */
+ /* skip val->shaderStorageBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageImageArrayDynamicIndexing */
+ /* skip val->shaderClipDistance */
+ /* skip val->shaderCullDistance */
+ /* skip val->shaderFloat64 */
+ /* skip val->shaderInt64 */
+ /* skip val->shaderInt16 */
+ /* skip val->shaderResourceResidency */
+ /* skip val->shaderResourceMinLod */
+ /* skip val->sparseBinding */
+ /* skip val->sparseResidencyBuffer */
+ /* skip val->sparseResidencyImage2D */
+ /* skip val->sparseResidencyImage3D */
+ /* skip val->sparseResidency2Samples */
+ /* skip val->sparseResidency4Samples */
+ /* skip val->sparseResidency8Samples */
+ /* skip val->sparseResidency16Samples */
+ /* skip val->sparseResidencyAliased */
+ /* skip val->variableMultisampleRate */
+ /* skip val->inheritedQueries */
+}
+
+/* struct VkFormatProperties */
+
+static inline size_t
+vn_sizeof_VkFormatProperties(const VkFormatProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->linearTilingFeatures);
+ size += vn_sizeof_VkFlags(&val->optimalTilingFeatures);
+ size += vn_sizeof_VkFlags(&val->bufferFeatures);
+ return size;
+}
+
+static inline void
+vn_decode_VkFormatProperties(struct vn_cs_decoder *dec, VkFormatProperties *val)
+{
+ vn_decode_VkFlags(dec, &val->linearTilingFeatures);
+ vn_decode_VkFlags(dec, &val->optimalTilingFeatures);
+ vn_decode_VkFlags(dec, &val->bufferFeatures);
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties_partial(const VkFormatProperties *val)
+{
+ size_t size = 0;
+ /* skip val->linearTilingFeatures */
+ /* skip val->optimalTilingFeatures */
+ /* skip val->bufferFeatures */
+ return size;
+}
+
+static inline void
+vn_encode_VkFormatProperties_partial(struct vn_cs_encoder *enc, const VkFormatProperties *val)
+{
+ /* skip val->linearTilingFeatures */
+ /* skip val->optimalTilingFeatures */
+ /* skip val->bufferFeatures */
+}
+
+/* struct VkImageFormatProperties */
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties(const VkImageFormatProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkExtent3D(&val->maxExtent);
+ size += vn_sizeof_uint32_t(&val->maxMipLevels);
+ size += vn_sizeof_uint32_t(&val->maxArrayLayers);
+ size += vn_sizeof_VkFlags(&val->sampleCounts);
+ size += vn_sizeof_VkDeviceSize(&val->maxResourceSize);
+ return size;
+}
+
+static inline void
+vn_decode_VkImageFormatProperties(struct vn_cs_decoder *dec, VkImageFormatProperties *val)
+{
+ vn_decode_VkExtent3D(dec, &val->maxExtent);
+ vn_decode_uint32_t(dec, &val->maxMipLevels);
+ vn_decode_uint32_t(dec, &val->maxArrayLayers);
+ vn_decode_VkFlags(dec, &val->sampleCounts);
+ vn_decode_VkDeviceSize(dec, &val->maxResourceSize);
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties_partial(const VkImageFormatProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkExtent3D_partial(&val->maxExtent);
+ /* skip val->maxMipLevels */
+ /* skip val->maxArrayLayers */
+ /* skip val->sampleCounts */
+ /* skip val->maxResourceSize */
+ return size;
+}
+
+static inline void
+vn_encode_VkImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties *val)
+{
+ vn_encode_VkExtent3D_partial(enc, &val->maxExtent);
+ /* skip val->maxMipLevels */
+ /* skip val->maxArrayLayers */
+ /* skip val->sampleCounts */
+ /* skip val->maxResourceSize */
+}
+
+/* struct VkDeviceQueueCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceQueueCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceQueueCreateInfo_self(const VkDeviceQueueCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
+ size += vn_sizeof_uint32_t(&val->queueCount);
+ if (val->pQueuePriorities) {
+ size += vn_sizeof_array_size(val->queueCount);
+ size += vn_sizeof_float_array(val->pQueuePriorities, val->queueCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceQueueCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceQueueCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceQueueCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceQueueCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndex);
+ vn_encode_uint32_t(enc, &val->queueCount);
+ if (val->pQueuePriorities) {
+ vn_encode_array_size(enc, val->queueCount);
+ vn_encode_float_array(enc, val->pQueuePriorities, val->queueCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDeviceQueueCreateInfo(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO });
+ vn_encode_VkDeviceQueueCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceQueueCreateInfo_self(enc, val);
+}
+
+/* struct VkPhysicalDeviceVariablePointersFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);
+ size += vn_sizeof_VkBool32(&val->variablePointers);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
+ vn_encode_VkBool32(enc, &val->variablePointers);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
+ vn_decode_VkBool32(dec, &val->variablePointers);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->variablePointersStorageBuffer */
+ /* skip val->variablePointers */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_partial(const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->variablePointersStorageBuffer */
+ /* skip val->variablePointers */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVariablePointersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceMultiviewFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->multiview);
+ size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);
+ size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->multiview);
+ vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
+ vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->multiview);
+ vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
+ vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->multiview */
+ /* skip val->multiviewGeometryShader */
+ /* skip val->multiviewTessellationShader */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewFeatures_partial(const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->multiview */
+ /* skip val->multiviewGeometryShader */
+ /* skip val->multiviewTessellationShader */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDevice16BitStorageFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);
+ size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);
+ size += vn_sizeof_VkBool32(&val->storagePushConstant16);
+ size += vn_sizeof_VkBool32(&val->storageInputOutput16);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
+ vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
+ vn_encode_VkBool32(enc, &val->storagePushConstant16);
+ vn_encode_VkBool32(enc, &val->storageInputOutput16);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
+ vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
+ vn_decode_VkBool32(dec, &val->storagePushConstant16);
+ vn_decode_VkBool32(dec, &val->storageInputOutput16);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer16BitAccess */
+ /* skip val->uniformAndStorageBuffer16BitAccess */
+ /* skip val->storagePushConstant16 */
+ /* skip val->storageInputOutput16 */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice16BitStorageFeatures_partial(const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer16BitAccess */
+ /* skip val->uniformAndStorageBuffer16BitAccess */
+ /* skip val->storagePushConstant16 */
+ /* skip val->storageInputOutput16 */
+}
+
+static inline void
+vn_encode_VkPhysicalDevice16BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderSubgroupExtendedTypes */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderSubgroupExtendedTypes */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceSamplerYcbcrConversionFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->samplerYcbcrConversion */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->samplerYcbcrConversion */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceProtectedMemoryFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->protectedMemory);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->protectedMemory);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->protectedMemory);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->protectedMemory */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->protectedMemory */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceShaderDrawParametersFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->shaderDrawParameters);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->shaderDrawParameters);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->shaderDrawParameters);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderDrawParameters */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderDrawParameters */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceShaderFloat16Int8Features chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->shaderFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderInt8);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features(const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->shaderFloat16);
+ vn_encode_VkBool32(enc, &val->shaderInt8);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->shaderFloat16);
+ vn_decode_VkBool32(dec, &val->shaderInt8);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderFloat16 */
+ /* skip val->shaderInt8 */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderFloat16 */
+ /* skip val->shaderInt8 */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceHostQueryResetFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->hostQueryReset);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures(const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->hostQueryReset);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->hostQueryReset);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->hostQueryReset */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->hostQueryReset */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceHostQueryResetFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceDescriptorIndexingFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);
+ size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
+ vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
+ vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
+ vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
+ vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
+ vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
+ vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderInputAttachmentArrayDynamicIndexing */
+ /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexing */
+ /* skip val->shaderSampledImageArrayNonUniformIndexing */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageImageArrayNonUniformIndexing */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
+ /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
+ /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
+ /* skip val->descriptorBindingSampledImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUpdateUnusedWhilePending */
+ /* skip val->descriptorBindingPartiallyBound */
+ /* skip val->descriptorBindingVariableDescriptorCount */
+ /* skip val->runtimeDescriptorArray */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderInputAttachmentArrayDynamicIndexing */
+ /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexing */
+ /* skip val->shaderSampledImageArrayNonUniformIndexing */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageImageArrayNonUniformIndexing */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
+ /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
+ /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
+ /* skip val->descriptorBindingSampledImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUpdateUnusedWhilePending */
+ /* skip val->descriptorBindingPartiallyBound */
+ /* skip val->descriptorBindingVariableDescriptorCount */
+ /* skip val->runtimeDescriptorArray */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceTimelineSemaphoreFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->timelineSemaphore);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->timelineSemaphore);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->timelineSemaphore);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->timelineSemaphore */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->timelineSemaphore */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDevice8BitStorageFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);
+ size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);
+ size += vn_sizeof_VkBool32(&val->storagePushConstant8);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
+ vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
+ vn_encode_VkBool32(enc, &val->storagePushConstant8);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
+ vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
+ vn_decode_VkBool32(dec, &val->storagePushConstant8);
+}
+
+static inline void
+vn_decode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer8BitAccess */
+ /* skip val->uniformAndStorageBuffer8BitAccess */
+ /* skip val->storagePushConstant8 */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevice8BitStorageFeatures_partial(const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer8BitAccess */
+ /* skip val->uniformAndStorageBuffer8BitAccess */
+ /* skip val->storagePushConstant8 */
+}
+
+static inline void
+vn_encode_VkPhysicalDevice8BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceVulkanMemoryModelFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->vulkanMemoryModel */
+ /* skip val->vulkanMemoryModelDeviceScope */
+ /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->vulkanMemoryModel */
+ /* skip val->vulkanMemoryModelDeviceScope */
+ /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceShaderAtomicInt64Features chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);
+ size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features(const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
+ vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
+ vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderBufferInt64Atomics */
+ /* skip val->shaderSharedInt64Atomics */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->shaderBufferInt64Atomics */
+ /* skip val->shaderSharedInt64Atomics */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->transformFeedback);
+ size += vn_sizeof_VkBool32(&val->geometryStreams);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->transformFeedback);
+ vn_encode_VkBool32(enc, &val->geometryStreams);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->transformFeedback);
+ vn_decode_VkBool32(dec, &val->geometryStreams);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->transformFeedback */
+ /* skip val->geometryStreams */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->transformFeedback */
+ /* skip val->geometryStreams */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceScalarBlockLayoutFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->scalarBlockLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->scalarBlockLayout);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->scalarBlockLayout);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->scalarBlockLayout */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->scalarBlockLayout */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->uniformBufferStandardLayout */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->uniformBufferStandardLayout */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceBufferDeviceAddressFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->bufferDeviceAddress */
+ /* skip val->bufferDeviceAddressCaptureReplay */
+ /* skip val->bufferDeviceAddressMultiDevice */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->bufferDeviceAddress */
+ /* skip val->bufferDeviceAddressCaptureReplay */
+ /* skip val->bufferDeviceAddressMultiDevice */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceImagelessFramebufferFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->imagelessFramebuffer */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->imagelessFramebuffer */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->separateDepthStencilLayouts */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->separateDepthStencilLayouts */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceVulkan11Features chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features_self(const VkPhysicalDeviceVulkan11Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);
+ size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);
+ size += vn_sizeof_VkBool32(&val->storagePushConstant16);
+ size += vn_sizeof_VkBool32(&val->storageInputOutput16);
+ size += vn_sizeof_VkBool32(&val->multiview);
+ size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);
+ size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);
+ size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);
+ size += vn_sizeof_VkBool32(&val->variablePointers);
+ size += vn_sizeof_VkBool32(&val->protectedMemory);
+ size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);
+ size += vn_sizeof_VkBool32(&val->shaderDrawParameters);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features(const VkPhysicalDeviceVulkan11Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
+ vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
+ vn_encode_VkBool32(enc, &val->storagePushConstant16);
+ vn_encode_VkBool32(enc, &val->storageInputOutput16);
+ vn_encode_VkBool32(enc, &val->multiview);
+ vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
+ vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
+ vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
+ vn_encode_VkBool32(enc, &val->variablePointers);
+ vn_encode_VkBool32(enc, &val->protectedMemory);
+ vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
+ vn_encode_VkBool32(enc, &val->shaderDrawParameters);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkan11Features_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
+ vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
+ vn_decode_VkBool32(dec, &val->storagePushConstant16);
+ vn_decode_VkBool32(dec, &val->storageInputOutput16);
+ vn_decode_VkBool32(dec, &val->multiview);
+ vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
+ vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
+ vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
+ vn_decode_VkBool32(dec, &val->variablePointers);
+ vn_decode_VkBool32(dec, &val->protectedMemory);
+ vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
+ vn_decode_VkBool32(dec, &val->shaderDrawParameters);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVulkan11Features_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(const VkPhysicalDeviceVulkan11Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer16BitAccess */
+ /* skip val->uniformAndStorageBuffer16BitAccess */
+ /* skip val->storagePushConstant16 */
+ /* skip val->storageInputOutput16 */
+ /* skip val->multiview */
+ /* skip val->multiviewGeometryShader */
+ /* skip val->multiviewTessellationShader */
+ /* skip val->variablePointersStorageBuffer */
+ /* skip val->variablePointers */
+ /* skip val->protectedMemory */
+ /* skip val->samplerYcbcrConversion */
+ /* skip val->shaderDrawParameters */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Features_partial(const VkPhysicalDeviceVulkan11Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->storageBuffer16BitAccess */
+ /* skip val->uniformAndStorageBuffer16BitAccess */
+ /* skip val->storagePushConstant16 */
+ /* skip val->storageInputOutput16 */
+ /* skip val->multiview */
+ /* skip val->multiviewGeometryShader */
+ /* skip val->multiviewTessellationShader */
+ /* skip val->variablePointersStorageBuffer */
+ /* skip val->variablePointers */
+ /* skip val->protectedMemory */
+ /* skip val->samplerYcbcrConversion */
+ /* skip val->shaderDrawParameters */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceVulkan12Features chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features_self(const VkPhysicalDeviceVulkan12Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->samplerMirrorClampToEdge);
+ size += vn_sizeof_VkBool32(&val->drawIndirectCount);
+ size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);
+ size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);
+ size += vn_sizeof_VkBool32(&val->storagePushConstant8);
+ size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);
+ size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);
+ size += vn_sizeof_VkBool32(&val->shaderFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderInt8);
+ size += vn_sizeof_VkBool32(&val->descriptorIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);
+ size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);
+ size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);
+ size += vn_sizeof_VkBool32(&val->samplerFilterMinmax);
+ size += vn_sizeof_VkBool32(&val->scalarBlockLayout);
+ size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);
+ size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);
+ size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);
+ size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);
+ size += vn_sizeof_VkBool32(&val->hostQueryReset);
+ size += vn_sizeof_VkBool32(&val->timelineSemaphore);
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);
+ size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);
+ size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);
+ size += vn_sizeof_VkBool32(&val->shaderOutputViewportIndex);
+ size += vn_sizeof_VkBool32(&val->shaderOutputLayer);
+ size += vn_sizeof_VkBool32(&val->subgroupBroadcastDynamicId);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features(const VkPhysicalDeviceVulkan12Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->samplerMirrorClampToEdge);
+ vn_encode_VkBool32(enc, &val->drawIndirectCount);
+ vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
+ vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
+ vn_encode_VkBool32(enc, &val->storagePushConstant8);
+ vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
+ vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
+ vn_encode_VkBool32(enc, &val->shaderFloat16);
+ vn_encode_VkBool32(enc, &val->shaderInt8);
+ vn_encode_VkBool32(enc, &val->descriptorIndexing);
+ vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
+ vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
+ vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
+ vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
+ vn_encode_VkBool32(enc, &val->samplerFilterMinmax);
+ vn_encode_VkBool32(enc, &val->scalarBlockLayout);
+ vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
+ vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
+ vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
+ vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
+ vn_encode_VkBool32(enc, &val->hostQueryReset);
+ vn_encode_VkBool32(enc, &val->timelineSemaphore);
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
+ vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
+ vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
+ vn_encode_VkBool32(enc, &val->shaderOutputViewportIndex);
+ vn_encode_VkBool32(enc, &val->shaderOutputLayer);
+ vn_encode_VkBool32(enc, &val->subgroupBroadcastDynamicId);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkan12Features_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->samplerMirrorClampToEdge);
+ vn_decode_VkBool32(dec, &val->drawIndirectCount);
+ vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
+ vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
+ vn_decode_VkBool32(dec, &val->storagePushConstant8);
+ vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
+ vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
+ vn_decode_VkBool32(dec, &val->shaderFloat16);
+ vn_decode_VkBool32(dec, &val->shaderInt8);
+ vn_decode_VkBool32(dec, &val->descriptorIndexing);
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
+ vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
+ vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
+ vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
+ vn_decode_VkBool32(dec, &val->samplerFilterMinmax);
+ vn_decode_VkBool32(dec, &val->scalarBlockLayout);
+ vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
+ vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
+ vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
+ vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
+ vn_decode_VkBool32(dec, &val->hostQueryReset);
+ vn_decode_VkBool32(dec, &val->timelineSemaphore);
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
+ vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
+ vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
+ vn_decode_VkBool32(dec, &val->shaderOutputViewportIndex);
+ vn_decode_VkBool32(dec, &val->shaderOutputLayer);
+ vn_decode_VkBool32(dec, &val->subgroupBroadcastDynamicId);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVulkan12Features_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(const VkPhysicalDeviceVulkan12Features *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->samplerMirrorClampToEdge */
+ /* skip val->drawIndirectCount */
+ /* skip val->storageBuffer8BitAccess */
+ /* skip val->uniformAndStorageBuffer8BitAccess */
+ /* skip val->storagePushConstant8 */
+ /* skip val->shaderBufferInt64Atomics */
+ /* skip val->shaderSharedInt64Atomics */
+ /* skip val->shaderFloat16 */
+ /* skip val->shaderInt8 */
+ /* skip val->descriptorIndexing */
+ /* skip val->shaderInputAttachmentArrayDynamicIndexing */
+ /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexing */
+ /* skip val->shaderSampledImageArrayNonUniformIndexing */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageImageArrayNonUniformIndexing */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
+ /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
+ /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
+ /* skip val->descriptorBindingSampledImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUpdateUnusedWhilePending */
+ /* skip val->descriptorBindingPartiallyBound */
+ /* skip val->descriptorBindingVariableDescriptorCount */
+ /* skip val->runtimeDescriptorArray */
+ /* skip val->samplerFilterMinmax */
+ /* skip val->scalarBlockLayout */
+ /* skip val->imagelessFramebuffer */
+ /* skip val->uniformBufferStandardLayout */
+ /* skip val->shaderSubgroupExtendedTypes */
+ /* skip val->separateDepthStencilLayouts */
+ /* skip val->hostQueryReset */
+ /* skip val->timelineSemaphore */
+ /* skip val->bufferDeviceAddress */
+ /* skip val->bufferDeviceAddressCaptureReplay */
+ /* skip val->bufferDeviceAddressMultiDevice */
+ /* skip val->vulkanMemoryModel */
+ /* skip val->vulkanMemoryModelDeviceScope */
+ /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
+ /* skip val->shaderOutputViewportIndex */
+ /* skip val->shaderOutputLayer */
+ /* skip val->subgroupBroadcastDynamicId */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Features_partial(const VkPhysicalDeviceVulkan12Features *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->samplerMirrorClampToEdge */
+ /* skip val->drawIndirectCount */
+ /* skip val->storageBuffer8BitAccess */
+ /* skip val->uniformAndStorageBuffer8BitAccess */
+ /* skip val->storagePushConstant8 */
+ /* skip val->shaderBufferInt64Atomics */
+ /* skip val->shaderSharedInt64Atomics */
+ /* skip val->shaderFloat16 */
+ /* skip val->shaderInt8 */
+ /* skip val->descriptorIndexing */
+ /* skip val->shaderInputAttachmentArrayDynamicIndexing */
+ /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexing */
+ /* skip val->shaderSampledImageArrayNonUniformIndexing */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageImageArrayNonUniformIndexing */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
+ /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
+ /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
+ /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
+ /* skip val->descriptorBindingSampledImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageImageUpdateAfterBind */
+ /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
+ /* skip val->descriptorBindingUpdateUnusedWhilePending */
+ /* skip val->descriptorBindingPartiallyBound */
+ /* skip val->descriptorBindingVariableDescriptorCount */
+ /* skip val->runtimeDescriptorArray */
+ /* skip val->samplerFilterMinmax */
+ /* skip val->scalarBlockLayout */
+ /* skip val->imagelessFramebuffer */
+ /* skip val->uniformBufferStandardLayout */
+ /* skip val->shaderSubgroupExtendedTypes */
+ /* skip val->separateDepthStencilLayouts */
+ /* skip val->hostQueryReset */
+ /* skip val->timelineSemaphore */
+ /* skip val->bufferDeviceAddress */
+ /* skip val->bufferDeviceAddressCaptureReplay */
+ /* skip val->bufferDeviceAddressMultiDevice */
+ /* skip val->vulkanMemoryModel */
+ /* skip val->vulkanMemoryModelDeviceScope */
+ /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
+ /* skip val->shaderOutputViewportIndex */
+ /* skip val->shaderOutputLayer */
+ /* skip val->subgroupBroadcastDynamicId */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });
+ vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceFeatures2 chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2_self(const VkPhysicalDeviceFeatures2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceFeatures(&val->features);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkPhysicalDeviceFeatures(enc, &val->features);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });
+ vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceFeatures2_self(enc, val);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, (VkPhysicalDeviceVulkan11Features *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, (VkPhysicalDeviceVulkan12Features *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFeatures2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkPhysicalDeviceFeatures(dec, &val->features);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFeatures2(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceFeatures2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial((const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial((const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial((const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial((const VkPhysicalDeviceVulkan11Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial((const VkPhysicalDeviceVulkan12Features *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(const VkPhysicalDeviceFeatures2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceFeatures_partial(&val->features);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFeatures2_partial(const VkPhysicalDeviceFeatures2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkPhysicalDeviceFeatures_partial(enc, &val->features);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFeatures2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });
+ vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceFeatures2_self_partial(enc, val);
+}
+
+/* struct VkDeviceGroupDeviceCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(const VkDeviceGroupDeviceCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->physicalDeviceCount);
+ if (val->pPhysicalDevices) {
+ size += vn_sizeof_array_size(val->physicalDeviceCount);
+ for (uint32_t i = 0; i < val->physicalDeviceCount; i++)
+ size += vn_sizeof_VkPhysicalDevice(&val->pPhysicalDevices[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceGroupDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->physicalDeviceCount);
+ if (val->pPhysicalDevices) {
+ vn_encode_array_size(enc, val->physicalDeviceCount);
+ for (uint32_t i = 0; i < val->physicalDeviceCount; i++)
+ vn_encode_VkPhysicalDevice(enc, &val->pPhysicalDevices[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDeviceGroupDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO });
+ vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, val);
+}
+
+/* struct VkDeviceCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFeatures2_self((const VkPhysicalDeviceFeatures2 *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self((const VkDeviceGroupDeviceCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceCreateInfo_self(const VkDeviceCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->queueCreateInfoCount);
+ if (val->pQueueCreateInfos) {
+ size += vn_sizeof_array_size(val->queueCreateInfoCount);
+ for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)
+ size += vn_sizeof_VkDeviceQueueCreateInfo(&val->pQueueCreateInfos[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->enabledLayerCount);
+ if (val->ppEnabledLayerNames) {
+ size += vn_sizeof_array_size(val->enabledLayerCount);
+ 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);
+ }
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->enabledExtensionCount);
+ if (val->ppEnabledExtensionNames) {
+ size += vn_sizeof_array_size(val->enabledExtensionCount);
+ 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);
+ }
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_simple_pointer(val->pEnabledFeatures);
+ if (val->pEnabledFeatures)
+ size += vn_sizeof_VkPhysicalDeviceFeatures(val->pEnabledFeatures);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceCreateInfo(const VkDeviceCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceFeatures2_self(enc, (const VkPhysicalDeviceFeatures2 *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, (const VkDeviceGroupDeviceCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->queueCreateInfoCount);
+ if (val->pQueueCreateInfos) {
+ vn_encode_array_size(enc, val->queueCreateInfoCount);
+ for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)
+ vn_encode_VkDeviceQueueCreateInfo(enc, &val->pQueueCreateInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->enabledLayerCount);
+ if (val->ppEnabledLayerNames) {
+ vn_encode_array_size(enc, val->enabledLayerCount);
+ 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);
+ }
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->enabledExtensionCount);
+ if (val->ppEnabledExtensionNames) {
+ vn_encode_array_size(enc, val->enabledExtensionCount);
+ 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);
+ }
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, val->pEnabledFeatures))
+ vn_encode_VkPhysicalDeviceFeatures(enc, val->pEnabledFeatures);
+}
+
+static inline void
+vn_encode_VkDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO });
+ vn_encode_VkDeviceCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceCreateInfo_self(enc, val);
+}
+
+/* struct VkConformanceVersion */
+
+static inline size_t
+vn_sizeof_VkConformanceVersion(const VkConformanceVersion *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint8_t(&val->major);
+ size += vn_sizeof_uint8_t(&val->minor);
+ size += vn_sizeof_uint8_t(&val->subminor);
+ size += vn_sizeof_uint8_t(&val->patch);
+ return size;
+}
+
+static inline void
+vn_decode_VkConformanceVersion(struct vn_cs_decoder *dec, VkConformanceVersion *val)
+{
+ vn_decode_uint8_t(dec, &val->major);
+ vn_decode_uint8_t(dec, &val->minor);
+ vn_decode_uint8_t(dec, &val->subminor);
+ vn_decode_uint8_t(dec, &val->patch);
+}
+
+static inline size_t
+vn_sizeof_VkConformanceVersion_partial(const VkConformanceVersion *val)
+{
+ size_t size = 0;
+ /* skip val->major */
+ /* skip val->minor */
+ /* skip val->subminor */
+ /* skip val->patch */
+ return size;
+}
+
+static inline void
+vn_encode_VkConformanceVersion_partial(struct vn_cs_encoder *enc, const VkConformanceVersion *val)
+{
+ /* skip val->major */
+ /* skip val->minor */
+ /* skip val->subminor */
+ /* skip val->patch */
+}
+
+/* struct VkPhysicalDeviceDriverProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties_self(const VkPhysicalDeviceDriverProperties *val)
+{
+ size_t size = 0;
+ /* 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_array_size(VK_MAX_DRIVER_INFO_SIZE);
+ size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
+ size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDriverProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ 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);
+ }
+ {
+ 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_VkConformanceVersion(dec, &val->conformanceVersion);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDriverProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceDriverProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceDriverProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(const VkPhysicalDeviceDriverProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->driverID */
+ /* skip val->driverName */
+ /* skip val->driverInfo */
+ size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDriverProperties_partial(const VkPhysicalDeviceDriverProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDriverProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->driverID */
+ /* skip val->driverName */
+ /* skip val->driverInfo */
+ vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDriverProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES });
+ vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceIDProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties_self(const VkPhysicalDeviceIDProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_array_size(VK_UUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);
+ size += vn_sizeof_array_size(VK_UUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);
+ size += vn_sizeof_array_size(VK_LUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);
+ size += vn_sizeof_uint32_t(&val->deviceNodeMask);
+ size += vn_sizeof_VkBool32(&val->deviceLUIDValid);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceIDProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceIDProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->driverUUID, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);
+ }
+ vn_decode_uint32_t(dec, &val->deviceNodeMask);
+ vn_decode_VkBool32(dec, &val->deviceLUIDValid);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceIDProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceIDProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceIDProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(const VkPhysicalDeviceIDProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->deviceUUID */
+ /* skip val->driverUUID */
+ /* skip val->deviceLUID */
+ /* skip val->deviceNodeMask */
+ /* skip val->deviceLUIDValid */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceIDProperties_partial(const VkPhysicalDeviceIDProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceIDProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->deviceUUID */
+ /* skip val->driverUUID */
+ /* skip val->deviceLUID */
+ /* skip val->deviceNodeMask */
+ /* skip val->deviceLUIDValid */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceIDProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES });
+ vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceMultiviewProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(const VkPhysicalDeviceMultiviewProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);
+ size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);
+ vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMultiviewProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(const VkPhysicalDeviceMultiviewProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxMultiviewViewCount */
+ /* skip val->maxMultiviewInstanceIndex */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMultiviewProperties_partial(const VkPhysicalDeviceMultiviewProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxMultiviewViewCount */
+ /* skip val->maxMultiviewInstanceIndex */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMultiviewProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES });
+ vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceSubgroupProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(const VkPhysicalDeviceSubgroupProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->subgroupSize);
+ size += vn_sizeof_VkFlags(&val->supportedStages);
+ size += vn_sizeof_VkFlags(&val->supportedOperations);
+ size += vn_sizeof_VkBool32(&val->quadOperationsInAllStages);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSubgroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->subgroupSize);
+ vn_decode_VkFlags(dec, &val->supportedStages);
+ vn_decode_VkFlags(dec, &val->supportedOperations);
+ vn_decode_VkBool32(dec, &val->quadOperationsInAllStages);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSubgroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(const VkPhysicalDeviceSubgroupProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->subgroupSize */
+ /* skip val->supportedStages */
+ /* skip val->supportedOperations */
+ /* skip val->quadOperationsInAllStages */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSubgroupProperties_partial(const VkPhysicalDeviceSubgroupProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->subgroupSize */
+ /* skip val->supportedStages */
+ /* skip val->supportedOperations */
+ /* skip val->quadOperationsInAllStages */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSubgroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES });
+ vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDevicePointClippingProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties_self(const VkPhysicalDevicePointClippingProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDevicePointClippingProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDevicePointClippingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);
+}
+
+static inline void
+vn_decode_VkPhysicalDevicePointClippingProperties(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDevicePointClippingProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(const VkPhysicalDevicePointClippingProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->pointClippingBehavior */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDevicePointClippingProperties_partial(const VkPhysicalDevicePointClippingProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->pointClippingBehavior */
+}
+
+static inline void
+vn_encode_VkPhysicalDevicePointClippingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES });
+ vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceProtectedMemoryProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->protectedNoFault);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->protectedNoFault);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProtectedMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->protectedNoFault */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->protectedNoFault */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProtectedMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES });
+ vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceSamplerFilterMinmaxProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);
+ size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);
+ vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->filterMinmaxSingleComponentFormats */
+ /* skip val->filterMinmaxImageComponentMapping */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->filterMinmaxSingleComponentFormats */
+ /* skip val->filterMinmaxImageComponentMapping */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES });
+ vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceMaintenance3Properties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);
+ size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMaintenance3Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);
+ vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMaintenance3Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxPerSetDescriptors */
+ /* skip val->maxMemoryAllocationSize */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMaintenance3Properties_partial(const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxPerSetDescriptors */
+ /* skip val->maxMemoryAllocationSize */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMaintenance3Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES });
+ vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceFloatControlsProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkShaderFloatControlsIndependence(&val->denormBehaviorIndependence);
+ size += vn_sizeof_VkShaderFloatControlsIndependence(&val->roundingModeIndependence);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties(const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFloatControlsProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);
+ vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceFloatControlsProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->denormBehaviorIndependence */
+ /* skip val->roundingModeIndependence */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
+ /* skip val->shaderDenormPreserveFloat16 */
+ /* skip val->shaderDenormPreserveFloat32 */
+ /* skip val->shaderDenormPreserveFloat64 */
+ /* skip val->shaderDenormFlushToZeroFloat16 */
+ /* skip val->shaderDenormFlushToZeroFloat32 */
+ /* skip val->shaderDenormFlushToZeroFloat64 */
+ /* skip val->shaderRoundingModeRTEFloat16 */
+ /* skip val->shaderRoundingModeRTEFloat32 */
+ /* skip val->shaderRoundingModeRTEFloat64 */
+ /* skip val->shaderRoundingModeRTZFloat16 */
+ /* skip val->shaderRoundingModeRTZFloat32 */
+ /* skip val->shaderRoundingModeRTZFloat64 */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceFloatControlsProperties_partial(const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->denormBehaviorIndependence */
+ /* skip val->roundingModeIndependence */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
+ /* skip val->shaderDenormPreserveFloat16 */
+ /* skip val->shaderDenormPreserveFloat32 */
+ /* skip val->shaderDenormPreserveFloat64 */
+ /* skip val->shaderDenormFlushToZeroFloat16 */
+ /* skip val->shaderDenormFlushToZeroFloat32 */
+ /* skip val->shaderDenormFlushToZeroFloat64 */
+ /* skip val->shaderRoundingModeRTEFloat16 */
+ /* skip val->shaderRoundingModeRTEFloat32 */
+ /* skip val->shaderRoundingModeRTEFloat64 */
+ /* skip val->shaderRoundingModeRTZFloat16 */
+ /* skip val->shaderRoundingModeRTZFloat32 */
+ /* skip val->shaderRoundingModeRTZFloat64 */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceFloatControlsProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES });
+ vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceDescriptorIndexingProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);
+ size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
+ size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties(const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);
+ vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
+ vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDescriptorIndexingProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
+ /* skip val->robustBufferAccessUpdateAfterBind */
+ /* skip val->quadDivergentImplicitLod */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
+ /* skip val->maxPerStageUpdateAfterBindResources */
+ /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
+ /* skip val->robustBufferAccessUpdateAfterBind */
+ /* skip val->quadDivergentImplicitLod */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
+ /* skip val->maxPerStageUpdateAfterBindResources */
+ /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES });
+ vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceTimelineSemaphoreProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxTimelineSemaphoreValueDifference */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxTimelineSemaphoreValueDifference */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES });
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceDepthStencilResolveProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);
+ size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);
+ size += vn_sizeof_VkBool32(&val->independentResolveNone);
+ size += vn_sizeof_VkBool32(&val->independentResolve);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties(const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);
+ vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);
+ vn_decode_VkBool32(dec, &val->independentResolveNone);
+ vn_decode_VkBool32(dec, &val->independentResolve);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceDepthStencilResolveProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->supportedDepthResolveModes */
+ /* skip val->supportedStencilResolveModes */
+ /* skip val->independentResolveNone */
+ /* skip val->independentResolve */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->supportedDepthResolveModes */
+ /* skip val->supportedStencilResolveModes */
+ /* skip val->independentResolveNone */
+ /* skip val->independentResolve */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES });
+ vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceTransformFeedbackPropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreams);
+ size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBuffers);
+ size += vn_sizeof_VkDeviceSize(&val->maxTransformFeedbackBufferSize);
+ size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreamDataSize);
+ size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataSize);
+ size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataStride);
+ size += vn_sizeof_VkBool32(&val->transformFeedbackQueries);
+ size += vn_sizeof_VkBool32(&val->transformFeedbackStreamsLinesTriangles);
+ size += vn_sizeof_VkBool32(&val->transformFeedbackRasterizationStreamSelect);
+ size += vn_sizeof_VkBool32(&val->transformFeedbackDraw);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreams);
+ vn_decode_uint32_t(dec, &val->maxTransformFeedbackBuffers);
+ vn_decode_VkDeviceSize(dec, &val->maxTransformFeedbackBufferSize);
+ vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreamDataSize);
+ vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataSize);
+ vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataStride);
+ vn_decode_VkBool32(dec, &val->transformFeedbackQueries);
+ vn_decode_VkBool32(dec, &val->transformFeedbackStreamsLinesTriangles);
+ vn_decode_VkBool32(dec, &val->transformFeedbackRasterizationStreamSelect);
+ vn_decode_VkBool32(dec, &val->transformFeedbackDraw);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->maxTransformFeedbackStreams */
+ /* skip val->maxTransformFeedbackBuffers */
+ /* skip val->maxTransformFeedbackBufferSize */
+ /* skip val->maxTransformFeedbackStreamDataSize */
+ /* skip val->maxTransformFeedbackBufferDataSize */
+ /* skip val->maxTransformFeedbackBufferDataStride */
+ /* skip val->transformFeedbackQueries */
+ /* skip val->transformFeedbackStreamsLinesTriangles */
+ /* skip val->transformFeedbackRasterizationStreamSelect */
+ /* skip val->transformFeedbackDraw */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->maxTransformFeedbackStreams */
+ /* skip val->maxTransformFeedbackBuffers */
+ /* skip val->maxTransformFeedbackBufferSize */
+ /* skip val->maxTransformFeedbackStreamDataSize */
+ /* skip val->maxTransformFeedbackBufferDataSize */
+ /* skip val->maxTransformFeedbackBufferDataStride */
+ /* skip val->transformFeedbackQueries */
+ /* skip val->transformFeedbackStreamsLinesTriangles */
+ /* skip val->transformFeedbackRasterizationStreamSelect */
+ /* skip val->transformFeedbackDraw */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT });
+ vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceVulkan11Properties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(const VkPhysicalDeviceVulkan11Properties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_array_size(VK_UUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);
+ size += vn_sizeof_array_size(VK_UUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);
+ size += vn_sizeof_array_size(VK_LUID_SIZE);
+ size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);
+ size += vn_sizeof_uint32_t(&val->deviceNodeMask);
+ size += vn_sizeof_VkBool32(&val->deviceLUIDValid);
+ size += vn_sizeof_uint32_t(&val->subgroupSize);
+ size += vn_sizeof_VkFlags(&val->subgroupSupportedStages);
+ size += vn_sizeof_VkFlags(&val->subgroupSupportedOperations);
+ size += vn_sizeof_VkBool32(&val->subgroupQuadOperationsInAllStages);
+ size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);
+ size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);
+ size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);
+ size += vn_sizeof_VkBool32(&val->protectedNoFault);
+ size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);
+ size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties(const VkPhysicalDeviceVulkan11Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->driverUUID, array_size);
+ }
+ {
+ const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);
+ vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);
+ }
+ vn_decode_uint32_t(dec, &val->deviceNodeMask);
+ vn_decode_VkBool32(dec, &val->deviceLUIDValid);
+ vn_decode_uint32_t(dec, &val->subgroupSize);
+ vn_decode_VkFlags(dec, &val->subgroupSupportedStages);
+ vn_decode_VkFlags(dec, &val->subgroupSupportedOperations);
+ vn_decode_VkBool32(dec, &val->subgroupQuadOperationsInAllStages);
+ vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);
+ vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);
+ vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);
+ vn_decode_VkBool32(dec, &val->protectedNoFault);
+ vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);
+ vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan11Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(const VkPhysicalDeviceVulkan11Properties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->deviceUUID */
+ /* skip val->driverUUID */
+ /* skip val->deviceLUID */
+ /* skip val->deviceNodeMask */
+ /* skip val->deviceLUIDValid */
+ /* skip val->subgroupSize */
+ /* skip val->subgroupSupportedStages */
+ /* skip val->subgroupSupportedOperations */
+ /* skip val->subgroupQuadOperationsInAllStages */
+ /* skip val->pointClippingBehavior */
+ /* skip val->maxMultiviewViewCount */
+ /* skip val->maxMultiviewInstanceIndex */
+ /* skip val->protectedNoFault */
+ /* skip val->maxPerSetDescriptors */
+ /* skip val->maxMemoryAllocationSize */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan11Properties_partial(const VkPhysicalDeviceVulkan11Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->deviceUUID */
+ /* skip val->driverUUID */
+ /* skip val->deviceLUID */
+ /* skip val->deviceNodeMask */
+ /* skip val->deviceLUIDValid */
+ /* skip val->subgroupSize */
+ /* skip val->subgroupSupportedStages */
+ /* skip val->subgroupSupportedOperations */
+ /* skip val->subgroupQuadOperationsInAllStages */
+ /* skip val->pointClippingBehavior */
+ /* skip val->maxMultiviewViewCount */
+ /* skip val->maxMultiviewInstanceIndex */
+ /* skip val->protectedNoFault */
+ /* skip val->maxPerSetDescriptors */
+ /* skip val->maxMemoryAllocationSize */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan11Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES });
+ vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceVulkan12Properties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(const VkPhysicalDeviceVulkan12Properties *val)
+{
+ size_t size = 0;
+ /* 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_array_size(VK_MAX_DRIVER_INFO_SIZE);
+ size += vn_sizeof_blob_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);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);
+ size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);
+ size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);
+ size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);
+ size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);
+ size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
+ size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);
+ size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);
+ size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);
+ size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);
+ size += vn_sizeof_VkBool32(&val->independentResolveNone);
+ size += vn_sizeof_VkBool32(&val->independentResolve);
+ size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);
+ size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);
+ size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);
+ size += vn_sizeof_VkFlags(&val->framebufferIntegerColorSampleCounts);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties(const VkPhysicalDeviceVulkan12Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ 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);
+ }
+ {
+ 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_VkConformanceVersion(dec, &val->conformanceVersion);
+ vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);
+ vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);
+ vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);
+ vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);
+ vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);
+ vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);
+ vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);
+ vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
+ vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);
+ vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
+ vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
+ vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);
+ vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
+ vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);
+ vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);
+ vn_decode_VkBool32(dec, &val->independentResolveNone);
+ vn_decode_VkBool32(dec, &val->independentResolve);
+ vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);
+ vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);
+ vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);
+ vn_decode_VkFlags(dec, &val->framebufferIntegerColorSampleCounts);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceVulkan12Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(const VkPhysicalDeviceVulkan12Properties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->driverID */
+ /* skip val->driverName */
+ /* skip val->driverInfo */
+ size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);
+ /* skip val->denormBehaviorIndependence */
+ /* skip val->roundingModeIndependence */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
+ /* skip val->shaderDenormPreserveFloat16 */
+ /* skip val->shaderDenormPreserveFloat32 */
+ /* skip val->shaderDenormPreserveFloat64 */
+ /* skip val->shaderDenormFlushToZeroFloat16 */
+ /* skip val->shaderDenormFlushToZeroFloat32 */
+ /* skip val->shaderDenormFlushToZeroFloat64 */
+ /* skip val->shaderRoundingModeRTEFloat16 */
+ /* skip val->shaderRoundingModeRTEFloat32 */
+ /* skip val->shaderRoundingModeRTEFloat64 */
+ /* skip val->shaderRoundingModeRTZFloat16 */
+ /* skip val->shaderRoundingModeRTZFloat32 */
+ /* skip val->shaderRoundingModeRTZFloat64 */
+ /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
+ /* skip val->robustBufferAccessUpdateAfterBind */
+ /* skip val->quadDivergentImplicitLod */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
+ /* skip val->maxPerStageUpdateAfterBindResources */
+ /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
+ /* skip val->supportedDepthResolveModes */
+ /* skip val->supportedStencilResolveModes */
+ /* skip val->independentResolveNone */
+ /* skip val->independentResolve */
+ /* skip val->filterMinmaxSingleComponentFormats */
+ /* skip val->filterMinmaxImageComponentMapping */
+ /* skip val->maxTimelineSemaphoreValueDifference */
+ /* skip val->framebufferIntegerColorSampleCounts */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceVulkan12Properties_partial(const VkPhysicalDeviceVulkan12Properties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->driverID */
+ /* skip val->driverName */
+ /* skip val->driverInfo */
+ vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);
+ /* skip val->denormBehaviorIndependence */
+ /* skip val->roundingModeIndependence */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
+ /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
+ /* skip val->shaderDenormPreserveFloat16 */
+ /* skip val->shaderDenormPreserveFloat32 */
+ /* skip val->shaderDenormPreserveFloat64 */
+ /* skip val->shaderDenormFlushToZeroFloat16 */
+ /* skip val->shaderDenormFlushToZeroFloat32 */
+ /* skip val->shaderDenormFlushToZeroFloat64 */
+ /* skip val->shaderRoundingModeRTEFloat16 */
+ /* skip val->shaderRoundingModeRTEFloat32 */
+ /* skip val->shaderRoundingModeRTEFloat64 */
+ /* skip val->shaderRoundingModeRTZFloat16 */
+ /* skip val->shaderRoundingModeRTZFloat32 */
+ /* skip val->shaderRoundingModeRTZFloat64 */
+ /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
+ /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
+ /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
+ /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
+ /* skip val->robustBufferAccessUpdateAfterBind */
+ /* skip val->quadDivergentImplicitLod */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
+ /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
+ /* skip val->maxPerStageUpdateAfterBindResources */
+ /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
+ /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
+ /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
+ /* skip val->supportedDepthResolveModes */
+ /* skip val->supportedStencilResolveModes */
+ /* skip val->independentResolveNone */
+ /* skip val->independentResolve */
+ /* skip val->filterMinmaxSingleComponentFormats */
+ /* skip val->filterMinmaxImageComponentMapping */
+ /* skip val->maxTimelineSemaphoreValueDifference */
+ /* skip val->framebufferIntegerColorSampleCounts */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceVulkan12Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES });
+ vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_self((const VkPhysicalDeviceDriverProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_self((const VkPhysicalDeviceIDProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self((const VkPhysicalDeviceMultiviewProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self((const VkPhysicalDeviceSubgroupProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self((const VkPhysicalDevicePointClippingProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self((const VkPhysicalDeviceMaintenance3Properties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self((const VkPhysicalDeviceFloatControlsProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self((const VkPhysicalDeviceVulkan11Properties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self((const VkPhysicalDeviceVulkan12Properties *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2_self(const VkPhysicalDeviceProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceProperties(&val->properties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceDriverProperties_self(dec, (VkPhysicalDeviceDriverProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceIDProperties_self(dec, (VkPhysicalDeviceIDProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, (VkPhysicalDeviceMultiviewProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, (VkPhysicalDeviceSubgroupProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, (VkPhysicalDevicePointClippingProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, (VkPhysicalDeviceProtectedMemoryProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, (VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, (VkPhysicalDeviceMaintenance3Properties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, (VkPhysicalDeviceFloatControlsProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, (VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, (VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, (VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, (VkPhysicalDeviceVulkan11Properties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, (VkPhysicalDeviceVulkan12Properties *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkPhysicalDeviceProperties(dec, &val->properties);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceProperties2_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial((const VkPhysicalDeviceDriverProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial((const VkPhysicalDeviceIDProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial((const VkPhysicalDeviceMultiviewProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial((const VkPhysicalDeviceSubgroupProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial((const VkPhysicalDevicePointClippingProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial((const VkPhysicalDeviceMaintenance3Properties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial((const VkPhysicalDeviceFloatControlsProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial((const VkPhysicalDeviceVulkan11Properties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial((const VkPhysicalDeviceVulkan12Properties *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2_self_partial(const VkPhysicalDeviceProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceProperties_partial(&val->properties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceProperties2_partial(const VkPhysicalDeviceProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, (const VkPhysicalDeviceDriverProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, (const VkPhysicalDeviceIDProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, (const VkPhysicalDeviceMultiviewProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, (const VkPhysicalDeviceSubgroupProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, (const VkPhysicalDevicePointClippingProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, (const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance3Properties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, (const VkPhysicalDeviceFloatControlsProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, (const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, (const VkPhysicalDeviceVulkan11Properties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, (const VkPhysicalDeviceVulkan12Properties *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkPhysicalDeviceProperties_partial(enc, &val->properties);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 });
+ vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceProperties2_self_partial(enc, val);
+}
+
+/* struct VkDrmFormatModifierPropertiesEXT */
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesEXT(const VkDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint64_t(&val->drmFormatModifier);
+ size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);
+ size += vn_sizeof_VkFlags(&val->drmFormatModifierTilingFeatures);
+ return size;
+}
+
+static inline void
+vn_decode_VkDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesEXT *val)
+{
+ vn_decode_uint64_t(dec, &val->drmFormatModifier);
+ vn_decode_uint32_t(dec, &val->drmFormatModifierPlaneCount);
+ vn_decode_VkFlags(dec, &val->drmFormatModifierTilingFeatures);
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(const VkDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->drmFormatModifier */
+ /* skip val->drmFormatModifierPlaneCount */
+ /* skip val->drmFormatModifierTilingFeatures */
+ return size;
+}
+
+static inline void
+vn_encode_VkDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesEXT *val)
+{
+ /* skip val->drmFormatModifier */
+ /* skip val->drmFormatModifierPlaneCount */
+ /* skip val->drmFormatModifierTilingFeatures */
+}
+
+/* struct VkDrmFormatModifierPropertiesListEXT chain */
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);
+ if (val->pDrmFormatModifierProperties) {
+ size += vn_sizeof_array_size(val->drmFormatModifierCount);
+ for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
+ size += vn_sizeof_VkDrmFormatModifierPropertiesEXT(&val->pDrmFormatModifierProperties[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(val->pNext);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
+{
+ /* 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++)
+ vn_decode_VkDrmFormatModifierPropertiesEXT(dec, &val->pDrmFormatModifierProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ val->pDrmFormatModifierProperties = NULL;
+ }
+}
+
+static inline void
+vn_decode_VkDrmFormatModifierPropertiesListEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(dec, val->pNext);
+ vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->drmFormatModifierCount */
+ if (val->pDrmFormatModifierProperties) {
+ size += vn_sizeof_array_size(val->drmFormatModifierCount);
+ for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
+ size += vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(&val->pDrmFormatModifierProperties[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDrmFormatModifierPropertiesListEXT_partial(const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->drmFormatModifierCount */
+ if (val->pDrmFormatModifierProperties) {
+ vn_encode_array_size(enc, val->drmFormatModifierCount);
+ for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
+ vn_encode_VkDrmFormatModifierPropertiesEXT_partial(enc, &val->pDrmFormatModifierProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDrmFormatModifierPropertiesListEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT });
+ vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, val);
+}
+
+/* struct VkFormatProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkFormatProperties2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkFormatProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self((const VkDrmFormatModifierPropertiesListEXT *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties2_self(const VkFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFormatProperties(&val->formatProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties2(const VkFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFormatProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkFormatProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
+ vn_decode_VkFormatProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, (VkDrmFormatModifierPropertiesListEXT *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkFormatProperties2_self(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkFormatProperties(dec, &val->formatProperties);
+}
+
+static inline void
+vn_decode_VkFormatProperties2(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkFormatProperties2_pnext(dec, val->pNext);
+ vn_decode_VkFormatProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties2_pnext_partial(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkFormatProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial((const VkDrmFormatModifierPropertiesListEXT *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties2_self_partial(const VkFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFormatProperties_partial(&val->formatProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFormatProperties2_partial(const VkFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFormatProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkFormatProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkFormatProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, (const VkDrmFormatModifierPropertiesListEXT *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFormatProperties_partial(enc, &val->formatProperties);
+}
+
+static inline void
+vn_encode_VkFormatProperties2_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 });
+ vn_encode_VkFormatProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkFormatProperties2_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceExternalImageFormatInfo chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(const VkPhysicalDeviceExternalImageFormatInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalImageFormatInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO });
+ vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, val);
+}
+
+/* struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->drmFormatModifier);
+ size += vn_sizeof_VkSharingMode(&val->sharingMode);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ size += vn_sizeof_array_size(val->queueFamilyIndexCount);
+ size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint64_t(enc, &val->drmFormatModifier);
+ vn_encode_VkSharingMode(enc, &val->sharingMode);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ vn_encode_array_size(enc, val->queueFamilyIndexCount);
+ vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT });
+ vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, val);
+}
+
+/* struct VkPhysicalDeviceImageFormatInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self((const VkPhysicalDeviceExternalImageFormatInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self((const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(const VkPhysicalDeviceImageFormatInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkImageType(&val->type);
+ size += vn_sizeof_VkImageTiling(&val->tiling);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, (const VkPhysicalDeviceExternalImageFormatInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
+ vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
+ vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, (const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
+ vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkImageType(enc, &val->type);
+ vn_encode_VkImageTiling(enc, &val->tiling);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 });
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceImageFormatInfo2_self(enc, val);
+}
+
+/* struct VkExternalMemoryProperties */
+
+static inline size_t
+vn_sizeof_VkExternalMemoryProperties(const VkExternalMemoryProperties *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->externalMemoryFeatures);
+ size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
+ size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
+ return size;
+}
+
+static inline void
+vn_decode_VkExternalMemoryProperties(struct vn_cs_decoder *dec, VkExternalMemoryProperties *val)
+{
+ vn_decode_VkFlags(dec, &val->externalMemoryFeatures);
+ vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
+ vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
+}
+
+static inline size_t
+vn_sizeof_VkExternalMemoryProperties_partial(const VkExternalMemoryProperties *val)
+{
+ size_t size = 0;
+ /* skip val->externalMemoryFeatures */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalMemoryProperties_partial(struct vn_cs_encoder *enc, const VkExternalMemoryProperties *val)
+{
+ /* skip val->externalMemoryFeatures */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+}
+
+/* struct VkExternalImageFormatProperties chain */
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties_self(const VkExternalImageFormatProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties(const VkExternalImageFormatProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalImageFormatProperties_pnext(val->pNext);
+ size += vn_sizeof_VkExternalImageFormatProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkExternalImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkExternalImageFormatProperties_self(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);
+}
+
+static inline void
+vn_decode_VkExternalImageFormatProperties(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkExternalImageFormatProperties_pnext(dec, val->pNext);
+ vn_decode_VkExternalImageFormatProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties_self_partial(const VkExternalImageFormatProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalImageFormatProperties_partial(const VkExternalImageFormatProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalImageFormatProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkExternalImageFormatProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);
+}
+
+static inline void
+vn_encode_VkExternalImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES });
+ vn_encode_VkExternalImageFormatProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkExternalImageFormatProperties_self_partial(enc, val);
+}
+
+/* struct VkSamplerYcbcrConversionImageFormatProperties chain */
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->combinedImageSamplerDescriptorCount);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(val->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->combinedImageSamplerDescriptorCount);
+}
+
+static inline void
+vn_decode_VkSamplerYcbcrConversionImageFormatProperties(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(dec, val->pNext);
+ vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->combinedImageSamplerDescriptorCount */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->combinedImageSamplerDescriptorCount */
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES });
+ vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, val);
+}
+
+/* struct VkImageFormatProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkExternalImageFormatProperties_self((const VkExternalImageFormatProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2_self(const VkImageFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageFormatProperties(&val->imageFormatProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2(const VkImageFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkImageFormatProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
+ vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkExternalImageFormatProperties_self(dec, (VkExternalImageFormatProperties *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
+ vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);
+ vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, (VkSamplerYcbcrConversionImageFormatProperties *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkImageFormatProperties2_self(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkImageFormatProperties(dec, &val->imageFormatProperties);
+}
+
+static inline void
+vn_decode_VkImageFormatProperties2(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkImageFormatProperties2_pnext(dec, val->pNext);
+ vn_decode_VkImageFormatProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2_pnext_partial(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkExternalImageFormatProperties_self_partial((const VkExternalImageFormatProperties *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2_self_partial(const VkImageFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageFormatProperties_partial(&val->imageFormatProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageFormatProperties2_partial(const VkImageFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageFormatProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkImageFormatProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkExternalImageFormatProperties_self_partial(enc, (const VkExternalImageFormatProperties *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);
+ vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, (const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImageFormatProperties_partial(enc, &val->imageFormatProperties);
+}
+
+static inline void
+vn_encode_VkImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 });
+ vn_encode_VkImageFormatProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkImageFormatProperties2_self_partial(enc, val);
+}
+
+/* struct VkQueueFamilyProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2_self(const VkQueueFamilyProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkQueueFamilyProperties(&val->queueFamilyProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2(const VkQueueFamilyProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkQueueFamilyProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkQueueFamilyProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkQueueFamilyProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkQueueFamilyProperties2_self(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkQueueFamilyProperties(dec, &val->queueFamilyProperties);
+}
+
+static inline void
+vn_decode_VkQueueFamilyProperties2(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkQueueFamilyProperties2_pnext(dec, val->pNext);
+ vn_decode_VkQueueFamilyProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2_self_partial(const VkQueueFamilyProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkQueueFamilyProperties_partial(&val->queueFamilyProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkQueueFamilyProperties2_partial(const VkQueueFamilyProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkQueueFamilyProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkQueueFamilyProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkQueueFamilyProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkQueueFamilyProperties2_self_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkQueueFamilyProperties_partial(enc, &val->queueFamilyProperties);
+}
+
+static inline void
+vn_encode_VkQueueFamilyProperties2_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 });
+ vn_encode_VkQueueFamilyProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkQueueFamilyProperties2_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceMemoryProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties(&val->memoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMemoryProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkPhysicalDeviceMemoryProperties(dec, &val->memoryProperties);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceMemoryProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceMemoryProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(&val->memoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, &val->memoryProperties);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceMemoryProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 });
+ vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceSparseImageFormatInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(const VkPhysicalDeviceSparseImageFormatInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkImageType(&val->type);
+ size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_VkImageTiling(&val->tiling);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkImageType(enc, &val->type);
+ vn_encode_VkSampleCountFlagBits(enc, &val->samples);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_VkImageTiling(enc, &val->tiling);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 });
+ vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(enc, val);
+}
+
+/* struct VkSparseImageFormatProperties2 chain */
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2_self(const VkSparseImageFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSparseImageFormatProperties(&val->properties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSparseImageFormatProperties2_pnext(val->pNext);
+ size += vn_sizeof_VkSparseImageFormatProperties2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkSparseImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkSparseImageFormatProperties2_self(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkSparseImageFormatProperties(dec, &val->properties);
+}
+
+static inline void
+vn_decode_VkSparseImageFormatProperties2(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkSparseImageFormatProperties2_pnext(dec, val->pNext);
+ vn_decode_VkSparseImageFormatProperties2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2_self_partial(const VkSparseImageFormatProperties2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->properties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageFormatProperties2_partial(const VkSparseImageFormatProperties2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkSparseImageFormatProperties2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSparseImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkSparseImageFormatProperties_partial(enc, &val->properties);
+}
+
+static inline void
+vn_encode_VkSparseImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 });
+ vn_encode_VkSparseImageFormatProperties2_pnext_partial(enc, val->pNext);
+ vn_encode_VkSparseImageFormatProperties2_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceExternalBufferInfo chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(const VkPhysicalDeviceExternalBufferInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalBufferInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalBufferInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO });
+ vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceExternalBufferInfo_self(enc, val);
+}
+
+/* struct VkExternalBufferProperties chain */
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties_self(const VkExternalBufferProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties(const VkExternalBufferProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalBufferProperties_pnext(val->pNext);
+ size += vn_sizeof_VkExternalBufferProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkExternalBufferProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkExternalBufferProperties_self(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);
+}
+
+static inline void
+vn_decode_VkExternalBufferProperties(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkExternalBufferProperties_pnext(dec, val->pNext);
+ vn_decode_VkExternalBufferProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties_self_partial(const VkExternalBufferProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalBufferProperties_partial(const VkExternalBufferProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalBufferProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkExternalBufferProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalBufferProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalBufferProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);
+}
+
+static inline void
+vn_encode_VkExternalBufferProperties_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES });
+ vn_encode_VkExternalBufferProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkExternalBufferProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceExternalSemaphoreInfo chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSemaphoreTypeCreateInfo_self((const VkSemaphoreTypeCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(const VkPhysicalDeviceExternalSemaphoreInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalSemaphoreHandleTypeFlagBits(&val->handleType);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSemaphoreTypeCreateInfo_self(enc, (const VkSemaphoreTypeCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkExternalSemaphoreHandleTypeFlagBits(enc, &val->handleType);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO });
+ vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(enc, val);
+}
+
+/* struct VkExternalSemaphoreProperties chain */
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties_self(const VkExternalSemaphoreProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
+ size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
+ size += vn_sizeof_VkFlags(&val->externalSemaphoreFeatures);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalSemaphoreProperties_pnext(val->pNext);
+ size += vn_sizeof_VkExternalSemaphoreProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkExternalSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkExternalSemaphoreProperties_self(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
+ vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
+ vn_decode_VkFlags(dec, &val->externalSemaphoreFeatures);
+}
+
+static inline void
+vn_decode_VkExternalSemaphoreProperties(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkExternalSemaphoreProperties_pnext(dec, val->pNext);
+ vn_decode_VkExternalSemaphoreProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties_self_partial(const VkExternalSemaphoreProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+ /* skip val->externalSemaphoreFeatures */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalSemaphoreProperties_partial(const VkExternalSemaphoreProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkExternalSemaphoreProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+ /* skip val->externalSemaphoreFeatures */
+}
+
+static inline void
+vn_encode_VkExternalSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES });
+ vn_encode_VkExternalSemaphoreProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkExternalSemaphoreProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceExternalFenceInfo chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(const VkPhysicalDeviceExternalFenceInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkExternalFenceHandleTypeFlagBits(&val->handleType);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalFenceInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkExternalFenceHandleTypeFlagBits(enc, &val->handleType);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceExternalFenceInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO });
+ vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceExternalFenceInfo_self(enc, val);
+}
+
+/* struct VkExternalFenceProperties chain */
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties_self(const VkExternalFenceProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
+ size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
+ size += vn_sizeof_VkFlags(&val->externalFenceFeatures);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties(const VkExternalFenceProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalFenceProperties_pnext(val->pNext);
+ size += vn_sizeof_VkExternalFenceProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkExternalFenceProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkExternalFenceProperties_self(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
+ vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
+ vn_decode_VkFlags(dec, &val->externalFenceFeatures);
+}
+
+static inline void
+vn_decode_VkExternalFenceProperties(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkExternalFenceProperties_pnext(dec, val->pNext);
+ vn_decode_VkExternalFenceProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties_self_partial(const VkExternalFenceProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+ /* skip val->externalFenceFeatures */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalFenceProperties_partial(const VkExternalFenceProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalFenceProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkExternalFenceProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalFenceProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalFenceProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->exportFromImportedHandleTypes */
+ /* skip val->compatibleHandleTypes */
+ /* skip val->externalFenceFeatures */
+}
+
+static inline void
+vn_encode_VkExternalFenceProperties_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES });
+ vn_encode_VkExternalFenceProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkExternalFenceProperties_self_partial(enc, val);
+}
+
+/* struct VkPhysicalDeviceGroupProperties chain */
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties_self(const VkPhysicalDeviceGroupProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->physicalDeviceCount);
+ size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);
+ for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
+ size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);
+ size += vn_sizeof_VkBool32(&val->subsetAllocation);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceGroupProperties_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceGroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
+{
+ /* 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++)
+ vn_decode_VkPhysicalDevice(dec, &val->physicalDevices[i]);
+ }
+ vn_decode_VkBool32(dec, &val->subsetAllocation);
+}
+
+static inline void
+vn_decode_VkPhysicalDeviceGroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);
+
+ assert(val->sType == stype);
+ vn_decode_VkPhysicalDeviceGroupProperties_pnext(dec, val->pNext);
+ vn_decode_VkPhysicalDeviceGroupProperties_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(const VkPhysicalDeviceGroupProperties *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->physicalDeviceCount */
+ size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);
+ for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
+ size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);
+ /* skip val->subsetAllocation */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPhysicalDeviceGroupProperties_partial(const VkPhysicalDeviceGroupProperties *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(val->pNext);
+ size += vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceGroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->physicalDeviceCount */
+ vn_encode_array_size(enc, VK_MAX_DEVICE_GROUP_SIZE);
+ for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
+ vn_encode_VkPhysicalDevice(enc, &val->physicalDevices[i]);
+ /* skip val->subsetAllocation */
+}
+
+static inline void
+vn_encode_VkPhysicalDeviceGroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES });
+ vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(enc, val->pNext);
+ vn_encode_VkPhysicalDeviceGroupProperties_self_partial(enc, val);
+}
+
+/* struct VkDeviceQueueInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkDeviceQueueInfo2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceQueueInfo2_self(const VkDeviceQueueInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
+ size += vn_sizeof_uint32_t(&val->queueIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceQueueInfo2(const VkDeviceQueueInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceQueueInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceQueueInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceQueueInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceQueueInfo2_self(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndex);
+ vn_encode_uint32_t(enc, &val->queueIndex);
+}
+
+static inline void
+vn_encode_VkDeviceQueueInfo2(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 });
+ vn_encode_VkDeviceQueueInfo2_pnext(enc, val->pNext);
+ vn_encode_VkDeviceQueueInfo2_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkInstance(&instance);
+ cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);
+ 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_VkPhysicalDevice(&pPhysicalDevices[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumeratePhysicalDevices(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkInstance(enc, &instance);
+ 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_VkPhysicalDevice(enc, &pPhysicalDevices[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumeratePhysicalDevices_reply(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip instance */
+ cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);
+ 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_VkPhysicalDevice(&pPhysicalDevices[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumeratePhysicalDevices_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip instance */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPhysicalDeviceCount);
+ } else {
+ pPhysicalDeviceCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPhysicalDeviceCount);
+ for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)
+ vn_decode_VkPhysicalDevice(dec, &pPhysicalDevices[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pPhysicalDevices = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceProperties_partial(pProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pProperties))
+ vn_encode_VkPhysicalDeviceProperties_partial(enc, pProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceProperties(pProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceProperties(dec, pProperties);
+ } else {
+ pProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
+ 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_VkQueueFamilyProperties_partial(&pQueueFamilyProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ 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_VkQueueFamilyProperties_partial(enc, &pQueueFamilyProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
+ 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_VkQueueFamilyProperties(&pQueueFamilyProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);
+ } else {
+ pQueueFamilyPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pQueueFamilyPropertyCount);
+ for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)
+ vn_decode_VkQueueFamilyProperties(dec, &pQueueFamilyProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pQueueFamilyProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
+ if (pMemoryProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(pMemoryProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pMemoryProperties))
+ vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, pMemoryProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
+ if (pMemoryProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties(pMemoryProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceMemoryProperties(dec, pMemoryProperties);
+ } else {
+ pMemoryProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pFeatures);
+ if (pFeatures)
+ cmd_size += vn_sizeof_VkPhysicalDeviceFeatures_partial(pFeatures);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pFeatures))
+ vn_encode_VkPhysicalDeviceFeatures_partial(enc, pFeatures);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pFeatures);
+ if (pFeatures)
+ cmd_size += vn_sizeof_VkPhysicalDeviceFeatures(pFeatures);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceFeatures_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceFeatures(dec, pFeatures);
+ } else {
+ pFeatures = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_VkFormat(&format);
+ cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
+ if (pFormatProperties)
+ cmd_size += vn_sizeof_VkFormatProperties_partial(pFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ vn_encode_VkFormat(enc, &format);
+ if (vn_encode_simple_pointer(enc, pFormatProperties))
+ vn_encode_VkFormatProperties_partial(enc, pFormatProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip format */
+ cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
+ if (pFormatProperties)
+ cmd_size += vn_sizeof_VkFormatProperties(pFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT);
+
+ /* skip physicalDevice */
+ /* skip format */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkFormatProperties(dec, pFormatProperties);
+ } else {
+ pFormatProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_VkFormat(&format);
+ cmd_size += vn_sizeof_VkImageType(&type);
+ cmd_size += vn_sizeof_VkImageTiling(&tiling);
+ cmd_size += vn_sizeof_VkFlags(&usage);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+ cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
+ if (pImageFormatProperties)
+ cmd_size += vn_sizeof_VkImageFormatProperties_partial(pImageFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ vn_encode_VkFormat(enc, &format);
+ vn_encode_VkImageType(enc, &type);
+ vn_encode_VkImageTiling(enc, &tiling);
+ vn_encode_VkFlags(enc, &usage);
+ vn_encode_VkFlags(enc, &flags);
+ if (vn_encode_simple_pointer(enc, pImageFormatProperties))
+ vn_encode_VkImageFormatProperties_partial(enc, pImageFormatProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip physicalDevice */
+ /* skip format */
+ /* skip type */
+ /* skip tiling */
+ /* skip usage */
+ /* skip flags */
+ cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
+ if (pImageFormatProperties)
+ cmd_size += vn_sizeof_VkImageFormatProperties(pImageFormatProperties);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip physicalDevice */
+ /* skip format */
+ /* skip type */
+ /* skip tiling */
+ /* skip usage */
+ /* skip flags */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkImageFormatProperties(dec, pImageFormatProperties);
+ } else {
+ pImageFormatProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkDeviceCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pDevice);
+ if (pDevice)
+ cmd_size += vn_sizeof_VkDevice(pDevice);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkDeviceCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pDevice))
+ vn_encode_VkDevice(enc, pDevice);
+}
+
+static inline size_t vn_sizeof_vkCreateDevice_reply(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip physicalDevice */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pDevice);
+ if (pDevice)
+ cmd_size += vn_sizeof_VkDevice(pDevice);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateDevice_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateDevice_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip physicalDevice */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDevice(dec, pDevice);
+ } else {
+ pDevice = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyDevice_reply(VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyDevice_reply(struct vn_cs_decoder *dec, VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyDevice_EXT);
+
+ /* skip device */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkLayerProperties_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumerateDeviceLayerProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ 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_VkLayerProperties_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkLayerProperties(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumerateDeviceLayerProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkLayerProperties(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ 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);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkExtensionProperties_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumerateDeviceExtensionProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ 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);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ 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_VkExtensionProperties_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip physicalDevice */
+ /* skip pLayerName */
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkExtensionProperties(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumerateDeviceExtensionProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip physicalDevice */
+ /* skip pLayerName */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkExtensionProperties(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&queueFamilyIndex);
+ cmd_size += vn_sizeof_uint32_t(&queueIndex);
+ cmd_size += vn_sizeof_simple_pointer(pQueue);
+ if (pQueue)
+ cmd_size += vn_sizeof_VkQueue(pQueue);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDeviceQueue(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &queueFamilyIndex);
+ vn_encode_uint32_t(enc, &queueIndex);
+ if (vn_encode_simple_pointer(enc, pQueue))
+ vn_encode_VkQueue(enc, pQueue);
+}
+
+static inline size_t vn_sizeof_vkGetDeviceQueue_reply(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip queueFamilyIndex */
+ /* skip queueIndex */
+ cmd_size += vn_sizeof_simple_pointer(pQueue);
+ if (pQueue)
+ cmd_size += vn_sizeof_VkQueue(pQueue);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetDeviceQueue_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue_EXT);
+
+ /* skip device */
+ /* skip queueFamilyIndex */
+ /* skip queueIndex */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkQueue(dec, pQueue);
+ } else {
+ pQueue = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkDeviceWaitIdle(VkDevice device)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDeviceWaitIdle(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+}
+
+static inline size_t vn_sizeof_vkDeviceWaitIdle_reply(VkDevice device)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkDeviceWaitIdle_reply(struct vn_cs_decoder *dec, VkDevice device)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_VkFormat(&format);
+ cmd_size += vn_sizeof_VkImageType(&type);
+ cmd_size += vn_sizeof_VkSampleCountFlagBits(&samples);
+ cmd_size += vn_sizeof_VkFlags(&usage);
+ cmd_size += vn_sizeof_VkImageTiling(&tiling);
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkSparseImageFormatProperties_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ vn_encode_VkFormat(enc, &format);
+ vn_encode_VkImageType(enc, &type);
+ vn_encode_VkSampleCountFlagBits(enc, &samples);
+ vn_encode_VkFlags(enc, &usage);
+ vn_encode_VkImageTiling(enc, &tiling);
+ 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_VkSparseImageFormatProperties_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip format */
+ /* skip type */
+ /* skip samples */
+ /* skip usage */
+ /* skip tiling */
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkSparseImageFormatProperties(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT);
+
+ /* skip physicalDevice */
+ /* skip format */
+ /* skip type */
+ /* skip samples */
+ /* skip usage */
+ /* skip tiling */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkSparseImageFormatProperties(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pFeatures);
+ if (pFeatures)
+ cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2_partial(pFeatures);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pFeatures))
+ vn_encode_VkPhysicalDeviceFeatures2_partial(enc, pFeatures);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pFeatures);
+ if (pFeatures)
+ cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2(pFeatures);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceFeatures2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceFeatures2(dec, pFeatures);
+ } else {
+ pFeatures = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceProperties2_partial(pProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pProperties))
+ vn_encode_VkPhysicalDeviceProperties2_partial(enc, pProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceProperties2(pProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceProperties2(dec, pProperties);
+ } else {
+ pProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_VkFormat(&format);
+ cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
+ if (pFormatProperties)
+ cmd_size += vn_sizeof_VkFormatProperties2_partial(pFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ vn_encode_VkFormat(enc, &format);
+ if (vn_encode_simple_pointer(enc, pFormatProperties))
+ vn_encode_VkFormatProperties2_partial(enc, pFormatProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip format */
+ cmd_size += vn_sizeof_simple_pointer(pFormatProperties);
+ if (pFormatProperties)
+ cmd_size += vn_sizeof_VkFormatProperties2(pFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT);
+
+ /* skip physicalDevice */
+ /* skip format */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkFormatProperties2(dec, pFormatProperties);
+ } else {
+ pFormatProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pImageFormatInfo);
+ if (pImageFormatInfo)
+ cmd_size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2(pImageFormatInfo);
+ cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
+ if (pImageFormatProperties)
+ cmd_size += vn_sizeof_VkImageFormatProperties2_partial(pImageFormatProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pImageFormatInfo))
+ vn_encode_VkPhysicalDeviceImageFormatInfo2(enc, pImageFormatInfo);
+ if (vn_encode_simple_pointer(enc, pImageFormatProperties))
+ vn_encode_VkImageFormatProperties2_partial(enc, pImageFormatProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip physicalDevice */
+ /* skip pImageFormatInfo */
+ cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);
+ if (pImageFormatProperties)
+ cmd_size += vn_sizeof_VkImageFormatProperties2(pImageFormatProperties);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip physicalDevice */
+ /* skip pImageFormatInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkImageFormatProperties2(dec, pImageFormatProperties);
+ } else {
+ pImageFormatProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
+ 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_VkQueueFamilyProperties2_partial(&pQueueFamilyProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ 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_VkQueueFamilyProperties2_partial(enc, &pQueueFamilyProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);
+ 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_VkQueueFamilyProperties2(&pQueueFamilyProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);
+ } else {
+ pQueueFamilyPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pQueueFamilyPropertyCount);
+ for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)
+ vn_decode_VkQueueFamilyProperties2(dec, &pQueueFamilyProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pQueueFamilyProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
+ if (pMemoryProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(pMemoryProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pMemoryProperties))
+ vn_encode_VkPhysicalDeviceMemoryProperties2_partial(enc, pMemoryProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);
+ if (pMemoryProperties)
+ cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2(pMemoryProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT);
+
+ /* skip physicalDevice */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPhysicalDeviceMemoryProperties2(dec, pMemoryProperties);
+ } else {
+ pMemoryProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pFormatInfo);
+ if (pFormatInfo)
+ cmd_size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(pFormatInfo);
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkSparseImageFormatProperties2_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pFormatInfo))
+ vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(enc, pFormatInfo);
+ 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_VkSparseImageFormatProperties2_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip pFormatInfo */
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkSparseImageFormatProperties2(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT);
+
+ /* skip physicalDevice */
+ /* skip pFormatInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkSparseImageFormatProperties2(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pExternalBufferInfo);
+ if (pExternalBufferInfo)
+ cmd_size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo(pExternalBufferInfo);
+ cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);
+ if (pExternalBufferProperties)
+ cmd_size += vn_sizeof_VkExternalBufferProperties_partial(pExternalBufferProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceExternalBufferProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pExternalBufferInfo))
+ vn_encode_VkPhysicalDeviceExternalBufferInfo(enc, pExternalBufferInfo);
+ if (vn_encode_simple_pointer(enc, pExternalBufferProperties))
+ vn_encode_VkExternalBufferProperties_partial(enc, pExternalBufferProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip pExternalBufferInfo */
+ cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);
+ if (pExternalBufferProperties)
+ cmd_size += vn_sizeof_VkExternalBufferProperties(pExternalBufferProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT);
+
+ /* skip physicalDevice */
+ /* skip pExternalBufferInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkExternalBufferProperties(dec, pExternalBufferProperties);
+ } else {
+ pExternalBufferProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreInfo);
+ if (pExternalSemaphoreInfo)
+ cmd_size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(pExternalSemaphoreInfo);
+ cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);
+ if (pExternalSemaphoreProperties)
+ cmd_size += vn_sizeof_VkExternalSemaphoreProperties_partial(pExternalSemaphoreProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pExternalSemaphoreInfo))
+ vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(enc, pExternalSemaphoreInfo);
+ if (vn_encode_simple_pointer(enc, pExternalSemaphoreProperties))
+ vn_encode_VkExternalSemaphoreProperties_partial(enc, pExternalSemaphoreProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip pExternalSemaphoreInfo */
+ cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);
+ if (pExternalSemaphoreProperties)
+ cmd_size += vn_sizeof_VkExternalSemaphoreProperties(pExternalSemaphoreProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT);
+
+ /* skip physicalDevice */
+ /* skip pExternalSemaphoreInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkExternalSemaphoreProperties(dec, pExternalSemaphoreProperties);
+ } else {
+ pExternalSemaphoreProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);
+ cmd_size += vn_sizeof_simple_pointer(pExternalFenceInfo);
+ if (pExternalFenceInfo)
+ cmd_size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo(pExternalFenceInfo);
+ cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);
+ if (pExternalFenceProperties)
+ cmd_size += vn_sizeof_VkExternalFenceProperties_partial(pExternalFenceProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPhysicalDeviceExternalFenceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkPhysicalDevice(enc, &physicalDevice);
+ if (vn_encode_simple_pointer(enc, pExternalFenceInfo))
+ vn_encode_VkPhysicalDeviceExternalFenceInfo(enc, pExternalFenceInfo);
+ if (vn_encode_simple_pointer(enc, pExternalFenceProperties))
+ vn_encode_VkExternalFenceProperties_partial(enc, pExternalFenceProperties);
+}
+
+static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip physicalDevice */
+ /* skip pExternalFenceInfo */
+ cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);
+ if (pExternalFenceProperties)
+ cmd_size += vn_sizeof_VkExternalFenceProperties(pExternalFenceProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT);
+
+ /* skip physicalDevice */
+ /* skip pExternalFenceInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkExternalFenceProperties(dec, pExternalFenceProperties);
+ } else {
+ pExternalFenceProperties = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkInstance(&instance);
+ cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);
+ 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_VkPhysicalDeviceGroupProperties_partial(&pPhysicalDeviceGroupProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumeratePhysicalDeviceGroups(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkInstance(enc, &instance);
+ 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_VkPhysicalDeviceGroupProperties_partial(enc, &pPhysicalDeviceGroupProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip instance */
+ cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);
+ 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_VkPhysicalDeviceGroupProperties(&pPhysicalDeviceGroupProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumeratePhysicalDeviceGroups_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip instance */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPhysicalDeviceGroupCount);
+ } else {
+ pPhysicalDeviceGroupCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPhysicalDeviceGroupCount);
+ for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)
+ vn_decode_VkPhysicalDeviceGroupProperties(dec, &pPhysicalDeviceGroupProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pPhysicalDeviceGroupProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&heapIndex);
+ cmd_size += vn_sizeof_uint32_t(&localDeviceIndex);
+ cmd_size += vn_sizeof_uint32_t(&remoteDeviceIndex);
+ cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures); /* out */
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDeviceGroupPeerMemoryFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &heapIndex);
+ vn_encode_uint32_t(enc, &localDeviceIndex);
+ vn_encode_uint32_t(enc, &remoteDeviceIndex);
+ vn_encode_simple_pointer(enc, pPeerMemoryFeatures); /* out */
+}
+
+static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip heapIndex */
+ /* skip localDeviceIndex */
+ /* skip remoteDeviceIndex */
+ cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures);
+ if (pPeerMemoryFeatures)
+ cmd_size += vn_sizeof_VkFlags(pPeerMemoryFeatures);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT);
+
+ /* skip device */
+ /* skip heapIndex */
+ /* skip localDeviceIndex */
+ /* skip remoteDeviceIndex */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkFlags(dec, pPeerMemoryFeatures);
+ } else {
+ pPeerMemoryFeatures = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pQueueInfo);
+ if (pQueueInfo)
+ cmd_size += vn_sizeof_VkDeviceQueueInfo2(pQueueInfo);
+ cmd_size += vn_sizeof_simple_pointer(pQueue);
+ if (pQueue)
+ cmd_size += vn_sizeof_VkQueue(pQueue);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDeviceQueue2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pQueueInfo))
+ vn_encode_VkDeviceQueueInfo2(enc, pQueueInfo);
+ if (vn_encode_simple_pointer(enc, pQueue))
+ vn_encode_VkQueue(enc, pQueue);
+}
+
+static inline size_t vn_sizeof_vkGetDeviceQueue2_reply(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pQueueInfo */
+ cmd_size += vn_sizeof_simple_pointer(pQueue);
+ if (pQueue)
+ cmd_size += vn_sizeof_VkQueue(pQueue);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetDeviceQueue2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT);
+
+ /* skip device */
+ /* skip pQueueInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkQueue(dec, pQueue);
+ } else {
+ pQueue = NULL;
+ }
+}
+
+static inline void vn_submit_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumeratePhysicalDevices(&submit->command, cmd_flags, instance, pPhysicalDeviceCount, pPhysicalDevices);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDevices_reply(instance, pPhysicalDeviceCount, pPhysicalDevices) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceProperties(&submit->command, cmd_flags, physicalDevice, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties_reply(physicalDevice, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(&submit->command, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceMemoryProperties(&submit->command, cmd_flags, physicalDevice, pMemoryProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(physicalDevice, pMemoryProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceFeatures(&submit->command, cmd_flags, physicalDevice, pFeatures);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures_reply(physicalDevice, pFeatures) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceFormatProperties(&submit->command, cmd_flags, physicalDevice, format, pFormatProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(physicalDevice, format, pFormatProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceImageFormatProperties(&submit->command, cmd_flags, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateDevice(&submit->command, cmd_flags, physicalDevice, pCreateInfo, pAllocator, pDevice);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDevice_reply(physicalDevice, pCreateInfo, pAllocator, pDevice) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyDevice(device, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyDevice(&submit->command, cmd_flags, device, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDevice_reply(device, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumerateDeviceLayerProperties(&submit->command, cmd_flags, physicalDevice, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceLayerProperties_reply(physicalDevice, pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumerateDeviceExtensionProperties(&submit->command, cmd_flags, physicalDevice, pLayerName, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(physicalDevice, pLayerName, pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDeviceQueue(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDeviceQueue(&submit->command, cmd_flags, device, queueFamilyIndex, queueIndex, pQueue);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue_reply(device, queueFamilyIndex, queueIndex, pQueue) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDeviceWaitIdle(device);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDeviceWaitIdle(&submit->command, cmd_flags, device);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDeviceWaitIdle_reply(device) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(&submit->command, cmd_flags, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceFeatures2(&submit->command, cmd_flags, physicalDevice, pFeatures);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(physicalDevice, pFeatures) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceProperties2(&submit->command, cmd_flags, physicalDevice, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties2_reply(physicalDevice, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceFormatProperties2(&submit->command, cmd_flags, physicalDevice, format, pFormatProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(physicalDevice, format, pFormatProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceImageFormatProperties2(&submit->command, cmd_flags, physicalDevice, pImageFormatInfo, pImageFormatProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(physicalDevice, pImageFormatInfo, pImageFormatProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(&submit->command, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceMemoryProperties2(&submit->command, cmd_flags, physicalDevice, pMemoryProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(physicalDevice, pMemoryProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(&submit->command, cmd_flags, physicalDevice, pFormatInfo, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(physicalDevice, pFormatInfo, pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceExternalBufferProperties(&submit->command, cmd_flags, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(physicalDevice, pExternalBufferInfo, pExternalBufferProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(&submit->command, cmd_flags, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPhysicalDeviceExternalFenceProperties(&submit->command, cmd_flags, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(physicalDevice, pExternalFenceInfo, pExternalFenceProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumeratePhysicalDeviceGroups(&submit->command, cmd_flags, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDeviceGroupPeerMemoryFeatures(&submit->command, cmd_flags, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDeviceQueue2(device, pQueueInfo, pQueue);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDeviceQueue2(&submit->command, cmd_flags, device, pQueueInfo, pQueue);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue2_reply(device, pQueueInfo, pQueue) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumeratePhysicalDevices(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumeratePhysicalDevices_reply(&submit.reply, instance, pPhysicalDeviceCount, pPhysicalDevices);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumeratePhysicalDevices(vn_instance, 0, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceProperties_reply(&submit.reply, physicalDevice, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceProperties(vn_instance, 0, physicalDevice, pProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(&submit.reply, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(&submit.reply, physicalDevice, pMemoryProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceFeatures_reply(&submit.reply, physicalDevice, pFeatures);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, 0, physicalDevice, pFeatures, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceFormatProperties_reply(&submit.reply, physicalDevice, format, pFormatProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);
+}
+
+static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(&submit.reply, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, 0, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);
+}
+
+static inline VkResult vn_call_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateDevice_reply(&submit.reply, physicalDevice, pCreateInfo, pAllocator, pDevice);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateDevice(vn_instance, 0, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);
+}
+
+static inline void vn_call_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyDevice_reply(&submit.reply, device, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyDevice(vn_instance, 0, device, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumerateDeviceLayerProperties_reply(&submit.reply, physicalDevice, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, 0, physicalDevice, pPropertyCount, pProperties, &submit);
+}
+
+static inline VkResult vn_call_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumerateDeviceExtensionProperties_reply(&submit.reply, physicalDevice, pLayerName, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, 0, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);
+}
+
+static inline void vn_call_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceQueue(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queueFamilyIndex, queueIndex, pQueue, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetDeviceQueue_reply(&submit.reply, device, queueFamilyIndex, queueIndex, pQueue);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceQueue(vn_instance, 0, device, queueFamilyIndex, queueIndex, pQueue, &submit);
+}
+
+static inline VkResult vn_call_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDeviceWaitIdle(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkDeviceWaitIdle_reply(&submit.reply, device);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDeviceWaitIdle(vn_instance, 0, device, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(&submit.reply, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, 0, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceFeatures2_reply(&submit.reply, physicalDevice, pFeatures);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, 0, physicalDevice, pFeatures, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceProperties2_reply(&submit.reply, physicalDevice, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, 0, physicalDevice, pProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(&submit.reply, physicalDevice, format, pFormatProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);
+}
+
+static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(&submit.reply, physicalDevice, pImageFormatInfo, pImageFormatProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, 0, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(&submit.reply, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(&submit.reply, physicalDevice, pMemoryProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(&submit.reply, physicalDevice, pFormatInfo, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, 0, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(&submit.reply, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, 0, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(&submit.reply, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, 0, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);
+}
+
+static inline void vn_call_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(&submit.reply, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, 0, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);
+}
+
+static inline VkResult vn_call_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumeratePhysicalDeviceGroups_reply(&submit.reply, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, 0, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);
+}
+
+static inline void vn_call_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(&submit.reply, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, 0, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);
+}
+
+static inline void vn_call_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceQueue2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pQueueInfo, pQueue, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetDeviceQueue2_reply(&submit.reply, device, pQueueInfo, pQueue);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceQueue2(vn_instance, 0, device, pQueueInfo, pQueue, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DEVICE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h b/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h
new file mode 100644
index 00000000000..f437a609c89
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_device_memory.h
@@ -0,0 +1,1204 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_DEVICE_MEMORY_H
+#define VN_PROTOCOL_DRIVER_DEVICE_MEMORY_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/*
+ * These structs/unions/commands are not included
+ *
+ * vkMapMemory
+ */
+
+/* struct VkExportMemoryAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkExportMemoryAllocateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExportMemoryAllocateInfo_self(const VkExportMemoryAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->handleTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExportMemoryAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkExportMemoryAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExportMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExportMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->handleTypes);
+}
+
+static inline void
+vn_encode_VkExportMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO });
+ vn_encode_VkExportMemoryAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkExportMemoryAllocateInfo_self(enc, val);
+}
+
+/* struct VkMemoryAllocateFlagsInfo chain */
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateFlagsInfo_self(const VkMemoryAllocateFlagsInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->deviceMask);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(val->pNext);
+ size += vn_sizeof_VkMemoryAllocateFlagsInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryAllocateFlagsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMemoryAllocateFlagsInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->deviceMask);
+}
+
+static inline void
+vn_encode_VkMemoryAllocateFlagsInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO });
+ vn_encode_VkMemoryAllocateFlagsInfo_pnext(enc, val->pNext);
+ vn_encode_VkMemoryAllocateFlagsInfo_self(enc, val);
+}
+
+/* struct VkMemoryDedicatedAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryDedicatedAllocateInfo_self(const VkMemoryDedicatedAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryDedicatedAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMemoryDedicatedAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_VkBuffer(enc, &val->buffer);
+}
+
+static inline void
+vn_encode_VkMemoryDedicatedAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO });
+ vn_encode_VkMemoryDedicatedAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, val);
+}
+
+/* struct VkMemoryOpaqueCaptureAddressAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->opaqueCaptureAddress);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint64_t(enc, &val->opaqueCaptureAddress);
+}
+
+static inline void
+vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO });
+ vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, val);
+}
+
+/* struct VkMemoryAllocateInfo chain */
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkExportMemoryAllocateInfo_self((const VkExportMemoryAllocateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkMemoryAllocateFlagsInfo_self((const VkMemoryAllocateFlagsInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self((const VkMemoryDedicatedAllocateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self((const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateInfo_self(const VkMemoryAllocateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDeviceSize(&val->allocationSize);
+ size += vn_sizeof_uint32_t(&val->memoryTypeIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMemoryAllocateInfo(const VkMemoryAllocateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMemoryAllocateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkMemoryAllocateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkExportMemoryAllocateInfo_self(enc, (const VkExportMemoryAllocateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkMemoryAllocateFlagsInfo_self(enc, (const VkMemoryAllocateFlagsInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, (const VkMemoryDedicatedAllocateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, (const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDeviceSize(enc, &val->allocationSize);
+ vn_encode_uint32_t(enc, &val->memoryTypeIndex);
+}
+
+static inline void
+vn_encode_VkMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO });
+ vn_encode_VkMemoryAllocateInfo_pnext(enc, val->pNext);
+ vn_encode_VkMemoryAllocateInfo_self(enc, val);
+}
+
+/* struct VkMappedMemoryRange chain */
+
+static inline size_t
+vn_sizeof_VkMappedMemoryRange_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkMappedMemoryRange_self(const VkMappedMemoryRange *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ size += vn_sizeof_VkDeviceSize(&val->offset);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkMappedMemoryRange(const VkMappedMemoryRange *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkMappedMemoryRange_pnext(val->pNext);
+ size += vn_sizeof_VkMappedMemoryRange_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkMappedMemoryRange_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkMappedMemoryRange_self(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+ vn_encode_VkDeviceSize(enc, &val->offset);
+ vn_encode_VkDeviceSize(enc, &val->size);
+}
+
+static inline void
+vn_encode_VkMappedMemoryRange(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE });
+ vn_encode_VkMappedMemoryRange_pnext(enc, val->pNext);
+ vn_encode_VkMappedMemoryRange_self(enc, val);
+}
+
+static inline void
+vn_decode_VkMappedMemoryRange_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkMappedMemoryRange_self(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkDeviceMemory(dec, &val->memory);
+ vn_decode_VkDeviceSize(dec, &val->offset);
+ vn_decode_VkDeviceSize(dec, &val->size);
+}
+
+static inline void
+vn_decode_VkMappedMemoryRange(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
+
+ assert(val->sType == stype);
+ vn_decode_VkMappedMemoryRange_pnext(dec, val->pNext);
+ vn_decode_VkMappedMemoryRange_self(dec, val);
+}
+
+/* struct VkDeviceMemoryOpaqueCaptureAddressInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+}
+
+static inline void
+vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO });
+ vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkDeviceMemory(dec, &val->memory);
+}
+
+static inline void
+vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(dec, val->pNext);
+ vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(dec, val);
+}
+
+static inline size_t vn_sizeof_vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
+ if (pAllocateInfo)
+ cmd_size += vn_sizeof_VkMemoryAllocateInfo(pAllocateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pMemory);
+ if (pMemory)
+ cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkAllocateMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pAllocateInfo))
+ vn_encode_VkMemoryAllocateInfo(enc, pAllocateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pMemory))
+ vn_encode_VkDeviceMemory(enc, pMemory);
+}
+
+static inline size_t vn_sizeof_vkAllocateMemory_reply(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pAllocateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pMemory);
+ if (pMemory)
+ cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkAllocateMemory_reply(struct vn_cs_decoder *dec, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkAllocateMemory_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pAllocateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDeviceMemory(dec, pMemory);
+ } else {
+ pMemory = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDeviceMemory(&memory);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkFreeMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDeviceMemory(enc, &memory);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkFreeMemory_reply(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip memory */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkFreeMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkFreeMemory_EXT);
+
+ /* skip device */
+ /* skip memory */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDeviceMemory(&memory);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkUnmapMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDeviceMemory(enc, &memory);
+}
+
+static inline size_t vn_sizeof_vkUnmapMemory_reply(VkDevice device, VkDeviceMemory memory)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip memory */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkUnmapMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkUnmapMemory_EXT);
+
+ /* skip device */
+ /* skip memory */
+}
+
+static inline size_t vn_sizeof_vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
+ if (pMemoryRanges) {
+ cmd_size += vn_sizeof_array_size(memoryRangeCount);
+ for (uint32_t i = 0; i < memoryRangeCount; i++)
+ cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkFlushMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &memoryRangeCount);
+ if (pMemoryRanges) {
+ vn_encode_array_size(enc, memoryRangeCount);
+ for (uint32_t i = 0; i < memoryRangeCount; i++)
+ vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkFlushMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip memoryRangeCount */
+ /* skip pMemoryRanges */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkFlushMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip memoryRangeCount */
+ /* skip pMemoryRanges */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
+ if (pMemoryRanges) {
+ cmd_size += vn_sizeof_array_size(memoryRangeCount);
+ for (uint32_t i = 0; i < memoryRangeCount; i++)
+ cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkInvalidateMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &memoryRangeCount);
+ if (pMemoryRanges) {
+ vn_encode_array_size(enc, memoryRangeCount);
+ for (uint32_t i = 0; i < memoryRangeCount; i++)
+ vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip memoryRangeCount */
+ /* skip pMemoryRanges */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkInvalidateMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip memoryRangeCount */
+ /* skip pMemoryRanges */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkDeviceMemory(&memory);
+ cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes); /* out */
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDeviceMemoryCommitment(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkDeviceMemory(enc, &memory);
+ vn_encode_simple_pointer(enc, pCommittedMemoryInBytes); /* out */
+}
+
+static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment_reply(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip memory */
+ cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes);
+ if (pCommittedMemoryInBytes)
+ cmd_size += vn_sizeof_VkDeviceSize(pCommittedMemoryInBytes);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetDeviceMemoryCommitment_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT);
+
+ /* skip device */
+ /* skip memory */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkDeviceSize(dec, pCommittedMemoryInBytes);
+ } else {
+ pCommittedMemoryInBytes = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(pInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(enc, pInfo);
+}
+
+static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ uint64_t ret;
+ cmd_size += vn_sizeof_uint64_t(&ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return cmd_size;
+}
+
+static inline uint64_t vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT);
+
+ uint64_t ret;
+ vn_decode_uint64_t(dec, &ret);
+ /* skip device */
+ /* skip pInfo */
+
+ return ret;
+}
+
+static inline void vn_submit_vkAllocateMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkAllocateMemory(&submit->command, cmd_flags, device, pAllocateInfo, pAllocator, pMemory);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateMemory_reply(device, pAllocateInfo, pAllocator, pMemory) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkFreeMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkFreeMemory(device, memory, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkFreeMemory(&submit->command, cmd_flags, device, memory, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeMemory_reply(device, memory, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkUnmapMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkUnmapMemory(device, memory);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkUnmapMemory(&submit->command, cmd_flags, device, memory);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUnmapMemory_reply(device, memory) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkFlushMappedMemoryRanges(&submit->command, cmd_flags, device, memoryRangeCount, pMemoryRanges);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFlushMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkInvalidateMappedMemoryRanges(&submit->command, cmd_flags, device, memoryRangeCount, pMemoryRanges);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkInvalidateMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDeviceMemoryCommitment(&submit->command, cmd_flags, device, memory, pCommittedMemoryInBytes);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryCommitment_reply(device, memory, pCommittedMemoryInBytes) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(&submit->command, cmd_flags, device, pInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(device, pInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pAllocator, pMemory, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkAllocateMemory_reply(&submit.reply, device, pAllocateInfo, pAllocator, pMemory);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkAllocateMemory(vn_instance, 0, device, pAllocateInfo, pAllocator, pMemory, &submit);
+}
+
+static inline void vn_call_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkFreeMemory_reply(&submit.reply, device, memory, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFreeMemory(vn_instance, 0, device, memory, pAllocator, &submit);
+}
+
+static inline void vn_call_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkUnmapMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkUnmapMemory_reply(&submit.reply, device, memory);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkUnmapMemory(vn_instance, 0, device, memory, &submit);
+}
+
+static inline VkResult vn_call_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFlushMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkFlushMappedMemoryRanges_reply(&submit.reply, device, memoryRangeCount, pMemoryRanges);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkFlushMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
+}
+
+static inline VkResult vn_call_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkInvalidateMappedMemoryRanges_reply(&submit.reply, device, memoryRangeCount, pMemoryRanges);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
+}
+
+static inline void vn_call_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceMemoryCommitment(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pCommittedMemoryInBytes, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetDeviceMemoryCommitment_reply(&submit.reply, device, memory, pCommittedMemoryInBytes);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceMemoryCommitment(vn_instance, 0, device, memory, pCommittedMemoryInBytes, &submit);
+}
+
+static inline uint64_t vn_call_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
+ if (submit.reply_bo) {
+ const uint64_t ret = vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(&submit.reply, device, pInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, 0, device, pInfo, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_DEVICE_MEMORY_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_event.h b/src/virtio/venus-protocol/vn_protocol_driver_event.h
new file mode 100644
index 00000000000..292e99ec178
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_event.h
@@ -0,0 +1,538 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_EVENT_H
+#define VN_PROTOCOL_DRIVER_EVENT_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkEventCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkEventCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkEventCreateInfo_self(const VkEventCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkEventCreateInfo(const VkEventCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkEventCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkEventCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkEventCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkEventCreateInfo_self(struct vn_cs_encoder *enc, const VkEventCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+static inline void
+vn_encode_VkEventCreateInfo(struct vn_cs_encoder *enc, const VkEventCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EVENT_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO });
+ vn_encode_VkEventCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkEventCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkEventCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pEvent);
+ if (pEvent)
+ cmd_size += vn_sizeof_VkEvent(pEvent);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkEventCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pEvent))
+ vn_encode_VkEvent(enc, pEvent);
+}
+
+static inline size_t vn_sizeof_vkCreateEvent_reply(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pEvent);
+ if (pEvent)
+ cmd_size += vn_sizeof_VkEvent(pEvent);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateEvent_reply(struct vn_cs_decoder *dec, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateEvent_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkEvent(dec, pEvent);
+ } else {
+ pEvent = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkEvent(&event);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkEvent(enc, &event);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyEvent_reply(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip event */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyEvent_EXT);
+
+ /* skip device */
+ /* skip event */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetEventStatus(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkEvent(&event);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetEventStatus(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkEvent(enc, &event);
+}
+
+static inline size_t vn_sizeof_vkGetEventStatus_reply(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetEventStatus_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip event */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetEventStatus_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetEventStatus_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip event */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkSetEvent(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkEvent(&event);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkSetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkEvent(enc, &event);
+}
+
+static inline size_t vn_sizeof_vkSetEvent_reply(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip event */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkSetEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkSetEvent_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip event */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkResetEvent(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkEvent(&event);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkEvent(enc, &event);
+}
+
+static inline size_t vn_sizeof_vkResetEvent_reply(VkDevice device, VkEvent event)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetEvent_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip event */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkResetEvent_reply(struct vn_cs_decoder *dec, VkDevice device, VkEvent event)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetEvent_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip event */
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateEvent(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pEvent);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateEvent_reply(device, pCreateInfo, pAllocator, pEvent) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyEvent(device, event, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyEvent(&submit->command, cmd_flags, device, event, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyEvent_reply(device, event, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetEventStatus(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetEventStatus(device, event);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetEventStatus(&submit->command, cmd_flags, device, event);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetEventStatus_reply(device, event) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkSetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkSetEvent(device, event);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkSetEvent(&submit->command, cmd_flags, device, event);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSetEvent_reply(device, event) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetEvent(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkEvent event, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetEvent(device, event);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetEvent(&submit->command, cmd_flags, device, event);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetEvent_reply(device, event) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateEvent(struct vn_instance *vn_instance, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pEvent, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateEvent_reply(&submit.reply, device, pCreateInfo, pAllocator, pEvent);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateEvent(struct vn_instance *vn_instance, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateEvent(vn_instance, 0, device, pCreateInfo, pAllocator, pEvent, &submit);
+}
+
+static inline void vn_call_vkDestroyEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyEvent_reply(&submit.reply, device, event, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyEvent(vn_instance, 0, device, event, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkGetEventStatus(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetEventStatus(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetEventStatus_reply(&submit.reply, device, event);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetEventStatus(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetEventStatus(vn_instance, 0, device, event, &submit);
+}
+
+static inline VkResult vn_call_vkSetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkSetEvent_reply(&submit.reply, device, event);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkSetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSetEvent(vn_instance, 0, device, event, &submit);
+}
+
+static inline VkResult vn_call_vkResetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, event, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkResetEvent_reply(&submit.reply, device, event);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkResetEvent(struct vn_instance *vn_instance, VkDevice device, VkEvent event)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetEvent(vn_instance, 0, device, event, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_EVENT_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_fence.h b/src/virtio/venus-protocol/vn_protocol_driver_fence.h
new file mode 100644
index 00000000000..40262104e9a
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_fence.h
@@ -0,0 +1,664 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_FENCE_H
+#define VN_PROTOCOL_DRIVER_FENCE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkExportFenceCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkExportFenceCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExportFenceCreateInfo_self(const VkExportFenceCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->handleTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExportFenceCreateInfo(const VkExportFenceCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExportFenceCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkExportFenceCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExportFenceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExportFenceCreateInfo_self(struct vn_cs_encoder *enc, const VkExportFenceCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->handleTypes);
+}
+
+static inline void
+vn_encode_VkExportFenceCreateInfo(struct vn_cs_encoder *enc, const VkExportFenceCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO });
+ vn_encode_VkExportFenceCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkExportFenceCreateInfo_self(enc, val);
+}
+
+/* struct VkFenceCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkFenceCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkFenceCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkExportFenceCreateInfo_self((const VkExportFenceCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFenceCreateInfo_self(const VkFenceCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFenceCreateInfo(const VkFenceCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFenceCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkFenceCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkFenceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkFenceCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkExportFenceCreateInfo_self(enc, (const VkExportFenceCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkFenceCreateInfo_self(struct vn_cs_encoder *enc, const VkFenceCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+static inline void
+vn_encode_VkFenceCreateInfo(struct vn_cs_encoder *enc, const VkFenceCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_FENCE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO });
+ vn_encode_VkFenceCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkFenceCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkFenceCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pFence);
+ if (pFence)
+ cmd_size += vn_sizeof_VkFence(pFence);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateFence(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkFenceCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pFence))
+ vn_encode_VkFence(enc, pFence);
+}
+
+static inline size_t vn_sizeof_vkCreateFence_reply(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFence_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pFence);
+ if (pFence)
+ cmd_size += vn_sizeof_VkFence(pFence);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateFence_reply(struct vn_cs_decoder *dec, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateFence_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkFence(dec, pFence);
+ } else {
+ pFence = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkFence(&fence);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyFence(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkFence(enc, &fence);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyFence_reply(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFence_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip fence */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyFence_reply(struct vn_cs_decoder *dec, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyFence_EXT);
+
+ /* skip device */
+ /* skip fence */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&fenceCount);
+ if (pFences) {
+ cmd_size += vn_sizeof_array_size(fenceCount);
+ for (uint32_t i = 0; i < fenceCount; i++)
+ cmd_size += vn_sizeof_VkFence(&pFences[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetFences(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &fenceCount);
+ if (pFences) {
+ vn_encode_array_size(enc, fenceCount);
+ for (uint32_t i = 0; i < fenceCount; i++)
+ vn_encode_VkFence(enc, &pFences[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkResetFences_reply(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetFences_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip fenceCount */
+ /* skip pFences */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkResetFences_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetFences_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip fenceCount */
+ /* skip pFences */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetFenceStatus(VkDevice device, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkFence(&fence);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetFenceStatus(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkFence(enc, &fence);
+}
+
+static inline size_t vn_sizeof_vkGetFenceStatus_reply(VkDevice device, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetFenceStatus_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip fence */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetFenceStatus_reply(struct vn_cs_decoder *dec, VkDevice device, VkFence fence)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetFenceStatus_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip fence */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&fenceCount);
+ if (pFences) {
+ cmd_size += vn_sizeof_array_size(fenceCount);
+ for (uint32_t i = 0; i < fenceCount; i++)
+ cmd_size += vn_sizeof_VkFence(&pFences[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkBool32(&waitAll);
+ cmd_size += vn_sizeof_uint64_t(&timeout);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkWaitForFences(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &fenceCount);
+ if (pFences) {
+ vn_encode_array_size(enc, fenceCount);
+ for (uint32_t i = 0; i < fenceCount; i++)
+ vn_encode_VkFence(enc, &pFences[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkBool32(enc, &waitAll);
+ vn_encode_uint64_t(enc, &timeout);
+}
+
+static inline size_t vn_sizeof_vkWaitForFences_reply(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitForFences_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip fenceCount */
+ /* skip pFences */
+ /* skip waitAll */
+ /* skip timeout */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkWaitForFences_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkWaitForFences_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip fenceCount */
+ /* skip pFences */
+ /* skip waitAll */
+ /* skip timeout */
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateFence(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateFence(device, pCreateInfo, pAllocator, pFence);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateFence(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pFence);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateFence_reply(device, pCreateInfo, pAllocator, pFence) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyFence(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyFence(device, fence, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyFence(&submit->command, cmd_flags, device, fence, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyFence_reply(device, fence, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetFences(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetFences(device, fenceCount, pFences);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetFences(&submit->command, cmd_flags, device, fenceCount, pFences);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetFences_reply(device, fenceCount, pFences) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetFenceStatus(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFence fence, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetFenceStatus(device, fence);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetFenceStatus(&submit->command, cmd_flags, device, fence);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetFenceStatus_reply(device, fence) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkWaitForFences(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkWaitForFences(&submit->command, cmd_flags, device, fenceCount, pFences, waitAll, timeout);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWaitForFences_reply(device, fenceCount, pFences, waitAll, timeout) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateFence(struct vn_instance *vn_instance, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateFence(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pFence, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateFence_reply(&submit.reply, device, pCreateInfo, pAllocator, pFence);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateFence(struct vn_instance *vn_instance, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateFence(vn_instance, 0, device, pCreateInfo, pAllocator, pFence, &submit);
+}
+
+static inline void vn_call_vkDestroyFence(struct vn_instance *vn_instance, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyFence(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fence, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyFence_reply(&submit.reply, device, fence, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyFence(struct vn_instance *vn_instance, VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyFence(vn_instance, 0, device, fence, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkResetFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetFences(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fenceCount, pFences, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkResetFences_reply(&submit.reply, device, fenceCount, pFences);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkResetFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetFences(vn_instance, 0, device, fenceCount, pFences, &submit);
+}
+
+static inline VkResult vn_call_vkGetFenceStatus(struct vn_instance *vn_instance, VkDevice device, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetFenceStatus(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fence, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetFenceStatus_reply(&submit.reply, device, fence);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetFenceStatus(struct vn_instance *vn_instance, VkDevice device, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetFenceStatus(vn_instance, 0, device, fence, &submit);
+}
+
+static inline VkResult vn_call_vkWaitForFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWaitForFences(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, fenceCount, pFences, waitAll, timeout, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkWaitForFences_reply(&submit.reply, device, fenceCount, pFences, waitAll, timeout);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkWaitForFences(struct vn_instance *vn_instance, VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWaitForFences(vn_instance, 0, device, fenceCount, pFences, waitAll, timeout, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_FENCE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_framebuffer.h b/src/virtio/venus-protocol/vn_protocol_driver_framebuffer.h
new file mode 100644
index 00000000000..42d6faee3ee
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_framebuffer.h
@@ -0,0 +1,467 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_FRAMEBUFFER_H
+#define VN_PROTOCOL_DRIVER_FRAMEBUFFER_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkFramebufferAttachmentImageInfo chain */
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentImageInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentImageInfo_self(const VkFramebufferAttachmentImageInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_uint32_t(&val->width);
+ size += vn_sizeof_uint32_t(&val->height);
+ size += vn_sizeof_uint32_t(&val->layerCount);
+ size += vn_sizeof_uint32_t(&val->viewFormatCount);
+ if (val->pViewFormats) {
+ size += vn_sizeof_array_size(val->viewFormatCount);
+ size += vn_sizeof_VkFormat_array(val->pViewFormats, val->viewFormatCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentImageInfo(const VkFramebufferAttachmentImageInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFramebufferAttachmentImageInfo_pnext(val->pNext);
+ size += vn_sizeof_VkFramebufferAttachmentImageInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentImageInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentImageInfo_self(struct vn_cs_encoder *enc, const VkFramebufferAttachmentImageInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_uint32_t(enc, &val->width);
+ vn_encode_uint32_t(enc, &val->height);
+ vn_encode_uint32_t(enc, &val->layerCount);
+ vn_encode_uint32_t(enc, &val->viewFormatCount);
+ if (val->pViewFormats) {
+ vn_encode_array_size(enc, val->viewFormatCount);
+ vn_encode_VkFormat_array(enc, val->pViewFormats, val->viewFormatCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentImageInfo(struct vn_cs_encoder *enc, const VkFramebufferAttachmentImageInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO });
+ vn_encode_VkFramebufferAttachmentImageInfo_pnext(enc, val->pNext);
+ vn_encode_VkFramebufferAttachmentImageInfo_self(enc, val);
+}
+
+/* struct VkFramebufferAttachmentsCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentsCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentsCreateInfo_self(const VkFramebufferAttachmentsCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->attachmentImageInfoCount);
+ if (val->pAttachmentImageInfos) {
+ size += vn_sizeof_array_size(val->attachmentImageInfoCount);
+ for (uint32_t i = 0; i < val->attachmentImageInfoCount; i++)
+ size += vn_sizeof_VkFramebufferAttachmentImageInfo(&val->pAttachmentImageInfos[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferAttachmentsCreateInfo(const VkFramebufferAttachmentsCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentsCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentsCreateInfo_self(struct vn_cs_encoder *enc, const VkFramebufferAttachmentsCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->attachmentImageInfoCount);
+ if (val->pAttachmentImageInfos) {
+ vn_encode_array_size(enc, val->attachmentImageInfoCount);
+ for (uint32_t i = 0; i < val->attachmentImageInfoCount; i++)
+ vn_encode_VkFramebufferAttachmentImageInfo(enc, &val->pAttachmentImageInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkFramebufferAttachmentsCreateInfo(struct vn_cs_encoder *enc, const VkFramebufferAttachmentsCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO });
+ vn_encode_VkFramebufferAttachmentsCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkFramebufferAttachmentsCreateInfo_self(enc, val);
+}
+
+/* struct VkFramebufferCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkFramebufferCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkFramebufferCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_self((const VkFramebufferAttachmentsCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferCreateInfo_self(const VkFramebufferCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkRenderPass(&val->renderPass);
+ size += vn_sizeof_uint32_t(&val->attachmentCount);
+ if (val->pAttachments) {
+ size += vn_sizeof_array_size(val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ size += vn_sizeof_VkImageView(&val->pAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->width);
+ size += vn_sizeof_uint32_t(&val->height);
+ size += vn_sizeof_uint32_t(&val->layers);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkFramebufferCreateInfo(const VkFramebufferCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkFramebufferCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkFramebufferCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkFramebufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkFramebufferCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkFramebufferAttachmentsCreateInfo_self(enc, (const VkFramebufferAttachmentsCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkFramebufferCreateInfo_self(struct vn_cs_encoder *enc, const VkFramebufferCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkRenderPass(enc, &val->renderPass);
+ vn_encode_uint32_t(enc, &val->attachmentCount);
+ if (val->pAttachments) {
+ vn_encode_array_size(enc, val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ vn_encode_VkImageView(enc, &val->pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->width);
+ vn_encode_uint32_t(enc, &val->height);
+ vn_encode_uint32_t(enc, &val->layers);
+}
+
+static inline void
+vn_encode_VkFramebufferCreateInfo(struct vn_cs_encoder *enc, const VkFramebufferCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO });
+ vn_encode_VkFramebufferCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkFramebufferCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkFramebufferCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pFramebuffer);
+ if (pFramebuffer)
+ cmd_size += vn_sizeof_VkFramebuffer(pFramebuffer);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateFramebuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkFramebufferCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pFramebuffer))
+ vn_encode_VkFramebuffer(enc, pFramebuffer);
+}
+
+static inline size_t vn_sizeof_vkCreateFramebuffer_reply(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateFramebuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pFramebuffer);
+ if (pFramebuffer)
+ cmd_size += vn_sizeof_VkFramebuffer(pFramebuffer);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateFramebuffer_reply(struct vn_cs_decoder *dec, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateFramebuffer_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkFramebuffer(dec, pFramebuffer);
+ } else {
+ pFramebuffer = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkFramebuffer(&framebuffer);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyFramebuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkFramebuffer(enc, &framebuffer);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyFramebuffer_reply(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip framebuffer */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyFramebuffer_reply(struct vn_cs_decoder *dec, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT);
+
+ /* skip device */
+ /* skip framebuffer */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateFramebuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateFramebuffer(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pFramebuffer);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateFramebuffer_reply(device, pCreateInfo, pAllocator, pFramebuffer) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyFramebuffer(device, framebuffer, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyFramebuffer(&submit->command, cmd_flags, device, framebuffer, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyFramebuffer_reply(device, framebuffer, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateFramebuffer(struct vn_instance *vn_instance, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateFramebuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pFramebuffer, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateFramebuffer_reply(&submit.reply, device, pCreateInfo, pAllocator, pFramebuffer);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateFramebuffer(struct vn_instance *vn_instance, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateFramebuffer(vn_instance, 0, device, pCreateInfo, pAllocator, pFramebuffer, &submit);
+}
+
+static inline void vn_call_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyFramebuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, framebuffer, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyFramebuffer_reply(&submit.reply, device, framebuffer, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyFramebuffer(struct vn_instance *vn_instance, VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyFramebuffer(vn_instance, 0, device, framebuffer, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_FRAMEBUFFER_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_handles.h b/src/virtio/venus-protocol/vn_protocol_driver_handles.h
index 01c773f831b..9ce8aabf120 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_handles.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_handles.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_image.h b/src/virtio/venus-protocol/vn_protocol_driver_image.h
new file mode 100644
index 00000000000..67d0474deb7
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_image.h
@@ -0,0 +1,2286 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_IMAGE_H
+#define VN_PROTOCOL_DRIVER_IMAGE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkSparseImageMemoryRequirements */
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements(const VkSparseImageMemoryRequirements *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkSparseImageFormatProperties(&val->formatProperties);
+ size += vn_sizeof_uint32_t(&val->imageMipTailFirstLod);
+ size += vn_sizeof_VkDeviceSize(&val->imageMipTailSize);
+ size += vn_sizeof_VkDeviceSize(&val->imageMipTailOffset);
+ size += vn_sizeof_VkDeviceSize(&val->imageMipTailStride);
+ return size;
+}
+
+static inline void
+vn_decode_VkSparseImageMemoryRequirements(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements *val)
+{
+ vn_decode_VkSparseImageFormatProperties(dec, &val->formatProperties);
+ vn_decode_uint32_t(dec, &val->imageMipTailFirstLod);
+ vn_decode_VkDeviceSize(dec, &val->imageMipTailSize);
+ vn_decode_VkDeviceSize(dec, &val->imageMipTailOffset);
+ vn_decode_VkDeviceSize(dec, &val->imageMipTailStride);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements_partial(const VkSparseImageMemoryRequirements *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->formatProperties);
+ /* skip val->imageMipTailFirstLod */
+ /* skip val->imageMipTailSize */
+ /* skip val->imageMipTailOffset */
+ /* skip val->imageMipTailStride */
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryRequirements_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements *val)
+{
+ vn_encode_VkSparseImageFormatProperties_partial(enc, &val->formatProperties);
+ /* skip val->imageMipTailFirstLod */
+ /* skip val->imageMipTailSize */
+ /* skip val->imageMipTailOffset */
+ /* skip val->imageMipTailStride */
+}
+
+/* struct VkExternalMemoryImageCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExternalMemoryImageCreateInfo_self(const VkExternalMemoryImageCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->handleTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkExternalMemoryImageCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExternalMemoryImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExternalMemoryImageCreateInfo_self(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->handleTypes);
+}
+
+static inline void
+vn_encode_VkExternalMemoryImageCreateInfo(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO });
+ vn_encode_VkExternalMemoryImageCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkExternalMemoryImageCreateInfo_self(enc, val);
+}
+
+/* struct VkImageDrmFormatModifierListCreateInfoEXT chain */
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(const VkImageDrmFormatModifierListCreateInfoEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);
+ if (val->pDrmFormatModifiers) {
+ size += vn_sizeof_array_size(val->drmFormatModifierCount);
+ size += vn_sizeof_uint64_t_array(val->pDrmFormatModifiers, val->drmFormatModifierCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(val->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->drmFormatModifierCount);
+ if (val->pDrmFormatModifiers) {
+ vn_encode_array_size(enc, val->drmFormatModifierCount);
+ vn_encode_uint64_t_array(enc, val->pDrmFormatModifiers, val->drmFormatModifierCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierListCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT });
+ vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(enc, val->pNext);
+ vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, val);
+}
+
+/* struct VkSubresourceLayout */
+
+static inline size_t
+vn_sizeof_VkSubresourceLayout(const VkSubresourceLayout *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDeviceSize(&val->offset);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ size += vn_sizeof_VkDeviceSize(&val->rowPitch);
+ size += vn_sizeof_VkDeviceSize(&val->arrayPitch);
+ size += vn_sizeof_VkDeviceSize(&val->depthPitch);
+ return size;
+}
+
+static inline void
+vn_encode_VkSubresourceLayout(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
+{
+ vn_encode_VkDeviceSize(enc, &val->offset);
+ vn_encode_VkDeviceSize(enc, &val->size);
+ vn_encode_VkDeviceSize(enc, &val->rowPitch);
+ vn_encode_VkDeviceSize(enc, &val->arrayPitch);
+ vn_encode_VkDeviceSize(enc, &val->depthPitch);
+}
+
+static inline void
+vn_decode_VkSubresourceLayout(struct vn_cs_decoder *dec, VkSubresourceLayout *val)
+{
+ vn_decode_VkDeviceSize(dec, &val->offset);
+ vn_decode_VkDeviceSize(dec, &val->size);
+ vn_decode_VkDeviceSize(dec, &val->rowPitch);
+ vn_decode_VkDeviceSize(dec, &val->arrayPitch);
+ vn_decode_VkDeviceSize(dec, &val->depthPitch);
+}
+
+static inline size_t
+vn_sizeof_VkSubresourceLayout_partial(const VkSubresourceLayout *val)
+{
+ size_t size = 0;
+ /* skip val->offset */
+ /* skip val->size */
+ /* skip val->rowPitch */
+ /* skip val->arrayPitch */
+ /* skip val->depthPitch */
+ return size;
+}
+
+static inline void
+vn_encode_VkSubresourceLayout_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
+{
+ /* skip val->offset */
+ /* skip val->size */
+ /* skip val->rowPitch */
+ /* skip val->arrayPitch */
+ /* skip val->depthPitch */
+}
+
+/* struct VkImageDrmFormatModifierExplicitCreateInfoEXT chain */
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->drmFormatModifier);
+ size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);
+ if (val->pPlaneLayouts) {
+ size += vn_sizeof_array_size(val->drmFormatModifierPlaneCount);
+ for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
+ size += vn_sizeof_VkSubresourceLayout(&val->pPlaneLayouts[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(val->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint64_t(enc, &val->drmFormatModifier);
+ vn_encode_uint32_t(enc, &val->drmFormatModifierPlaneCount);
+ if (val->pPlaneLayouts) {
+ vn_encode_array_size(enc, val->drmFormatModifierPlaneCount);
+ for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
+ vn_encode_VkSubresourceLayout(enc, &val->pPlaneLayouts[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT });
+ vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(enc, val->pNext);
+ vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, val);
+}
+
+/* struct VkImageCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkImageCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkExternalMemoryImageCreateInfo_self((const VkExternalMemoryImageCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self((const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self((const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageCreateInfo_self(const VkImageCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkImageType(&val->imageType);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkExtent3D(&val->extent);
+ size += vn_sizeof_uint32_t(&val->mipLevels);
+ size += vn_sizeof_uint32_t(&val->arrayLayers);
+ size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
+ size += vn_sizeof_VkImageTiling(&val->tiling);
+ size += vn_sizeof_VkFlags(&val->usage);
+ size += vn_sizeof_VkSharingMode(&val->sharingMode);
+ size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ size += vn_sizeof_array_size(val->queueFamilyIndexCount);
+ size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_VkImageLayout(&val->initialLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageCreateInfo(const VkImageCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkImageCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkExternalMemoryImageCreateInfo_self(enc, (const VkExternalMemoryImageCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkImageType(enc, &val->imageType);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkExtent3D(enc, &val->extent);
+ vn_encode_uint32_t(enc, &val->mipLevels);
+ vn_encode_uint32_t(enc, &val->arrayLayers);
+ vn_encode_VkSampleCountFlagBits(enc, &val->samples);
+ vn_encode_VkImageTiling(enc, &val->tiling);
+ vn_encode_VkFlags(enc, &val->usage);
+ vn_encode_VkSharingMode(enc, &val->sharingMode);
+ vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
+ if (val->pQueueFamilyIndices) {
+ vn_encode_array_size(enc, val->queueFamilyIndexCount);
+ vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkImageLayout(enc, &val->initialLayout);
+}
+
+static inline void
+vn_encode_VkImageCreateInfo(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO });
+ vn_encode_VkImageCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkImageCreateInfo_self(enc, val);
+}
+
+/* struct VkBindImageMemoryDeviceGroupInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(const VkBindImageMemoryDeviceGroupInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->deviceIndexCount);
+ if (val->pDeviceIndices) {
+ size += vn_sizeof_array_size(val->deviceIndexCount);
+ size += vn_sizeof_uint32_t_array(val->pDeviceIndices, val->deviceIndexCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->splitInstanceBindRegionCount);
+ if (val->pSplitInstanceBindRegions) {
+ size += vn_sizeof_array_size(val->splitInstanceBindRegionCount);
+ for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
+ size += vn_sizeof_VkRect2D(&val->pSplitInstanceBindRegions[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->deviceIndexCount);
+ if (val->pDeviceIndices) {
+ vn_encode_array_size(enc, val->deviceIndexCount);
+ vn_encode_uint32_t_array(enc, val->pDeviceIndices, val->deviceIndexCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->splitInstanceBindRegionCount);
+ if (val->pSplitInstanceBindRegions) {
+ vn_encode_array_size(enc, val->splitInstanceBindRegionCount);
+ for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
+ vn_encode_VkRect2D(enc, &val->pSplitInstanceBindRegions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO });
+ vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint32_t(dec, &val->deviceIndexCount);
+ if (vn_peek_array_size(dec)) {
+ 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);
+ 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++)
+ vn_decode_VkRect2D(dec, &((VkRect2D *)val->pSplitInstanceBindRegions)[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ val->pSplitInstanceBindRegions = NULL;
+ }
+}
+
+static inline void
+vn_decode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(dec, val->pNext);
+ vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, val);
+}
+
+/* struct VkBindImagePlaneMemoryInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindImagePlaneMemoryInfo_self(const VkBindImagePlaneMemoryInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindImagePlaneMemoryInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
+}
+
+static inline void
+vn_encode_VkBindImagePlaneMemoryInfo(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO });
+ vn_encode_VkBindImagePlaneMemoryInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindImagePlaneMemoryInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkImageAspectFlagBits(dec, &val->planeAspect);
+}
+
+static inline void
+vn_decode_VkBindImagePlaneMemoryInfo(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBindImagePlaneMemoryInfo_pnext(dec, val->pNext);
+ vn_decode_VkBindImagePlaneMemoryInfo_self(dec, val);
+}
+
+/* struct VkBindImageMemoryInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self((const VkBindImageMemoryDeviceGroupInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkBindImagePlaneMemoryInfo_self((const VkBindImagePlaneMemoryInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryInfo_self(const VkBindImageMemoryInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindImageMemoryInfo(const VkBindImageMemoryInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindImageMemoryInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindImageMemoryInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindImageMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, (const VkBindImageMemoryDeviceGroupInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkBindImagePlaneMemoryInfo_self(enc, (const VkBindImagePlaneMemoryInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindImageMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+ vn_encode_VkDeviceSize(enc, &val->memoryOffset);
+}
+
+static inline void
+vn_encode_VkBindImageMemoryInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO });
+ vn_encode_VkBindImageMemoryInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindImageMemoryInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkBindImageMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
+ VkStructureType stype;
+
+ if (!vn_decode_simple_pointer(dec))
+ return;
+
+ vn_decode_VkStructureType(dec, &stype);
+ while (true) {
+ assert(pnext);
+ if (pnext->sType == stype)
+ break;
+ }
+
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
+ vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
+ vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, (VkBindImageMemoryDeviceGroupInfo *)pnext);
+ break;
+ case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
+ vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
+ vn_decode_VkBindImagePlaneMemoryInfo_self(dec, (VkBindImagePlaneMemoryInfo *)pnext);
+ break;
+ default:
+ assert(false);
+ break;
+ }
+}
+
+static inline void
+vn_decode_VkBindImageMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkImage(dec, &val->image);
+ vn_decode_VkDeviceMemory(dec, &val->memory);
+ vn_decode_VkDeviceSize(dec, &val->memoryOffset);
+}
+
+static inline void
+vn_decode_VkBindImageMemoryInfo(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkBindImageMemoryInfo_pnext(dec, val->pNext);
+ vn_decode_VkBindImageMemoryInfo_self(dec, val);
+}
+
+/* struct VkImagePlaneMemoryRequirementsInfo chain */
+
+static inline size_t
+vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(const VkImagePlaneMemoryRequirementsInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(val->pNext);
+ size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImagePlaneMemoryRequirementsInfo_self(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
+}
+
+static inline void
+vn_encode_VkImagePlaneMemoryRequirementsInfo(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO });
+ vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(enc, val->pNext);
+ vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, val);
+}
+
+/* struct VkImageMemoryRequirementsInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(pnext->pNext);
+ size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self((const VkImagePlaneMemoryRequirementsInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageMemoryRequirementsInfo2_self(const VkImageMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImage(&val->image);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkImageMemoryRequirementsInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, pnext->pNext);
+ vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, (const VkImagePlaneMemoryRequirementsInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImage(enc, &val->image);
+}
+
+static inline void
+vn_encode_VkImageMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 });
+ vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, val->pNext);
+ vn_encode_VkImageMemoryRequirementsInfo2_self(enc, val);
+}
+
+/* struct VkImageSparseMemoryRequirementsInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(const VkImageSparseMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImage(&val->image);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageSparseMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImage(enc, &val->image);
+}
+
+static inline void
+vn_encode_VkImageSparseMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 });
+ vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(enc, val->pNext);
+ vn_encode_VkImageSparseMemoryRequirementsInfo2_self(enc, val);
+}
+
+/* struct VkSparseImageMemoryRequirements2 chain */
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2_self(const VkSparseImageMemoryRequirements2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSparseImageMemoryRequirements(&val->memoryRequirements);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext(val->pNext);
+ size += vn_sizeof_VkSparseImageMemoryRequirements2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkSparseImageMemoryRequirements2_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkSparseImageMemoryRequirements2_self(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkSparseImageMemoryRequirements(dec, &val->memoryRequirements);
+}
+
+static inline void
+vn_decode_VkSparseImageMemoryRequirements2(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
+
+ assert(val->sType == stype);
+ vn_decode_VkSparseImageMemoryRequirements2_pnext(dec, val->pNext);
+ vn_decode_VkSparseImageMemoryRequirements2_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(const VkSparseImageMemoryRequirements2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSparseImageMemoryRequirements_partial(&val->memoryRequirements);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryRequirements2_partial(const VkSparseImageMemoryRequirements2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(val->pNext);
+ size += vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryRequirements2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkSparseImageMemoryRequirements_partial(enc, &val->memoryRequirements);
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryRequirements2_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 });
+ vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(enc, val->pNext);
+ vn_encode_VkSparseImageMemoryRequirements2_self_partial(enc, val);
+}
+
+/* struct VkImageDrmFormatModifierPropertiesEXT chain */
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint64_t(&val->drmFormatModifier);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(val->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_uint64_t(dec, &val->drmFormatModifier);
+}
+
+static inline void
+vn_decode_VkImageDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
+
+ assert(val->sType == stype);
+ vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(dec, val->pNext);
+ vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(dec, val);
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ /* skip val->drmFormatModifier */
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(val->pNext);
+ size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ /* skip val->drmFormatModifier */
+}
+
+static inline void
+vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT });
+ vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(enc, val->pNext);
+ vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(enc, val);
+}
+
+static inline size_t vn_sizeof_vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements_partial(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ if (vn_encode_simple_pointer(enc, pMemoryRequirements))
+ vn_encode_VkMemoryRequirements_partial(enc, pMemoryRequirements);
+}
+
+static inline size_t vn_sizeof_vkGetImageMemoryRequirements_reply(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip image */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetImageMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT);
+
+ /* skip device */
+ /* skip image */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkMemoryRequirements(dec, pMemoryRequirements);
+ } else {
+ pMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_VkDeviceMemory(&memory);
+ cmd_size += vn_sizeof_VkDeviceSize(&memoryOffset);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkBindImageMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ vn_encode_VkDeviceMemory(enc, &memory);
+ vn_encode_VkDeviceSize(enc, &memoryOffset);
+}
+
+static inline size_t vn_sizeof_vkBindImageMemory_reply(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip image */
+ /* skip memory */
+ /* skip memoryOffset */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkBindImageMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip image */
+ /* skip memory */
+ /* skip memoryOffset */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
+ 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_VkSparseImageMemoryRequirements_partial(&pSparseMemoryRequirements[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageSparseMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ 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_VkSparseImageMemoryRequirements_partial(enc, &pSparseMemoryRequirements[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements_reply(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip image */
+ cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
+ 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_VkSparseImageMemoryRequirements(&pSparseMemoryRequirements[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetImageSparseMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT);
+
+ /* skip device */
+ /* skip image */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
+ } else {
+ pSparseMemoryRequirementCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
+ for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
+ vn_decode_VkSparseImageMemoryRequirements(dec, &pSparseMemoryRequirements[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pSparseMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkImageCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pImage);
+ if (pImage)
+ cmd_size += vn_sizeof_VkImage(pImage);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkImageCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pImage))
+ vn_encode_VkImage(enc, pImage);
+}
+
+static inline size_t vn_sizeof_vkCreateImage_reply(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pImage);
+ if (pImage)
+ cmd_size += vn_sizeof_VkImage(pImage);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateImage_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateImage_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkImage(dec, pImage);
+ } else {
+ pImage = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyImage_reply(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip image */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyImage_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyImage_EXT);
+
+ /* skip device */
+ /* skip image */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_simple_pointer(pSubresource);
+ if (pSubresource)
+ cmd_size += vn_sizeof_VkImageSubresource(pSubresource);
+ cmd_size += vn_sizeof_simple_pointer(pLayout);
+ if (pLayout)
+ cmd_size += vn_sizeof_VkSubresourceLayout_partial(pLayout);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageSubresourceLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ if (vn_encode_simple_pointer(enc, pSubresource))
+ vn_encode_VkImageSubresource(enc, pSubresource);
+ if (vn_encode_simple_pointer(enc, pLayout))
+ vn_encode_VkSubresourceLayout_partial(enc, pLayout);
+}
+
+static inline size_t vn_sizeof_vkGetImageSubresourceLayout_reply(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip image */
+ /* skip pSubresource */
+ cmd_size += vn_sizeof_simple_pointer(pLayout);
+ if (pLayout)
+ cmd_size += vn_sizeof_VkSubresourceLayout(pLayout);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetImageSubresourceLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT);
+
+ /* skip device */
+ /* skip image */
+ /* skip pSubresource */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkSubresourceLayout(dec, pLayout);
+ } else {
+ pLayout = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
+ if (pBindInfos) {
+ cmd_size += vn_sizeof_array_size(bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ cmd_size += vn_sizeof_VkBindImageMemoryInfo(&pBindInfos[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkBindImageMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_uint32_t(enc, &bindInfoCount);
+ if (pBindInfos) {
+ vn_encode_array_size(enc, bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ vn_encode_VkBindImageMemoryInfo(enc, &pBindInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkBindImageMemory2_reply(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip bindInfoCount */
+ /* skip pBindInfos */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkBindImageMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory2_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip bindInfoCount */
+ /* skip pBindInfos */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkImageMemoryRequirementsInfo2(pInfo);
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements2_partial(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkImageMemoryRequirementsInfo2(enc, pInfo);
+ if (vn_encode_simple_pointer(enc, pMemoryRequirements))
+ vn_encode_VkMemoryRequirements2_partial(enc, pMemoryRequirements);
+}
+
+static inline size_t vn_sizeof_vkGetImageMemoryRequirements2_reply(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pInfo */
+ cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
+ if (pMemoryRequirements)
+ cmd_size += vn_sizeof_VkMemoryRequirements2(pMemoryRequirements);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetImageMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT);
+
+ /* skip device */
+ /* skip pInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkMemoryRequirements2(dec, pMemoryRequirements);
+ } else {
+ pMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pInfo);
+ if (pInfo)
+ cmd_size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2(pInfo);
+ cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
+ 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_VkSparseImageMemoryRequirements2_partial(&pSparseMemoryRequirements[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageSparseMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pInfo))
+ vn_encode_VkImageSparseMemoryRequirementsInfo2(enc, pInfo);
+ 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_VkSparseImageMemoryRequirements2_partial(enc, &pSparseMemoryRequirements[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pInfo */
+ cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
+ 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_VkSparseImageMemoryRequirements2(&pSparseMemoryRequirements[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetImageSparseMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT);
+
+ /* skip device */
+ /* skip pInfo */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
+ } else {
+ pSparseMemoryRequirementCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
+ for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
+ vn_decode_VkSparseImageMemoryRequirements2(dec, &pSparseMemoryRequirements[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pSparseMemoryRequirements = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImage(&image);
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(pProperties);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImage(enc, &image);
+ if (vn_encode_simple_pointer(enc, pProperties))
+ vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(enc, pProperties);
+}
+
+static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip image */
+ cmd_size += vn_sizeof_simple_pointer(pProperties);
+ if (pProperties)
+ cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(pProperties);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip image */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkImageDrmFormatModifierPropertiesEXT(dec, pProperties);
+ } else {
+ pProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline void vn_submit_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageMemoryRequirements(&submit->command, cmd_flags, device, image, pMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements_reply(device, image, pMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkBindImageMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkBindImageMemory(device, image, memory, memoryOffset);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkBindImageMemory(&submit->command, cmd_flags, device, image, memory, memoryOffset);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory_reply(device, image, memory, memoryOffset) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageSparseMemoryRequirements(&submit->command, cmd_flags, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements_reply(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateImage(device, pCreateInfo, pAllocator, pImage);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateImage(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pImage);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateImage_reply(device, pCreateInfo, pAllocator, pImage) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyImage(device, image, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyImage(&submit->command, cmd_flags, device, image, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyImage_reply(device, image, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageSubresourceLayout(&submit->command, cmd_flags, device, image, pSubresource, pLayout);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSubresourceLayout_reply(device, image, pSubresource, pLayout) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkBindImageMemory2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkBindImageMemory2(device, bindInfoCount, pBindInfos);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkBindImageMemory2(&submit->command, cmd_flags, device, bindInfoCount, pBindInfos);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory2_reply(device, bindInfoCount, pBindInfos) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements2_reply(device, pInfo, pMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageSparseMemoryRequirements2(&submit->command, cmd_flags, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(&submit->command, cmd_flags, device, image, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(device, image, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_call_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetImageMemoryRequirements_reply(&submit.reply, device, image, pMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageMemoryRequirements(vn_instance, 0, device, image, pMemoryRequirements, &submit);
+}
+
+static inline VkResult vn_call_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindImageMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, memory, memoryOffset, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkBindImageMemory_reply(&submit.reply, device, image, memory, memoryOffset);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindImageMemory(vn_instance, 0, device, image, memory, memoryOffset, &submit);
+}
+
+static inline void vn_call_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetImageSparseMemoryRequirements_reply(&submit.reply, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, 0, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
+}
+
+static inline VkResult vn_call_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pImage, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateImage_reply(&submit.reply, device, pCreateInfo, pAllocator, pImage);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateImage(vn_instance, 0, device, pCreateInfo, pAllocator, pImage, &submit);
+}
+
+static inline void vn_call_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyImage_reply(&submit.reply, device, image, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyImage(vn_instance, 0, device, image, pAllocator, &submit);
+}
+
+static inline void vn_call_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSubresourceLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSubresource, pLayout, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetImageSubresourceLayout_reply(&submit.reply, device, image, pSubresource, pLayout);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSubresourceLayout(vn_instance, 0, device, image, pSubresource, pLayout, &submit);
+}
+
+static inline VkResult vn_call_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindImageMemory2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bindInfoCount, pBindInfos, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkBindImageMemory2_reply(&submit.reply, device, bindInfoCount, pBindInfos);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkBindImageMemory2(vn_instance, 0, device, bindInfoCount, pBindInfos, &submit);
+}
+
+static inline void vn_call_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetImageMemoryRequirements2_reply(&submit.reply, device, pInfo, pMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageMemoryRequirements2(vn_instance, 0, device, pInfo, pMemoryRequirements, &submit);
+}
+
+static inline void vn_call_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetImageSparseMemoryRequirements2_reply(&submit.reply, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, 0, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
+}
+
+static inline VkResult vn_call_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(&submit.reply, device, image, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, 0, device, image, pProperties, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_IMAGE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_image_view.h b/src/virtio/venus-protocol/vn_protocol_driver_image_view.h
new file mode 100644
index 00000000000..f842f1da811
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_image_view.h
@@ -0,0 +1,376 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_IMAGE_VIEW_H
+#define VN_PROTOCOL_DRIVER_IMAGE_VIEW_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkImageViewUsageCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkImageViewUsageCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageViewUsageCreateInfo_self(const VkImageViewUsageCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->usage);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageViewUsageCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkImageViewUsageCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageViewUsageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageViewUsageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageViewUsageCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->usage);
+}
+
+static inline void
+vn_encode_VkImageViewUsageCreateInfo(struct vn_cs_encoder *enc, const VkImageViewUsageCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO });
+ vn_encode_VkImageViewUsageCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkImageViewUsageCreateInfo_self(enc, val);
+}
+
+/* struct VkImageViewCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkImageViewCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageViewCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkImageViewUsageCreateInfo_self((const VkImageViewUsageCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkImageViewCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionInfo_self((const VkSamplerYcbcrConversionInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkImageViewCreateInfo_self(const VkImageViewCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_VkImageViewType(&val->viewType);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkComponentMapping(&val->components);
+ size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkImageViewCreateInfo(const VkImageViewCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkImageViewCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkImageViewCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkImageViewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageViewCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkImageViewUsageCreateInfo_self(enc, (const VkImageViewUsageCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkImageViewCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSamplerYcbcrConversionInfo_self(enc, (const VkSamplerYcbcrConversionInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkImageViewCreateInfo_self(struct vn_cs_encoder *enc, const VkImageViewCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_VkImageViewType(enc, &val->viewType);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkComponentMapping(enc, &val->components);
+ vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange);
+}
+
+static inline void
+vn_encode_VkImageViewCreateInfo(struct vn_cs_encoder *enc, const VkImageViewCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO });
+ vn_encode_VkImageViewCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkImageViewCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkImageViewCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pView);
+ if (pView)
+ cmd_size += vn_sizeof_VkImageView(pView);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateImageView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkImageViewCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pView))
+ vn_encode_VkImageView(enc, pView);
+}
+
+static inline size_t vn_sizeof_vkCreateImageView_reply(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImageView_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pView);
+ if (pView)
+ cmd_size += vn_sizeof_VkImageView(pView);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateImageView_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateImageView_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkImageView(dec, pView);
+ } else {
+ pView = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkImageView(&imageView);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyImageView(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkImageView(enc, &imageView);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyImageView_reply(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImageView_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip imageView */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyImageView_reply(struct vn_cs_decoder *dec, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyImageView_EXT);
+
+ /* skip device */
+ /* skip imageView */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateImageView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateImageView(device, pCreateInfo, pAllocator, pView);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateImageView(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pView);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateImageView_reply(device, pCreateInfo, pAllocator, pView) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyImageView(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyImageView(device, imageView, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyImageView(&submit->command, cmd_flags, device, imageView, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyImageView_reply(device, imageView, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateImageView(struct vn_instance *vn_instance, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateImageView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pView, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateImageView_reply(&submit.reply, device, pCreateInfo, pAllocator, pView);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateImageView(struct vn_instance *vn_instance, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateImageView(vn_instance, 0, device, pCreateInfo, pAllocator, pView, &submit);
+}
+
+static inline void vn_call_vkDestroyImageView(struct vn_instance *vn_instance, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyImageView(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, imageView, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyImageView_reply(&submit.reply, device, imageView, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyImageView(struct vn_instance *vn_instance, VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyImageView(vn_instance, 0, device, imageView, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_IMAGE_VIEW_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_info.h b/src/virtio/venus-protocol/vn_protocol_driver_info.h
index f12d1770653..e2d7350ea31 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_info.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_info.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_instance.h b/src/virtio/venus-protocol/vn_protocol_driver_instance.h
new file mode 100644
index 00000000000..7aa9a66d95b
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_instance.h
@@ -0,0 +1,756 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_INSTANCE_H
+#define VN_PROTOCOL_DRIVER_INSTANCE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/*
+ * These structs/unions/commands are not included
+ *
+ * vkGetInstanceProcAddr
+ */
+
+/* struct VkApplicationInfo chain */
+
+static inline size_t
+vn_sizeof_VkApplicationInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkApplicationInfo_self(const VkApplicationInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ 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);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->applicationVersion);
+ 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);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->engineVersion);
+ size += vn_sizeof_uint32_t(&val->apiVersion);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkApplicationInfo(const VkApplicationInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkApplicationInfo_pnext(val->pNext);
+ size += vn_sizeof_VkApplicationInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkApplicationInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkApplicationInfo_self(struct vn_cs_encoder *enc, const VkApplicationInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ 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);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->applicationVersion);
+ 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);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->engineVersion);
+ vn_encode_uint32_t(enc, &val->apiVersion);
+}
+
+static inline void
+vn_encode_VkApplicationInfo(struct vn_cs_encoder *enc, const VkApplicationInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_APPLICATION_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_APPLICATION_INFO });
+ vn_encode_VkApplicationInfo_pnext(enc, val->pNext);
+ vn_encode_VkApplicationInfo_self(enc, val);
+}
+
+/* struct VkInstanceCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkInstanceCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkInstanceCreateInfo_self(const VkInstanceCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_simple_pointer(val->pApplicationInfo);
+ if (val->pApplicationInfo)
+ size += vn_sizeof_VkApplicationInfo(val->pApplicationInfo);
+ size += vn_sizeof_uint32_t(&val->enabledLayerCount);
+ if (val->ppEnabledLayerNames) {
+ size += vn_sizeof_array_size(val->enabledLayerCount);
+ 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);
+ }
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->enabledExtensionCount);
+ if (val->ppEnabledExtensionNames) {
+ size += vn_sizeof_array_size(val->enabledExtensionCount);
+ 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);
+ }
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkInstanceCreateInfo(const VkInstanceCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkInstanceCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkInstanceCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkInstanceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkInstanceCreateInfo_self(struct vn_cs_encoder *enc, const VkInstanceCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ if (vn_encode_simple_pointer(enc, val->pApplicationInfo))
+ vn_encode_VkApplicationInfo(enc, val->pApplicationInfo);
+ vn_encode_uint32_t(enc, &val->enabledLayerCount);
+ if (val->ppEnabledLayerNames) {
+ vn_encode_array_size(enc, val->enabledLayerCount);
+ 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);
+ }
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->enabledExtensionCount);
+ if (val->ppEnabledExtensionNames) {
+ vn_encode_array_size(enc, val->enabledExtensionCount);
+ 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);
+ }
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkInstanceCreateInfo(struct vn_cs_encoder *enc, const VkInstanceCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO });
+ vn_encode_VkInstanceCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkInstanceCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkInstanceCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pInstance);
+ if (pInstance)
+ cmd_size += vn_sizeof_VkInstance(pInstance);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateInstance(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkInstanceCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pInstance))
+ vn_encode_VkInstance(enc, pInstance);
+}
+
+static inline size_t vn_sizeof_vkCreateInstance_reply(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateInstance_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pInstance);
+ if (pInstance)
+ cmd_size += vn_sizeof_VkInstance(pInstance);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateInstance_reply(struct vn_cs_decoder *dec, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateInstance_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkInstance(dec, pInstance);
+ } else {
+ pInstance = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkInstance(&instance);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyInstance(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkInstance(enc, &instance);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyInstance_reply(VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyInstance_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip instance */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyInstance_reply(struct vn_cs_decoder *dec, VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyInstance_EXT);
+
+ /* skip instance */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceVersion(uint32_t* pApiVersion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_simple_pointer(pApiVersion); /* out */
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumerateInstanceVersion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t* pApiVersion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_simple_pointer(enc, pApiVersion); /* out */
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceVersion_reply(uint32_t* pApiVersion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ cmd_size += vn_sizeof_simple_pointer(pApiVersion);
+ if (pApiVersion)
+ cmd_size += vn_sizeof_uint32_t(pApiVersion);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumerateInstanceVersion_reply(struct vn_cs_decoder *dec, uint32_t* pApiVersion)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pApiVersion);
+ } else {
+ pApiVersion = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkLayerProperties_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumerateInstanceLayerProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ 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_VkLayerProperties_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceLayerProperties_reply(uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkLayerProperties(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumerateInstanceLayerProperties_reply(struct vn_cs_decoder *dec, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkLayerProperties(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ 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);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkExtensionProperties_partial(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkEnumerateInstanceExtensionProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ 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);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ 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_VkExtensionProperties_partial(enc, &pProperties[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkEnumerateInstanceExtensionProperties_reply(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip pLayerName */
+ cmd_size += vn_sizeof_simple_pointer(pPropertyCount);
+ 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_VkExtensionProperties(&pProperties[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkEnumerateInstanceExtensionProperties_reply(struct vn_cs_decoder *dec, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip pLayerName */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint32_t(dec, pPropertyCount);
+ } else {
+ pPropertyCount = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, *pPropertyCount);
+ for (uint32_t i = 0; i < *pPropertyCount; i++)
+ vn_decode_VkExtensionProperties(dec, &pProperties[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pProperties = NULL;
+ }
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateInstance(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateInstance(pCreateInfo, pAllocator, pInstance);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateInstance(&submit->command, cmd_flags, pCreateInfo, pAllocator, pInstance);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateInstance_reply(pCreateInfo, pAllocator, pInstance) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyInstance(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyInstance(instance, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyInstance(&submit->command, cmd_flags, instance, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyInstance_reply(instance, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t* pApiVersion, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumerateInstanceVersion(pApiVersion);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumerateInstanceVersion(&submit->command, cmd_flags, pApiVersion);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceVersion_reply(pApiVersion) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t* pPropertyCount, VkLayerProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumerateInstanceLayerProperties(&submit->command, cmd_flags, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceLayerProperties_reply(pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkEnumerateInstanceExtensionProperties(&submit->command, cmd_flags, pLayerName, pPropertyCount, pProperties);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateInstanceExtensionProperties_reply(pLayerName, pPropertyCount, pProperties) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateInstance(struct vn_instance *vn_instance, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateInstance(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pCreateInfo, pAllocator, pInstance, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateInstance_reply(&submit.reply, pCreateInfo, pAllocator, pInstance);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateInstance(struct vn_instance *vn_instance, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateInstance(vn_instance, 0, pCreateInfo, pAllocator, pInstance, &submit);
+}
+
+static inline void vn_call_vkDestroyInstance(struct vn_instance *vn_instance, VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyInstance(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyInstance_reply(&submit.reply, instance, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyInstance(struct vn_instance *vn_instance, VkInstance instance, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyInstance(vn_instance, 0, instance, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, uint32_t* pApiVersion)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceVersion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pApiVersion, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumerateInstanceVersion_reply(&submit.reply, pApiVersion);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumerateInstanceVersion(struct vn_instance *vn_instance, uint32_t* pApiVersion)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceVersion(vn_instance, 0, pApiVersion, &submit);
+}
+
+static inline VkResult vn_call_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceLayerProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumerateInstanceLayerProperties_reply(&submit.reply, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumerateInstanceLayerProperties(struct vn_instance *vn_instance, uint32_t* pPropertyCount, VkLayerProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceLayerProperties(vn_instance, 0, pPropertyCount, pProperties, &submit);
+}
+
+static inline VkResult vn_call_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceExtensionProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pLayerName, pPropertyCount, pProperties, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkEnumerateInstanceExtensionProperties_reply(&submit.reply, pLayerName, pPropertyCount, pProperties);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkEnumerateInstanceExtensionProperties(struct vn_instance *vn_instance, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkEnumerateInstanceExtensionProperties(vn_instance, 0, pLayerName, pPropertyCount, pProperties, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_INSTANCE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h
new file mode 100644
index 00000000000..d741ff5122b
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline.h
@@ -0,0 +1,1638 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_PIPELINE_H
+#define VN_PROTOCOL_DRIVER_PIPELINE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkSpecializationMapEntry */
+
+static inline size_t
+vn_sizeof_VkSpecializationMapEntry(const VkSpecializationMapEntry *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->constantID);
+ size += vn_sizeof_uint32_t(&val->offset);
+ size += vn_sizeof_size_t(&val->size);
+ return size;
+}
+
+static inline void
+vn_encode_VkSpecializationMapEntry(struct vn_cs_encoder *enc, const VkSpecializationMapEntry *val)
+{
+ vn_encode_uint32_t(enc, &val->constantID);
+ vn_encode_uint32_t(enc, &val->offset);
+ vn_encode_size_t(enc, &val->size);
+}
+
+/* struct VkSpecializationInfo */
+
+static inline size_t
+vn_sizeof_VkSpecializationInfo(const VkSpecializationInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->mapEntryCount);
+ if (val->pMapEntries) {
+ size += vn_sizeof_array_size(val->mapEntryCount);
+ for (uint32_t i = 0; i < val->mapEntryCount; i++)
+ size += vn_sizeof_VkSpecializationMapEntry(&val->pMapEntries[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_size_t(&val->dataSize);
+ if (val->pData) {
+ size += vn_sizeof_array_size(val->dataSize);
+ size += vn_sizeof_blob_array(val->pData, val->dataSize);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkSpecializationInfo(struct vn_cs_encoder *enc, const VkSpecializationInfo *val)
+{
+ vn_encode_uint32_t(enc, &val->mapEntryCount);
+ if (val->pMapEntries) {
+ vn_encode_array_size(enc, val->mapEntryCount);
+ for (uint32_t i = 0; i < val->mapEntryCount; i++)
+ vn_encode_VkSpecializationMapEntry(enc, &val->pMapEntries[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_size_t(enc, &val->dataSize);
+ if (val->pData) {
+ vn_encode_array_size(enc, val->dataSize);
+ vn_encode_blob_array(enc, val->pData, val->dataSize);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkPipelineShaderStageCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineShaderStageCreateInfo_self(const VkPipelineShaderStageCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkShaderStageFlagBits(&val->stage);
+ size += vn_sizeof_VkShaderModule(&val->module);
+ 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);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_simple_pointer(val->pSpecializationInfo);
+ if (val->pSpecializationInfo)
+ size += vn_sizeof_VkSpecializationInfo(val->pSpecializationInfo);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineShaderStageCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineShaderStageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineShaderStageCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineShaderStageCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkShaderStageFlagBits(enc, &val->stage);
+ vn_encode_VkShaderModule(enc, &val->module);
+ 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);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, val->pSpecializationInfo))
+ vn_encode_VkSpecializationInfo(enc, val->pSpecializationInfo);
+}
+
+static inline void
+vn_encode_VkPipelineShaderStageCreateInfo(struct vn_cs_encoder *enc, const VkPipelineShaderStageCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO });
+ vn_encode_VkPipelineShaderStageCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineShaderStageCreateInfo_self(enc, val);
+}
+
+/* struct VkVertexInputBindingDescription */
+
+static inline size_t
+vn_sizeof_VkVertexInputBindingDescription(const VkVertexInputBindingDescription *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->binding);
+ size += vn_sizeof_uint32_t(&val->stride);
+ size += vn_sizeof_VkVertexInputRate(&val->inputRate);
+ return size;
+}
+
+static inline void
+vn_encode_VkVertexInputBindingDescription(struct vn_cs_encoder *enc, const VkVertexInputBindingDescription *val)
+{
+ vn_encode_uint32_t(enc, &val->binding);
+ vn_encode_uint32_t(enc, &val->stride);
+ vn_encode_VkVertexInputRate(enc, &val->inputRate);
+}
+
+/* struct VkVertexInputAttributeDescription */
+
+static inline size_t
+vn_sizeof_VkVertexInputAttributeDescription(const VkVertexInputAttributeDescription *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->location);
+ size += vn_sizeof_uint32_t(&val->binding);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_uint32_t(&val->offset);
+ return size;
+}
+
+static inline void
+vn_encode_VkVertexInputAttributeDescription(struct vn_cs_encoder *enc, const VkVertexInputAttributeDescription *val)
+{
+ vn_encode_uint32_t(enc, &val->location);
+ vn_encode_uint32_t(enc, &val->binding);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_uint32_t(enc, &val->offset);
+}
+
+/* struct VkPipelineVertexInputStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineVertexInputStateCreateInfo_self(const VkPipelineVertexInputStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->vertexBindingDescriptionCount);
+ if (val->pVertexBindingDescriptions) {
+ size += vn_sizeof_array_size(val->vertexBindingDescriptionCount);
+ for (uint32_t i = 0; i < val->vertexBindingDescriptionCount; i++)
+ size += vn_sizeof_VkVertexInputBindingDescription(&val->pVertexBindingDescriptions[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->vertexAttributeDescriptionCount);
+ if (val->pVertexAttributeDescriptions) {
+ size += vn_sizeof_array_size(val->vertexAttributeDescriptionCount);
+ for (uint32_t i = 0; i < val->vertexAttributeDescriptionCount; i++)
+ size += vn_sizeof_VkVertexInputAttributeDescription(&val->pVertexAttributeDescriptions[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineVertexInputStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineVertexInputStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineVertexInputStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->vertexBindingDescriptionCount);
+ if (val->pVertexBindingDescriptions) {
+ vn_encode_array_size(enc, val->vertexBindingDescriptionCount);
+ for (uint32_t i = 0; i < val->vertexBindingDescriptionCount; i++)
+ vn_encode_VkVertexInputBindingDescription(enc, &val->pVertexBindingDescriptions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->vertexAttributeDescriptionCount);
+ if (val->pVertexAttributeDescriptions) {
+ vn_encode_array_size(enc, val->vertexAttributeDescriptionCount);
+ for (uint32_t i = 0; i < val->vertexAttributeDescriptionCount; i++)
+ vn_encode_VkVertexInputAttributeDescription(enc, &val->pVertexAttributeDescriptions[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPipelineVertexInputStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineVertexInputStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO });
+ vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineVertexInputStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineInputAssemblyStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_self(const VkPipelineInputAssemblyStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkPrimitiveTopology(&val->topology);
+ size += vn_sizeof_VkBool32(&val->primitiveRestartEnable);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineInputAssemblyStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineInputAssemblyStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineInputAssemblyStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkPrimitiveTopology(enc, &val->topology);
+ vn_encode_VkBool32(enc, &val->primitiveRestartEnable);
+}
+
+static inline void
+vn_encode_VkPipelineInputAssemblyStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineInputAssemblyStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO });
+ vn_encode_VkPipelineInputAssemblyStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineInputAssemblyStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineTessellationDomainOriginStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self(const VkPipelineTessellationDomainOriginStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkTessellationDomainOrigin(&val->domainOrigin);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineTessellationDomainOriginStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkTessellationDomainOrigin(enc, &val->domainOrigin);
+}
+
+static inline void
+vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineTessellationDomainOriginStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO });
+ vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineTessellationStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self((const VkPipelineTessellationDomainOriginStateCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationStateCreateInfo_self(const VkPipelineTessellationStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->patchControlPoints);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineTessellationStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineTessellationStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPipelineTessellationStateCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(enc, (const VkPipelineTessellationDomainOriginStateCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineTessellationStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineTessellationStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->patchControlPoints);
+}
+
+static inline void
+vn_encode_VkPipelineTessellationStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineTessellationStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO });
+ vn_encode_VkPipelineTessellationStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineTessellationStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineViewportStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineViewportStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineViewportStateCreateInfo_self(const VkPipelineViewportStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->viewportCount);
+ if (val->pViewports) {
+ size += vn_sizeof_array_size(val->viewportCount);
+ for (uint32_t i = 0; i < val->viewportCount; i++)
+ size += vn_sizeof_VkViewport(&val->pViewports[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->scissorCount);
+ if (val->pScissors) {
+ size += vn_sizeof_array_size(val->scissorCount);
+ for (uint32_t i = 0; i < val->scissorCount; i++)
+ size += vn_sizeof_VkRect2D(&val->pScissors[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineViewportStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineViewportStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineViewportStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineViewportStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineViewportStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->viewportCount);
+ if (val->pViewports) {
+ vn_encode_array_size(enc, val->viewportCount);
+ for (uint32_t i = 0; i < val->viewportCount; i++)
+ vn_encode_VkViewport(enc, &val->pViewports[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->scissorCount);
+ if (val->pScissors) {
+ vn_encode_array_size(enc, val->scissorCount);
+ for (uint32_t i = 0; i < val->scissorCount; i++)
+ vn_encode_VkRect2D(enc, &val->pScissors[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPipelineViewportStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineViewportStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO });
+ vn_encode_VkPipelineViewportStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineViewportStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineRasterizationStateStreamCreateInfoEXT chain */
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self(const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->rasterizationStream);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->rasterizationStream);
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT });
+ vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(enc, val->pNext);
+ vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(enc, val);
+}
+
+/* struct VkPipelineRasterizationStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self((const VkPipelineRasterizationStateStreamCreateInfoEXT *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateCreateInfo_self(const VkPipelineRasterizationStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkBool32(&val->depthClampEnable);
+ size += vn_sizeof_VkBool32(&val->rasterizerDiscardEnable);
+ size += vn_sizeof_VkPolygonMode(&val->polygonMode);
+ size += vn_sizeof_VkFlags(&val->cullMode);
+ size += vn_sizeof_VkFrontFace(&val->frontFace);
+ size += vn_sizeof_VkBool32(&val->depthBiasEnable);
+ size += vn_sizeof_float(&val->depthBiasConstantFactor);
+ size += vn_sizeof_float(&val->depthBiasClamp);
+ size += vn_sizeof_float(&val->depthBiasSlopeFactor);
+ size += vn_sizeof_float(&val->lineWidth);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(enc, (const VkPipelineRasterizationStateStreamCreateInfoEXT *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkBool32(enc, &val->depthClampEnable);
+ vn_encode_VkBool32(enc, &val->rasterizerDiscardEnable);
+ vn_encode_VkPolygonMode(enc, &val->polygonMode);
+ vn_encode_VkFlags(enc, &val->cullMode);
+ vn_encode_VkFrontFace(enc, &val->frontFace);
+ vn_encode_VkBool32(enc, &val->depthBiasEnable);
+ vn_encode_float(enc, &val->depthBiasConstantFactor);
+ vn_encode_float(enc, &val->depthBiasClamp);
+ vn_encode_float(enc, &val->depthBiasSlopeFactor);
+ vn_encode_float(enc, &val->lineWidth);
+}
+
+static inline void
+vn_encode_VkPipelineRasterizationStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO });
+ vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineRasterizationStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineMultisampleStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineMultisampleStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineMultisampleStateCreateInfo_self(const VkPipelineMultisampleStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkSampleCountFlagBits(&val->rasterizationSamples);
+ size += vn_sizeof_VkBool32(&val->sampleShadingEnable);
+ size += vn_sizeof_float(&val->minSampleShading);
+ if (val->pSampleMask) {
+ size += vn_sizeof_array_size((val->rasterizationSamples + 31) / 32);
+ size += vn_sizeof_VkSampleMask_array(val->pSampleMask, (val->rasterizationSamples + 31) / 32);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_VkBool32(&val->alphaToCoverageEnable);
+ size += vn_sizeof_VkBool32(&val->alphaToOneEnable);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineMultisampleStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineMultisampleStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineMultisampleStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineMultisampleStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineMultisampleStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkSampleCountFlagBits(enc, &val->rasterizationSamples);
+ vn_encode_VkBool32(enc, &val->sampleShadingEnable);
+ vn_encode_float(enc, &val->minSampleShading);
+ if (val->pSampleMask) {
+ vn_encode_array_size(enc, (val->rasterizationSamples + 31) / 32);
+ vn_encode_VkSampleMask_array(enc, val->pSampleMask, (val->rasterizationSamples + 31) / 32);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkBool32(enc, &val->alphaToCoverageEnable);
+ vn_encode_VkBool32(enc, &val->alphaToOneEnable);
+}
+
+static inline void
+vn_encode_VkPipelineMultisampleStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineMultisampleStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO });
+ vn_encode_VkPipelineMultisampleStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineMultisampleStateCreateInfo_self(enc, val);
+}
+
+/* struct VkStencilOpState */
+
+static inline size_t
+vn_sizeof_VkStencilOpState(const VkStencilOpState *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkStencilOp(&val->failOp);
+ size += vn_sizeof_VkStencilOp(&val->passOp);
+ size += vn_sizeof_VkStencilOp(&val->depthFailOp);
+ size += vn_sizeof_VkCompareOp(&val->compareOp);
+ size += vn_sizeof_uint32_t(&val->compareMask);
+ size += vn_sizeof_uint32_t(&val->writeMask);
+ size += vn_sizeof_uint32_t(&val->reference);
+ return size;
+}
+
+static inline void
+vn_encode_VkStencilOpState(struct vn_cs_encoder *enc, const VkStencilOpState *val)
+{
+ vn_encode_VkStencilOp(enc, &val->failOp);
+ vn_encode_VkStencilOp(enc, &val->passOp);
+ vn_encode_VkStencilOp(enc, &val->depthFailOp);
+ vn_encode_VkCompareOp(enc, &val->compareOp);
+ vn_encode_uint32_t(enc, &val->compareMask);
+ vn_encode_uint32_t(enc, &val->writeMask);
+ vn_encode_uint32_t(enc, &val->reference);
+}
+
+/* struct VkPipelineDepthStencilStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineDepthStencilStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineDepthStencilStateCreateInfo_self(const VkPipelineDepthStencilStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkBool32(&val->depthTestEnable);
+ size += vn_sizeof_VkBool32(&val->depthWriteEnable);
+ size += vn_sizeof_VkCompareOp(&val->depthCompareOp);
+ size += vn_sizeof_VkBool32(&val->depthBoundsTestEnable);
+ size += vn_sizeof_VkBool32(&val->stencilTestEnable);
+ size += vn_sizeof_VkStencilOpState(&val->front);
+ size += vn_sizeof_VkStencilOpState(&val->back);
+ size += vn_sizeof_float(&val->minDepthBounds);
+ size += vn_sizeof_float(&val->maxDepthBounds);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineDepthStencilStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineDepthStencilStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineDepthStencilStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkBool32(enc, &val->depthTestEnable);
+ vn_encode_VkBool32(enc, &val->depthWriteEnable);
+ vn_encode_VkCompareOp(enc, &val->depthCompareOp);
+ vn_encode_VkBool32(enc, &val->depthBoundsTestEnable);
+ vn_encode_VkBool32(enc, &val->stencilTestEnable);
+ vn_encode_VkStencilOpState(enc, &val->front);
+ vn_encode_VkStencilOpState(enc, &val->back);
+ vn_encode_float(enc, &val->minDepthBounds);
+ vn_encode_float(enc, &val->maxDepthBounds);
+}
+
+static inline void
+vn_encode_VkPipelineDepthStencilStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineDepthStencilStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO });
+ vn_encode_VkPipelineDepthStencilStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineDepthStencilStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineColorBlendAttachmentState */
+
+static inline size_t
+vn_sizeof_VkPipelineColorBlendAttachmentState(const VkPipelineColorBlendAttachmentState *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkBool32(&val->blendEnable);
+ size += vn_sizeof_VkBlendFactor(&val->srcColorBlendFactor);
+ size += vn_sizeof_VkBlendFactor(&val->dstColorBlendFactor);
+ size += vn_sizeof_VkBlendOp(&val->colorBlendOp);
+ size += vn_sizeof_VkBlendFactor(&val->srcAlphaBlendFactor);
+ size += vn_sizeof_VkBlendFactor(&val->dstAlphaBlendFactor);
+ size += vn_sizeof_VkBlendOp(&val->alphaBlendOp);
+ size += vn_sizeof_VkFlags(&val->colorWriteMask);
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineColorBlendAttachmentState(struct vn_cs_encoder *enc, const VkPipelineColorBlendAttachmentState *val)
+{
+ vn_encode_VkBool32(enc, &val->blendEnable);
+ vn_encode_VkBlendFactor(enc, &val->srcColorBlendFactor);
+ vn_encode_VkBlendFactor(enc, &val->dstColorBlendFactor);
+ vn_encode_VkBlendOp(enc, &val->colorBlendOp);
+ vn_encode_VkBlendFactor(enc, &val->srcAlphaBlendFactor);
+ vn_encode_VkBlendFactor(enc, &val->dstAlphaBlendFactor);
+ vn_encode_VkBlendOp(enc, &val->alphaBlendOp);
+ vn_encode_VkFlags(enc, &val->colorWriteMask);
+}
+
+/* struct VkPipelineColorBlendStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineColorBlendStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineColorBlendStateCreateInfo_self(const VkPipelineColorBlendStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkBool32(&val->logicOpEnable);
+ size += vn_sizeof_VkLogicOp(&val->logicOp);
+ size += vn_sizeof_uint32_t(&val->attachmentCount);
+ if (val->pAttachments) {
+ size += vn_sizeof_array_size(val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ size += vn_sizeof_VkPipelineColorBlendAttachmentState(&val->pAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_array_size(4);
+ size += vn_sizeof_float_array(val->blendConstants, 4);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineColorBlendStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineColorBlendStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineColorBlendStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineColorBlendStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineColorBlendStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkBool32(enc, &val->logicOpEnable);
+ vn_encode_VkLogicOp(enc, &val->logicOp);
+ vn_encode_uint32_t(enc, &val->attachmentCount);
+ if (val->pAttachments) {
+ vn_encode_array_size(enc, val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ vn_encode_VkPipelineColorBlendAttachmentState(enc, &val->pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_array_size(enc, 4);
+ vn_encode_float_array(enc, val->blendConstants, 4);
+}
+
+static inline void
+vn_encode_VkPipelineColorBlendStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineColorBlendStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO });
+ vn_encode_VkPipelineColorBlendStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineColorBlendStateCreateInfo_self(enc, val);
+}
+
+/* struct VkPipelineDynamicStateCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineDynamicStateCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineDynamicStateCreateInfo_self(const VkPipelineDynamicStateCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->dynamicStateCount);
+ if (val->pDynamicStates) {
+ size += vn_sizeof_array_size(val->dynamicStateCount);
+ size += vn_sizeof_VkDynamicState_array(val->pDynamicStates, val->dynamicStateCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineDynamicStateCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineDynamicStateCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineDynamicStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineDynamicStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineDynamicStateCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->dynamicStateCount);
+ if (val->pDynamicStates) {
+ vn_encode_array_size(enc, val->dynamicStateCount);
+ vn_encode_VkDynamicState_array(enc, val->pDynamicStates, val->dynamicStateCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPipelineDynamicStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineDynamicStateCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO });
+ vn_encode_VkPipelineDynamicStateCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineDynamicStateCreateInfo_self(enc, val);
+}
+
+/* struct VkGraphicsPipelineCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkGraphicsPipelineCreateInfo_self(const VkGraphicsPipelineCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->stageCount);
+ if (val->pStages) {
+ size += vn_sizeof_array_size(val->stageCount);
+ for (uint32_t i = 0; i < val->stageCount; i++)
+ size += vn_sizeof_VkPipelineShaderStageCreateInfo(&val->pStages[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_simple_pointer(val->pVertexInputState);
+ if (val->pVertexInputState)
+ size += vn_sizeof_VkPipelineVertexInputStateCreateInfo(val->pVertexInputState);
+ size += vn_sizeof_simple_pointer(val->pInputAssemblyState);
+ if (val->pInputAssemblyState)
+ size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo(val->pInputAssemblyState);
+ size += vn_sizeof_simple_pointer(val->pTessellationState);
+ if (val->pTessellationState)
+ size += vn_sizeof_VkPipelineTessellationStateCreateInfo(val->pTessellationState);
+ size += vn_sizeof_simple_pointer(val->pViewportState);
+ if (val->pViewportState)
+ size += vn_sizeof_VkPipelineViewportStateCreateInfo(val->pViewportState);
+ size += vn_sizeof_simple_pointer(val->pRasterizationState);
+ if (val->pRasterizationState)
+ size += vn_sizeof_VkPipelineRasterizationStateCreateInfo(val->pRasterizationState);
+ size += vn_sizeof_simple_pointer(val->pMultisampleState);
+ if (val->pMultisampleState)
+ size += vn_sizeof_VkPipelineMultisampleStateCreateInfo(val->pMultisampleState);
+ size += vn_sizeof_simple_pointer(val->pDepthStencilState);
+ if (val->pDepthStencilState)
+ size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo(val->pDepthStencilState);
+ size += vn_sizeof_simple_pointer(val->pColorBlendState);
+ if (val->pColorBlendState)
+ size += vn_sizeof_VkPipelineColorBlendStateCreateInfo(val->pColorBlendState);
+ size += vn_sizeof_simple_pointer(val->pDynamicState);
+ if (val->pDynamicState)
+ size += vn_sizeof_VkPipelineDynamicStateCreateInfo(val->pDynamicState);
+ size += vn_sizeof_VkPipelineLayout(&val->layout);
+ size += vn_sizeof_VkRenderPass(&val->renderPass);
+ size += vn_sizeof_uint32_t(&val->subpass);
+ size += vn_sizeof_VkPipeline(&val->basePipelineHandle);
+ size += vn_sizeof_int32_t(&val->basePipelineIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkGraphicsPipelineCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkGraphicsPipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkGraphicsPipelineCreateInfo_self(struct vn_cs_encoder *enc, const VkGraphicsPipelineCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->stageCount);
+ if (val->pStages) {
+ vn_encode_array_size(enc, val->stageCount);
+ for (uint32_t i = 0; i < val->stageCount; i++)
+ vn_encode_VkPipelineShaderStageCreateInfo(enc, &val->pStages[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, val->pVertexInputState))
+ vn_encode_VkPipelineVertexInputStateCreateInfo(enc, val->pVertexInputState);
+ if (vn_encode_simple_pointer(enc, val->pInputAssemblyState))
+ vn_encode_VkPipelineInputAssemblyStateCreateInfo(enc, val->pInputAssemblyState);
+ if (vn_encode_simple_pointer(enc, val->pTessellationState))
+ vn_encode_VkPipelineTessellationStateCreateInfo(enc, val->pTessellationState);
+ if (vn_encode_simple_pointer(enc, val->pViewportState))
+ vn_encode_VkPipelineViewportStateCreateInfo(enc, val->pViewportState);
+ if (vn_encode_simple_pointer(enc, val->pRasterizationState))
+ vn_encode_VkPipelineRasterizationStateCreateInfo(enc, val->pRasterizationState);
+ if (vn_encode_simple_pointer(enc, val->pMultisampleState))
+ vn_encode_VkPipelineMultisampleStateCreateInfo(enc, val->pMultisampleState);
+ if (vn_encode_simple_pointer(enc, val->pDepthStencilState))
+ vn_encode_VkPipelineDepthStencilStateCreateInfo(enc, val->pDepthStencilState);
+ if (vn_encode_simple_pointer(enc, val->pColorBlendState))
+ vn_encode_VkPipelineColorBlendStateCreateInfo(enc, val->pColorBlendState);
+ if (vn_encode_simple_pointer(enc, val->pDynamicState))
+ vn_encode_VkPipelineDynamicStateCreateInfo(enc, val->pDynamicState);
+ vn_encode_VkPipelineLayout(enc, &val->layout);
+ vn_encode_VkRenderPass(enc, &val->renderPass);
+ vn_encode_uint32_t(enc, &val->subpass);
+ vn_encode_VkPipeline(enc, &val->basePipelineHandle);
+ vn_encode_int32_t(enc, &val->basePipelineIndex);
+}
+
+static inline void
+vn_encode_VkGraphicsPipelineCreateInfo(struct vn_cs_encoder *enc, const VkGraphicsPipelineCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO });
+ vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkGraphicsPipelineCreateInfo_self(enc, val);
+}
+
+/* struct VkComputePipelineCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkComputePipelineCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkComputePipelineCreateInfo_self(const VkComputePipelineCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkPipelineShaderStageCreateInfo(&val->stage);
+ size += vn_sizeof_VkPipelineLayout(&val->layout);
+ size += vn_sizeof_VkPipeline(&val->basePipelineHandle);
+ size += vn_sizeof_int32_t(&val->basePipelineIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkComputePipelineCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkComputePipelineCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkComputePipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkComputePipelineCreateInfo_self(struct vn_cs_encoder *enc, const VkComputePipelineCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkPipelineShaderStageCreateInfo(enc, &val->stage);
+ vn_encode_VkPipelineLayout(enc, &val->layout);
+ vn_encode_VkPipeline(enc, &val->basePipelineHandle);
+ vn_encode_int32_t(enc, &val->basePipelineIndex);
+}
+
+static inline void
+vn_encode_VkComputePipelineCreateInfo(struct vn_cs_encoder *enc, const VkComputePipelineCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO });
+ vn_encode_VkComputePipelineCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkComputePipelineCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
+ cmd_size += vn_sizeof_uint32_t(&createInfoCount);
+ if (pCreateInfos) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkGraphicsPipelineCreateInfo(&pCreateInfos[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ if (pPipelines) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateGraphicsPipelines(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipelineCache(enc, &pipelineCache);
+ vn_encode_uint32_t(enc, &createInfoCount);
+ if (pCreateInfos) {
+ vn_encode_array_size(enc, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_encode_VkGraphicsPipelineCreateInfo(enc, &pCreateInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (pPipelines) {
+ vn_encode_array_size(enc, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_encode_VkPipeline(enc, &pPipelines[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCreateGraphicsPipelines_reply(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip createInfoCount */
+ /* skip pCreateInfos */
+ /* skip pAllocator */
+ if (pPipelines) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateGraphicsPipelines_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip createInfoCount */
+ /* skip pCreateInfos */
+ /* skip pAllocator */
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_decode_VkPipeline(dec, &pPipelines[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pPipelines = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
+ cmd_size += vn_sizeof_uint32_t(&createInfoCount);
+ if (pCreateInfos) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkComputePipelineCreateInfo(&pCreateInfos[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ if (pPipelines) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateComputePipelines(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipelineCache(enc, &pipelineCache);
+ vn_encode_uint32_t(enc, &createInfoCount);
+ if (pCreateInfos) {
+ vn_encode_array_size(enc, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_encode_VkComputePipelineCreateInfo(enc, &pCreateInfos[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (pPipelines) {
+ vn_encode_array_size(enc, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_encode_VkPipeline(enc, &pPipelines[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkCreateComputePipelines_reply(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateComputePipelines_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip createInfoCount */
+ /* skip pCreateInfos */
+ /* skip pAllocator */
+ if (pPipelines) {
+ cmd_size += vn_sizeof_array_size(createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ cmd_size += vn_sizeof_VkPipeline(&pPipelines[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateComputePipelines_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateComputePipelines_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip createInfoCount */
+ /* skip pCreateInfos */
+ /* skip pAllocator */
+ if (vn_peek_array_size(dec)) {
+ vn_decode_array_size(dec, createInfoCount);
+ for (uint32_t i = 0; i < createInfoCount; i++)
+ vn_decode_VkPipeline(dec, &pPipelines[i]);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pPipelines = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipeline(&pipeline);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyPipeline(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipeline(enc, &pipeline);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyPipeline_reply(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipeline_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pipeline */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyPipeline_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyPipeline_EXT);
+
+ /* skip device */
+ /* skip pipeline */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateGraphicsPipelines(&submit->command, cmd_flags, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateGraphicsPipelines_reply(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateComputePipelines(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateComputePipelines(&submit->command, cmd_flags, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateComputePipelines_reply(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyPipeline(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyPipeline(device, pipeline, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyPipeline(&submit->command, cmd_flags, device, pipeline, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipeline_reply(device, pipeline, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateGraphicsPipelines(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateGraphicsPipelines_reply(&submit.reply, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateGraphicsPipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateGraphicsPipelines(vn_instance, 0, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
+}
+
+static inline VkResult vn_call_vkCreateComputePipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateComputePipelines(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateComputePipelines_reply(&submit.reply, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateComputePipelines(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateComputePipelines(vn_instance, 0, device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines, &submit);
+}
+
+static inline void vn_call_vkDestroyPipeline(struct vn_instance *vn_instance, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipeline(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipeline, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyPipeline_reply(&submit.reply, device, pipeline, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyPipeline(struct vn_instance *vn_instance, VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipeline(vn_instance, 0, device, pipeline, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_PIPELINE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h
new file mode 100644
index 00000000000..1a2e097c0e2
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_cache.h
@@ -0,0 +1,510 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_PIPELINE_CACHE_H
+#define VN_PROTOCOL_DRIVER_PIPELINE_CACHE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkPipelineCacheCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineCacheCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineCacheCreateInfo_self(const VkPipelineCacheCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_size_t(&val->initialDataSize);
+ if (val->pInitialData) {
+ size += vn_sizeof_array_size(val->initialDataSize);
+ size += vn_sizeof_blob_array(val->pInitialData, val->initialDataSize);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineCacheCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineCacheCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineCacheCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineCacheCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineCacheCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_size_t(enc, &val->initialDataSize);
+ if (val->pInitialData) {
+ vn_encode_array_size(enc, val->initialDataSize);
+ vn_encode_blob_array(enc, val->pInitialData, val->initialDataSize);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPipelineCacheCreateInfo(struct vn_cs_encoder *enc, const VkPipelineCacheCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO });
+ vn_encode_VkPipelineCacheCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineCacheCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkPipelineCacheCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pPipelineCache);
+ if (pPipelineCache)
+ cmd_size += vn_sizeof_VkPipelineCache(pPipelineCache);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreatePipelineCache(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkPipelineCacheCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pPipelineCache))
+ vn_encode_VkPipelineCache(enc, pPipelineCache);
+}
+
+static inline size_t vn_sizeof_vkCreatePipelineCache_reply(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineCache_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pPipelineCache);
+ if (pPipelineCache)
+ cmd_size += vn_sizeof_VkPipelineCache(pPipelineCache);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreatePipelineCache_reply(struct vn_cs_decoder *dec, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreatePipelineCache_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPipelineCache(dec, pPipelineCache);
+ } else {
+ pPipelineCache = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyPipelineCache(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipelineCache(enc, &pipelineCache);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyPipelineCache_reply(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyPipelineCache_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT);
+
+ /* skip device */
+ /* skip pipelineCache */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineCache(&pipelineCache);
+ cmd_size += vn_sizeof_simple_pointer(pDataSize);
+ if (pDataSize)
+ cmd_size += vn_sizeof_size_t(pDataSize);
+ cmd_size += vn_sizeof_simple_pointer(pData); /* out */
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetPipelineCacheData(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ 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 */
+}
+
+static inline size_t vn_sizeof_vkGetPipelineCacheData_reply(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pipelineCache */
+ cmd_size += vn_sizeof_simple_pointer(pDataSize);
+ 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);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetPipelineCacheData_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pipelineCache */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_size_t(dec, pDataSize);
+ } else {
+ pDataSize = NULL;
+ }
+ if (vn_peek_array_size(dec)) {
+ const size_t array_size = vn_decode_array_size(dec, *pDataSize);
+ vn_decode_blob_array(dec, pData, array_size);
+ } else {
+ vn_decode_array_size(dec, 0);
+ pData = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineCache(&dstCache);
+ cmd_size += vn_sizeof_uint32_t(&srcCacheCount);
+ if (pSrcCaches) {
+ cmd_size += vn_sizeof_array_size(srcCacheCount);
+ for (uint32_t i = 0; i < srcCacheCount; i++)
+ cmd_size += vn_sizeof_VkPipelineCache(&pSrcCaches[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkMergePipelineCaches(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipelineCache(enc, &dstCache);
+ vn_encode_uint32_t(enc, &srcCacheCount);
+ if (pSrcCaches) {
+ vn_encode_array_size(enc, srcCacheCount);
+ for (uint32_t i = 0; i < srcCacheCount; i++)
+ vn_encode_VkPipelineCache(enc, &pSrcCaches[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline size_t vn_sizeof_vkMergePipelineCaches_reply(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkMergePipelineCaches_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip dstCache */
+ /* skip srcCacheCount */
+ /* skip pSrcCaches */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkMergePipelineCaches_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkMergePipelineCaches_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip dstCache */
+ /* skip srcCacheCount */
+ /* skip pSrcCaches */
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreatePipelineCache(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreatePipelineCache(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pPipelineCache);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreatePipelineCache_reply(device, pCreateInfo, pAllocator, pPipelineCache) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyPipelineCache(device, pipelineCache, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyPipelineCache(&submit->command, cmd_flags, device, pipelineCache, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipelineCache_reply(device, pipelineCache, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetPipelineCacheData(&submit->command, cmd_flags, device, pipelineCache, pDataSize, pData);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPipelineCacheData_reply(device, pipelineCache, pDataSize, pData) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkMergePipelineCaches(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkMergePipelineCaches(&submit->command, cmd_flags, device, dstCache, srcCacheCount, pSrcCaches);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkMergePipelineCaches_reply(device, dstCache, srcCacheCount, pSrcCaches) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreatePipelineCache(struct vn_instance *vn_instance, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreatePipelineCache(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pPipelineCache, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreatePipelineCache_reply(&submit.reply, device, pCreateInfo, pAllocator, pPipelineCache);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreatePipelineCache(struct vn_instance *vn_instance, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreatePipelineCache(vn_instance, 0, device, pCreateInfo, pAllocator, pPipelineCache, &submit);
+}
+
+static inline void vn_call_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipelineCache(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyPipelineCache_reply(&submit.reply, device, pipelineCache, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyPipelineCache(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipelineCache(vn_instance, 0, device, pipelineCache, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPipelineCacheData(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineCache, pDataSize, pData, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetPipelineCacheData_reply(&submit.reply, device, pipelineCache, pDataSize, pData);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetPipelineCacheData(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetPipelineCacheData(vn_instance, 0, device, pipelineCache, pDataSize, pData, &submit);
+}
+
+static inline VkResult vn_call_vkMergePipelineCaches(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkMergePipelineCaches(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, dstCache, srcCacheCount, pSrcCaches, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkMergePipelineCaches_reply(&submit.reply, device, dstCache, srcCacheCount, pSrcCaches);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkMergePipelineCaches(struct vn_instance *vn_instance, VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkMergePipelineCaches(vn_instance, 0, device, dstCache, srcCacheCount, pSrcCaches, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_PIPELINE_CACHE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h
new file mode 100644
index 00000000000..2e86797d445
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_pipeline_layout.h
@@ -0,0 +1,320 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_PIPELINE_LAYOUT_H
+#define VN_PROTOCOL_DRIVER_PIPELINE_LAYOUT_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkPushConstantRange */
+
+static inline size_t
+vn_sizeof_VkPushConstantRange(const VkPushConstantRange *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->stageFlags);
+ size += vn_sizeof_uint32_t(&val->offset);
+ size += vn_sizeof_uint32_t(&val->size);
+ return size;
+}
+
+static inline void
+vn_encode_VkPushConstantRange(struct vn_cs_encoder *enc, const VkPushConstantRange *val)
+{
+ vn_encode_VkFlags(enc, &val->stageFlags);
+ vn_encode_uint32_t(enc, &val->offset);
+ vn_encode_uint32_t(enc, &val->size);
+}
+
+/* struct VkPipelineLayoutCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkPipelineLayoutCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkPipelineLayoutCreateInfo_self(const VkPipelineLayoutCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->setLayoutCount);
+ if (val->pSetLayouts) {
+ size += vn_sizeof_array_size(val->setLayoutCount);
+ for (uint32_t i = 0; i < val->setLayoutCount; i++)
+ size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->pushConstantRangeCount);
+ if (val->pPushConstantRanges) {
+ size += vn_sizeof_array_size(val->pushConstantRangeCount);
+ for (uint32_t i = 0; i < val->pushConstantRangeCount; i++)
+ size += vn_sizeof_VkPushConstantRange(&val->pPushConstantRanges[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkPipelineLayoutCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkPipelineLayoutCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkPipelineLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkPipelineLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->setLayoutCount);
+ if (val->pSetLayouts) {
+ vn_encode_array_size(enc, val->setLayoutCount);
+ for (uint32_t i = 0; i < val->setLayoutCount; i++)
+ vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->pushConstantRangeCount);
+ if (val->pPushConstantRanges) {
+ vn_encode_array_size(enc, val->pushConstantRangeCount);
+ for (uint32_t i = 0; i < val->pushConstantRangeCount; i++)
+ vn_encode_VkPushConstantRange(enc, &val->pPushConstantRanges[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkPipelineLayoutCreateInfo(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO });
+ vn_encode_VkPipelineLayoutCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkPipelineLayoutCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkPipelineLayoutCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pPipelineLayout);
+ if (pPipelineLayout)
+ cmd_size += vn_sizeof_VkPipelineLayout(pPipelineLayout);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreatePipelineLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkPipelineLayoutCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pPipelineLayout))
+ vn_encode_VkPipelineLayout(enc, pPipelineLayout);
+}
+
+static inline size_t vn_sizeof_vkCreatePipelineLayout_reply(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pPipelineLayout);
+ if (pPipelineLayout)
+ cmd_size += vn_sizeof_VkPipelineLayout(pPipelineLayout);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreatePipelineLayout_reply(struct vn_cs_decoder *dec, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkPipelineLayout(dec, pPipelineLayout);
+ } else {
+ pPipelineLayout = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkPipelineLayout(&pipelineLayout);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyPipelineLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkPipelineLayout(enc, &pipelineLayout);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyPipelineLayout_reply(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip pipelineLayout */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyPipelineLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT);
+
+ /* skip device */
+ /* skip pipelineLayout */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreatePipelineLayout(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pPipelineLayout);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreatePipelineLayout_reply(device, pCreateInfo, pAllocator, pPipelineLayout) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyPipelineLayout(&submit->command, cmd_flags, device, pipelineLayout, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyPipelineLayout_reply(device, pipelineLayout, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreatePipelineLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pPipelineLayout, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreatePipelineLayout_reply(&submit.reply, device, pCreateInfo, pAllocator, pPipelineLayout);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreatePipelineLayout(struct vn_instance *vn_instance, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreatePipelineLayout(vn_instance, 0, device, pCreateInfo, pAllocator, pPipelineLayout, &submit);
+}
+
+static inline void vn_call_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipelineLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pipelineLayout, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyPipelineLayout_reply(&submit.reply, device, pipelineLayout, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyPipelineLayout(struct vn_instance *vn_instance, VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyPipelineLayout(vn_instance, 0, device, pipelineLayout, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_PIPELINE_LAYOUT_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_query_pool.h b/src/virtio/venus-protocol/vn_protocol_driver_query_pool.h
new file mode 100644
index 00000000000..f2911ed0b4b
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_query_pool.h
@@ -0,0 +1,488 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_QUERY_POOL_H
+#define VN_PROTOCOL_DRIVER_QUERY_POOL_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkQueryPoolCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkQueryPoolCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkQueryPoolCreateInfo_self(const VkQueryPoolCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkQueryType(&val->queryType);
+ size += vn_sizeof_uint32_t(&val->queryCount);
+ size += vn_sizeof_VkFlags(&val->pipelineStatistics);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkQueryPoolCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkQueryPoolCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkQueryPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkQueryPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkQueryPoolCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkQueryType(enc, &val->queryType);
+ vn_encode_uint32_t(enc, &val->queryCount);
+ vn_encode_VkFlags(enc, &val->pipelineStatistics);
+}
+
+static inline void
+vn_encode_VkQueryPoolCreateInfo(struct vn_cs_encoder *enc, const VkQueryPoolCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO });
+ vn_encode_VkQueryPoolCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkQueryPoolCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkQueryPoolCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pQueryPool);
+ if (pQueryPool)
+ cmd_size += vn_sizeof_VkQueryPool(pQueryPool);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkQueryPoolCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pQueryPool))
+ vn_encode_VkQueryPool(enc, pQueryPool);
+}
+
+static inline size_t vn_sizeof_vkCreateQueryPool_reply(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateQueryPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pQueryPool);
+ if (pQueryPool)
+ cmd_size += vn_sizeof_VkQueryPool(pQueryPool);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateQueryPool_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkQueryPool(dec, pQueryPool);
+ } else {
+ pQueryPool = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyQueryPool_reply(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyQueryPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip queryPool */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyQueryPool_EXT);
+
+ /* skip device */
+ /* skip queryPool */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&firstQuery);
+ cmd_size += vn_sizeof_uint32_t(&queryCount);
+ cmd_size += vn_sizeof_size_t(&dataSize);
+ cmd_size += vn_sizeof_simple_pointer(pData); /* out */
+ cmd_size += vn_sizeof_VkDeviceSize(&stride);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetQueryPoolResults(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &firstQuery);
+ vn_encode_uint32_t(enc, &queryCount);
+ vn_encode_size_t(enc, &dataSize);
+ vn_encode_array_size(enc, pData ? dataSize : 0); /* out */
+ vn_encode_VkDeviceSize(enc, &stride);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkGetQueryPoolResults_reply(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+ /* skip dataSize */
+ if (pData) {
+ cmd_size += vn_sizeof_array_size(dataSize);
+ cmd_size += vn_sizeof_blob_array(pData, dataSize);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ /* skip stride */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetQueryPoolResults_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+ /* skip dataSize */
+ if (vn_peek_array_size(dec)) {
+ 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);
+ pData = NULL;
+ }
+ /* skip stride */
+ /* skip flags */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkQueryPool(&queryPool);
+ cmd_size += vn_sizeof_uint32_t(&firstQuery);
+ cmd_size += vn_sizeof_uint32_t(&queryCount);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkResetQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkQueryPool(enc, &queryPool);
+ vn_encode_uint32_t(enc, &firstQuery);
+ vn_encode_uint32_t(enc, &queryCount);
+}
+
+static inline size_t vn_sizeof_vkResetQueryPool_reply(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetQueryPool_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkResetQueryPool_reply(struct vn_cs_decoder *dec, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkResetQueryPool_EXT);
+
+ /* skip device */
+ /* skip queryPool */
+ /* skip firstQuery */
+ /* skip queryCount */
+}
+
+static inline void vn_submit_vkCreateQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateQueryPool(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pQueryPool);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateQueryPool_reply(device, pCreateInfo, pAllocator, pQueryPool) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyQueryPool(device, queryPool, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyQueryPool(&submit->command, cmd_flags, device, queryPool, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyQueryPool_reply(device, queryPool, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetQueryPoolResults(&submit->command, cmd_flags, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetQueryPoolResults_reply(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkResetQueryPool(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkResetQueryPool(device, queryPool, firstQuery, queryCount);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkResetQueryPool(&submit->command, cmd_flags, device, queryPool, firstQuery, queryCount);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetQueryPool_reply(device, queryPool, firstQuery, queryCount) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateQueryPool(struct vn_instance *vn_instance, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pQueryPool, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateQueryPool_reply(&submit.reply, device, pCreateInfo, pAllocator, pQueryPool);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateQueryPool(struct vn_instance *vn_instance, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateQueryPool(vn_instance, 0, device, pCreateInfo, pAllocator, pQueryPool, &submit);
+}
+
+static inline void vn_call_vkDestroyQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyQueryPool_reply(&submit.reply, device, queryPool, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyQueryPool(vn_instance, 0, device, queryPool, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetQueryPoolResults(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetQueryPoolResults_reply(&submit.reply, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetQueryPoolResults(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetQueryPoolResults(vn_instance, 0, device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags, &submit);
+}
+
+static inline void vn_call_vkResetQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queryPool, firstQuery, queryCount, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkResetQueryPool_reply(&submit.reply, device, queryPool, firstQuery, queryCount);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkResetQueryPool(struct vn_instance *vn_instance, VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkResetQueryPool(vn_instance, 0, device, queryPool, firstQuery, queryCount, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_QUERY_POOL_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_queue.h b/src/virtio/venus-protocol/vn_protocol_driver_queue.h
new file mode 100644
index 00000000000..1c0e8d24fed
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_queue.h
@@ -0,0 +1,1092 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_QUEUE_H
+#define VN_PROTOCOL_DRIVER_QUEUE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkDeviceGroupSubmitInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceGroupSubmitInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupSubmitInfo_self(const VkDeviceGroupSubmitInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
+ if (val->pWaitSemaphoreDeviceIndices) {
+ size += vn_sizeof_array_size(val->waitSemaphoreCount);
+ size += vn_sizeof_uint32_t_array(val->pWaitSemaphoreDeviceIndices, val->waitSemaphoreCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->commandBufferCount);
+ if (val->pCommandBufferDeviceMasks) {
+ size += vn_sizeof_array_size(val->commandBufferCount);
+ size += vn_sizeof_uint32_t_array(val->pCommandBufferDeviceMasks, val->commandBufferCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
+ if (val->pSignalSemaphoreDeviceIndices) {
+ size += vn_sizeof_array_size(val->signalSemaphoreCount);
+ size += vn_sizeof_uint32_t_array(val->pSignalSemaphoreDeviceIndices, val->signalSemaphoreCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceGroupSubmitInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceGroupSubmitInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceGroupSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceGroupSubmitInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupSubmitInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
+ if (val->pWaitSemaphoreDeviceIndices) {
+ vn_encode_array_size(enc, val->waitSemaphoreCount);
+ vn_encode_uint32_t_array(enc, val->pWaitSemaphoreDeviceIndices, val->waitSemaphoreCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->commandBufferCount);
+ if (val->pCommandBufferDeviceMasks) {
+ vn_encode_array_size(enc, val->commandBufferCount);
+ vn_encode_uint32_t_array(enc, val->pCommandBufferDeviceMasks, val->commandBufferCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
+ if (val->pSignalSemaphoreDeviceIndices) {
+ vn_encode_array_size(enc, val->signalSemaphoreCount);
+ vn_encode_uint32_t_array(enc, val->pSignalSemaphoreDeviceIndices, val->signalSemaphoreCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkDeviceGroupSubmitInfo(struct vn_cs_encoder *enc, const VkDeviceGroupSubmitInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO });
+ vn_encode_VkDeviceGroupSubmitInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceGroupSubmitInfo_self(enc, val);
+}
+
+/* struct VkProtectedSubmitInfo chain */
+
+static inline size_t
+vn_sizeof_VkProtectedSubmitInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkProtectedSubmitInfo_self(const VkProtectedSubmitInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkBool32(&val->protectedSubmit);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkProtectedSubmitInfo(const VkProtectedSubmitInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkProtectedSubmitInfo_pnext(val->pNext);
+ size += vn_sizeof_VkProtectedSubmitInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkProtectedSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkProtectedSubmitInfo_self(struct vn_cs_encoder *enc, const VkProtectedSubmitInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkBool32(enc, &val->protectedSubmit);
+}
+
+static inline void
+vn_encode_VkProtectedSubmitInfo(struct vn_cs_encoder *enc, const VkProtectedSubmitInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO });
+ vn_encode_VkProtectedSubmitInfo_pnext(enc, val->pNext);
+ vn_encode_VkProtectedSubmitInfo_self(enc, val);
+}
+
+/* struct VkTimelineSemaphoreSubmitInfo chain */
+
+static inline size_t
+vn_sizeof_VkTimelineSemaphoreSubmitInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkTimelineSemaphoreSubmitInfo_self(const VkTimelineSemaphoreSubmitInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->waitSemaphoreValueCount);
+ if (val->pWaitSemaphoreValues) {
+ size += vn_sizeof_array_size(val->waitSemaphoreValueCount);
+ size += vn_sizeof_uint64_t_array(val->pWaitSemaphoreValues, val->waitSemaphoreValueCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->signalSemaphoreValueCount);
+ if (val->pSignalSemaphoreValues) {
+ size += vn_sizeof_array_size(val->signalSemaphoreValueCount);
+ size += vn_sizeof_uint64_t_array(val->pSignalSemaphoreValues, val->signalSemaphoreValueCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkTimelineSemaphoreSubmitInfo(const VkTimelineSemaphoreSubmitInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_pnext(val->pNext);
+ size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkTimelineSemaphoreSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkTimelineSemaphoreSubmitInfo_self(struct vn_cs_encoder *enc, const VkTimelineSemaphoreSubmitInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->waitSemaphoreValueCount);
+ if (val->pWaitSemaphoreValues) {
+ vn_encode_array_size(enc, val->waitSemaphoreValueCount);
+ vn_encode_uint64_t_array(enc, val->pWaitSemaphoreValues, val->waitSemaphoreValueCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->signalSemaphoreValueCount);
+ if (val->pSignalSemaphoreValues) {
+ vn_encode_array_size(enc, val->signalSemaphoreValueCount);
+ vn_encode_uint64_t_array(enc, val->pSignalSemaphoreValues, val->signalSemaphoreValueCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkTimelineSemaphoreSubmitInfo(struct vn_cs_encoder *enc, const VkTimelineSemaphoreSubmitInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO });
+ vn_encode_VkTimelineSemaphoreSubmitInfo_pnext(enc, val->pNext);
+ vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, val);
+}
+
+/* struct VkSubmitInfo chain */
+
+static inline size_t
+vn_sizeof_VkSubmitInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDeviceGroupSubmitInfo_self((const VkDeviceGroupSubmitInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkProtectedSubmitInfo_self((const VkProtectedSubmitInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self((const VkTimelineSemaphoreSubmitInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubmitInfo_self(const VkSubmitInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
+ if (val->pWaitSemaphores) {
+ size += vn_sizeof_array_size(val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ size += vn_sizeof_VkSemaphore(&val->pWaitSemaphores[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pWaitDstStageMask) {
+ size += vn_sizeof_array_size(val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ size += vn_sizeof_VkFlags(&val->pWaitDstStageMask[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->commandBufferCount);
+ if (val->pCommandBuffers) {
+ size += vn_sizeof_array_size(val->commandBufferCount);
+ for (uint32_t i = 0; i < val->commandBufferCount; i++)
+ size += vn_sizeof_VkCommandBuffer(&val->pCommandBuffers[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
+ if (val->pSignalSemaphores) {
+ size += vn_sizeof_array_size(val->signalSemaphoreCount);
+ for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
+ size += vn_sizeof_VkSemaphore(&val->pSignalSemaphores[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubmitInfo(const VkSubmitInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubmitInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSubmitInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDeviceGroupSubmitInfo_self(enc, (const VkDeviceGroupSubmitInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkProtectedSubmitInfo_self(enc, (const VkProtectedSubmitInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, (const VkTimelineSemaphoreSubmitInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubmitInfo_self(struct vn_cs_encoder *enc, const VkSubmitInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
+ if (val->pWaitSemaphores) {
+ vn_encode_array_size(enc, val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ vn_encode_VkSemaphore(enc, &val->pWaitSemaphores[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pWaitDstStageMask) {
+ vn_encode_array_size(enc, val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ vn_encode_VkFlags(enc, &val->pWaitDstStageMask[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->commandBufferCount);
+ if (val->pCommandBuffers) {
+ vn_encode_array_size(enc, val->commandBufferCount);
+ for (uint32_t i = 0; i < val->commandBufferCount; i++)
+ vn_encode_VkCommandBuffer(enc, &val->pCommandBuffers[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
+ if (val->pSignalSemaphores) {
+ vn_encode_array_size(enc, val->signalSemaphoreCount);
+ for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
+ vn_encode_VkSemaphore(enc, &val->pSignalSemaphores[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkSubmitInfo(struct vn_cs_encoder *enc, const VkSubmitInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBMIT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBMIT_INFO });
+ vn_encode_VkSubmitInfo_pnext(enc, val->pNext);
+ vn_encode_VkSubmitInfo_self(enc, val);
+}
+
+/* struct VkSparseMemoryBind */
+
+static inline size_t
+vn_sizeof_VkSparseMemoryBind(const VkSparseMemoryBind *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkDeviceSize(&val->resourceOffset);
+ size += vn_sizeof_VkDeviceSize(&val->size);
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseMemoryBind(struct vn_cs_encoder *enc, const VkSparseMemoryBind *val)
+{
+ vn_encode_VkDeviceSize(enc, &val->resourceOffset);
+ vn_encode_VkDeviceSize(enc, &val->size);
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+ vn_encode_VkDeviceSize(enc, &val->memoryOffset);
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+/* struct VkSparseBufferMemoryBindInfo */
+
+static inline size_t
+vn_sizeof_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkBuffer(&val->buffer);
+ size += vn_sizeof_uint32_t(&val->bindCount);
+ if (val->pBinds) {
+ size += vn_sizeof_array_size(val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ size += vn_sizeof_VkSparseMemoryBind(&val->pBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseBufferMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseBufferMemoryBindInfo *val)
+{
+ vn_encode_VkBuffer(enc, &val->buffer);
+ vn_encode_uint32_t(enc, &val->bindCount);
+ if (val->pBinds) {
+ vn_encode_array_size(enc, val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ vn_encode_VkSparseMemoryBind(enc, &val->pBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkSparseImageOpaqueMemoryBindInfo */
+
+static inline size_t
+vn_sizeof_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_uint32_t(&val->bindCount);
+ if (val->pBinds) {
+ size += vn_sizeof_array_size(val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ size += vn_sizeof_VkSparseMemoryBind(&val->pBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageOpaqueMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseImageOpaqueMemoryBindInfo *val)
+{
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_uint32_t(enc, &val->bindCount);
+ if (val->pBinds) {
+ vn_encode_array_size(enc, val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ vn_encode_VkSparseMemoryBind(enc, &val->pBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkSparseImageMemoryBind */
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryBind(const VkSparseImageMemoryBind *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImageSubresource(&val->subresource);
+ size += vn_sizeof_VkOffset3D(&val->offset);
+ size += vn_sizeof_VkExtent3D(&val->extent);
+ size += vn_sizeof_VkDeviceMemory(&val->memory);
+ size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryBind(struct vn_cs_encoder *enc, const VkSparseImageMemoryBind *val)
+{
+ vn_encode_VkImageSubresource(enc, &val->subresource);
+ vn_encode_VkOffset3D(enc, &val->offset);
+ vn_encode_VkExtent3D(enc, &val->extent);
+ vn_encode_VkDeviceMemory(enc, &val->memory);
+ vn_encode_VkDeviceSize(enc, &val->memoryOffset);
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+/* struct VkSparseImageMemoryBindInfo */
+
+static inline size_t
+vn_sizeof_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkImage(&val->image);
+ size += vn_sizeof_uint32_t(&val->bindCount);
+ if (val->pBinds) {
+ size += vn_sizeof_array_size(val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ size += vn_sizeof_VkSparseImageMemoryBind(&val->pBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkSparseImageMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseImageMemoryBindInfo *val)
+{
+ vn_encode_VkImage(enc, &val->image);
+ vn_encode_uint32_t(enc, &val->bindCount);
+ if (val->pBinds) {
+ vn_encode_array_size(enc, val->bindCount);
+ for (uint32_t i = 0; i < val->bindCount; i++)
+ vn_encode_VkSparseImageMemoryBind(enc, &val->pBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkDeviceGroupBindSparseInfo chain */
+
+static inline size_t
+vn_sizeof_VkDeviceGroupBindSparseInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupBindSparseInfo_self(const VkDeviceGroupBindSparseInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->resourceDeviceIndex);
+ size += vn_sizeof_uint32_t(&val->memoryDeviceIndex);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkDeviceGroupBindSparseInfo_pnext(val->pNext);
+ size += vn_sizeof_VkDeviceGroupBindSparseInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkDeviceGroupBindSparseInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkDeviceGroupBindSparseInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupBindSparseInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->resourceDeviceIndex);
+ vn_encode_uint32_t(enc, &val->memoryDeviceIndex);
+}
+
+static inline void
+vn_encode_VkDeviceGroupBindSparseInfo(struct vn_cs_encoder *enc, const VkDeviceGroupBindSparseInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO });
+ vn_encode_VkDeviceGroupBindSparseInfo_pnext(enc, val->pNext);
+ vn_encode_VkDeviceGroupBindSparseInfo_self(enc, val);
+}
+
+/* struct VkBindSparseInfo chain */
+
+static inline size_t
+vn_sizeof_VkBindSparseInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBindSparseInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkDeviceGroupBindSparseInfo_self((const VkDeviceGroupBindSparseInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkBindSparseInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self((const VkTimelineSemaphoreSubmitInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkBindSparseInfo_self(const VkBindSparseInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
+ if (val->pWaitSemaphores) {
+ size += vn_sizeof_array_size(val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ size += vn_sizeof_VkSemaphore(&val->pWaitSemaphores[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->bufferBindCount);
+ if (val->pBufferBinds) {
+ size += vn_sizeof_array_size(val->bufferBindCount);
+ for (uint32_t i = 0; i < val->bufferBindCount; i++)
+ size += vn_sizeof_VkSparseBufferMemoryBindInfo(&val->pBufferBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->imageOpaqueBindCount);
+ if (val->pImageOpaqueBinds) {
+ size += vn_sizeof_array_size(val->imageOpaqueBindCount);
+ for (uint32_t i = 0; i < val->imageOpaqueBindCount; i++)
+ size += vn_sizeof_VkSparseImageOpaqueMemoryBindInfo(&val->pImageOpaqueBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->imageBindCount);
+ if (val->pImageBinds) {
+ size += vn_sizeof_array_size(val->imageBindCount);
+ for (uint32_t i = 0; i < val->imageBindCount; i++)
+ size += vn_sizeof_VkSparseImageMemoryBindInfo(&val->pImageBinds[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
+ if (val->pSignalSemaphores) {
+ size += vn_sizeof_array_size(val->signalSemaphoreCount);
+ for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
+ size += vn_sizeof_VkSemaphore(&val->pSignalSemaphores[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkBindSparseInfo(const VkBindSparseInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkBindSparseInfo_pnext(val->pNext);
+ size += vn_sizeof_VkBindSparseInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkBindSparseInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBindSparseInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkDeviceGroupBindSparseInfo_self(enc, (const VkDeviceGroupBindSparseInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkBindSparseInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, (const VkTimelineSemaphoreSubmitInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkBindSparseInfo_self(struct vn_cs_encoder *enc, const VkBindSparseInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
+ if (val->pWaitSemaphores) {
+ vn_encode_array_size(enc, val->waitSemaphoreCount);
+ for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
+ vn_encode_VkSemaphore(enc, &val->pWaitSemaphores[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->bufferBindCount);
+ if (val->pBufferBinds) {
+ vn_encode_array_size(enc, val->bufferBindCount);
+ for (uint32_t i = 0; i < val->bufferBindCount; i++)
+ vn_encode_VkSparseBufferMemoryBindInfo(enc, &val->pBufferBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->imageOpaqueBindCount);
+ if (val->pImageOpaqueBinds) {
+ vn_encode_array_size(enc, val->imageOpaqueBindCount);
+ for (uint32_t i = 0; i < val->imageOpaqueBindCount; i++)
+ vn_encode_VkSparseImageOpaqueMemoryBindInfo(enc, &val->pImageOpaqueBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->imageBindCount);
+ if (val->pImageBinds) {
+ vn_encode_array_size(enc, val->imageBindCount);
+ for (uint32_t i = 0; i < val->imageBindCount; i++)
+ vn_encode_VkSparseImageMemoryBindInfo(enc, &val->pImageBinds[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
+ if (val->pSignalSemaphores) {
+ vn_encode_array_size(enc, val->signalSemaphoreCount);
+ for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
+ vn_encode_VkSemaphore(enc, &val->pSignalSemaphores[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkBindSparseInfo(struct vn_cs_encoder *enc, const VkBindSparseInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_BIND_SPARSE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO });
+ vn_encode_VkBindSparseInfo_pnext(enc, val->pNext);
+ vn_encode_VkBindSparseInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkQueue(&queue);
+ cmd_size += vn_sizeof_uint32_t(&submitCount);
+ if (pSubmits) {
+ cmd_size += vn_sizeof_array_size(submitCount);
+ for (uint32_t i = 0; i < submitCount; i++)
+ cmd_size += vn_sizeof_VkSubmitInfo(&pSubmits[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkFence(&fence);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkQueueSubmit(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkQueue(enc, &queue);
+ vn_encode_uint32_t(enc, &submitCount);
+ if (pSubmits) {
+ vn_encode_array_size(enc, submitCount);
+ for (uint32_t i = 0; i < submitCount; i++)
+ vn_encode_VkSubmitInfo(enc, &pSubmits[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkFence(enc, &fence);
+}
+
+static inline size_t vn_sizeof_vkQueueSubmit_reply(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueSubmit_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip queue */
+ /* skip submitCount */
+ /* skip pSubmits */
+ /* skip fence */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkQueueSubmit_reply(struct vn_cs_decoder *dec, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkQueueSubmit_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip queue */
+ /* skip submitCount */
+ /* skip pSubmits */
+ /* skip fence */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkQueueWaitIdle(VkQueue queue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkQueue(&queue);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkQueueWaitIdle(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkQueue(enc, &queue);
+}
+
+static inline size_t vn_sizeof_vkQueueWaitIdle_reply(VkQueue queue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueWaitIdle_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip queue */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkQueueWaitIdle_reply(struct vn_cs_decoder *dec, VkQueue queue)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkQueueWaitIdle_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip queue */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkQueue(&queue);
+ cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
+ if (pBindInfo) {
+ cmd_size += vn_sizeof_array_size(bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ cmd_size += vn_sizeof_VkBindSparseInfo(&pBindInfo[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkFence(&fence);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkQueueBindSparse(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkQueue(enc, &queue);
+ vn_encode_uint32_t(enc, &bindInfoCount);
+ if (pBindInfo) {
+ vn_encode_array_size(enc, bindInfoCount);
+ for (uint32_t i = 0; i < bindInfoCount; i++)
+ vn_encode_VkBindSparseInfo(enc, &pBindInfo[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkFence(enc, &fence);
+}
+
+static inline size_t vn_sizeof_vkQueueBindSparse_reply(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkQueueBindSparse_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip queue */
+ /* skip bindInfoCount */
+ /* skip pBindInfo */
+ /* skip fence */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkQueueBindSparse_reply(struct vn_cs_decoder *dec, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkQueueBindSparse_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip queue */
+ /* skip bindInfoCount */
+ /* skip pBindInfo */
+ /* skip fence */
+
+ return ret;
+}
+
+static inline void vn_submit_vkQueueSubmit(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkQueueSubmit(queue, submitCount, pSubmits, fence);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkQueueSubmit(&submit->command, cmd_flags, queue, submitCount, pSubmits, fence);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueSubmit_reply(queue, submitCount, pSubmits, fence) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkQueueWaitIdle(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkQueueWaitIdle(queue);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkQueueWaitIdle(&submit->command, cmd_flags, queue);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueWaitIdle_reply(queue) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkQueueBindSparse(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkQueueBindSparse(&submit->command, cmd_flags, queue, bindInfoCount, pBindInfo, fence);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkQueueBindSparse_reply(queue, bindInfoCount, pBindInfo, fence) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkQueueSubmit(struct vn_instance *vn_instance, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueSubmit(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, submitCount, pSubmits, fence, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkQueueSubmit_reply(&submit.reply, queue, submitCount, pSubmits, fence);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkQueueSubmit(struct vn_instance *vn_instance, VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueSubmit(vn_instance, 0, queue, submitCount, pSubmits, fence, &submit);
+}
+
+static inline VkResult vn_call_vkQueueWaitIdle(struct vn_instance *vn_instance, VkQueue queue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueWaitIdle(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkQueueWaitIdle_reply(&submit.reply, queue);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkQueueWaitIdle(struct vn_instance *vn_instance, VkQueue queue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueWaitIdle(vn_instance, 0, queue, &submit);
+}
+
+static inline VkResult vn_call_vkQueueBindSparse(struct vn_instance *vn_instance, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueBindSparse(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, queue, bindInfoCount, pBindInfo, fence, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkQueueBindSparse_reply(&submit.reply, queue, bindInfoCount, pBindInfo, fence);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkQueueBindSparse(struct vn_instance *vn_instance, VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkQueueBindSparse(vn_instance, 0, queue, bindInfoCount, pBindInfo, fence, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_QUEUE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h b/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h
new file mode 100644
index 00000000000..3252eae25e2
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_render_pass.h
@@ -0,0 +1,1606 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_RENDER_PASS_H
+#define VN_PROTOCOL_DRIVER_RENDER_PASS_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkAttachmentDescription */
+
+static inline size_t
+vn_sizeof_VkAttachmentDescription(const VkAttachmentDescription *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
+ size += vn_sizeof_VkAttachmentLoadOp(&val->loadOp);
+ size += vn_sizeof_VkAttachmentStoreOp(&val->storeOp);
+ size += vn_sizeof_VkAttachmentLoadOp(&val->stencilLoadOp);
+ size += vn_sizeof_VkAttachmentStoreOp(&val->stencilStoreOp);
+ size += vn_sizeof_VkImageLayout(&val->initialLayout);
+ size += vn_sizeof_VkImageLayout(&val->finalLayout);
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentDescription(struct vn_cs_encoder *enc, const VkAttachmentDescription *val)
+{
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkSampleCountFlagBits(enc, &val->samples);
+ vn_encode_VkAttachmentLoadOp(enc, &val->loadOp);
+ vn_encode_VkAttachmentStoreOp(enc, &val->storeOp);
+ vn_encode_VkAttachmentLoadOp(enc, &val->stencilLoadOp);
+ vn_encode_VkAttachmentStoreOp(enc, &val->stencilStoreOp);
+ vn_encode_VkImageLayout(enc, &val->initialLayout);
+ vn_encode_VkImageLayout(enc, &val->finalLayout);
+}
+
+/* struct VkAttachmentReference */
+
+static inline size_t
+vn_sizeof_VkAttachmentReference(const VkAttachmentReference *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->attachment);
+ size += vn_sizeof_VkImageLayout(&val->layout);
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentReference(struct vn_cs_encoder *enc, const VkAttachmentReference *val)
+{
+ vn_encode_uint32_t(enc, &val->attachment);
+ vn_encode_VkImageLayout(enc, &val->layout);
+}
+
+/* struct VkSubpassDescription */
+
+static inline size_t
+vn_sizeof_VkSubpassDescription(const VkSubpassDescription *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
+ size += vn_sizeof_uint32_t(&val->inputAttachmentCount);
+ if (val->pInputAttachments) {
+ size += vn_sizeof_array_size(val->inputAttachmentCount);
+ for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference(&val->pInputAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->colorAttachmentCount);
+ if (val->pColorAttachments) {
+ size += vn_sizeof_array_size(val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference(&val->pColorAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pResolveAttachments) {
+ size += vn_sizeof_array_size(val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference(&val->pResolveAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_simple_pointer(val->pDepthStencilAttachment);
+ if (val->pDepthStencilAttachment)
+ size += vn_sizeof_VkAttachmentReference(val->pDepthStencilAttachment);
+ size += vn_sizeof_uint32_t(&val->preserveAttachmentCount);
+ if (val->pPreserveAttachments) {
+ size += vn_sizeof_array_size(val->preserveAttachmentCount);
+ size += vn_sizeof_uint32_t_array(val->pPreserveAttachments, val->preserveAttachmentCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassDescription(struct vn_cs_encoder *enc, const VkSubpassDescription *val)
+{
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
+ vn_encode_uint32_t(enc, &val->inputAttachmentCount);
+ if (val->pInputAttachments) {
+ vn_encode_array_size(enc, val->inputAttachmentCount);
+ for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
+ vn_encode_VkAttachmentReference(enc, &val->pInputAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->colorAttachmentCount);
+ if (val->pColorAttachments) {
+ vn_encode_array_size(enc, val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ vn_encode_VkAttachmentReference(enc, &val->pColorAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pResolveAttachments) {
+ vn_encode_array_size(enc, val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ vn_encode_VkAttachmentReference(enc, &val->pResolveAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, val->pDepthStencilAttachment))
+ vn_encode_VkAttachmentReference(enc, val->pDepthStencilAttachment);
+ vn_encode_uint32_t(enc, &val->preserveAttachmentCount);
+ if (val->pPreserveAttachments) {
+ vn_encode_array_size(enc, val->preserveAttachmentCount);
+ vn_encode_uint32_t_array(enc, val->pPreserveAttachments, val->preserveAttachmentCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+/* struct VkSubpassDependency */
+
+static inline size_t
+vn_sizeof_VkSubpassDependency(const VkSubpassDependency *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->srcSubpass);
+ size += vn_sizeof_uint32_t(&val->dstSubpass);
+ size += vn_sizeof_VkFlags(&val->srcStageMask);
+ size += vn_sizeof_VkFlags(&val->dstStageMask);
+ size += vn_sizeof_VkFlags(&val->srcAccessMask);
+ size += vn_sizeof_VkFlags(&val->dstAccessMask);
+ size += vn_sizeof_VkFlags(&val->dependencyFlags);
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassDependency(struct vn_cs_encoder *enc, const VkSubpassDependency *val)
+{
+ vn_encode_uint32_t(enc, &val->srcSubpass);
+ vn_encode_uint32_t(enc, &val->dstSubpass);
+ vn_encode_VkFlags(enc, &val->srcStageMask);
+ vn_encode_VkFlags(enc, &val->dstStageMask);
+ vn_encode_VkFlags(enc, &val->srcAccessMask);
+ vn_encode_VkFlags(enc, &val->dstAccessMask);
+ vn_encode_VkFlags(enc, &val->dependencyFlags);
+}
+
+/* struct VkRenderPassMultiviewCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassMultiviewCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassMultiviewCreateInfo_self(const VkRenderPassMultiviewCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->subpassCount);
+ if (val->pViewMasks) {
+ size += vn_sizeof_array_size(val->subpassCount);
+ size += vn_sizeof_uint32_t_array(val->pViewMasks, val->subpassCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->dependencyCount);
+ if (val->pViewOffsets) {
+ size += vn_sizeof_array_size(val->dependencyCount);
+ size += vn_sizeof_int32_t_array(val->pViewOffsets, val->dependencyCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->correlationMaskCount);
+ if (val->pCorrelationMasks) {
+ size += vn_sizeof_array_size(val->correlationMaskCount);
+ size += vn_sizeof_uint32_t_array(val->pCorrelationMasks, val->correlationMaskCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassMultiviewCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassMultiviewCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassMultiviewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassMultiviewCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassMultiviewCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->subpassCount);
+ if (val->pViewMasks) {
+ vn_encode_array_size(enc, val->subpassCount);
+ vn_encode_uint32_t_array(enc, val->pViewMasks, val->subpassCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->dependencyCount);
+ if (val->pViewOffsets) {
+ vn_encode_array_size(enc, val->dependencyCount);
+ vn_encode_int32_t_array(enc, val->pViewOffsets, val->dependencyCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->correlationMaskCount);
+ if (val->pCorrelationMasks) {
+ vn_encode_array_size(enc, val->correlationMaskCount);
+ vn_encode_uint32_t_array(enc, val->pCorrelationMasks, val->correlationMaskCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassMultiviewCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassMultiviewCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO });
+ vn_encode_VkRenderPassMultiviewCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassMultiviewCreateInfo_self(enc, val);
+}
+
+/* struct VkInputAttachmentAspectReference */
+
+static inline size_t
+vn_sizeof_VkInputAttachmentAspectReference(const VkInputAttachmentAspectReference *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->subpass);
+ size += vn_sizeof_uint32_t(&val->inputAttachmentIndex);
+ size += vn_sizeof_VkFlags(&val->aspectMask);
+ return size;
+}
+
+static inline void
+vn_encode_VkInputAttachmentAspectReference(struct vn_cs_encoder *enc, const VkInputAttachmentAspectReference *val)
+{
+ vn_encode_uint32_t(enc, &val->subpass);
+ vn_encode_uint32_t(enc, &val->inputAttachmentIndex);
+ vn_encode_VkFlags(enc, &val->aspectMask);
+}
+
+/* struct VkRenderPassInputAttachmentAspectCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self(const VkRenderPassInputAttachmentAspectCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->aspectReferenceCount);
+ if (val->pAspectReferences) {
+ size += vn_sizeof_array_size(val->aspectReferenceCount);
+ for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
+ size += vn_sizeof_VkInputAttachmentAspectReference(&val->pAspectReferences[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassInputAttachmentAspectCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->aspectReferenceCount);
+ if (val->pAspectReferences) {
+ vn_encode_array_size(enc, val->aspectReferenceCount);
+ for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
+ vn_encode_VkInputAttachmentAspectReference(enc, &val->pAspectReferences[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassInputAttachmentAspectCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassInputAttachmentAspectCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO });
+ vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(enc, val);
+}
+
+/* struct VkRenderPassCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkRenderPassCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkRenderPassMultiviewCreateInfo_self((const VkRenderPassMultiviewCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkRenderPassCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self((const VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo_self(const VkRenderPassCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->attachmentCount);
+ if (val->pAttachments) {
+ size += vn_sizeof_array_size(val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ size += vn_sizeof_VkAttachmentDescription(&val->pAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->subpassCount);
+ if (val->pSubpasses) {
+ size += vn_sizeof_array_size(val->subpassCount);
+ for (uint32_t i = 0; i < val->subpassCount; i++)
+ size += vn_sizeof_VkSubpassDescription(&val->pSubpasses[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->dependencyCount);
+ if (val->pDependencies) {
+ size += vn_sizeof_array_size(val->dependencyCount);
+ for (uint32_t i = 0; i < val->dependencyCount; i++)
+ size += vn_sizeof_VkSubpassDependency(&val->pDependencies[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo(const VkRenderPassCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkRenderPassCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkRenderPassMultiviewCreateInfo_self(enc, (const VkRenderPassMultiviewCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkRenderPassCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(enc, (const VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->attachmentCount);
+ if (val->pAttachments) {
+ vn_encode_array_size(enc, val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ vn_encode_VkAttachmentDescription(enc, &val->pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->subpassCount);
+ if (val->pSubpasses) {
+ vn_encode_array_size(enc, val->subpassCount);
+ for (uint32_t i = 0; i < val->subpassCount; i++)
+ vn_encode_VkSubpassDescription(enc, &val->pSubpasses[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->dependencyCount);
+ if (val->pDependencies) {
+ vn_encode_array_size(enc, val->dependencyCount);
+ for (uint32_t i = 0; i < val->dependencyCount; i++)
+ vn_encode_VkSubpassDependency(enc, &val->pDependencies[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO });
+ vn_encode_VkRenderPassCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassCreateInfo_self(enc, val);
+}
+
+/* struct VkAttachmentDescriptionStencilLayout chain */
+
+static inline size_t
+vn_sizeof_VkAttachmentDescriptionStencilLayout_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentDescriptionStencilLayout_self(const VkAttachmentDescriptionStencilLayout *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageLayout(&val->stencilInitialLayout);
+ size += vn_sizeof_VkImageLayout(&val->stencilFinalLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentDescriptionStencilLayout(const VkAttachmentDescriptionStencilLayout *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkAttachmentDescriptionStencilLayout_pnext(val->pNext);
+ size += vn_sizeof_VkAttachmentDescriptionStencilLayout_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentDescriptionStencilLayout_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkAttachmentDescriptionStencilLayout_self(struct vn_cs_encoder *enc, const VkAttachmentDescriptionStencilLayout *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImageLayout(enc, &val->stencilInitialLayout);
+ vn_encode_VkImageLayout(enc, &val->stencilFinalLayout);
+}
+
+static inline void
+vn_encode_VkAttachmentDescriptionStencilLayout(struct vn_cs_encoder *enc, const VkAttachmentDescriptionStencilLayout *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT });
+ vn_encode_VkAttachmentDescriptionStencilLayout_pnext(enc, val->pNext);
+ vn_encode_VkAttachmentDescriptionStencilLayout_self(enc, val);
+}
+
+/* struct VkAttachmentDescription2 chain */
+
+static inline size_t
+vn_sizeof_VkAttachmentDescription2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkAttachmentDescription2_pnext(pnext->pNext);
+ size += vn_sizeof_VkAttachmentDescriptionStencilLayout_self((const VkAttachmentDescriptionStencilLayout *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentDescription2_self(const VkAttachmentDescription2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
+ size += vn_sizeof_VkAttachmentLoadOp(&val->loadOp);
+ size += vn_sizeof_VkAttachmentStoreOp(&val->storeOp);
+ size += vn_sizeof_VkAttachmentLoadOp(&val->stencilLoadOp);
+ size += vn_sizeof_VkAttachmentStoreOp(&val->stencilStoreOp);
+ size += vn_sizeof_VkImageLayout(&val->initialLayout);
+ size += vn_sizeof_VkImageLayout(&val->finalLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentDescription2(const VkAttachmentDescription2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkAttachmentDescription2_pnext(val->pNext);
+ size += vn_sizeof_VkAttachmentDescription2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentDescription2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkAttachmentDescription2_pnext(enc, pnext->pNext);
+ vn_encode_VkAttachmentDescriptionStencilLayout_self(enc, (const VkAttachmentDescriptionStencilLayout *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkAttachmentDescription2_self(struct vn_cs_encoder *enc, const VkAttachmentDescription2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkSampleCountFlagBits(enc, &val->samples);
+ vn_encode_VkAttachmentLoadOp(enc, &val->loadOp);
+ vn_encode_VkAttachmentStoreOp(enc, &val->storeOp);
+ vn_encode_VkAttachmentLoadOp(enc, &val->stencilLoadOp);
+ vn_encode_VkAttachmentStoreOp(enc, &val->stencilStoreOp);
+ vn_encode_VkImageLayout(enc, &val->initialLayout);
+ vn_encode_VkImageLayout(enc, &val->finalLayout);
+}
+
+static inline void
+vn_encode_VkAttachmentDescription2(struct vn_cs_encoder *enc, const VkAttachmentDescription2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 });
+ vn_encode_VkAttachmentDescription2_pnext(enc, val->pNext);
+ vn_encode_VkAttachmentDescription2_self(enc, val);
+}
+
+/* struct VkAttachmentReferenceStencilLayout chain */
+
+static inline size_t
+vn_sizeof_VkAttachmentReferenceStencilLayout_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentReferenceStencilLayout_self(const VkAttachmentReferenceStencilLayout *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkImageLayout(&val->stencilLayout);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentReferenceStencilLayout(const VkAttachmentReferenceStencilLayout *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkAttachmentReferenceStencilLayout_pnext(val->pNext);
+ size += vn_sizeof_VkAttachmentReferenceStencilLayout_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentReferenceStencilLayout_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkAttachmentReferenceStencilLayout_self(struct vn_cs_encoder *enc, const VkAttachmentReferenceStencilLayout *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkImageLayout(enc, &val->stencilLayout);
+}
+
+static inline void
+vn_encode_VkAttachmentReferenceStencilLayout(struct vn_cs_encoder *enc, const VkAttachmentReferenceStencilLayout *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT });
+ vn_encode_VkAttachmentReferenceStencilLayout_pnext(enc, val->pNext);
+ vn_encode_VkAttachmentReferenceStencilLayout_self(enc, val);
+}
+
+/* struct VkAttachmentReference2 chain */
+
+static inline size_t
+vn_sizeof_VkAttachmentReference2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkAttachmentReference2_pnext(pnext->pNext);
+ size += vn_sizeof_VkAttachmentReferenceStencilLayout_self((const VkAttachmentReferenceStencilLayout *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentReference2_self(const VkAttachmentReference2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->attachment);
+ size += vn_sizeof_VkImageLayout(&val->layout);
+ size += vn_sizeof_VkFlags(&val->aspectMask);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkAttachmentReference2(const VkAttachmentReference2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkAttachmentReference2_pnext(val->pNext);
+ size += vn_sizeof_VkAttachmentReference2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkAttachmentReference2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkAttachmentReference2_pnext(enc, pnext->pNext);
+ vn_encode_VkAttachmentReferenceStencilLayout_self(enc, (const VkAttachmentReferenceStencilLayout *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkAttachmentReference2_self(struct vn_cs_encoder *enc, const VkAttachmentReference2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->attachment);
+ vn_encode_VkImageLayout(enc, &val->layout);
+ vn_encode_VkFlags(enc, &val->aspectMask);
+}
+
+static inline void
+vn_encode_VkAttachmentReference2(struct vn_cs_encoder *enc, const VkAttachmentReference2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 });
+ vn_encode_VkAttachmentReference2_pnext(enc, val->pNext);
+ vn_encode_VkAttachmentReference2_self(enc, val);
+}
+
+/* struct VkSubpassDescriptionDepthStencilResolve chain */
+
+static inline size_t
+vn_sizeof_VkSubpassDescriptionDepthStencilResolve_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self(const VkSubpassDescriptionDepthStencilResolve *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkResolveModeFlagBits(&val->depthResolveMode);
+ size += vn_sizeof_VkResolveModeFlagBits(&val->stencilResolveMode);
+ size += vn_sizeof_simple_pointer(val->pDepthStencilResolveAttachment);
+ if (val->pDepthStencilResolveAttachment)
+ size += vn_sizeof_VkAttachmentReference2(val->pDepthStencilResolveAttachment);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDescriptionDepthStencilResolve(const VkSubpassDescriptionDepthStencilResolve *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_pnext(val->pNext);
+ size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassDescriptionDepthStencilResolve_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubpassDescriptionDepthStencilResolve_self(struct vn_cs_encoder *enc, const VkSubpassDescriptionDepthStencilResolve *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkResolveModeFlagBits(enc, &val->depthResolveMode);
+ vn_encode_VkResolveModeFlagBits(enc, &val->stencilResolveMode);
+ if (vn_encode_simple_pointer(enc, val->pDepthStencilResolveAttachment))
+ vn_encode_VkAttachmentReference2(enc, val->pDepthStencilResolveAttachment);
+}
+
+static inline void
+vn_encode_VkSubpassDescriptionDepthStencilResolve(struct vn_cs_encoder *enc, const VkSubpassDescriptionDepthStencilResolve *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE });
+ vn_encode_VkSubpassDescriptionDepthStencilResolve_pnext(enc, val->pNext);
+ vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, val);
+}
+
+/* struct VkSubpassDescription2 chain */
+
+static inline size_t
+vn_sizeof_VkSubpassDescription2_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSubpassDescription2_pnext(pnext->pNext);
+ size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self((const VkSubpassDescriptionDepthStencilResolve *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDescription2_self(const VkSubpassDescription2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
+ size += vn_sizeof_uint32_t(&val->viewMask);
+ size += vn_sizeof_uint32_t(&val->inputAttachmentCount);
+ if (val->pInputAttachments) {
+ size += vn_sizeof_array_size(val->inputAttachmentCount);
+ for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference2(&val->pInputAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->colorAttachmentCount);
+ if (val->pColorAttachments) {
+ size += vn_sizeof_array_size(val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference2(&val->pColorAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pResolveAttachments) {
+ size += vn_sizeof_array_size(val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ size += vn_sizeof_VkAttachmentReference2(&val->pResolveAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_simple_pointer(val->pDepthStencilAttachment);
+ if (val->pDepthStencilAttachment)
+ size += vn_sizeof_VkAttachmentReference2(val->pDepthStencilAttachment);
+ size += vn_sizeof_uint32_t(&val->preserveAttachmentCount);
+ if (val->pPreserveAttachments) {
+ size += vn_sizeof_array_size(val->preserveAttachmentCount);
+ size += vn_sizeof_uint32_t_array(val->pPreserveAttachments, val->preserveAttachmentCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDescription2(const VkSubpassDescription2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubpassDescription2_pnext(val->pNext);
+ size += vn_sizeof_VkSubpassDescription2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassDescription2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSubpassDescription2_pnext(enc, pnext->pNext);
+ vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, (const VkSubpassDescriptionDepthStencilResolve *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubpassDescription2_self(struct vn_cs_encoder *enc, const VkSubpassDescription2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
+ vn_encode_uint32_t(enc, &val->viewMask);
+ vn_encode_uint32_t(enc, &val->inputAttachmentCount);
+ if (val->pInputAttachments) {
+ vn_encode_array_size(enc, val->inputAttachmentCount);
+ for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
+ vn_encode_VkAttachmentReference2(enc, &val->pInputAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->colorAttachmentCount);
+ if (val->pColorAttachments) {
+ vn_encode_array_size(enc, val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ vn_encode_VkAttachmentReference2(enc, &val->pColorAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pResolveAttachments) {
+ vn_encode_array_size(enc, val->colorAttachmentCount);
+ for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
+ vn_encode_VkAttachmentReference2(enc, &val->pResolveAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (vn_encode_simple_pointer(enc, val->pDepthStencilAttachment))
+ vn_encode_VkAttachmentReference2(enc, val->pDepthStencilAttachment);
+ vn_encode_uint32_t(enc, &val->preserveAttachmentCount);
+ if (val->pPreserveAttachments) {
+ vn_encode_array_size(enc, val->preserveAttachmentCount);
+ vn_encode_uint32_t_array(enc, val->pPreserveAttachments, val->preserveAttachmentCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkSubpassDescription2(struct vn_cs_encoder *enc, const VkSubpassDescription2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 });
+ vn_encode_VkSubpassDescription2_pnext(enc, val->pNext);
+ vn_encode_VkSubpassDescription2_self(enc, val);
+}
+
+/* struct VkSubpassDependency2 chain */
+
+static inline size_t
+vn_sizeof_VkSubpassDependency2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDependency2_self(const VkSubpassDependency2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_uint32_t(&val->srcSubpass);
+ size += vn_sizeof_uint32_t(&val->dstSubpass);
+ size += vn_sizeof_VkFlags(&val->srcStageMask);
+ size += vn_sizeof_VkFlags(&val->dstStageMask);
+ size += vn_sizeof_VkFlags(&val->srcAccessMask);
+ size += vn_sizeof_VkFlags(&val->dstAccessMask);
+ size += vn_sizeof_VkFlags(&val->dependencyFlags);
+ size += vn_sizeof_int32_t(&val->viewOffset);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSubpassDependency2(const VkSubpassDependency2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSubpassDependency2_pnext(val->pNext);
+ size += vn_sizeof_VkSubpassDependency2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSubpassDependency2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSubpassDependency2_self(struct vn_cs_encoder *enc, const VkSubpassDependency2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_uint32_t(enc, &val->srcSubpass);
+ vn_encode_uint32_t(enc, &val->dstSubpass);
+ vn_encode_VkFlags(enc, &val->srcStageMask);
+ vn_encode_VkFlags(enc, &val->dstStageMask);
+ vn_encode_VkFlags(enc, &val->srcAccessMask);
+ vn_encode_VkFlags(enc, &val->dstAccessMask);
+ vn_encode_VkFlags(enc, &val->dependencyFlags);
+ vn_encode_int32_t(enc, &val->viewOffset);
+}
+
+static inline void
+vn_encode_VkSubpassDependency2(struct vn_cs_encoder *enc, const VkSubpassDependency2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 });
+ vn_encode_VkSubpassDependency2_pnext(enc, val->pNext);
+ vn_encode_VkSubpassDependency2_self(enc, val);
+}
+
+/* struct VkRenderPassCreateInfo2 chain */
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo2_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo2_self(const VkRenderPassCreateInfo2 *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->attachmentCount);
+ if (val->pAttachments) {
+ size += vn_sizeof_array_size(val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ size += vn_sizeof_VkAttachmentDescription2(&val->pAttachments[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->subpassCount);
+ if (val->pSubpasses) {
+ size += vn_sizeof_array_size(val->subpassCount);
+ for (uint32_t i = 0; i < val->subpassCount; i++)
+ size += vn_sizeof_VkSubpassDescription2(&val->pSubpasses[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->dependencyCount);
+ if (val->pDependencies) {
+ size += vn_sizeof_array_size(val->dependencyCount);
+ for (uint32_t i = 0; i < val->dependencyCount; i++)
+ size += vn_sizeof_VkSubpassDependency2(&val->pDependencies[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ size += vn_sizeof_uint32_t(&val->correlatedViewMaskCount);
+ if (val->pCorrelatedViewMasks) {
+ size += vn_sizeof_array_size(val->correlatedViewMaskCount);
+ size += vn_sizeof_uint32_t_array(val->pCorrelatedViewMasks, val->correlatedViewMaskCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2 *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRenderPassCreateInfo2_pnext(val->pNext);
+ size += vn_sizeof_VkRenderPassCreateInfo2_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo2_self(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo2 *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->attachmentCount);
+ if (val->pAttachments) {
+ vn_encode_array_size(enc, val->attachmentCount);
+ for (uint32_t i = 0; i < val->attachmentCount; i++)
+ vn_encode_VkAttachmentDescription2(enc, &val->pAttachments[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->subpassCount);
+ if (val->pSubpasses) {
+ vn_encode_array_size(enc, val->subpassCount);
+ for (uint32_t i = 0; i < val->subpassCount; i++)
+ vn_encode_VkSubpassDescription2(enc, &val->pSubpasses[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->dependencyCount);
+ if (val->pDependencies) {
+ vn_encode_array_size(enc, val->dependencyCount);
+ for (uint32_t i = 0; i < val->dependencyCount; i++)
+ vn_encode_VkSubpassDependency2(enc, &val->pDependencies[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &val->correlatedViewMaskCount);
+ if (val->pCorrelatedViewMasks) {
+ vn_encode_array_size(enc, val->correlatedViewMaskCount);
+ vn_encode_uint32_t_array(enc, val->pCorrelatedViewMasks, val->correlatedViewMaskCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkRenderPassCreateInfo2(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo2 *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 });
+ vn_encode_VkRenderPassCreateInfo2_pnext(enc, val->pNext);
+ vn_encode_VkRenderPassCreateInfo2_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkRenderPassCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pRenderPass);
+ if (pRenderPass)
+ cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkRenderPassCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pRenderPass))
+ vn_encode_VkRenderPass(enc, pRenderPass);
+}
+
+static inline size_t vn_sizeof_vkCreateRenderPass_reply(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pRenderPass);
+ if (pRenderPass)
+ cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateRenderPass_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateRenderPass_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkRenderPass(dec, pRenderPass);
+ } else {
+ pRenderPass = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkRenderPass(&renderPass);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkRenderPass(enc, &renderPass);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyRenderPass_reply(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRenderPass_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip renderPass */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyRenderPass_reply(struct vn_cs_decoder *dec, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyRenderPass_EXT);
+
+ /* skip device */
+ /* skip renderPass */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkRenderPass(&renderPass);
+ cmd_size += vn_sizeof_simple_pointer(pGranularity);
+ if (pGranularity)
+ cmd_size += vn_sizeof_VkExtent2D_partial(pGranularity);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetRenderAreaGranularity(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkRenderPass(enc, &renderPass);
+ if (vn_encode_simple_pointer(enc, pGranularity))
+ vn_encode_VkExtent2D_partial(enc, pGranularity);
+}
+
+static inline size_t vn_sizeof_vkGetRenderAreaGranularity_reply(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip renderPass */
+ cmd_size += vn_sizeof_simple_pointer(pGranularity);
+ if (pGranularity)
+ cmd_size += vn_sizeof_VkExtent2D(pGranularity);
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkGetRenderAreaGranularity_reply(struct vn_cs_decoder *dec, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT);
+
+ /* skip device */
+ /* skip renderPass */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkExtent2D(dec, pGranularity);
+ } else {
+ pGranularity = NULL;
+ }
+}
+
+static inline size_t vn_sizeof_vkCreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkRenderPassCreateInfo2(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pRenderPass);
+ if (pRenderPass)
+ cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkRenderPassCreateInfo2(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pRenderPass))
+ vn_encode_VkRenderPass(enc, pRenderPass);
+}
+
+static inline size_t vn_sizeof_vkCreateRenderPass2_reply(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRenderPass2_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pRenderPass);
+ if (pRenderPass)
+ cmd_size += vn_sizeof_VkRenderPass(pRenderPass);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateRenderPass2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateRenderPass2_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkRenderPass(dec, pRenderPass);
+ } else {
+ pRenderPass = NULL;
+ }
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateRenderPass(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pRenderPass);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRenderPass_reply(device, pCreateInfo, pAllocator, pRenderPass) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyRenderPass(device, renderPass, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyRenderPass(&submit->command, cmd_flags, device, renderPass, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyRenderPass_reply(device, renderPass, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetRenderAreaGranularity(device, renderPass, pGranularity);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetRenderAreaGranularity(&submit->command, cmd_flags, device, renderPass, pGranularity);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetRenderAreaGranularity_reply(device, renderPass, pGranularity) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateRenderPass2(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pRenderPass);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRenderPass2_reply(device, pCreateInfo, pAllocator, pRenderPass) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateRenderPass(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pRenderPass, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateRenderPass_reply(&submit.reply, device, pCreateInfo, pAllocator, pRenderPass);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateRenderPass(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRenderPass(vn_instance, 0, device, pCreateInfo, pAllocator, pRenderPass, &submit);
+}
+
+static inline void vn_call_vkDestroyRenderPass(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, renderPass, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyRenderPass_reply(&submit.reply, device, renderPass, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyRenderPass(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyRenderPass(vn_instance, 0, device, renderPass, pAllocator, &submit);
+}
+
+static inline void vn_call_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetRenderAreaGranularity(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, renderPass, pGranularity, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkGetRenderAreaGranularity_reply(&submit.reply, device, renderPass, pGranularity);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkGetRenderAreaGranularity(struct vn_instance *vn_instance, VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetRenderAreaGranularity(vn_instance, 0, device, renderPass, pGranularity, &submit);
+}
+
+static inline VkResult vn_call_vkCreateRenderPass2(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pRenderPass, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateRenderPass2_reply(&submit.reply, device, pCreateInfo, pAllocator, pRenderPass);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateRenderPass2(struct vn_instance *vn_instance, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRenderPass2(vn_instance, 0, device, pCreateInfo, pAllocator, pRenderPass, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_RENDER_PASS_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_sampler.h b/src/virtio/venus-protocol/vn_protocol_driver_sampler.h
new file mode 100644
index 00000000000..f8333d98a47
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_sampler.h
@@ -0,0 +1,396 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_SAMPLER_H
+#define VN_PROTOCOL_DRIVER_SAMPLER_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkSamplerReductionModeCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkSamplerReductionModeCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerReductionModeCreateInfo_self(const VkSamplerReductionModeCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSamplerReductionMode(&val->reductionMode);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerReductionModeCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSamplerReductionModeCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSamplerReductionModeCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSamplerReductionModeCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerReductionModeCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkSamplerReductionMode(enc, &val->reductionMode);
+}
+
+static inline void
+vn_encode_VkSamplerReductionModeCreateInfo(struct vn_cs_encoder *enc, const VkSamplerReductionModeCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO });
+ vn_encode_VkSamplerReductionModeCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkSamplerReductionModeCreateInfo_self(enc, val);
+}
+
+/* struct VkSamplerCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkSamplerCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionInfo_self((const VkSamplerYcbcrConversionInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSamplerReductionModeCreateInfo_self((const VkSamplerReductionModeCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerCreateInfo_self(const VkSamplerCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_VkFilter(&val->magFilter);
+ size += vn_sizeof_VkFilter(&val->minFilter);
+ size += vn_sizeof_VkSamplerMipmapMode(&val->mipmapMode);
+ size += vn_sizeof_VkSamplerAddressMode(&val->addressModeU);
+ size += vn_sizeof_VkSamplerAddressMode(&val->addressModeV);
+ size += vn_sizeof_VkSamplerAddressMode(&val->addressModeW);
+ size += vn_sizeof_float(&val->mipLodBias);
+ size += vn_sizeof_VkBool32(&val->anisotropyEnable);
+ size += vn_sizeof_float(&val->maxAnisotropy);
+ size += vn_sizeof_VkBool32(&val->compareEnable);
+ size += vn_sizeof_VkCompareOp(&val->compareOp);
+ size += vn_sizeof_float(&val->minLod);
+ size += vn_sizeof_float(&val->maxLod);
+ size += vn_sizeof_VkBorderColor(&val->borderColor);
+ size += vn_sizeof_VkBool32(&val->unnormalizedCoordinates);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerCreateInfo(const VkSamplerCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSamplerCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSamplerCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSamplerYcbcrConversionInfo_self(enc, (const VkSamplerYcbcrConversionInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSamplerReductionModeCreateInfo_self(enc, (const VkSamplerReductionModeCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSamplerCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_VkFilter(enc, &val->magFilter);
+ vn_encode_VkFilter(enc, &val->minFilter);
+ vn_encode_VkSamplerMipmapMode(enc, &val->mipmapMode);
+ vn_encode_VkSamplerAddressMode(enc, &val->addressModeU);
+ vn_encode_VkSamplerAddressMode(enc, &val->addressModeV);
+ vn_encode_VkSamplerAddressMode(enc, &val->addressModeW);
+ vn_encode_float(enc, &val->mipLodBias);
+ vn_encode_VkBool32(enc, &val->anisotropyEnable);
+ vn_encode_float(enc, &val->maxAnisotropy);
+ vn_encode_VkBool32(enc, &val->compareEnable);
+ vn_encode_VkCompareOp(enc, &val->compareOp);
+ vn_encode_float(enc, &val->minLod);
+ vn_encode_float(enc, &val->maxLod);
+ vn_encode_VkBorderColor(enc, &val->borderColor);
+ vn_encode_VkBool32(enc, &val->unnormalizedCoordinates);
+}
+
+static inline void
+vn_encode_VkSamplerCreateInfo(struct vn_cs_encoder *enc, const VkSamplerCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO });
+ vn_encode_VkSamplerCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkSamplerCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkSamplerCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pSampler);
+ if (pSampler)
+ cmd_size += vn_sizeof_VkSampler(pSampler);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateSampler(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkSamplerCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pSampler))
+ vn_encode_VkSampler(enc, pSampler);
+}
+
+static inline size_t vn_sizeof_vkCreateSampler_reply(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSampler_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pSampler);
+ if (pSampler)
+ cmd_size += vn_sizeof_VkSampler(pSampler);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateSampler_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateSampler_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkSampler(dec, pSampler);
+ } else {
+ pSampler = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkSampler(&sampler);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroySampler(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkSampler(enc, &sampler);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroySampler_reply(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySampler_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip sampler */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroySampler_reply(struct vn_cs_decoder *dec, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroySampler_EXT);
+
+ /* skip device */
+ /* skip sampler */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateSampler(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateSampler(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSampler);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSampler_reply(device, pCreateInfo, pAllocator, pSampler) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroySampler(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroySampler(device, sampler, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroySampler(&submit->command, cmd_flags, device, sampler, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySampler_reply(device, sampler, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateSampler(struct vn_instance *vn_instance, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSampler(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSampler, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateSampler_reply(&submit.reply, device, pCreateInfo, pAllocator, pSampler);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateSampler(struct vn_instance *vn_instance, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSampler(vn_instance, 0, device, pCreateInfo, pAllocator, pSampler, &submit);
+}
+
+static inline void vn_call_vkDestroySampler(struct vn_instance *vn_instance, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySampler(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, sampler, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroySampler_reply(&submit.reply, device, sampler, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroySampler(struct vn_instance *vn_instance, VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySampler(vn_instance, 0, device, sampler, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_SAMPLER_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_sampler_ycbcr_conversion.h b/src/virtio/venus-protocol/vn_protocol_driver_sampler_ycbcr_conversion.h
new file mode 100644
index 00000000000..f94adb0ff06
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_sampler_ycbcr_conversion.h
@@ -0,0 +1,282 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_SAMPLER_YCBCR_CONVERSION_H
+#define VN_PROTOCOL_DRIVER_SAMPLER_YCBCR_CONVERSION_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkSamplerYcbcrConversionCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionCreateInfo_self(const VkSamplerYcbcrConversionCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFormat(&val->format);
+ size += vn_sizeof_VkSamplerYcbcrModelConversion(&val->ycbcrModel);
+ size += vn_sizeof_VkSamplerYcbcrRange(&val->ycbcrRange);
+ size += vn_sizeof_VkComponentMapping(&val->components);
+ size += vn_sizeof_VkChromaLocation(&val->xChromaOffset);
+ size += vn_sizeof_VkChromaLocation(&val->yChromaOffset);
+ size += vn_sizeof_VkFilter(&val->chromaFilter);
+ size += vn_sizeof_VkBool32(&val->forceExplicitReconstruction);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFormat(enc, &val->format);
+ vn_encode_VkSamplerYcbcrModelConversion(enc, &val->ycbcrModel);
+ vn_encode_VkSamplerYcbcrRange(enc, &val->ycbcrRange);
+ vn_encode_VkComponentMapping(enc, &val->components);
+ vn_encode_VkChromaLocation(enc, &val->xChromaOffset);
+ vn_encode_VkChromaLocation(enc, &val->yChromaOffset);
+ vn_encode_VkFilter(enc, &val->chromaFilter);
+ vn_encode_VkBool32(enc, &val->forceExplicitReconstruction);
+}
+
+static inline void
+vn_encode_VkSamplerYcbcrConversionCreateInfo(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO });
+ vn_encode_VkSamplerYcbcrConversionCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkSamplerYcbcrConversionCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pYcbcrConversion);
+ if (pYcbcrConversion)
+ cmd_size += vn_sizeof_VkSamplerYcbcrConversion(pYcbcrConversion);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateSamplerYcbcrConversion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkSamplerYcbcrConversionCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pYcbcrConversion))
+ vn_encode_VkSamplerYcbcrConversion(enc, pYcbcrConversion);
+}
+
+static inline size_t vn_sizeof_vkCreateSamplerYcbcrConversion_reply(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pYcbcrConversion);
+ if (pYcbcrConversion)
+ cmd_size += vn_sizeof_VkSamplerYcbcrConversion(pYcbcrConversion);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateSamplerYcbcrConversion_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkSamplerYcbcrConversion(dec, pYcbcrConversion);
+ } else {
+ pYcbcrConversion = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkSamplerYcbcrConversion(&ycbcrConversion);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroySamplerYcbcrConversion(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkSamplerYcbcrConversion(enc, &ycbcrConversion);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroySamplerYcbcrConversion_reply(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip ycbcrConversion */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroySamplerYcbcrConversion_reply(struct vn_cs_decoder *dec, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT);
+
+ /* skip device */
+ /* skip ycbcrConversion */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateSamplerYcbcrConversion(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pYcbcrConversion);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSamplerYcbcrConversion_reply(device, pCreateInfo, pAllocator, pYcbcrConversion) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroySamplerYcbcrConversion(&submit->command, cmd_flags, device, ycbcrConversion, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySamplerYcbcrConversion_reply(device, ycbcrConversion, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSamplerYcbcrConversion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pYcbcrConversion, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateSamplerYcbcrConversion_reply(&submit.reply, device, pCreateInfo, pAllocator, pYcbcrConversion);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateSamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSamplerYcbcrConversion(vn_instance, 0, device, pCreateInfo, pAllocator, pYcbcrConversion, &submit);
+}
+
+static inline void vn_call_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySamplerYcbcrConversion(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, ycbcrConversion, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroySamplerYcbcrConversion_reply(&submit.reply, device, ycbcrConversion, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroySamplerYcbcrConversion(struct vn_instance *vn_instance, VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySamplerYcbcrConversion(vn_instance, 0, device, ycbcrConversion, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_SAMPLER_YCBCR_CONVERSION_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_semaphore.h b/src/virtio/venus-protocol/vn_protocol_driver_semaphore.h
new file mode 100644
index 00000000000..65e69219d33
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_semaphore.h
@@ -0,0 +1,820 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_SEMAPHORE_H
+#define VN_PROTOCOL_DRIVER_SEMAPHORE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkExportSemaphoreCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkExportSemaphoreCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkExportSemaphoreCreateInfo_self(const VkExportSemaphoreCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->handleTypes);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkExportSemaphoreCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkExportSemaphoreCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkExportSemaphoreCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkExportSemaphoreCreateInfo_self(struct vn_cs_encoder *enc, const VkExportSemaphoreCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->handleTypes);
+}
+
+static inline void
+vn_encode_VkExportSemaphoreCreateInfo(struct vn_cs_encoder *enc, const VkExportSemaphoreCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO });
+ vn_encode_VkExportSemaphoreCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkExportSemaphoreCreateInfo_self(enc, val);
+}
+
+/* struct VkSemaphoreCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkSemaphoreCreateInfo_pnext(const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+ size_t size = 0;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSemaphoreCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkExportSemaphoreCreateInfo_self((const VkExportSemaphoreCreateInfo *)pnext);
+ return size;
+ case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
+ size += vn_sizeof_simple_pointer(pnext);
+ size += vn_sizeof_VkStructureType(&pnext->sType);
+ size += vn_sizeof_VkSemaphoreCreateInfo_pnext(pnext->pNext);
+ size += vn_sizeof_VkSemaphoreTypeCreateInfo_self((const VkSemaphoreTypeCreateInfo *)pnext);
+ return size;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreCreateInfo_self(const VkSemaphoreCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSemaphoreCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSemaphoreCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSemaphoreCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ const VkBaseInStructure *pnext = val;
+
+ while (pnext) {
+ switch ((int32_t)pnext->sType) {
+ case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSemaphoreCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkExportSemaphoreCreateInfo_self(enc, (const VkExportSemaphoreCreateInfo *)pnext);
+ return;
+ case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
+ vn_encode_simple_pointer(enc, pnext);
+ vn_encode_VkStructureType(enc, &pnext->sType);
+ vn_encode_VkSemaphoreCreateInfo_pnext(enc, pnext->pNext);
+ vn_encode_VkSemaphoreTypeCreateInfo_self(enc, (const VkSemaphoreTypeCreateInfo *)pnext);
+ return;
+ default:
+ /* ignore unknown/unsupported struct */
+ break;
+ }
+ pnext = pnext->pNext;
+ }
+
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSemaphoreCreateInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+}
+
+static inline void
+vn_encode_VkSemaphoreCreateInfo(struct vn_cs_encoder *enc, const VkSemaphoreCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO });
+ vn_encode_VkSemaphoreCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkSemaphoreCreateInfo_self(enc, val);
+}
+
+/* struct VkSemaphoreWaitInfo chain */
+
+static inline size_t
+vn_sizeof_VkSemaphoreWaitInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreWaitInfo_self(const VkSemaphoreWaitInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->semaphoreCount);
+ if (val->pSemaphores) {
+ size += vn_sizeof_array_size(val->semaphoreCount);
+ for (uint32_t i = 0; i < val->semaphoreCount; i++)
+ size += vn_sizeof_VkSemaphore(&val->pSemaphores[i]);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ if (val->pValues) {
+ size += vn_sizeof_array_size(val->semaphoreCount);
+ size += vn_sizeof_uint64_t_array(val->pValues, val->semaphoreCount);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreWaitInfo(const VkSemaphoreWaitInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSemaphoreWaitInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSemaphoreWaitInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSemaphoreWaitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSemaphoreWaitInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreWaitInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->semaphoreCount);
+ if (val->pSemaphores) {
+ vn_encode_array_size(enc, val->semaphoreCount);
+ for (uint32_t i = 0; i < val->semaphoreCount; i++)
+ vn_encode_VkSemaphore(enc, &val->pSemaphores[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (val->pValues) {
+ vn_encode_array_size(enc, val->semaphoreCount);
+ vn_encode_uint64_t_array(enc, val->pValues, val->semaphoreCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkSemaphoreWaitInfo(struct vn_cs_encoder *enc, const VkSemaphoreWaitInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO });
+ vn_encode_VkSemaphoreWaitInfo_pnext(enc, val->pNext);
+ vn_encode_VkSemaphoreWaitInfo_self(enc, val);
+}
+
+/* struct VkSemaphoreSignalInfo chain */
+
+static inline size_t
+vn_sizeof_VkSemaphoreSignalInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreSignalInfo_self(const VkSemaphoreSignalInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkSemaphore(&val->semaphore);
+ size += vn_sizeof_uint64_t(&val->value);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkSemaphoreSignalInfo(const VkSemaphoreSignalInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkSemaphoreSignalInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSemaphoreSignalInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkSemaphoreSignalInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkSemaphoreSignalInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreSignalInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkSemaphore(enc, &val->semaphore);
+ vn_encode_uint64_t(enc, &val->value);
+}
+
+static inline void
+vn_encode_VkSemaphoreSignalInfo(struct vn_cs_encoder *enc, const VkSemaphoreSignalInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO });
+ vn_encode_VkSemaphoreSignalInfo_pnext(enc, val->pNext);
+ vn_encode_VkSemaphoreSignalInfo_self(enc, val);
+}
+
+static inline void
+vn_decode_VkSemaphoreSignalInfo_pnext(struct vn_cs_decoder *dec, const void *val)
+{
+ /* no known/supported struct */
+ if (vn_decode_simple_pointer(dec))
+ assert(false);
+}
+
+static inline void
+vn_decode_VkSemaphoreSignalInfo_self(struct vn_cs_decoder *dec, VkSemaphoreSignalInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_decode_VkSemaphore(dec, &val->semaphore);
+ vn_decode_uint64_t(dec, &val->value);
+}
+
+static inline void
+vn_decode_VkSemaphoreSignalInfo(struct vn_cs_decoder *dec, VkSemaphoreSignalInfo *val)
+{
+ VkStructureType stype;
+ vn_decode_VkStructureType(dec, &stype);
+ assert(stype == VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO);
+
+ assert(val->sType == stype);
+ vn_decode_VkSemaphoreSignalInfo_pnext(dec, val->pNext);
+ vn_decode_VkSemaphoreSignalInfo_self(dec, val);
+}
+
+static inline size_t vn_sizeof_vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkSemaphoreCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pSemaphore);
+ if (pSemaphore)
+ cmd_size += vn_sizeof_VkSemaphore(pSemaphore);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateSemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkSemaphoreCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pSemaphore))
+ vn_encode_VkSemaphore(enc, pSemaphore);
+}
+
+static inline size_t vn_sizeof_vkCreateSemaphore_reply(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateSemaphore_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pSemaphore);
+ if (pSemaphore)
+ cmd_size += vn_sizeof_VkSemaphore(pSemaphore);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateSemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateSemaphore_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkSemaphore(dec, pSemaphore);
+ } else {
+ pSemaphore = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkSemaphore(&semaphore);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroySemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkSemaphore(enc, &semaphore);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroySemaphore_reply(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroySemaphore_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip semaphore */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroySemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroySemaphore_EXT);
+
+ /* skip device */
+ /* skip semaphore */
+ /* skip pAllocator */
+}
+
+static inline size_t vn_sizeof_vkGetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkSemaphore(&semaphore);
+ cmd_size += vn_sizeof_simple_pointer(pValue); /* out */
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkGetSemaphoreCounterValue(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkSemaphore(enc, &semaphore);
+ vn_encode_simple_pointer(enc, pValue); /* out */
+}
+
+static inline size_t vn_sizeof_vkGetSemaphoreCounterValue_reply(VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip semaphore */
+ cmd_size += vn_sizeof_simple_pointer(pValue);
+ if (pValue)
+ cmd_size += vn_sizeof_uint64_t(pValue);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkGetSemaphoreCounterValue_reply(struct vn_cs_decoder *dec, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip semaphore */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_uint64_t(dec, pValue);
+ } else {
+ pValue = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkWaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pWaitInfo);
+ if (pWaitInfo)
+ cmd_size += vn_sizeof_VkSemaphoreWaitInfo(pWaitInfo);
+ cmd_size += vn_sizeof_uint64_t(&timeout);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkWaitSemaphores(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pWaitInfo))
+ vn_encode_VkSemaphoreWaitInfo(enc, pWaitInfo);
+ vn_encode_uint64_t(enc, &timeout);
+}
+
+static inline size_t vn_sizeof_vkWaitSemaphores_reply(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWaitSemaphores_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pWaitInfo */
+ /* skip timeout */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkWaitSemaphores_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkWaitSemaphores_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pWaitInfo */
+ /* skip timeout */
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkSignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pSignalInfo);
+ if (pSignalInfo)
+ cmd_size += vn_sizeof_VkSemaphoreSignalInfo(pSignalInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkSignalSemaphore(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pSignalInfo))
+ vn_encode_VkSemaphoreSignalInfo(enc, pSignalInfo);
+}
+
+static inline size_t vn_sizeof_vkSignalSemaphore_reply(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSignalSemaphore_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pSignalInfo */
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkSignalSemaphore_reply(struct vn_cs_decoder *dec, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkSignalSemaphore_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pSignalInfo */
+
+ return ret;
+}
+
+static inline void vn_submit_vkCreateSemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateSemaphore(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pSemaphore);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateSemaphore_reply(device, pCreateInfo, pAllocator, pSemaphore) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroySemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroySemaphore(device, semaphore, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroySemaphore(&submit->command, cmd_flags, device, semaphore, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroySemaphore_reply(device, semaphore, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkSemaphore semaphore, uint64_t* pValue, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkGetSemaphoreCounterValue(device, semaphore, pValue);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkGetSemaphoreCounterValue(&submit->command, cmd_flags, device, semaphore, pValue);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetSemaphoreCounterValue_reply(device, semaphore, pValue) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkWaitSemaphores(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkWaitSemaphores(device, pWaitInfo, timeout);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkWaitSemaphores(&submit->command, cmd_flags, device, pWaitInfo, timeout);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWaitSemaphores_reply(device, pWaitInfo, timeout) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkSignalSemaphore(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkSignalSemaphore(device, pSignalInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkSignalSemaphore(&submit->command, cmd_flags, device, pSignalInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSignalSemaphore_reply(device, pSignalInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pSemaphore, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateSemaphore_reply(&submit.reply, device, pCreateInfo, pAllocator, pSemaphore);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateSemaphore(vn_instance, 0, device, pCreateInfo, pAllocator, pSemaphore, &submit);
+}
+
+static inline void vn_call_vkDestroySemaphore(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, semaphore, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroySemaphore_reply(&submit.reply, device, semaphore, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroySemaphore(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroySemaphore(vn_instance, 0, device, semaphore, pAllocator, &submit);
+}
+
+static inline VkResult vn_call_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetSemaphoreCounterValue(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, semaphore, pValue, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkGetSemaphoreCounterValue_reply(&submit.reply, device, semaphore, pValue);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkGetSemaphoreCounterValue(struct vn_instance *vn_instance, VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkGetSemaphoreCounterValue(vn_instance, 0, device, semaphore, pValue, &submit);
+}
+
+static inline VkResult vn_call_vkWaitSemaphores(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWaitSemaphores(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pWaitInfo, timeout, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkWaitSemaphores_reply(&submit.reply, device, pWaitInfo, timeout);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkWaitSemaphores(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWaitSemaphores(vn_instance, 0, device, pWaitInfo, timeout, &submit);
+}
+
+static inline VkResult vn_call_vkSignalSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSignalSemaphore(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pSignalInfo, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkSignalSemaphore_reply(&submit.reply, device, pSignalInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkSignalSemaphore(struct vn_instance *vn_instance, VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSignalSemaphore(vn_instance, 0, device, pSignalInfo, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_SEMAPHORE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_shader_module.h b/src/virtio/venus-protocol/vn_protocol_driver_shader_module.h
new file mode 100644
index 00000000000..2cafb63bfe3
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_shader_module.h
@@ -0,0 +1,282 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_SHADER_MODULE_H
+#define VN_PROTOCOL_DRIVER_SHADER_MODULE_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkShaderModuleCreateInfo chain */
+
+static inline size_t
+vn_sizeof_VkShaderModuleCreateInfo_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkShaderModuleCreateInfo_self(const VkShaderModuleCreateInfo *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_size_t(&val->codeSize);
+ if (val->pCode) {
+ size += vn_sizeof_array_size(val->codeSize / 4);
+ size += vn_sizeof_uint32_t_array(val->pCode, val->codeSize / 4);
+ } else {
+ size += vn_sizeof_array_size(0);
+ }
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkShaderModuleCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkShaderModuleCreateInfo_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkShaderModuleCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkShaderModuleCreateInfo_self(struct vn_cs_encoder *enc, const VkShaderModuleCreateInfo *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_size_t(enc, &val->codeSize);
+ if (val->pCode) {
+ vn_encode_array_size(enc, val->codeSize / 4);
+ vn_encode_uint32_t_array(enc, val->pCode, val->codeSize / 4);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+}
+
+static inline void
+vn_encode_VkShaderModuleCreateInfo(struct vn_cs_encoder *enc, const VkShaderModuleCreateInfo *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO });
+ vn_encode_VkShaderModuleCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkShaderModuleCreateInfo_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkShaderModuleCreateInfo(pCreateInfo);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+ cmd_size += vn_sizeof_simple_pointer(pShaderModule);
+ if (pShaderModule)
+ cmd_size += vn_sizeof_VkShaderModule(pShaderModule);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateShaderModule(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkShaderModuleCreateInfo(enc, pCreateInfo);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+ if (vn_encode_simple_pointer(enc, pShaderModule))
+ vn_encode_VkShaderModule(enc, pShaderModule);
+}
+
+static inline size_t vn_sizeof_vkCreateShaderModule_reply(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateShaderModule_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ VkResult ret;
+ cmd_size += vn_sizeof_VkResult(&ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ cmd_size += vn_sizeof_simple_pointer(pShaderModule);
+ if (pShaderModule)
+ cmd_size += vn_sizeof_VkShaderModule(pShaderModule);
+
+ return cmd_size;
+}
+
+static inline VkResult vn_decode_vkCreateShaderModule_reply(struct vn_cs_decoder *dec, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateShaderModule_EXT);
+
+ VkResult ret;
+ vn_decode_VkResult(dec, &ret);
+ /* skip device */
+ /* skip pCreateInfo */
+ /* skip pAllocator */
+ if (vn_decode_simple_pointer(dec)) {
+ vn_decode_VkShaderModule(dec, pShaderModule);
+ } else {
+ pShaderModule = NULL;
+ }
+
+ return ret;
+}
+
+static inline size_t vn_sizeof_vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_VkDevice(&device);
+ cmd_size += vn_sizeof_VkShaderModule(&shaderModule);
+ cmd_size += vn_sizeof_simple_pointer(pAllocator);
+ if (pAllocator)
+ assert(false);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyShaderModule(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_VkDevice(enc, &device);
+ vn_encode_VkShaderModule(enc, &shaderModule);
+ if (vn_encode_simple_pointer(enc, pAllocator))
+ assert(false);
+}
+
+static inline size_t vn_sizeof_vkDestroyShaderModule_reply(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyShaderModule_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip device */
+ /* skip shaderModule */
+ /* skip pAllocator */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyShaderModule_reply(struct vn_cs_decoder *dec, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyShaderModule_EXT);
+
+ /* skip device */
+ /* skip shaderModule */
+ /* skip pAllocator */
+}
+
+static inline void vn_submit_vkCreateShaderModule(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateShaderModule(&submit->command, cmd_flags, device, pCreateInfo, pAllocator, pShaderModule);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateShaderModule_reply(device, pCreateInfo, pAllocator, pShaderModule) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyShaderModule(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyShaderModule(device, shaderModule, pAllocator);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyShaderModule(&submit->command, cmd_flags, device, shaderModule, pAllocator);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyShaderModule_reply(device, shaderModule, pAllocator) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline VkResult vn_call_vkCreateShaderModule(struct vn_instance *vn_instance, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateShaderModule(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pShaderModule, &submit);
+ if (submit.reply_bo) {
+ const VkResult ret = vn_decode_vkCreateShaderModule_reply(&submit.reply, device, pCreateInfo, pAllocator, pShaderModule);
+ vn_renderer_bo_unref(submit.reply_bo);
+ return ret;
+ } else {
+ return VK_ERROR_OUT_OF_HOST_MEMORY;
+ }
+}
+
+static inline void vn_async_vkCreateShaderModule(struct vn_instance *vn_instance, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateShaderModule(vn_instance, 0, device, pCreateInfo, pAllocator, pShaderModule, &submit);
+}
+
+static inline void vn_call_vkDestroyShaderModule(struct vn_instance *vn_instance, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyShaderModule(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, shaderModule, pAllocator, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyShaderModule_reply(&submit.reply, device, shaderModule, pAllocator);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyShaderModule(struct vn_instance *vn_instance, VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyShaderModule(vn_instance, 0, device, shaderModule, pAllocator, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_SHADER_MODULE_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_structs.h b/src/virtio/venus-protocol/vn_protocol_driver_structs.h
index 2dfa6b1381f..78b6e77e93d 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_structs.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_structs.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC
@@ -11,115 +11,11 @@
#include "vn_protocol_driver_handles.h"
/*
- * These structs/unions are not included
+ * These structs/unions/commands are not included
*
- * VkBaseOutStructure
- * VkBaseInStructure
* VkAllocationCallbacks
*/
-/* struct VkOffset2D */
-
-static inline size_t
-vn_sizeof_VkOffset2D(const VkOffset2D *val)
-{
- size_t size = 0;
- size += vn_sizeof_int32_t(&val->x);
- size += vn_sizeof_int32_t(&val->y);
- return size;
-}
-
-static inline void
-vn_encode_VkOffset2D(struct vn_cs_encoder *enc, const VkOffset2D *val)
-{
- vn_encode_int32_t(enc, &val->x);
- vn_encode_int32_t(enc, &val->y);
-}
-
-static inline void
-vn_decode_VkOffset2D(struct vn_cs_decoder *dec, VkOffset2D *val)
-{
- vn_decode_int32_t(dec, &val->x);
- vn_decode_int32_t(dec, &val->y);
-}
-
-static inline size_t
-vn_sizeof_VkOffset2D_partial(const VkOffset2D *val)
-{
- size_t size = 0;
- /* skip val->x */
- /* skip val->y */
- return size;
-}
-
-static inline void
-vn_encode_VkOffset2D_partial(struct vn_cs_encoder *enc, const VkOffset2D *val)
-{
- /* skip val->x */
- /* skip val->y */
-}
-
-/* struct VkOffset3D */
-
-static inline size_t
-vn_sizeof_VkOffset3D(const VkOffset3D *val)
-{
- size_t size = 0;
- size += vn_sizeof_int32_t(&val->x);
- size += vn_sizeof_int32_t(&val->y);
- size += vn_sizeof_int32_t(&val->z);
- return size;
-}
-
-static inline void
-vn_encode_VkOffset3D(struct vn_cs_encoder *enc, const VkOffset3D *val)
-{
- vn_encode_int32_t(enc, &val->x);
- vn_encode_int32_t(enc, &val->y);
- vn_encode_int32_t(enc, &val->z);
-}
-
-/* struct VkExtent2D */
-
-static inline size_t
-vn_sizeof_VkExtent2D(const VkExtent2D *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->width);
- size += vn_sizeof_uint32_t(&val->height);
- return size;
-}
-
-static inline void
-vn_encode_VkExtent2D(struct vn_cs_encoder *enc, const VkExtent2D *val)
-{
- vn_encode_uint32_t(enc, &val->width);
- vn_encode_uint32_t(enc, &val->height);
-}
-
-static inline void
-vn_decode_VkExtent2D(struct vn_cs_decoder *dec, VkExtent2D *val)
-{
- vn_decode_uint32_t(dec, &val->width);
- vn_decode_uint32_t(dec, &val->height);
-}
-
-static inline size_t
-vn_sizeof_VkExtent2D_partial(const VkExtent2D *val)
-{
- size_t size = 0;
- /* skip val->width */
- /* skip val->height */
- return size;
-}
-
-static inline void
-vn_encode_VkExtent2D_partial(struct vn_cs_encoder *enc, const VkExtent2D *val)
-{
- /* skip val->width */
- /* skip val->height */
-}
-
/* struct VkExtent3D */
static inline size_t
@@ -166,772 +62,6 @@ vn_encode_VkExtent3D_partial(struct vn_cs_encoder *enc, const VkExtent3D *val)
/* skip val->depth */
}
-/* struct VkViewport */
-
-static inline size_t
-vn_sizeof_VkViewport(const VkViewport *val)
-{
- size_t size = 0;
- size += vn_sizeof_float(&val->x);
- size += vn_sizeof_float(&val->y);
- size += vn_sizeof_float(&val->width);
- size += vn_sizeof_float(&val->height);
- size += vn_sizeof_float(&val->minDepth);
- size += vn_sizeof_float(&val->maxDepth);
- return size;
-}
-
-static inline void
-vn_encode_VkViewport(struct vn_cs_encoder *enc, const VkViewport *val)
-{
- vn_encode_float(enc, &val->x);
- vn_encode_float(enc, &val->y);
- vn_encode_float(enc, &val->width);
- vn_encode_float(enc, &val->height);
- vn_encode_float(enc, &val->minDepth);
- vn_encode_float(enc, &val->maxDepth);
-}
-
-/* struct VkRect2D */
-
-static inline size_t
-vn_sizeof_VkRect2D(const VkRect2D *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkOffset2D(&val->offset);
- size += vn_sizeof_VkExtent2D(&val->extent);
- return size;
-}
-
-static inline void
-vn_encode_VkRect2D(struct vn_cs_encoder *enc, const VkRect2D *val)
-{
- vn_encode_VkOffset2D(enc, &val->offset);
- vn_encode_VkExtent2D(enc, &val->extent);
-}
-
-static inline void
-vn_decode_VkRect2D(struct vn_cs_decoder *dec, VkRect2D *val)
-{
- vn_decode_VkOffset2D(dec, &val->offset);
- vn_decode_VkExtent2D(dec, &val->extent);
-}
-
-static inline size_t
-vn_sizeof_VkRect2D_partial(const VkRect2D *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkOffset2D_partial(&val->offset);
- size += vn_sizeof_VkExtent2D_partial(&val->extent);
- return size;
-}
-
-static inline void
-vn_encode_VkRect2D_partial(struct vn_cs_encoder *enc, const VkRect2D *val)
-{
- vn_encode_VkOffset2D_partial(enc, &val->offset);
- vn_encode_VkExtent2D_partial(enc, &val->extent);
-}
-
-/* struct VkClearRect */
-
-static inline size_t
-vn_sizeof_VkClearRect(const VkClearRect *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkRect2D(&val->rect);
- size += vn_sizeof_uint32_t(&val->baseArrayLayer);
- size += vn_sizeof_uint32_t(&val->layerCount);
- return size;
-}
-
-static inline void
-vn_encode_VkClearRect(struct vn_cs_encoder *enc, const VkClearRect *val)
-{
- vn_encode_VkRect2D(enc, &val->rect);
- vn_encode_uint32_t(enc, &val->baseArrayLayer);
- vn_encode_uint32_t(enc, &val->layerCount);
-}
-
-/* struct VkComponentMapping */
-
-static inline size_t
-vn_sizeof_VkComponentMapping(const VkComponentMapping *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkComponentSwizzle(&val->r);
- size += vn_sizeof_VkComponentSwizzle(&val->g);
- size += vn_sizeof_VkComponentSwizzle(&val->b);
- size += vn_sizeof_VkComponentSwizzle(&val->a);
- return size;
-}
-
-static inline void
-vn_encode_VkComponentMapping(struct vn_cs_encoder *enc, const VkComponentMapping *val)
-{
- vn_encode_VkComponentSwizzle(enc, &val->r);
- vn_encode_VkComponentSwizzle(enc, &val->g);
- vn_encode_VkComponentSwizzle(enc, &val->b);
- vn_encode_VkComponentSwizzle(enc, &val->a);
-}
-
-static inline void
-vn_decode_VkComponentMapping(struct vn_cs_decoder *dec, VkComponentMapping *val)
-{
- vn_decode_VkComponentSwizzle(dec, &val->r);
- vn_decode_VkComponentSwizzle(dec, &val->g);
- vn_decode_VkComponentSwizzle(dec, &val->b);
- vn_decode_VkComponentSwizzle(dec, &val->a);
-}
-
-static inline size_t
-vn_sizeof_VkComponentMapping_partial(const VkComponentMapping *val)
-{
- size_t size = 0;
- /* skip val->r */
- /* skip val->g */
- /* skip val->b */
- /* skip val->a */
- return size;
-}
-
-static inline void
-vn_encode_VkComponentMapping_partial(struct vn_cs_encoder *enc, const VkComponentMapping *val)
-{
- /* skip val->r */
- /* skip val->g */
- /* skip val->b */
- /* skip val->a */
-}
-
-/* struct VkPhysicalDeviceLimits */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->maxImageDimension1D);
- size += vn_sizeof_uint32_t(&val->maxImageDimension2D);
- size += vn_sizeof_uint32_t(&val->maxImageDimension3D);
- size += vn_sizeof_uint32_t(&val->maxImageDimensionCube);
- size += vn_sizeof_uint32_t(&val->maxImageArrayLayers);
- size += vn_sizeof_uint32_t(&val->maxTexelBufferElements);
- size += vn_sizeof_uint32_t(&val->maxUniformBufferRange);
- size += vn_sizeof_uint32_t(&val->maxStorageBufferRange);
- size += vn_sizeof_uint32_t(&val->maxPushConstantsSize);
- size += vn_sizeof_uint32_t(&val->maxMemoryAllocationCount);
- size += vn_sizeof_uint32_t(&val->maxSamplerAllocationCount);
- size += vn_sizeof_VkDeviceSize(&val->bufferImageGranularity);
- size += vn_sizeof_VkDeviceSize(&val->sparseAddressSpaceSize);
- size += vn_sizeof_uint32_t(&val->maxBoundDescriptorSets);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSamplers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSampledImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorInputAttachments);
- size += vn_sizeof_uint32_t(&val->maxPerStageResources);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetSamplers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetSampledImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetInputAttachments);
- size += vn_sizeof_uint32_t(&val->maxVertexInputAttributes);
- size += vn_sizeof_uint32_t(&val->maxVertexInputBindings);
- size += vn_sizeof_uint32_t(&val->maxVertexInputAttributeOffset);
- size += vn_sizeof_uint32_t(&val->maxVertexInputBindingStride);
- size += vn_sizeof_uint32_t(&val->maxVertexOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationGenerationLevel);
- size += vn_sizeof_uint32_t(&val->maxTessellationPatchSize);
- size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexInputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationControlPerPatchOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationControlTotalOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationInputComponents);
- size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxGeometryShaderInvocations);
- size += vn_sizeof_uint32_t(&val->maxGeometryInputComponents);
- size += vn_sizeof_uint32_t(&val->maxGeometryOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxGeometryOutputVertices);
- size += vn_sizeof_uint32_t(&val->maxGeometryTotalOutputComponents);
- size += vn_sizeof_uint32_t(&val->maxFragmentInputComponents);
- size += vn_sizeof_uint32_t(&val->maxFragmentOutputAttachments);
- size += vn_sizeof_uint32_t(&val->maxFragmentDualSrcAttachments);
- size += vn_sizeof_uint32_t(&val->maxFragmentCombinedOutputResources);
- size += vn_sizeof_uint32_t(&val->maxComputeSharedMemorySize);
- size += vn_sizeof_array_size(3);
- size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupCount, 3);
- size += vn_sizeof_uint32_t(&val->maxComputeWorkGroupInvocations);
- size += vn_sizeof_array_size(3);
- size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupSize, 3);
- size += vn_sizeof_uint32_t(&val->subPixelPrecisionBits);
- size += vn_sizeof_uint32_t(&val->subTexelPrecisionBits);
- size += vn_sizeof_uint32_t(&val->mipmapPrecisionBits);
- size += vn_sizeof_uint32_t(&val->maxDrawIndexedIndexValue);
- size += vn_sizeof_uint32_t(&val->maxDrawIndirectCount);
- size += vn_sizeof_float(&val->maxSamplerLodBias);
- size += vn_sizeof_float(&val->maxSamplerAnisotropy);
- size += vn_sizeof_uint32_t(&val->maxViewports);
- size += vn_sizeof_array_size(2);
- size += vn_sizeof_uint32_t_array(val->maxViewportDimensions, 2);
- size += vn_sizeof_array_size(2);
- size += vn_sizeof_float_array(val->viewportBoundsRange, 2);
- size += vn_sizeof_uint32_t(&val->viewportSubPixelBits);
- size += vn_sizeof_size_t(&val->minMemoryMapAlignment);
- size += vn_sizeof_VkDeviceSize(&val->minTexelBufferOffsetAlignment);
- size += vn_sizeof_VkDeviceSize(&val->minUniformBufferOffsetAlignment);
- size += vn_sizeof_VkDeviceSize(&val->minStorageBufferOffsetAlignment);
- size += vn_sizeof_int32_t(&val->minTexelOffset);
- size += vn_sizeof_uint32_t(&val->maxTexelOffset);
- size += vn_sizeof_int32_t(&val->minTexelGatherOffset);
- size += vn_sizeof_uint32_t(&val->maxTexelGatherOffset);
- size += vn_sizeof_float(&val->minInterpolationOffset);
- size += vn_sizeof_float(&val->maxInterpolationOffset);
- size += vn_sizeof_uint32_t(&val->subPixelInterpolationOffsetBits);
- size += vn_sizeof_uint32_t(&val->maxFramebufferWidth);
- size += vn_sizeof_uint32_t(&val->maxFramebufferHeight);
- size += vn_sizeof_uint32_t(&val->maxFramebufferLayers);
- size += vn_sizeof_VkFlags(&val->framebufferColorSampleCounts);
- size += vn_sizeof_VkFlags(&val->framebufferDepthSampleCounts);
- size += vn_sizeof_VkFlags(&val->framebufferStencilSampleCounts);
- size += vn_sizeof_VkFlags(&val->framebufferNoAttachmentsSampleCounts);
- size += vn_sizeof_uint32_t(&val->maxColorAttachments);
- size += vn_sizeof_VkFlags(&val->sampledImageColorSampleCounts);
- size += vn_sizeof_VkFlags(&val->sampledImageIntegerSampleCounts);
- size += vn_sizeof_VkFlags(&val->sampledImageDepthSampleCounts);
- size += vn_sizeof_VkFlags(&val->sampledImageStencilSampleCounts);
- size += vn_sizeof_VkFlags(&val->storageImageSampleCounts);
- size += vn_sizeof_uint32_t(&val->maxSampleMaskWords);
- size += vn_sizeof_VkBool32(&val->timestampComputeAndGraphics);
- size += vn_sizeof_float(&val->timestampPeriod);
- size += vn_sizeof_uint32_t(&val->maxClipDistances);
- size += vn_sizeof_uint32_t(&val->maxCullDistances);
- size += vn_sizeof_uint32_t(&val->maxCombinedClipAndCullDistances);
- size += vn_sizeof_uint32_t(&val->discreteQueuePriorities);
- size += vn_sizeof_array_size(2);
- size += vn_sizeof_float_array(val->pointSizeRange, 2);
- size += vn_sizeof_array_size(2);
- size += vn_sizeof_float_array(val->lineWidthRange, 2);
- size += vn_sizeof_float(&val->pointSizeGranularity);
- size += vn_sizeof_float(&val->lineWidthGranularity);
- size += vn_sizeof_VkBool32(&val->strictLines);
- size += vn_sizeof_VkBool32(&val->standardSampleLocations);
- size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyOffsetAlignment);
- size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyRowPitchAlignment);
- size += vn_sizeof_VkDeviceSize(&val->nonCoherentAtomSize);
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceLimits(struct vn_cs_decoder *dec, VkPhysicalDeviceLimits *val)
-{
- vn_decode_uint32_t(dec, &val->maxImageDimension1D);
- vn_decode_uint32_t(dec, &val->maxImageDimension2D);
- vn_decode_uint32_t(dec, &val->maxImageDimension3D);
- vn_decode_uint32_t(dec, &val->maxImageDimensionCube);
- vn_decode_uint32_t(dec, &val->maxImageArrayLayers);
- vn_decode_uint32_t(dec, &val->maxTexelBufferElements);
- vn_decode_uint32_t(dec, &val->maxUniformBufferRange);
- vn_decode_uint32_t(dec, &val->maxStorageBufferRange);
- vn_decode_uint32_t(dec, &val->maxPushConstantsSize);
- vn_decode_uint32_t(dec, &val->maxMemoryAllocationCount);
- vn_decode_uint32_t(dec, &val->maxSamplerAllocationCount);
- vn_decode_VkDeviceSize(dec, &val->bufferImageGranularity);
- vn_decode_VkDeviceSize(dec, &val->sparseAddressSpaceSize);
- vn_decode_uint32_t(dec, &val->maxBoundDescriptorSets);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSamplers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSampledImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorInputAttachments);
- vn_decode_uint32_t(dec, &val->maxPerStageResources);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetSamplers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetSampledImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetInputAttachments);
- vn_decode_uint32_t(dec, &val->maxVertexInputAttributes);
- vn_decode_uint32_t(dec, &val->maxVertexInputBindings);
- vn_decode_uint32_t(dec, &val->maxVertexInputAttributeOffset);
- vn_decode_uint32_t(dec, &val->maxVertexInputBindingStride);
- vn_decode_uint32_t(dec, &val->maxVertexOutputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationGenerationLevel);
- vn_decode_uint32_t(dec, &val->maxTessellationPatchSize);
- vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexInputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexOutputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationControlPerPatchOutputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationControlTotalOutputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationEvaluationInputComponents);
- vn_decode_uint32_t(dec, &val->maxTessellationEvaluationOutputComponents);
- vn_decode_uint32_t(dec, &val->maxGeometryShaderInvocations);
- vn_decode_uint32_t(dec, &val->maxGeometryInputComponents);
- vn_decode_uint32_t(dec, &val->maxGeometryOutputComponents);
- vn_decode_uint32_t(dec, &val->maxGeometryOutputVertices);
- vn_decode_uint32_t(dec, &val->maxGeometryTotalOutputComponents);
- vn_decode_uint32_t(dec, &val->maxFragmentInputComponents);
- vn_decode_uint32_t(dec, &val->maxFragmentOutputAttachments);
- vn_decode_uint32_t(dec, &val->maxFragmentDualSrcAttachments);
- vn_decode_uint32_t(dec, &val->maxFragmentCombinedOutputResources);
- vn_decode_uint32_t(dec, &val->maxComputeSharedMemorySize);
- {
- const size_t array_size = vn_decode_array_size(dec, 3);
- vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupCount, array_size);
- }
- vn_decode_uint32_t(dec, &val->maxComputeWorkGroupInvocations);
- {
- const size_t array_size = vn_decode_array_size(dec, 3);
- vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupSize, array_size);
- }
- vn_decode_uint32_t(dec, &val->subPixelPrecisionBits);
- vn_decode_uint32_t(dec, &val->subTexelPrecisionBits);
- vn_decode_uint32_t(dec, &val->mipmapPrecisionBits);
- vn_decode_uint32_t(dec, &val->maxDrawIndexedIndexValue);
- vn_decode_uint32_t(dec, &val->maxDrawIndirectCount);
- vn_decode_float(dec, &val->maxSamplerLodBias);
- vn_decode_float(dec, &val->maxSamplerAnisotropy);
- vn_decode_uint32_t(dec, &val->maxViewports);
- {
- const size_t array_size = vn_decode_array_size(dec, 2);
- vn_decode_uint32_t_array(dec, val->maxViewportDimensions, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, 2);
- vn_decode_float_array(dec, val->viewportBoundsRange, array_size);
- }
- vn_decode_uint32_t(dec, &val->viewportSubPixelBits);
- vn_decode_size_t(dec, &val->minMemoryMapAlignment);
- vn_decode_VkDeviceSize(dec, &val->minTexelBufferOffsetAlignment);
- vn_decode_VkDeviceSize(dec, &val->minUniformBufferOffsetAlignment);
- vn_decode_VkDeviceSize(dec, &val->minStorageBufferOffsetAlignment);
- vn_decode_int32_t(dec, &val->minTexelOffset);
- vn_decode_uint32_t(dec, &val->maxTexelOffset);
- vn_decode_int32_t(dec, &val->minTexelGatherOffset);
- vn_decode_uint32_t(dec, &val->maxTexelGatherOffset);
- vn_decode_float(dec, &val->minInterpolationOffset);
- vn_decode_float(dec, &val->maxInterpolationOffset);
- vn_decode_uint32_t(dec, &val->subPixelInterpolationOffsetBits);
- vn_decode_uint32_t(dec, &val->maxFramebufferWidth);
- vn_decode_uint32_t(dec, &val->maxFramebufferHeight);
- vn_decode_uint32_t(dec, &val->maxFramebufferLayers);
- vn_decode_VkFlags(dec, &val->framebufferColorSampleCounts);
- vn_decode_VkFlags(dec, &val->framebufferDepthSampleCounts);
- vn_decode_VkFlags(dec, &val->framebufferStencilSampleCounts);
- vn_decode_VkFlags(dec, &val->framebufferNoAttachmentsSampleCounts);
- vn_decode_uint32_t(dec, &val->maxColorAttachments);
- vn_decode_VkFlags(dec, &val->sampledImageColorSampleCounts);
- vn_decode_VkFlags(dec, &val->sampledImageIntegerSampleCounts);
- vn_decode_VkFlags(dec, &val->sampledImageDepthSampleCounts);
- vn_decode_VkFlags(dec, &val->sampledImageStencilSampleCounts);
- vn_decode_VkFlags(dec, &val->storageImageSampleCounts);
- vn_decode_uint32_t(dec, &val->maxSampleMaskWords);
- vn_decode_VkBool32(dec, &val->timestampComputeAndGraphics);
- vn_decode_float(dec, &val->timestampPeriod);
- vn_decode_uint32_t(dec, &val->maxClipDistances);
- vn_decode_uint32_t(dec, &val->maxCullDistances);
- vn_decode_uint32_t(dec, &val->maxCombinedClipAndCullDistances);
- vn_decode_uint32_t(dec, &val->discreteQueuePriorities);
- {
- const size_t array_size = vn_decode_array_size(dec, 2);
- vn_decode_float_array(dec, val->pointSizeRange, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, 2);
- vn_decode_float_array(dec, val->lineWidthRange, array_size);
- }
- vn_decode_float(dec, &val->pointSizeGranularity);
- vn_decode_float(dec, &val->lineWidthGranularity);
- vn_decode_VkBool32(dec, &val->strictLines);
- vn_decode_VkBool32(dec, &val->standardSampleLocations);
- vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyOffsetAlignment);
- vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyRowPitchAlignment);
- vn_decode_VkDeviceSize(dec, &val->nonCoherentAtomSize);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceLimits_partial(const VkPhysicalDeviceLimits *val)
-{
- size_t size = 0;
- /* skip val->maxImageDimension1D */
- /* skip val->maxImageDimension2D */
- /* skip val->maxImageDimension3D */
- /* skip val->maxImageDimensionCube */
- /* skip val->maxImageArrayLayers */
- /* skip val->maxTexelBufferElements */
- /* skip val->maxUniformBufferRange */
- /* skip val->maxStorageBufferRange */
- /* skip val->maxPushConstantsSize */
- /* skip val->maxMemoryAllocationCount */
- /* skip val->maxSamplerAllocationCount */
- /* skip val->bufferImageGranularity */
- /* skip val->sparseAddressSpaceSize */
- /* skip val->maxBoundDescriptorSets */
- /* skip val->maxPerStageDescriptorSamplers */
- /* skip val->maxPerStageDescriptorUniformBuffers */
- /* skip val->maxPerStageDescriptorStorageBuffers */
- /* skip val->maxPerStageDescriptorSampledImages */
- /* skip val->maxPerStageDescriptorStorageImages */
- /* skip val->maxPerStageDescriptorInputAttachments */
- /* skip val->maxPerStageResources */
- /* skip val->maxDescriptorSetSamplers */
- /* skip val->maxDescriptorSetUniformBuffers */
- /* skip val->maxDescriptorSetUniformBuffersDynamic */
- /* skip val->maxDescriptorSetStorageBuffers */
- /* skip val->maxDescriptorSetStorageBuffersDynamic */
- /* skip val->maxDescriptorSetSampledImages */
- /* skip val->maxDescriptorSetStorageImages */
- /* skip val->maxDescriptorSetInputAttachments */
- /* skip val->maxVertexInputAttributes */
- /* skip val->maxVertexInputBindings */
- /* skip val->maxVertexInputAttributeOffset */
- /* skip val->maxVertexInputBindingStride */
- /* skip val->maxVertexOutputComponents */
- /* skip val->maxTessellationGenerationLevel */
- /* skip val->maxTessellationPatchSize */
- /* skip val->maxTessellationControlPerVertexInputComponents */
- /* skip val->maxTessellationControlPerVertexOutputComponents */
- /* skip val->maxTessellationControlPerPatchOutputComponents */
- /* skip val->maxTessellationControlTotalOutputComponents */
- /* skip val->maxTessellationEvaluationInputComponents */
- /* skip val->maxTessellationEvaluationOutputComponents */
- /* skip val->maxGeometryShaderInvocations */
- /* skip val->maxGeometryInputComponents */
- /* skip val->maxGeometryOutputComponents */
- /* skip val->maxGeometryOutputVertices */
- /* skip val->maxGeometryTotalOutputComponents */
- /* skip val->maxFragmentInputComponents */
- /* skip val->maxFragmentOutputAttachments */
- /* skip val->maxFragmentDualSrcAttachments */
- /* skip val->maxFragmentCombinedOutputResources */
- /* skip val->maxComputeSharedMemorySize */
- /* skip val->maxComputeWorkGroupCount */
- /* skip val->maxComputeWorkGroupInvocations */
- /* skip val->maxComputeWorkGroupSize */
- /* skip val->subPixelPrecisionBits */
- /* skip val->subTexelPrecisionBits */
- /* skip val->mipmapPrecisionBits */
- /* skip val->maxDrawIndexedIndexValue */
- /* skip val->maxDrawIndirectCount */
- /* skip val->maxSamplerLodBias */
- /* skip val->maxSamplerAnisotropy */
- /* skip val->maxViewports */
- /* skip val->maxViewportDimensions */
- /* skip val->viewportBoundsRange */
- /* skip val->viewportSubPixelBits */
- /* skip val->minMemoryMapAlignment */
- /* skip val->minTexelBufferOffsetAlignment */
- /* skip val->minUniformBufferOffsetAlignment */
- /* skip val->minStorageBufferOffsetAlignment */
- /* skip val->minTexelOffset */
- /* skip val->maxTexelOffset */
- /* skip val->minTexelGatherOffset */
- /* skip val->maxTexelGatherOffset */
- /* skip val->minInterpolationOffset */
- /* skip val->maxInterpolationOffset */
- /* skip val->subPixelInterpolationOffsetBits */
- /* skip val->maxFramebufferWidth */
- /* skip val->maxFramebufferHeight */
- /* skip val->maxFramebufferLayers */
- /* skip val->framebufferColorSampleCounts */
- /* skip val->framebufferDepthSampleCounts */
- /* skip val->framebufferStencilSampleCounts */
- /* skip val->framebufferNoAttachmentsSampleCounts */
- /* skip val->maxColorAttachments */
- /* skip val->sampledImageColorSampleCounts */
- /* skip val->sampledImageIntegerSampleCounts */
- /* skip val->sampledImageDepthSampleCounts */
- /* skip val->sampledImageStencilSampleCounts */
- /* skip val->storageImageSampleCounts */
- /* skip val->maxSampleMaskWords */
- /* skip val->timestampComputeAndGraphics */
- /* skip val->timestampPeriod */
- /* skip val->maxClipDistances */
- /* skip val->maxCullDistances */
- /* skip val->maxCombinedClipAndCullDistances */
- /* skip val->discreteQueuePriorities */
- /* skip val->pointSizeRange */
- /* skip val->lineWidthRange */
- /* skip val->pointSizeGranularity */
- /* skip val->lineWidthGranularity */
- /* skip val->strictLines */
- /* skip val->standardSampleLocations */
- /* skip val->optimalBufferCopyOffsetAlignment */
- /* skip val->optimalBufferCopyRowPitchAlignment */
- /* skip val->nonCoherentAtomSize */
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceLimits_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLimits *val)
-{
- /* skip val->maxImageDimension1D */
- /* skip val->maxImageDimension2D */
- /* skip val->maxImageDimension3D */
- /* skip val->maxImageDimensionCube */
- /* skip val->maxImageArrayLayers */
- /* skip val->maxTexelBufferElements */
- /* skip val->maxUniformBufferRange */
- /* skip val->maxStorageBufferRange */
- /* skip val->maxPushConstantsSize */
- /* skip val->maxMemoryAllocationCount */
- /* skip val->maxSamplerAllocationCount */
- /* skip val->bufferImageGranularity */
- /* skip val->sparseAddressSpaceSize */
- /* skip val->maxBoundDescriptorSets */
- /* skip val->maxPerStageDescriptorSamplers */
- /* skip val->maxPerStageDescriptorUniformBuffers */
- /* skip val->maxPerStageDescriptorStorageBuffers */
- /* skip val->maxPerStageDescriptorSampledImages */
- /* skip val->maxPerStageDescriptorStorageImages */
- /* skip val->maxPerStageDescriptorInputAttachments */
- /* skip val->maxPerStageResources */
- /* skip val->maxDescriptorSetSamplers */
- /* skip val->maxDescriptorSetUniformBuffers */
- /* skip val->maxDescriptorSetUniformBuffersDynamic */
- /* skip val->maxDescriptorSetStorageBuffers */
- /* skip val->maxDescriptorSetStorageBuffersDynamic */
- /* skip val->maxDescriptorSetSampledImages */
- /* skip val->maxDescriptorSetStorageImages */
- /* skip val->maxDescriptorSetInputAttachments */
- /* skip val->maxVertexInputAttributes */
- /* skip val->maxVertexInputBindings */
- /* skip val->maxVertexInputAttributeOffset */
- /* skip val->maxVertexInputBindingStride */
- /* skip val->maxVertexOutputComponents */
- /* skip val->maxTessellationGenerationLevel */
- /* skip val->maxTessellationPatchSize */
- /* skip val->maxTessellationControlPerVertexInputComponents */
- /* skip val->maxTessellationControlPerVertexOutputComponents */
- /* skip val->maxTessellationControlPerPatchOutputComponents */
- /* skip val->maxTessellationControlTotalOutputComponents */
- /* skip val->maxTessellationEvaluationInputComponents */
- /* skip val->maxTessellationEvaluationOutputComponents */
- /* skip val->maxGeometryShaderInvocations */
- /* skip val->maxGeometryInputComponents */
- /* skip val->maxGeometryOutputComponents */
- /* skip val->maxGeometryOutputVertices */
- /* skip val->maxGeometryTotalOutputComponents */
- /* skip val->maxFragmentInputComponents */
- /* skip val->maxFragmentOutputAttachments */
- /* skip val->maxFragmentDualSrcAttachments */
- /* skip val->maxFragmentCombinedOutputResources */
- /* skip val->maxComputeSharedMemorySize */
- /* skip val->maxComputeWorkGroupCount */
- /* skip val->maxComputeWorkGroupInvocations */
- /* skip val->maxComputeWorkGroupSize */
- /* skip val->subPixelPrecisionBits */
- /* skip val->subTexelPrecisionBits */
- /* skip val->mipmapPrecisionBits */
- /* skip val->maxDrawIndexedIndexValue */
- /* skip val->maxDrawIndirectCount */
- /* skip val->maxSamplerLodBias */
- /* skip val->maxSamplerAnisotropy */
- /* skip val->maxViewports */
- /* skip val->maxViewportDimensions */
- /* skip val->viewportBoundsRange */
- /* skip val->viewportSubPixelBits */
- /* skip val->minMemoryMapAlignment */
- /* skip val->minTexelBufferOffsetAlignment */
- /* skip val->minUniformBufferOffsetAlignment */
- /* skip val->minStorageBufferOffsetAlignment */
- /* skip val->minTexelOffset */
- /* skip val->maxTexelOffset */
- /* skip val->minTexelGatherOffset */
- /* skip val->maxTexelGatherOffset */
- /* skip val->minInterpolationOffset */
- /* skip val->maxInterpolationOffset */
- /* skip val->subPixelInterpolationOffsetBits */
- /* skip val->maxFramebufferWidth */
- /* skip val->maxFramebufferHeight */
- /* skip val->maxFramebufferLayers */
- /* skip val->framebufferColorSampleCounts */
- /* skip val->framebufferDepthSampleCounts */
- /* skip val->framebufferStencilSampleCounts */
- /* skip val->framebufferNoAttachmentsSampleCounts */
- /* skip val->maxColorAttachments */
- /* skip val->sampledImageColorSampleCounts */
- /* skip val->sampledImageIntegerSampleCounts */
- /* skip val->sampledImageDepthSampleCounts */
- /* skip val->sampledImageStencilSampleCounts */
- /* skip val->storageImageSampleCounts */
- /* skip val->maxSampleMaskWords */
- /* skip val->timestampComputeAndGraphics */
- /* skip val->timestampPeriod */
- /* skip val->maxClipDistances */
- /* skip val->maxCullDistances */
- /* skip val->maxCombinedClipAndCullDistances */
- /* skip val->discreteQueuePriorities */
- /* skip val->pointSizeRange */
- /* skip val->lineWidthRange */
- /* skip val->pointSizeGranularity */
- /* skip val->lineWidthGranularity */
- /* skip val->strictLines */
- /* skip val->standardSampleLocations */
- /* skip val->optimalBufferCopyOffsetAlignment */
- /* skip val->optimalBufferCopyRowPitchAlignment */
- /* skip val->nonCoherentAtomSize */
-}
-
-/* struct VkPhysicalDeviceSparseProperties */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkBool32(&val->residencyStandard2DBlockShape);
- size += vn_sizeof_VkBool32(&val->residencyStandard2DMultisampleBlockShape);
- size += vn_sizeof_VkBool32(&val->residencyStandard3DBlockShape);
- size += vn_sizeof_VkBool32(&val->residencyAlignedMipSize);
- size += vn_sizeof_VkBool32(&val->residencyNonResidentStrict);
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSparseProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseProperties *val)
-{
- vn_decode_VkBool32(dec, &val->residencyStandard2DBlockShape);
- vn_decode_VkBool32(dec, &val->residencyStandard2DMultisampleBlockShape);
- vn_decode_VkBool32(dec, &val->residencyStandard3DBlockShape);
- vn_decode_VkBool32(dec, &val->residencyAlignedMipSize);
- vn_decode_VkBool32(dec, &val->residencyNonResidentStrict);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSparseProperties_partial(const VkPhysicalDeviceSparseProperties *val)
-{
- size_t size = 0;
- /* skip val->residencyStandard2DBlockShape */
- /* skip val->residencyStandard2DMultisampleBlockShape */
- /* skip val->residencyStandard3DBlockShape */
- /* skip val->residencyAlignedMipSize */
- /* skip val->residencyNonResidentStrict */
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSparseProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseProperties *val)
-{
- /* skip val->residencyStandard2DBlockShape */
- /* skip val->residencyStandard2DMultisampleBlockShape */
- /* skip val->residencyStandard3DBlockShape */
- /* skip val->residencyAlignedMipSize */
- /* skip val->residencyNonResidentStrict */
-}
-
-/* struct VkPhysicalDeviceProperties */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->apiVersion);
- size += vn_sizeof_uint32_t(&val->driverVersion);
- size += vn_sizeof_uint32_t(&val->vendorID);
- 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_array_size(VK_UUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->pipelineCacheUUID, VK_UUID_SIZE);
- size += vn_sizeof_VkPhysicalDeviceLimits(&val->limits);
- size += vn_sizeof_VkPhysicalDeviceSparseProperties(&val->sparseProperties);
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties *val)
-{
- vn_decode_uint32_t(dec, &val->apiVersion);
- vn_decode_uint32_t(dec, &val->driverVersion);
- vn_decode_uint32_t(dec, &val->vendorID);
- vn_decode_uint32_t(dec, &val->deviceID);
- 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);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
- vn_decode_uint8_t_array(dec, val->pipelineCacheUUID, array_size);
- }
- vn_decode_VkPhysicalDeviceLimits(dec, &val->limits);
- vn_decode_VkPhysicalDeviceSparseProperties(dec, &val->sparseProperties);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties_partial(const VkPhysicalDeviceProperties *val)
-{
- size_t size = 0;
- /* skip val->apiVersion */
- /* skip val->driverVersion */
- /* skip val->vendorID */
- /* skip val->deviceID */
- /* skip val->deviceType */
- /* skip val->deviceName */
- /* skip val->pipelineCacheUUID */
- size += vn_sizeof_VkPhysicalDeviceLimits_partial(&val->limits);
- size += vn_sizeof_VkPhysicalDeviceSparseProperties_partial(&val->sparseProperties);
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties *val)
-{
- /* skip val->apiVersion */
- /* skip val->driverVersion */
- /* skip val->vendorID */
- /* skip val->deviceID */
- /* skip val->deviceType */
- /* skip val->deviceName */
- /* skip val->pipelineCacheUUID */
- vn_encode_VkPhysicalDeviceLimits_partial(enc, &val->limits);
- vn_encode_VkPhysicalDeviceSparseProperties_partial(enc, &val->sparseProperties);
-}
-
-/* struct VkExtensionProperties */
-
-static inline size_t
-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_uint32_t(&val->specVersion);
- return size;
-}
-
-static inline void
-vn_decode_VkExtensionProperties(struct vn_cs_decoder *dec, VkExtensionProperties *val)
-{
- {
- 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_uint32_t(dec, &val->specVersion);
-}
-
-static inline size_t
-vn_sizeof_VkExtensionProperties_partial(const VkExtensionProperties *val)
-{
- size_t size = 0;
- /* skip val->extensionName */
- /* skip val->specVersion */
- return size;
-}
-
-static inline void
-vn_encode_VkExtensionProperties_partial(struct vn_cs_encoder *enc, const VkExtensionProperties *val)
-{
- /* skip val->extensionName */
- /* skip val->specVersion */
-}
-
/* struct VkLayerProperties */
static inline size_t
@@ -982,5713 +112,42 @@ vn_encode_VkLayerProperties_partial(struct vn_cs_encoder *enc, const VkLayerProp
/* skip val->description */
}
-/* struct VkApplicationInfo chain */
-
-static inline size_t
-vn_sizeof_VkApplicationInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkApplicationInfo_self(const VkApplicationInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- 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);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->applicationVersion);
- 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);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->engineVersion);
- size += vn_sizeof_uint32_t(&val->apiVersion);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkApplicationInfo(const VkApplicationInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkApplicationInfo_pnext(val->pNext);
- size += vn_sizeof_VkApplicationInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkApplicationInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkApplicationInfo_self(struct vn_cs_encoder *enc, const VkApplicationInfo *val)
-{
- /* skip val->{sType,pNext} */
- 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);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->applicationVersion);
- 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);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->engineVersion);
- vn_encode_uint32_t(enc, &val->apiVersion);
-}
-
-static inline void
-vn_encode_VkApplicationInfo(struct vn_cs_encoder *enc, const VkApplicationInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_APPLICATION_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_APPLICATION_INFO });
- vn_encode_VkApplicationInfo_pnext(enc, val->pNext);
- vn_encode_VkApplicationInfo_self(enc, val);
-}
-
-/* struct VkDeviceQueueCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceQueueCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceQueueCreateInfo_self(const VkDeviceQueueCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
- size += vn_sizeof_uint32_t(&val->queueCount);
- if (val->pQueuePriorities) {
- size += vn_sizeof_array_size(val->queueCount);
- size += vn_sizeof_float_array(val->pQueuePriorities, val->queueCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceQueueCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceQueueCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceQueueCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceQueueCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->queueFamilyIndex);
- vn_encode_uint32_t(enc, &val->queueCount);
- if (val->pQueuePriorities) {
- vn_encode_array_size(enc, val->queueCount);
- vn_encode_float_array(enc, val->pQueuePriorities, val->queueCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDeviceQueueCreateInfo(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO });
- vn_encode_VkDeviceQueueCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceQueueCreateInfo_self(enc, val);
-}
-
-/* struct VkPhysicalDeviceFeatures */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkBool32(&val->robustBufferAccess);
- size += vn_sizeof_VkBool32(&val->fullDrawIndexUint32);
- size += vn_sizeof_VkBool32(&val->imageCubeArray);
- size += vn_sizeof_VkBool32(&val->independentBlend);
- size += vn_sizeof_VkBool32(&val->geometryShader);
- size += vn_sizeof_VkBool32(&val->tessellationShader);
- size += vn_sizeof_VkBool32(&val->sampleRateShading);
- size += vn_sizeof_VkBool32(&val->dualSrcBlend);
- size += vn_sizeof_VkBool32(&val->logicOp);
- size += vn_sizeof_VkBool32(&val->multiDrawIndirect);
- size += vn_sizeof_VkBool32(&val->drawIndirectFirstInstance);
- size += vn_sizeof_VkBool32(&val->depthClamp);
- size += vn_sizeof_VkBool32(&val->depthBiasClamp);
- size += vn_sizeof_VkBool32(&val->fillModeNonSolid);
- size += vn_sizeof_VkBool32(&val->depthBounds);
- size += vn_sizeof_VkBool32(&val->wideLines);
- size += vn_sizeof_VkBool32(&val->largePoints);
- size += vn_sizeof_VkBool32(&val->alphaToOne);
- size += vn_sizeof_VkBool32(&val->multiViewport);
- size += vn_sizeof_VkBool32(&val->samplerAnisotropy);
- size += vn_sizeof_VkBool32(&val->textureCompressionETC2);
- size += vn_sizeof_VkBool32(&val->textureCompressionASTC_LDR);
- size += vn_sizeof_VkBool32(&val->textureCompressionBC);
- size += vn_sizeof_VkBool32(&val->occlusionQueryPrecise);
- size += vn_sizeof_VkBool32(&val->pipelineStatisticsQuery);
- size += vn_sizeof_VkBool32(&val->vertexPipelineStoresAndAtomics);
- size += vn_sizeof_VkBool32(&val->fragmentStoresAndAtomics);
- size += vn_sizeof_VkBool32(&val->shaderTessellationAndGeometryPointSize);
- size += vn_sizeof_VkBool32(&val->shaderImageGatherExtended);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageExtendedFormats);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageMultisample);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageReadWithoutFormat);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageWriteWithoutFormat);
- size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderClipDistance);
- size += vn_sizeof_VkBool32(&val->shaderCullDistance);
- size += vn_sizeof_VkBool32(&val->shaderFloat64);
- size += vn_sizeof_VkBool32(&val->shaderInt64);
- size += vn_sizeof_VkBool32(&val->shaderInt16);
- size += vn_sizeof_VkBool32(&val->shaderResourceResidency);
- size += vn_sizeof_VkBool32(&val->shaderResourceMinLod);
- size += vn_sizeof_VkBool32(&val->sparseBinding);
- size += vn_sizeof_VkBool32(&val->sparseResidencyBuffer);
- size += vn_sizeof_VkBool32(&val->sparseResidencyImage2D);
- size += vn_sizeof_VkBool32(&val->sparseResidencyImage3D);
- size += vn_sizeof_VkBool32(&val->sparseResidency2Samples);
- size += vn_sizeof_VkBool32(&val->sparseResidency4Samples);
- size += vn_sizeof_VkBool32(&val->sparseResidency8Samples);
- size += vn_sizeof_VkBool32(&val->sparseResidency16Samples);
- size += vn_sizeof_VkBool32(&val->sparseResidencyAliased);
- size += vn_sizeof_VkBool32(&val->variableMultisampleRate);
- size += vn_sizeof_VkBool32(&val->inheritedQueries);
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)
-{
- vn_encode_VkBool32(enc, &val->robustBufferAccess);
- vn_encode_VkBool32(enc, &val->fullDrawIndexUint32);
- vn_encode_VkBool32(enc, &val->imageCubeArray);
- vn_encode_VkBool32(enc, &val->independentBlend);
- vn_encode_VkBool32(enc, &val->geometryShader);
- vn_encode_VkBool32(enc, &val->tessellationShader);
- vn_encode_VkBool32(enc, &val->sampleRateShading);
- vn_encode_VkBool32(enc, &val->dualSrcBlend);
- vn_encode_VkBool32(enc, &val->logicOp);
- vn_encode_VkBool32(enc, &val->multiDrawIndirect);
- vn_encode_VkBool32(enc, &val->drawIndirectFirstInstance);
- vn_encode_VkBool32(enc, &val->depthClamp);
- vn_encode_VkBool32(enc, &val->depthBiasClamp);
- vn_encode_VkBool32(enc, &val->fillModeNonSolid);
- vn_encode_VkBool32(enc, &val->depthBounds);
- vn_encode_VkBool32(enc, &val->wideLines);
- vn_encode_VkBool32(enc, &val->largePoints);
- vn_encode_VkBool32(enc, &val->alphaToOne);
- vn_encode_VkBool32(enc, &val->multiViewport);
- vn_encode_VkBool32(enc, &val->samplerAnisotropy);
- vn_encode_VkBool32(enc, &val->textureCompressionETC2);
- vn_encode_VkBool32(enc, &val->textureCompressionASTC_LDR);
- vn_encode_VkBool32(enc, &val->textureCompressionBC);
- vn_encode_VkBool32(enc, &val->occlusionQueryPrecise);
- vn_encode_VkBool32(enc, &val->pipelineStatisticsQuery);
- vn_encode_VkBool32(enc, &val->vertexPipelineStoresAndAtomics);
- vn_encode_VkBool32(enc, &val->fragmentStoresAndAtomics);
- vn_encode_VkBool32(enc, &val->shaderTessellationAndGeometryPointSize);
- vn_encode_VkBool32(enc, &val->shaderImageGatherExtended);
- vn_encode_VkBool32(enc, &val->shaderStorageImageExtendedFormats);
- vn_encode_VkBool32(enc, &val->shaderStorageImageMultisample);
- vn_encode_VkBool32(enc, &val->shaderStorageImageReadWithoutFormat);
- vn_encode_VkBool32(enc, &val->shaderStorageImageWriteWithoutFormat);
- vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderSampledImageArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageImageArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderClipDistance);
- vn_encode_VkBool32(enc, &val->shaderCullDistance);
- vn_encode_VkBool32(enc, &val->shaderFloat64);
- vn_encode_VkBool32(enc, &val->shaderInt64);
- vn_encode_VkBool32(enc, &val->shaderInt16);
- vn_encode_VkBool32(enc, &val->shaderResourceResidency);
- vn_encode_VkBool32(enc, &val->shaderResourceMinLod);
- vn_encode_VkBool32(enc, &val->sparseBinding);
- vn_encode_VkBool32(enc, &val->sparseResidencyBuffer);
- vn_encode_VkBool32(enc, &val->sparseResidencyImage2D);
- vn_encode_VkBool32(enc, &val->sparseResidencyImage3D);
- vn_encode_VkBool32(enc, &val->sparseResidency2Samples);
- vn_encode_VkBool32(enc, &val->sparseResidency4Samples);
- vn_encode_VkBool32(enc, &val->sparseResidency8Samples);
- vn_encode_VkBool32(enc, &val->sparseResidency16Samples);
- vn_encode_VkBool32(enc, &val->sparseResidencyAliased);
- vn_encode_VkBool32(enc, &val->variableMultisampleRate);
- vn_encode_VkBool32(enc, &val->inheritedQueries);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures *val)
-{
- vn_decode_VkBool32(dec, &val->robustBufferAccess);
- vn_decode_VkBool32(dec, &val->fullDrawIndexUint32);
- vn_decode_VkBool32(dec, &val->imageCubeArray);
- vn_decode_VkBool32(dec, &val->independentBlend);
- vn_decode_VkBool32(dec, &val->geometryShader);
- vn_decode_VkBool32(dec, &val->tessellationShader);
- vn_decode_VkBool32(dec, &val->sampleRateShading);
- vn_decode_VkBool32(dec, &val->dualSrcBlend);
- vn_decode_VkBool32(dec, &val->logicOp);
- vn_decode_VkBool32(dec, &val->multiDrawIndirect);
- vn_decode_VkBool32(dec, &val->drawIndirectFirstInstance);
- vn_decode_VkBool32(dec, &val->depthClamp);
- vn_decode_VkBool32(dec, &val->depthBiasClamp);
- vn_decode_VkBool32(dec, &val->fillModeNonSolid);
- vn_decode_VkBool32(dec, &val->depthBounds);
- vn_decode_VkBool32(dec, &val->wideLines);
- vn_decode_VkBool32(dec, &val->largePoints);
- vn_decode_VkBool32(dec, &val->alphaToOne);
- vn_decode_VkBool32(dec, &val->multiViewport);
- vn_decode_VkBool32(dec, &val->samplerAnisotropy);
- vn_decode_VkBool32(dec, &val->textureCompressionETC2);
- vn_decode_VkBool32(dec, &val->textureCompressionASTC_LDR);
- vn_decode_VkBool32(dec, &val->textureCompressionBC);
- vn_decode_VkBool32(dec, &val->occlusionQueryPrecise);
- vn_decode_VkBool32(dec, &val->pipelineStatisticsQuery);
- vn_decode_VkBool32(dec, &val->vertexPipelineStoresAndAtomics);
- vn_decode_VkBool32(dec, &val->fragmentStoresAndAtomics);
- vn_decode_VkBool32(dec, &val->shaderTessellationAndGeometryPointSize);
- vn_decode_VkBool32(dec, &val->shaderImageGatherExtended);
- vn_decode_VkBool32(dec, &val->shaderStorageImageExtendedFormats);
- vn_decode_VkBool32(dec, &val->shaderStorageImageMultisample);
- vn_decode_VkBool32(dec, &val->shaderStorageImageReadWithoutFormat);
- vn_decode_VkBool32(dec, &val->shaderStorageImageWriteWithoutFormat);
- vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderSampledImageArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageImageArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderClipDistance);
- vn_decode_VkBool32(dec, &val->shaderCullDistance);
- vn_decode_VkBool32(dec, &val->shaderFloat64);
- vn_decode_VkBool32(dec, &val->shaderInt64);
- vn_decode_VkBool32(dec, &val->shaderInt16);
- vn_decode_VkBool32(dec, &val->shaderResourceResidency);
- vn_decode_VkBool32(dec, &val->shaderResourceMinLod);
- vn_decode_VkBool32(dec, &val->sparseBinding);
- vn_decode_VkBool32(dec, &val->sparseResidencyBuffer);
- vn_decode_VkBool32(dec, &val->sparseResidencyImage2D);
- vn_decode_VkBool32(dec, &val->sparseResidencyImage3D);
- vn_decode_VkBool32(dec, &val->sparseResidency2Samples);
- vn_decode_VkBool32(dec, &val->sparseResidency4Samples);
- vn_decode_VkBool32(dec, &val->sparseResidency8Samples);
- vn_decode_VkBool32(dec, &val->sparseResidency16Samples);
- vn_decode_VkBool32(dec, &val->sparseResidencyAliased);
- vn_decode_VkBool32(dec, &val->variableMultisampleRate);
- vn_decode_VkBool32(dec, &val->inheritedQueries);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures_partial(const VkPhysicalDeviceFeatures *val)
-{
- size_t size = 0;
- /* skip val->robustBufferAccess */
- /* skip val->fullDrawIndexUint32 */
- /* skip val->imageCubeArray */
- /* skip val->independentBlend */
- /* skip val->geometryShader */
- /* skip val->tessellationShader */
- /* skip val->sampleRateShading */
- /* skip val->dualSrcBlend */
- /* skip val->logicOp */
- /* skip val->multiDrawIndirect */
- /* skip val->drawIndirectFirstInstance */
- /* skip val->depthClamp */
- /* skip val->depthBiasClamp */
- /* skip val->fillModeNonSolid */
- /* skip val->depthBounds */
- /* skip val->wideLines */
- /* skip val->largePoints */
- /* skip val->alphaToOne */
- /* skip val->multiViewport */
- /* skip val->samplerAnisotropy */
- /* skip val->textureCompressionETC2 */
- /* skip val->textureCompressionASTC_LDR */
- /* skip val->textureCompressionBC */
- /* skip val->occlusionQueryPrecise */
- /* skip val->pipelineStatisticsQuery */
- /* skip val->vertexPipelineStoresAndAtomics */
- /* skip val->fragmentStoresAndAtomics */
- /* skip val->shaderTessellationAndGeometryPointSize */
- /* skip val->shaderImageGatherExtended */
- /* skip val->shaderStorageImageExtendedFormats */
- /* skip val->shaderStorageImageMultisample */
- /* skip val->shaderStorageImageReadWithoutFormat */
- /* skip val->shaderStorageImageWriteWithoutFormat */
- /* skip val->shaderUniformBufferArrayDynamicIndexing */
- /* skip val->shaderSampledImageArrayDynamicIndexing */
- /* skip val->shaderStorageBufferArrayDynamicIndexing */
- /* skip val->shaderStorageImageArrayDynamicIndexing */
- /* skip val->shaderClipDistance */
- /* skip val->shaderCullDistance */
- /* skip val->shaderFloat64 */
- /* skip val->shaderInt64 */
- /* skip val->shaderInt16 */
- /* skip val->shaderResourceResidency */
- /* skip val->shaderResourceMinLod */
- /* skip val->sparseBinding */
- /* skip val->sparseResidencyBuffer */
- /* skip val->sparseResidencyImage2D */
- /* skip val->sparseResidencyImage3D */
- /* skip val->sparseResidency2Samples */
- /* skip val->sparseResidency4Samples */
- /* skip val->sparseResidency8Samples */
- /* skip val->sparseResidency16Samples */
- /* skip val->sparseResidencyAliased */
- /* skip val->variableMultisampleRate */
- /* skip val->inheritedQueries */
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)
-{
- /* skip val->robustBufferAccess */
- /* skip val->fullDrawIndexUint32 */
- /* skip val->imageCubeArray */
- /* skip val->independentBlend */
- /* skip val->geometryShader */
- /* skip val->tessellationShader */
- /* skip val->sampleRateShading */
- /* skip val->dualSrcBlend */
- /* skip val->logicOp */
- /* skip val->multiDrawIndirect */
- /* skip val->drawIndirectFirstInstance */
- /* skip val->depthClamp */
- /* skip val->depthBiasClamp */
- /* skip val->fillModeNonSolid */
- /* skip val->depthBounds */
- /* skip val->wideLines */
- /* skip val->largePoints */
- /* skip val->alphaToOne */
- /* skip val->multiViewport */
- /* skip val->samplerAnisotropy */
- /* skip val->textureCompressionETC2 */
- /* skip val->textureCompressionASTC_LDR */
- /* skip val->textureCompressionBC */
- /* skip val->occlusionQueryPrecise */
- /* skip val->pipelineStatisticsQuery */
- /* skip val->vertexPipelineStoresAndAtomics */
- /* skip val->fragmentStoresAndAtomics */
- /* skip val->shaderTessellationAndGeometryPointSize */
- /* skip val->shaderImageGatherExtended */
- /* skip val->shaderStorageImageExtendedFormats */
- /* skip val->shaderStorageImageMultisample */
- /* skip val->shaderStorageImageReadWithoutFormat */
- /* skip val->shaderStorageImageWriteWithoutFormat */
- /* skip val->shaderUniformBufferArrayDynamicIndexing */
- /* skip val->shaderSampledImageArrayDynamicIndexing */
- /* skip val->shaderStorageBufferArrayDynamicIndexing */
- /* skip val->shaderStorageImageArrayDynamicIndexing */
- /* skip val->shaderClipDistance */
- /* skip val->shaderCullDistance */
- /* skip val->shaderFloat64 */
- /* skip val->shaderInt64 */
- /* skip val->shaderInt16 */
- /* skip val->shaderResourceResidency */
- /* skip val->shaderResourceMinLod */
- /* skip val->sparseBinding */
- /* skip val->sparseResidencyBuffer */
- /* skip val->sparseResidencyImage2D */
- /* skip val->sparseResidencyImage3D */
- /* skip val->sparseResidency2Samples */
- /* skip val->sparseResidency4Samples */
- /* skip val->sparseResidency8Samples */
- /* skip val->sparseResidency16Samples */
- /* skip val->sparseResidencyAliased */
- /* skip val->variableMultisampleRate */
- /* skip val->inheritedQueries */
-}
-
-/* struct VkPhysicalDeviceVariablePointersFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);
- size += vn_sizeof_VkBool32(&val->variablePointers);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
- vn_encode_VkBool32(enc, &val->variablePointers);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
- vn_decode_VkBool32(dec, &val->variablePointers);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->variablePointersStorageBuffer */
- /* skip val->variablePointers */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_partial(const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->variablePointersStorageBuffer */
- /* skip val->variablePointers */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVariablePointersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceMultiviewFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(const VkPhysicalDeviceMultiviewFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->multiview);
- size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);
- size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->multiview);
- vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
- vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });
- vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->multiview);
- vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
- vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(const VkPhysicalDeviceMultiviewFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->multiview */
- /* skip val->multiviewGeometryShader */
- /* skip val->multiviewTessellationShader */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewFeatures_partial(const VkPhysicalDeviceMultiviewFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->multiview */
- /* skip val->multiviewGeometryShader */
- /* skip val->multiviewTessellationShader */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });
- vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDevice16BitStorageFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(const VkPhysicalDevice16BitStorageFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);
- size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);
- size += vn_sizeof_VkBool32(&val->storagePushConstant16);
- size += vn_sizeof_VkBool32(&val->storageInputOutput16);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
- vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
- vn_encode_VkBool32(enc, &val->storagePushConstant16);
- vn_encode_VkBool32(enc, &val->storageInputOutput16);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });
- vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
- vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
- vn_decode_VkBool32(dec, &val->storagePushConstant16);
- vn_decode_VkBool32(dec, &val->storageInputOutput16);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(const VkPhysicalDevice16BitStorageFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer16BitAccess */
- /* skip val->uniformAndStorageBuffer16BitAccess */
- /* skip val->storagePushConstant16 */
- /* skip val->storageInputOutput16 */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice16BitStorageFeatures_partial(const VkPhysicalDevice16BitStorageFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer16BitAccess */
- /* skip val->uniformAndStorageBuffer16BitAccess */
- /* skip val->storagePushConstant16 */
- /* skip val->storageInputOutput16 */
-}
-
-static inline void
-vn_encode_VkPhysicalDevice16BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });
- vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->shaderSubgroupExtendedTypes */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->shaderSubgroupExtendedTypes */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceSamplerYcbcrConversionFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->samplerYcbcrConversion */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->samplerYcbcrConversion */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceProtectedMemoryFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->protectedMemory);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->protectedMemory);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->protectedMemory);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->protectedMemory */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->protectedMemory */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceShaderDrawParametersFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->shaderDrawParameters);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->shaderDrawParameters);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->shaderDrawParameters);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->shaderDrawParameters */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->shaderDrawParameters */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceShaderFloat16Int8Features chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->shaderFloat16);
- size += vn_sizeof_VkBool32(&val->shaderInt8);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features(const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->shaderFloat16);
- vn_encode_VkBool32(enc, &val->shaderInt8);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->shaderFloat16);
- vn_decode_VkBool32(dec, &val->shaderInt8);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->shaderFloat16 */
- /* skip val->shaderInt8 */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->shaderFloat16 */
- /* skip val->shaderInt8 */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceHostQueryResetFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->hostQueryReset);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures(const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->hostQueryReset);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->hostQueryReset);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->hostQueryReset */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->hostQueryReset */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceHostQueryResetFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceDescriptorIndexingFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);
- size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);
- size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);
- size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
- vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
- vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
- vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
- vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
- vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
- vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->shaderInputAttachmentArrayDynamicIndexing */
- /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
- /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
- /* skip val->shaderUniformBufferArrayNonUniformIndexing */
- /* skip val->shaderSampledImageArrayNonUniformIndexing */
- /* skip val->shaderStorageBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageImageArrayNonUniformIndexing */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
- /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
- /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
- /* skip val->descriptorBindingSampledImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
- /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingUpdateUnusedWhilePending */
- /* skip val->descriptorBindingPartiallyBound */
- /* skip val->descriptorBindingVariableDescriptorCount */
- /* skip val->runtimeDescriptorArray */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->shaderInputAttachmentArrayDynamicIndexing */
- /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
- /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
- /* skip val->shaderUniformBufferArrayNonUniformIndexing */
- /* skip val->shaderSampledImageArrayNonUniformIndexing */
- /* skip val->shaderStorageBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageImageArrayNonUniformIndexing */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
- /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
- /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
- /* skip val->descriptorBindingSampledImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
- /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingUpdateUnusedWhilePending */
- /* skip val->descriptorBindingPartiallyBound */
- /* skip val->descriptorBindingVariableDescriptorCount */
- /* skip val->runtimeDescriptorArray */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceTimelineSemaphoreFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->timelineSemaphore);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->timelineSemaphore);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->timelineSemaphore);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->timelineSemaphore */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->timelineSemaphore */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDevice8BitStorageFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(const VkPhysicalDevice8BitStorageFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);
- size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);
- size += vn_sizeof_VkBool32(&val->storagePushConstant8);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
- vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
- vn_encode_VkBool32(enc, &val->storagePushConstant8);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });
- vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
- vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
- vn_decode_VkBool32(dec, &val->storagePushConstant8);
-}
-
-static inline void
-vn_decode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(const VkPhysicalDevice8BitStorageFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer8BitAccess */
- /* skip val->uniformAndStorageBuffer8BitAccess */
- /* skip val->storagePushConstant8 */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevice8BitStorageFeatures_partial(const VkPhysicalDevice8BitStorageFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer8BitAccess */
- /* skip val->uniformAndStorageBuffer8BitAccess */
- /* skip val->storagePushConstant8 */
-}
-
-static inline void
-vn_encode_VkPhysicalDevice8BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });
- vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceVulkanMemoryModelFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
- vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
- vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
- vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
- vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->vulkanMemoryModel */
- /* skip val->vulkanMemoryModelDeviceScope */
- /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->vulkanMemoryModel */
- /* skip val->vulkanMemoryModelDeviceScope */
- /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceShaderAtomicInt64Features chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);
- size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features(const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
- vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
- vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->shaderBufferInt64Atomics */
- /* skip val->shaderSharedInt64Atomics */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->shaderBufferInt64Atomics */
- /* skip val->shaderSharedInt64Atomics */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->transformFeedback);
- size += vn_sizeof_VkBool32(&val->geometryStreams);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->transformFeedback);
- vn_encode_VkBool32(enc, &val->geometryStreams);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->transformFeedback);
- vn_decode_VkBool32(dec, &val->geometryStreams);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->transformFeedback */
- /* skip val->geometryStreams */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->transformFeedback */
- /* skip val->geometryStreams */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceScalarBlockLayoutFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->scalarBlockLayout);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->scalarBlockLayout);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->scalarBlockLayout);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->scalarBlockLayout */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->scalarBlockLayout */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->uniformBufferStandardLayout */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->uniformBufferStandardLayout */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceBufferDeviceAddressFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
- vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
- vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
- vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
- vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->bufferDeviceAddress */
- /* skip val->bufferDeviceAddressCaptureReplay */
- /* skip val->bufferDeviceAddressMultiDevice */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->bufferDeviceAddress */
- /* skip val->bufferDeviceAddressCaptureReplay */
- /* skip val->bufferDeviceAddressMultiDevice */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceImagelessFramebufferFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->imagelessFramebuffer */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->imagelessFramebuffer */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->separateDepthStencilLayouts */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->separateDepthStencilLayouts */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceVulkan11Features chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features_self(const VkPhysicalDeviceVulkan11Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);
- size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);
- size += vn_sizeof_VkBool32(&val->storagePushConstant16);
- size += vn_sizeof_VkBool32(&val->storageInputOutput16);
- size += vn_sizeof_VkBool32(&val->multiview);
- size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);
- size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);
- size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);
- size += vn_sizeof_VkBool32(&val->variablePointers);
- size += vn_sizeof_VkBool32(&val->protectedMemory);
- size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);
- size += vn_sizeof_VkBool32(&val->shaderDrawParameters);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features(const VkPhysicalDeviceVulkan11Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
- vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
- vn_encode_VkBool32(enc, &val->storagePushConstant16);
- vn_encode_VkBool32(enc, &val->storageInputOutput16);
- vn_encode_VkBool32(enc, &val->multiview);
- vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
- vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
- vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
- vn_encode_VkBool32(enc, &val->variablePointers);
- vn_encode_VkBool32(enc, &val->protectedMemory);
- vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
- vn_encode_VkBool32(enc, &val->shaderDrawParameters);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });
- vn_encode_VkPhysicalDeviceVulkan11Features_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
- vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
- vn_decode_VkBool32(dec, &val->storagePushConstant16);
- vn_decode_VkBool32(dec, &val->storageInputOutput16);
- vn_decode_VkBool32(dec, &val->multiview);
- vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
- vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
- vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
- vn_decode_VkBool32(dec, &val->variablePointers);
- vn_decode_VkBool32(dec, &val->protectedMemory);
- vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
- vn_decode_VkBool32(dec, &val->shaderDrawParameters);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVulkan11Features_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(const VkPhysicalDeviceVulkan11Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer16BitAccess */
- /* skip val->uniformAndStorageBuffer16BitAccess */
- /* skip val->storagePushConstant16 */
- /* skip val->storageInputOutput16 */
- /* skip val->multiview */
- /* skip val->multiviewGeometryShader */
- /* skip val->multiviewTessellationShader */
- /* skip val->variablePointersStorageBuffer */
- /* skip val->variablePointers */
- /* skip val->protectedMemory */
- /* skip val->samplerYcbcrConversion */
- /* skip val->shaderDrawParameters */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Features_partial(const VkPhysicalDeviceVulkan11Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->storageBuffer16BitAccess */
- /* skip val->uniformAndStorageBuffer16BitAccess */
- /* skip val->storagePushConstant16 */
- /* skip val->storageInputOutput16 */
- /* skip val->multiview */
- /* skip val->multiviewGeometryShader */
- /* skip val->multiviewTessellationShader */
- /* skip val->variablePointersStorageBuffer */
- /* skip val->variablePointers */
- /* skip val->protectedMemory */
- /* skip val->samplerYcbcrConversion */
- /* skip val->shaderDrawParameters */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });
- vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceVulkan12Features chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features_self(const VkPhysicalDeviceVulkan12Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->samplerMirrorClampToEdge);
- size += vn_sizeof_VkBool32(&val->drawIndirectCount);
- size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);
- size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);
- size += vn_sizeof_VkBool32(&val->storagePushConstant8);
- size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);
- size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);
- size += vn_sizeof_VkBool32(&val->shaderFloat16);
- size += vn_sizeof_VkBool32(&val->shaderInt8);
- size += vn_sizeof_VkBool32(&val->descriptorIndexing);
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);
- size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);
- size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);
- size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);
- size += vn_sizeof_VkBool32(&val->samplerFilterMinmax);
- size += vn_sizeof_VkBool32(&val->scalarBlockLayout);
- size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);
- size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);
- size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);
- size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);
- size += vn_sizeof_VkBool32(&val->hostQueryReset);
- size += vn_sizeof_VkBool32(&val->timelineSemaphore);
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);
- size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);
- size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);
- size += vn_sizeof_VkBool32(&val->shaderOutputViewportIndex);
- size += vn_sizeof_VkBool32(&val->shaderOutputLayer);
- size += vn_sizeof_VkBool32(&val->subgroupBroadcastDynamicId);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features(const VkPhysicalDeviceVulkan12Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->samplerMirrorClampToEdge);
- vn_encode_VkBool32(enc, &val->drawIndirectCount);
- vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
- vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
- vn_encode_VkBool32(enc, &val->storagePushConstant8);
- vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
- vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
- vn_encode_VkBool32(enc, &val->shaderFloat16);
- vn_encode_VkBool32(enc, &val->shaderInt8);
- vn_encode_VkBool32(enc, &val->descriptorIndexing);
- vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
- vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
- vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
- vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
- vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
- vn_encode_VkBool32(enc, &val->samplerFilterMinmax);
- vn_encode_VkBool32(enc, &val->scalarBlockLayout);
- vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
- vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
- vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
- vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
- vn_encode_VkBool32(enc, &val->hostQueryReset);
- vn_encode_VkBool32(enc, &val->timelineSemaphore);
- vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
- vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
- vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
- vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
- vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
- vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
- vn_encode_VkBool32(enc, &val->shaderOutputViewportIndex);
- vn_encode_VkBool32(enc, &val->shaderOutputLayer);
- vn_encode_VkBool32(enc, &val->subgroupBroadcastDynamicId);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });
- vn_encode_VkPhysicalDeviceVulkan12Features_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->samplerMirrorClampToEdge);
- vn_decode_VkBool32(dec, &val->drawIndirectCount);
- vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
- vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
- vn_decode_VkBool32(dec, &val->storagePushConstant8);
- vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
- vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
- vn_decode_VkBool32(dec, &val->shaderFloat16);
- vn_decode_VkBool32(dec, &val->shaderInt8);
- vn_decode_VkBool32(dec, &val->descriptorIndexing);
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
- vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
- vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
- vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
- vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
- vn_decode_VkBool32(dec, &val->samplerFilterMinmax);
- vn_decode_VkBool32(dec, &val->scalarBlockLayout);
- vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
- vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
- vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
- vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
- vn_decode_VkBool32(dec, &val->hostQueryReset);
- vn_decode_VkBool32(dec, &val->timelineSemaphore);
- vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
- vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
- vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
- vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
- vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
- vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
- vn_decode_VkBool32(dec, &val->shaderOutputViewportIndex);
- vn_decode_VkBool32(dec, &val->shaderOutputLayer);
- vn_decode_VkBool32(dec, &val->subgroupBroadcastDynamicId);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVulkan12Features_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(const VkPhysicalDeviceVulkan12Features *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->samplerMirrorClampToEdge */
- /* skip val->drawIndirectCount */
- /* skip val->storageBuffer8BitAccess */
- /* skip val->uniformAndStorageBuffer8BitAccess */
- /* skip val->storagePushConstant8 */
- /* skip val->shaderBufferInt64Atomics */
- /* skip val->shaderSharedInt64Atomics */
- /* skip val->shaderFloat16 */
- /* skip val->shaderInt8 */
- /* skip val->descriptorIndexing */
- /* skip val->shaderInputAttachmentArrayDynamicIndexing */
- /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
- /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
- /* skip val->shaderUniformBufferArrayNonUniformIndexing */
- /* skip val->shaderSampledImageArrayNonUniformIndexing */
- /* skip val->shaderStorageBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageImageArrayNonUniformIndexing */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
- /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
- /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
- /* skip val->descriptorBindingSampledImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
- /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingUpdateUnusedWhilePending */
- /* skip val->descriptorBindingPartiallyBound */
- /* skip val->descriptorBindingVariableDescriptorCount */
- /* skip val->runtimeDescriptorArray */
- /* skip val->samplerFilterMinmax */
- /* skip val->scalarBlockLayout */
- /* skip val->imagelessFramebuffer */
- /* skip val->uniformBufferStandardLayout */
- /* skip val->shaderSubgroupExtendedTypes */
- /* skip val->separateDepthStencilLayouts */
- /* skip val->hostQueryReset */
- /* skip val->timelineSemaphore */
- /* skip val->bufferDeviceAddress */
- /* skip val->bufferDeviceAddressCaptureReplay */
- /* skip val->bufferDeviceAddressMultiDevice */
- /* skip val->vulkanMemoryModel */
- /* skip val->vulkanMemoryModelDeviceScope */
- /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
- /* skip val->shaderOutputViewportIndex */
- /* skip val->shaderOutputLayer */
- /* skip val->subgroupBroadcastDynamicId */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Features_partial(const VkPhysicalDeviceVulkan12Features *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->samplerMirrorClampToEdge */
- /* skip val->drawIndirectCount */
- /* skip val->storageBuffer8BitAccess */
- /* skip val->uniformAndStorageBuffer8BitAccess */
- /* skip val->storagePushConstant8 */
- /* skip val->shaderBufferInt64Atomics */
- /* skip val->shaderSharedInt64Atomics */
- /* skip val->shaderFloat16 */
- /* skip val->shaderInt8 */
- /* skip val->descriptorIndexing */
- /* skip val->shaderInputAttachmentArrayDynamicIndexing */
- /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
- /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
- /* skip val->shaderUniformBufferArrayNonUniformIndexing */
- /* skip val->shaderSampledImageArrayNonUniformIndexing */
- /* skip val->shaderStorageBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageImageArrayNonUniformIndexing */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
- /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
- /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
- /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
- /* skip val->descriptorBindingSampledImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageImageUpdateAfterBind */
- /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
- /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
- /* skip val->descriptorBindingUpdateUnusedWhilePending */
- /* skip val->descriptorBindingPartiallyBound */
- /* skip val->descriptorBindingVariableDescriptorCount */
- /* skip val->runtimeDescriptorArray */
- /* skip val->samplerFilterMinmax */
- /* skip val->scalarBlockLayout */
- /* skip val->imagelessFramebuffer */
- /* skip val->uniformBufferStandardLayout */
- /* skip val->shaderSubgroupExtendedTypes */
- /* skip val->separateDepthStencilLayouts */
- /* skip val->hostQueryReset */
- /* skip val->timelineSemaphore */
- /* skip val->bufferDeviceAddress */
- /* skip val->bufferDeviceAddressCaptureReplay */
- /* skip val->bufferDeviceAddressMultiDevice */
- /* skip val->vulkanMemoryModel */
- /* skip val->vulkanMemoryModelDeviceScope */
- /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
- /* skip val->shaderOutputViewportIndex */
- /* skip val->shaderOutputLayer */
- /* skip val->subgroupBroadcastDynamicId */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });
- vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceFeatures2 chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2_self(const VkPhysicalDeviceFeatures2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceFeatures(&val->features);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkPhysicalDeviceFeatures(enc, &val->features);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });
- vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceFeatures2_self(enc, val);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, (VkPhysicalDeviceVulkan11Features *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, (VkPhysicalDeviceVulkan12Features *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFeatures2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkPhysicalDeviceFeatures(dec, &val->features);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFeatures2(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceFeatures2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial((const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial((const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial((const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial((const VkPhysicalDeviceVulkan11Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial((const VkPhysicalDeviceVulkan12Features *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(const VkPhysicalDeviceFeatures2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceFeatures_partial(&val->features);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFeatures2_partial(const VkPhysicalDeviceFeatures2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkPhysicalDeviceFeatures_partial(enc, &val->features);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFeatures2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });
- vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceFeatures2_self_partial(enc, val);
-}
-
-/* struct VkDeviceGroupDeviceCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(const VkDeviceGroupDeviceCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->physicalDeviceCount);
- if (val->pPhysicalDevices) {
- size += vn_sizeof_array_size(val->physicalDeviceCount);
- for (uint32_t i = 0; i < val->physicalDeviceCount; i++)
- size += vn_sizeof_VkPhysicalDevice(&val->pPhysicalDevices[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceGroupDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->physicalDeviceCount);
- if (val->pPhysicalDevices) {
- vn_encode_array_size(enc, val->physicalDeviceCount);
- for (uint32_t i = 0; i < val->physicalDeviceCount; i++)
- vn_encode_VkPhysicalDevice(enc, &val->pPhysicalDevices[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDeviceGroupDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO });
- vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, val);
-}
-
-/* struct VkDeviceCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceFeatures2_self((const VkPhysicalDeviceFeatures2 *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self((const VkDeviceGroupDeviceCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceCreateInfo_self(const VkDeviceCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->queueCreateInfoCount);
- if (val->pQueueCreateInfos) {
- size += vn_sizeof_array_size(val->queueCreateInfoCount);
- for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)
- size += vn_sizeof_VkDeviceQueueCreateInfo(&val->pQueueCreateInfos[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->enabledLayerCount);
- if (val->ppEnabledLayerNames) {
- size += vn_sizeof_array_size(val->enabledLayerCount);
- 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);
- }
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->enabledExtensionCount);
- if (val->ppEnabledExtensionNames) {
- size += vn_sizeof_array_size(val->enabledExtensionCount);
- 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);
- }
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_simple_pointer(val->pEnabledFeatures);
- if (val->pEnabledFeatures)
- size += vn_sizeof_VkPhysicalDeviceFeatures(val->pEnabledFeatures);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceCreateInfo(const VkDeviceCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceFeatures2_self(enc, (const VkPhysicalDeviceFeatures2 *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, (const VkDeviceGroupDeviceCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->queueCreateInfoCount);
- if (val->pQueueCreateInfos) {
- vn_encode_array_size(enc, val->queueCreateInfoCount);
- for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)
- vn_encode_VkDeviceQueueCreateInfo(enc, &val->pQueueCreateInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->enabledLayerCount);
- if (val->ppEnabledLayerNames) {
- vn_encode_array_size(enc, val->enabledLayerCount);
- 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);
- }
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->enabledExtensionCount);
- if (val->ppEnabledExtensionNames) {
- vn_encode_array_size(enc, val->enabledExtensionCount);
- 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);
- }
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, val->pEnabledFeatures))
- vn_encode_VkPhysicalDeviceFeatures(enc, val->pEnabledFeatures);
-}
-
-static inline void
-vn_encode_VkDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO });
- vn_encode_VkDeviceCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceCreateInfo_self(enc, val);
-}
-
-/* struct VkInstanceCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkInstanceCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkInstanceCreateInfo_self(const VkInstanceCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_simple_pointer(val->pApplicationInfo);
- if (val->pApplicationInfo)
- size += vn_sizeof_VkApplicationInfo(val->pApplicationInfo);
- size += vn_sizeof_uint32_t(&val->enabledLayerCount);
- if (val->ppEnabledLayerNames) {
- size += vn_sizeof_array_size(val->enabledLayerCount);
- 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);
- }
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->enabledExtensionCount);
- if (val->ppEnabledExtensionNames) {
- size += vn_sizeof_array_size(val->enabledExtensionCount);
- 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);
- }
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkInstanceCreateInfo(const VkInstanceCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkInstanceCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkInstanceCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkInstanceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkInstanceCreateInfo_self(struct vn_cs_encoder *enc, const VkInstanceCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- if (vn_encode_simple_pointer(enc, val->pApplicationInfo))
- vn_encode_VkApplicationInfo(enc, val->pApplicationInfo);
- vn_encode_uint32_t(enc, &val->enabledLayerCount);
- if (val->ppEnabledLayerNames) {
- vn_encode_array_size(enc, val->enabledLayerCount);
- 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);
- }
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->enabledExtensionCount);
- if (val->ppEnabledExtensionNames) {
- vn_encode_array_size(enc, val->enabledExtensionCount);
- 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);
- }
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkInstanceCreateInfo(struct vn_cs_encoder *enc, const VkInstanceCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO });
- vn_encode_VkInstanceCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkInstanceCreateInfo_self(enc, val);
-}
-
-/* struct VkQueueFamilyProperties */
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties(const VkQueueFamilyProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->queueFlags);
- size += vn_sizeof_uint32_t(&val->queueCount);
- size += vn_sizeof_uint32_t(&val->timestampValidBits);
- size += vn_sizeof_VkExtent3D(&val->minImageTransferGranularity);
- return size;
-}
-
-static inline void
-vn_decode_VkQueueFamilyProperties(struct vn_cs_decoder *dec, VkQueueFamilyProperties *val)
-{
- vn_decode_VkFlags(dec, &val->queueFlags);
- vn_decode_uint32_t(dec, &val->queueCount);
- vn_decode_uint32_t(dec, &val->timestampValidBits);
- vn_decode_VkExtent3D(dec, &val->minImageTransferGranularity);
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties_partial(const VkQueueFamilyProperties *val)
-{
- size_t size = 0;
- /* skip val->queueFlags */
- /* skip val->queueCount */
- /* skip val->timestampValidBits */
- size += vn_sizeof_VkExtent3D_partial(&val->minImageTransferGranularity);
- return size;
-}
-
-static inline void
-vn_encode_VkQueueFamilyProperties_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties *val)
-{
- /* skip val->queueFlags */
- /* skip val->queueCount */
- /* skip val->timestampValidBits */
- vn_encode_VkExtent3D_partial(enc, &val->minImageTransferGranularity);
-}
-
-/* struct VkMemoryType */
-
-static inline size_t
-vn_sizeof_VkMemoryType(const VkMemoryType *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->propertyFlags);
- size += vn_sizeof_uint32_t(&val->heapIndex);
- return size;
-}
-
-static inline void
-vn_decode_VkMemoryType(struct vn_cs_decoder *dec, VkMemoryType *val)
-{
- vn_decode_VkFlags(dec, &val->propertyFlags);
- vn_decode_uint32_t(dec, &val->heapIndex);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryType_partial(const VkMemoryType *val)
-{
- size_t size = 0;
- /* skip val->propertyFlags */
- /* skip val->heapIndex */
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryType_partial(struct vn_cs_encoder *enc, const VkMemoryType *val)
-{
- /* skip val->propertyFlags */
- /* skip val->heapIndex */
-}
-
-/* struct VkMemoryHeap */
-
-static inline size_t
-vn_sizeof_VkMemoryHeap(const VkMemoryHeap *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDeviceSize(&val->size);
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline void
-vn_decode_VkMemoryHeap(struct vn_cs_decoder *dec, VkMemoryHeap *val)
-{
- vn_decode_VkDeviceSize(dec, &val->size);
- vn_decode_VkFlags(dec, &val->flags);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryHeap_partial(const VkMemoryHeap *val)
-{
- size_t size = 0;
- /* skip val->size */
- /* skip val->flags */
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryHeap_partial(struct vn_cs_encoder *enc, const VkMemoryHeap *val)
-{
- /* skip val->size */
- /* skip val->flags */
-}
-
-/* struct VkPhysicalDeviceMemoryProperties */
+/* struct VkExtensionProperties */
static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties *val)
+vn_sizeof_VkExtensionProperties(const VkExtensionProperties *val)
{
size_t size = 0;
- size += vn_sizeof_uint32_t(&val->memoryTypeCount);
- size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
- size += vn_sizeof_VkMemoryType(&val->memoryTypes[i]);
- size += vn_sizeof_uint32_t(&val->memoryHeapCount);
- size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
- size += vn_sizeof_VkMemoryHeap(&val->memoryHeaps[i]);
+ 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_uint32_t(&val->specVersion);
return size;
}
static inline void
-vn_decode_VkPhysicalDeviceMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties *val)
+vn_decode_VkExtensionProperties(struct vn_cs_decoder *dec, VkExtensionProperties *val)
{
- 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++)
- 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++)
- vn_decode_VkMemoryHeap(dec, &val->memoryHeaps[i]);
- }
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(const VkPhysicalDeviceMemoryProperties *val)
-{
- size_t size = 0;
- /* skip val->memoryTypeCount */
- size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
- size += vn_sizeof_VkMemoryType_partial(&val->memoryTypes[i]);
- /* skip val->memoryHeapCount */
- size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
- size += vn_sizeof_VkMemoryHeap_partial(&val->memoryHeaps[i]);
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties *val)
-{
- /* skip val->memoryTypeCount */
- vn_encode_array_size(enc, VK_MAX_MEMORY_TYPES);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
- vn_encode_VkMemoryType_partial(enc, &val->memoryTypes[i]);
- /* skip val->memoryHeapCount */
- vn_encode_array_size(enc, VK_MAX_MEMORY_HEAPS);
- for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
- vn_encode_VkMemoryHeap_partial(enc, &val->memoryHeaps[i]);
-}
-
-/* struct VkExportMemoryAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkExportMemoryAllocateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExportMemoryAllocateInfo_self(const VkExportMemoryAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->handleTypes);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExportMemoryAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkExportMemoryAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExportMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExportMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->handleTypes);
-}
-
-static inline void
-vn_encode_VkExportMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO });
- vn_encode_VkExportMemoryAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkExportMemoryAllocateInfo_self(enc, val);
-}
-
-/* struct VkMemoryAllocateFlagsInfo chain */
-
-static inline size_t
-vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryAllocateFlagsInfo_self(const VkMemoryAllocateFlagsInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->deviceMask);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(val->pNext);
- size += vn_sizeof_VkMemoryAllocateFlagsInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryAllocateFlagsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMemoryAllocateFlagsInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->deviceMask);
-}
-
-static inline void
-vn_encode_VkMemoryAllocateFlagsInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO });
- vn_encode_VkMemoryAllocateFlagsInfo_pnext(enc, val->pNext);
- vn_encode_VkMemoryAllocateFlagsInfo_self(enc, val);
-}
-
-/* struct VkMemoryDedicatedAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryDedicatedAllocateInfo_self(const VkMemoryDedicatedAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_VkBuffer(&val->buffer);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryDedicatedAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMemoryDedicatedAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImage(enc, &val->image);
- vn_encode_VkBuffer(enc, &val->buffer);
-}
-
-static inline void
-vn_encode_VkMemoryDedicatedAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO });
- vn_encode_VkMemoryDedicatedAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, val);
-}
-
-/* struct VkMemoryOpaqueCaptureAddressAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->opaqueCaptureAddress);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint64_t(enc, &val->opaqueCaptureAddress);
-}
-
-static inline void
-vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO });
- vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, val);
-}
-
-/* struct VkMemoryAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkMemoryAllocateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkExportMemoryAllocateInfo_self((const VkExportMemoryAllocateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkMemoryAllocateFlagsInfo_self((const VkMemoryAllocateFlagsInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self((const VkMemoryDedicatedAllocateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self((const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
+ const size_t array_size = vn_decode_array_size(dec, VK_MAX_EXTENSION_NAME_SIZE);
+ vn_decode_blob_array(dec, val->extensionName, array_size);
}
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryAllocateInfo_self(const VkMemoryAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDeviceSize(&val->allocationSize);
- size += vn_sizeof_uint32_t(&val->memoryTypeIndex);
- return size;
+ vn_decode_uint32_t(dec, &val->specVersion);
}
static inline size_t
-vn_sizeof_VkMemoryAllocateInfo(const VkMemoryAllocateInfo *val)
+vn_sizeof_VkExtensionProperties_partial(const VkExtensionProperties *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMemoryAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkMemoryAllocateInfo_self(val);
-
+ /* skip val->extensionName */
+ /* skip val->specVersion */
return size;
}
static inline void
-vn_encode_VkMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkExportMemoryAllocateInfo_self(enc, (const VkExportMemoryAllocateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkMemoryAllocateFlagsInfo_self(enc, (const VkMemoryAllocateFlagsInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, (const VkMemoryDedicatedAllocateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, (const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDeviceSize(enc, &val->allocationSize);
- vn_encode_uint32_t(enc, &val->memoryTypeIndex);
-}
-
-static inline void
-vn_encode_VkMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
+vn_encode_VkExtensionProperties_partial(struct vn_cs_encoder *enc, const VkExtensionProperties *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO });
- vn_encode_VkMemoryAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkMemoryAllocateInfo_self(enc, val);
+ /* skip val->extensionName */
+ /* skip val->specVersion */
}
/* struct VkMemoryRequirements */
@@ -6767,715 +226,6 @@ vn_encode_VkSparseImageFormatProperties_partial(struct vn_cs_encoder *enc, const
/* skip val->flags */
}
-/* struct VkSparseImageMemoryRequirements */
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements(const VkSparseImageMemoryRequirements *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkSparseImageFormatProperties(&val->formatProperties);
- size += vn_sizeof_uint32_t(&val->imageMipTailFirstLod);
- size += vn_sizeof_VkDeviceSize(&val->imageMipTailSize);
- size += vn_sizeof_VkDeviceSize(&val->imageMipTailOffset);
- size += vn_sizeof_VkDeviceSize(&val->imageMipTailStride);
- return size;
-}
-
-static inline void
-vn_decode_VkSparseImageMemoryRequirements(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements *val)
-{
- vn_decode_VkSparseImageFormatProperties(dec, &val->formatProperties);
- vn_decode_uint32_t(dec, &val->imageMipTailFirstLod);
- vn_decode_VkDeviceSize(dec, &val->imageMipTailSize);
- vn_decode_VkDeviceSize(dec, &val->imageMipTailOffset);
- vn_decode_VkDeviceSize(dec, &val->imageMipTailStride);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements_partial(const VkSparseImageMemoryRequirements *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->formatProperties);
- /* skip val->imageMipTailFirstLod */
- /* skip val->imageMipTailSize */
- /* skip val->imageMipTailOffset */
- /* skip val->imageMipTailStride */
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryRequirements_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements *val)
-{
- vn_encode_VkSparseImageFormatProperties_partial(enc, &val->formatProperties);
- /* skip val->imageMipTailFirstLod */
- /* skip val->imageMipTailSize */
- /* skip val->imageMipTailOffset */
- /* skip val->imageMipTailStride */
-}
-
-/* struct VkMappedMemoryRange chain */
-
-static inline size_t
-vn_sizeof_VkMappedMemoryRange_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMappedMemoryRange_self(const VkMappedMemoryRange *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- size += vn_sizeof_VkDeviceSize(&val->offset);
- size += vn_sizeof_VkDeviceSize(&val->size);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkMappedMemoryRange(const VkMappedMemoryRange *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMappedMemoryRange_pnext(val->pNext);
- size += vn_sizeof_VkMappedMemoryRange_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkMappedMemoryRange_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMappedMemoryRange_self(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDeviceMemory(enc, &val->memory);
- vn_encode_VkDeviceSize(enc, &val->offset);
- vn_encode_VkDeviceSize(enc, &val->size);
-}
-
-static inline void
-vn_encode_VkMappedMemoryRange(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE });
- vn_encode_VkMappedMemoryRange_pnext(enc, val->pNext);
- vn_encode_VkMappedMemoryRange_self(enc, val);
-}
-
-static inline void
-vn_decode_VkMappedMemoryRange_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkMappedMemoryRange_self(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkDeviceMemory(dec, &val->memory);
- vn_decode_VkDeviceSize(dec, &val->offset);
- vn_decode_VkDeviceSize(dec, &val->size);
-}
-
-static inline void
-vn_decode_VkMappedMemoryRange(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
-
- assert(val->sType == stype);
- vn_decode_VkMappedMemoryRange_pnext(dec, val->pNext);
- vn_decode_VkMappedMemoryRange_self(dec, val);
-}
-
-/* struct VkFormatProperties */
-
-static inline size_t
-vn_sizeof_VkFormatProperties(const VkFormatProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->linearTilingFeatures);
- size += vn_sizeof_VkFlags(&val->optimalTilingFeatures);
- size += vn_sizeof_VkFlags(&val->bufferFeatures);
- return size;
-}
-
-static inline void
-vn_decode_VkFormatProperties(struct vn_cs_decoder *dec, VkFormatProperties *val)
-{
- vn_decode_VkFlags(dec, &val->linearTilingFeatures);
- vn_decode_VkFlags(dec, &val->optimalTilingFeatures);
- vn_decode_VkFlags(dec, &val->bufferFeatures);
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties_partial(const VkFormatProperties *val)
-{
- size_t size = 0;
- /* skip val->linearTilingFeatures */
- /* skip val->optimalTilingFeatures */
- /* skip val->bufferFeatures */
- return size;
-}
-
-static inline void
-vn_encode_VkFormatProperties_partial(struct vn_cs_encoder *enc, const VkFormatProperties *val)
-{
- /* skip val->linearTilingFeatures */
- /* skip val->optimalTilingFeatures */
- /* skip val->bufferFeatures */
-}
-
-/* struct VkImageFormatProperties */
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties(const VkImageFormatProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkExtent3D(&val->maxExtent);
- size += vn_sizeof_uint32_t(&val->maxMipLevels);
- size += vn_sizeof_uint32_t(&val->maxArrayLayers);
- size += vn_sizeof_VkFlags(&val->sampleCounts);
- size += vn_sizeof_VkDeviceSize(&val->maxResourceSize);
- return size;
-}
-
-static inline void
-vn_decode_VkImageFormatProperties(struct vn_cs_decoder *dec, VkImageFormatProperties *val)
-{
- vn_decode_VkExtent3D(dec, &val->maxExtent);
- vn_decode_uint32_t(dec, &val->maxMipLevels);
- vn_decode_uint32_t(dec, &val->maxArrayLayers);
- vn_decode_VkFlags(dec, &val->sampleCounts);
- vn_decode_VkDeviceSize(dec, &val->maxResourceSize);
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties_partial(const VkImageFormatProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkExtent3D_partial(&val->maxExtent);
- /* skip val->maxMipLevels */
- /* skip val->maxArrayLayers */
- /* skip val->sampleCounts */
- /* skip val->maxResourceSize */
- return size;
-}
-
-static inline void
-vn_encode_VkImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties *val)
-{
- vn_encode_VkExtent3D_partial(enc, &val->maxExtent);
- /* skip val->maxMipLevels */
- /* skip val->maxArrayLayers */
- /* skip val->sampleCounts */
- /* skip val->maxResourceSize */
-}
-
-/* struct VkDescriptorBufferInfo */
-
-static inline size_t
-vn_sizeof_VkDescriptorBufferInfo(const VkDescriptorBufferInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkBuffer(&val->buffer);
- size += vn_sizeof_VkDeviceSize(&val->offset);
- size += vn_sizeof_VkDeviceSize(&val->range);
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorBufferInfo(struct vn_cs_encoder *enc, const VkDescriptorBufferInfo *val)
-{
- vn_encode_VkBuffer(enc, &val->buffer);
- vn_encode_VkDeviceSize(enc, &val->offset);
- vn_encode_VkDeviceSize(enc, &val->range);
-}
-
-/* struct VkDescriptorImageInfo */
-
-static inline size_t
-vn_sizeof_VkDescriptorImageInfo(const VkDescriptorImageInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkSampler(&val->sampler);
- size += vn_sizeof_VkImageView(&val->imageView);
- size += vn_sizeof_VkImageLayout(&val->imageLayout);
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorImageInfo(struct vn_cs_encoder *enc, const VkDescriptorImageInfo *val)
-{
- vn_encode_VkSampler(enc, &val->sampler);
- vn_encode_VkImageView(enc, &val->imageView);
- vn_encode_VkImageLayout(enc, &val->imageLayout);
-}
-
-/* struct VkWriteDescriptorSet chain */
-
-static inline size_t
-vn_sizeof_VkWriteDescriptorSet_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkWriteDescriptorSet_self(const VkWriteDescriptorSet *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDescriptorSet(&val->dstSet);
- size += vn_sizeof_uint32_t(&val->dstBinding);
- size += vn_sizeof_uint32_t(&val->dstArrayElement);
- size += vn_sizeof_uint32_t(&val->descriptorCount);
- size += vn_sizeof_VkDescriptorType(&val->descriptorType);
- if (val->pImageInfo) {
- size += vn_sizeof_array_size(val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- size += vn_sizeof_VkDescriptorImageInfo(&val->pImageInfo[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pBufferInfo) {
- size += vn_sizeof_array_size(val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- size += vn_sizeof_VkDescriptorBufferInfo(&val->pBufferInfo[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pTexelBufferView) {
- size += vn_sizeof_array_size(val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- size += vn_sizeof_VkBufferView(&val->pTexelBufferView[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkWriteDescriptorSet(const VkWriteDescriptorSet *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkWriteDescriptorSet_pnext(val->pNext);
- size += vn_sizeof_VkWriteDescriptorSet_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkWriteDescriptorSet_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkWriteDescriptorSet_self(struct vn_cs_encoder *enc, const VkWriteDescriptorSet *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDescriptorSet(enc, &val->dstSet);
- vn_encode_uint32_t(enc, &val->dstBinding);
- vn_encode_uint32_t(enc, &val->dstArrayElement);
- vn_encode_uint32_t(enc, &val->descriptorCount);
- vn_encode_VkDescriptorType(enc, &val->descriptorType);
- if (val->pImageInfo) {
- vn_encode_array_size(enc, val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- vn_encode_VkDescriptorImageInfo(enc, &val->pImageInfo[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pBufferInfo) {
- vn_encode_array_size(enc, val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- vn_encode_VkDescriptorBufferInfo(enc, &val->pBufferInfo[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pTexelBufferView) {
- vn_encode_array_size(enc, val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- vn_encode_VkBufferView(enc, &val->pTexelBufferView[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkWriteDescriptorSet(struct vn_cs_encoder *enc, const VkWriteDescriptorSet *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET });
- vn_encode_VkWriteDescriptorSet_pnext(enc, val->pNext);
- vn_encode_VkWriteDescriptorSet_self(enc, val);
-}
-
-/* struct VkCopyDescriptorSet chain */
-
-static inline size_t
-vn_sizeof_VkCopyDescriptorSet_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkCopyDescriptorSet_self(const VkCopyDescriptorSet *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDescriptorSet(&val->srcSet);
- size += vn_sizeof_uint32_t(&val->srcBinding);
- size += vn_sizeof_uint32_t(&val->srcArrayElement);
- size += vn_sizeof_VkDescriptorSet(&val->dstSet);
- size += vn_sizeof_uint32_t(&val->dstBinding);
- size += vn_sizeof_uint32_t(&val->dstArrayElement);
- size += vn_sizeof_uint32_t(&val->descriptorCount);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkCopyDescriptorSet(const VkCopyDescriptorSet *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkCopyDescriptorSet_pnext(val->pNext);
- size += vn_sizeof_VkCopyDescriptorSet_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkCopyDescriptorSet_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkCopyDescriptorSet_self(struct vn_cs_encoder *enc, const VkCopyDescriptorSet *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDescriptorSet(enc, &val->srcSet);
- vn_encode_uint32_t(enc, &val->srcBinding);
- vn_encode_uint32_t(enc, &val->srcArrayElement);
- vn_encode_VkDescriptorSet(enc, &val->dstSet);
- vn_encode_uint32_t(enc, &val->dstBinding);
- vn_encode_uint32_t(enc, &val->dstArrayElement);
- vn_encode_uint32_t(enc, &val->descriptorCount);
-}
-
-static inline void
-vn_encode_VkCopyDescriptorSet(struct vn_cs_encoder *enc, const VkCopyDescriptorSet *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET });
- vn_encode_VkCopyDescriptorSet_pnext(enc, val->pNext);
- vn_encode_VkCopyDescriptorSet_self(enc, val);
-}
-
-/* struct VkExternalMemoryBufferCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkExternalMemoryBufferCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalMemoryBufferCreateInfo_self(const VkExternalMemoryBufferCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->handleTypes);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalMemoryBufferCreateInfo(const VkExternalMemoryBufferCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalMemoryBufferCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkExternalMemoryBufferCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExternalMemoryBufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExternalMemoryBufferCreateInfo_self(struct vn_cs_encoder *enc, const VkExternalMemoryBufferCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->handleTypes);
-}
-
-static inline void
-vn_encode_VkExternalMemoryBufferCreateInfo(struct vn_cs_encoder *enc, const VkExternalMemoryBufferCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO });
- vn_encode_VkExternalMemoryBufferCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkExternalMemoryBufferCreateInfo_self(enc, val);
-}
-
-/* struct VkBufferOpaqueCaptureAddressCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self(const VkBufferOpaqueCaptureAddressCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->opaqueCaptureAddress);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo(const VkBufferOpaqueCaptureAddressCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferOpaqueCaptureAddressCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint64_t(enc, &val->opaqueCaptureAddress);
-}
-
-static inline void
-vn_encode_VkBufferOpaqueCaptureAddressCreateInfo(struct vn_cs_encoder *enc, const VkBufferOpaqueCaptureAddressCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO });
- vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(enc, val);
-}
-
-/* struct VkBufferCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkBufferCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBufferCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkExternalMemoryBufferCreateInfo_self((const VkExternalMemoryBufferCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBufferCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkBufferOpaqueCaptureAddressCreateInfo_self((const VkBufferOpaqueCaptureAddressCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferCreateInfo_self(const VkBufferCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkDeviceSize(&val->size);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_VkSharingMode(&val->sharingMode);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- size += vn_sizeof_array_size(val->queueFamilyIndexCount);
- size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferCreateInfo(const VkBufferCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkBufferCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBufferCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkExternalMemoryBufferCreateInfo_self(enc, (const VkExternalMemoryBufferCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBufferCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkBufferOpaqueCaptureAddressCreateInfo_self(enc, (const VkBufferOpaqueCaptureAddressCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkDeviceSize(enc, &val->size);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_VkSharingMode(enc, &val->sharingMode);
- vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- vn_encode_array_size(enc, val->queueFamilyIndexCount);
- vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkBufferCreateInfo(struct vn_cs_encoder *enc, const VkBufferCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO });
- vn_encode_VkBufferCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkBufferCreateInfo_self(enc, val);
-}
-
-/* struct VkBufferViewCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkBufferViewCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferViewCreateInfo_self(const VkBufferViewCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkBuffer(&val->buffer);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkDeviceSize(&val->offset);
- size += vn_sizeof_VkDeviceSize(&val->range);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferViewCreateInfo(const VkBufferViewCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferViewCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkBufferViewCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferViewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferViewCreateInfo_self(struct vn_cs_encoder *enc, const VkBufferViewCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkBuffer(enc, &val->buffer);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkDeviceSize(enc, &val->offset);
- vn_encode_VkDeviceSize(enc, &val->range);
-}
-
-static inline void
-vn_encode_VkBufferViewCreateInfo(struct vn_cs_encoder *enc, const VkBufferViewCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO });
- vn_encode_VkBufferViewCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkBufferViewCreateInfo_self(enc, val);
-}
-
/* struct VkImageSubresource */
static inline size_t
@@ -7496,290 +246,79 @@ vn_encode_VkImageSubresource(struct vn_cs_encoder *enc, const VkImageSubresource
vn_encode_uint32_t(enc, &val->arrayLayer);
}
-/* struct VkImageSubresourceLayers */
-
-static inline size_t
-vn_sizeof_VkImageSubresourceLayers(const VkImageSubresourceLayers *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->aspectMask);
- size += vn_sizeof_uint32_t(&val->mipLevel);
- size += vn_sizeof_uint32_t(&val->baseArrayLayer);
- size += vn_sizeof_uint32_t(&val->layerCount);
- return size;
-}
-
-static inline void
-vn_encode_VkImageSubresourceLayers(struct vn_cs_encoder *enc, const VkImageSubresourceLayers *val)
-{
- vn_encode_VkFlags(enc, &val->aspectMask);
- vn_encode_uint32_t(enc, &val->mipLevel);
- vn_encode_uint32_t(enc, &val->baseArrayLayer);
- vn_encode_uint32_t(enc, &val->layerCount);
-}
-
-/* struct VkImageSubresourceRange */
-
-static inline size_t
-vn_sizeof_VkImageSubresourceRange(const VkImageSubresourceRange *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->aspectMask);
- size += vn_sizeof_uint32_t(&val->baseMipLevel);
- size += vn_sizeof_uint32_t(&val->levelCount);
- size += vn_sizeof_uint32_t(&val->baseArrayLayer);
- size += vn_sizeof_uint32_t(&val->layerCount);
- return size;
-}
-
-static inline void
-vn_encode_VkImageSubresourceRange(struct vn_cs_encoder *enc, const VkImageSubresourceRange *val)
-{
- vn_encode_VkFlags(enc, &val->aspectMask);
- vn_encode_uint32_t(enc, &val->baseMipLevel);
- vn_encode_uint32_t(enc, &val->levelCount);
- vn_encode_uint32_t(enc, &val->baseArrayLayer);
- vn_encode_uint32_t(enc, &val->layerCount);
-}
-
-/* struct VkMemoryBarrier chain */
-
-static inline size_t
-vn_sizeof_VkMemoryBarrier_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkMemoryBarrier_self(const VkMemoryBarrier *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->srcAccessMask);
- size += vn_sizeof_VkFlags(&val->dstAccessMask);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkMemoryBarrier(const VkMemoryBarrier *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkMemoryBarrier_pnext(val->pNext);
- size += vn_sizeof_VkMemoryBarrier_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkMemoryBarrier_self(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->srcAccessMask);
- vn_encode_VkFlags(enc, &val->dstAccessMask);
-}
-
-static inline void
-vn_encode_VkMemoryBarrier(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_BARRIER);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_BARRIER });
- vn_encode_VkMemoryBarrier_pnext(enc, val->pNext);
- vn_encode_VkMemoryBarrier_self(enc, val);
-}
-
-/* struct VkBufferMemoryBarrier chain */
-
-static inline size_t
-vn_sizeof_VkBufferMemoryBarrier_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferMemoryBarrier_self(const VkBufferMemoryBarrier *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->srcAccessMask);
- size += vn_sizeof_VkFlags(&val->dstAccessMask);
- size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);
- size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);
- size += vn_sizeof_VkBuffer(&val->buffer);
- size += vn_sizeof_VkDeviceSize(&val->offset);
- size += vn_sizeof_VkDeviceSize(&val->size);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferMemoryBarrier(const VkBufferMemoryBarrier *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferMemoryBarrier_pnext(val->pNext);
- size += vn_sizeof_VkBufferMemoryBarrier_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferMemoryBarrier_self(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->srcAccessMask);
- vn_encode_VkFlags(enc, &val->dstAccessMask);
- vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);
- vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);
- vn_encode_VkBuffer(enc, &val->buffer);
- vn_encode_VkDeviceSize(enc, &val->offset);
- vn_encode_VkDeviceSize(enc, &val->size);
-}
-
-static inline void
-vn_encode_VkBufferMemoryBarrier(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER });
- vn_encode_VkBufferMemoryBarrier_pnext(enc, val->pNext);
- vn_encode_VkBufferMemoryBarrier_self(enc, val);
-}
-
-/* struct VkImageMemoryBarrier chain */
-
-static inline size_t
-vn_sizeof_VkImageMemoryBarrier_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageMemoryBarrier_self(const VkImageMemoryBarrier *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->srcAccessMask);
- size += vn_sizeof_VkFlags(&val->dstAccessMask);
- size += vn_sizeof_VkImageLayout(&val->oldLayout);
- size += vn_sizeof_VkImageLayout(&val->newLayout);
- size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);
- size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange);
- return size;
-}
+/* struct VkOffset3D */
static inline size_t
-vn_sizeof_VkImageMemoryBarrier(const VkImageMemoryBarrier *val)
+vn_sizeof_VkOffset3D(const VkOffset3D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageMemoryBarrier_pnext(val->pNext);
- size += vn_sizeof_VkImageMemoryBarrier_self(val);
-
+ size += vn_sizeof_int32_t(&val->x);
+ size += vn_sizeof_int32_t(&val->y);
+ size += vn_sizeof_int32_t(&val->z);
return size;
}
static inline void
-vn_encode_VkImageMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageMemoryBarrier_self(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->srcAccessMask);
- vn_encode_VkFlags(enc, &val->dstAccessMask);
- vn_encode_VkImageLayout(enc, &val->oldLayout);
- vn_encode_VkImageLayout(enc, &val->newLayout);
- vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);
- vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);
- vn_encode_VkImage(enc, &val->image);
- vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange);
-}
-
-static inline void
-vn_encode_VkImageMemoryBarrier(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)
+vn_encode_VkOffset3D(struct vn_cs_encoder *enc, const VkOffset3D *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER });
- vn_encode_VkImageMemoryBarrier_pnext(enc, val->pNext);
- vn_encode_VkImageMemoryBarrier_self(enc, val);
+ vn_encode_int32_t(enc, &val->x);
+ vn_encode_int32_t(enc, &val->y);
+ vn_encode_int32_t(enc, &val->z);
}
-/* struct VkExternalMemoryImageCreateInfo chain */
+/* struct VkSemaphoreTypeCreateInfo chain */
static inline size_t
-vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(const void *val)
+vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(const void *val)
{
/* no known/supported struct */
return vn_sizeof_simple_pointer(NULL);
}
static inline size_t
-vn_sizeof_VkExternalMemoryImageCreateInfo_self(const VkExternalMemoryImageCreateInfo *val)
+vn_sizeof_VkSemaphoreTypeCreateInfo_self(const VkSemaphoreTypeCreateInfo *val)
{
size_t size = 0;
/* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->handleTypes);
+ size += vn_sizeof_VkSemaphoreType(&val->semaphoreType);
+ size += vn_sizeof_uint64_t(&val->initialValue);
return size;
}
static inline size_t
-vn_sizeof_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo *val)
+vn_sizeof_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo *val)
{
size_t size = 0;
size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkExternalMemoryImageCreateInfo_self(val);
+ size += vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(val->pNext);
+ size += vn_sizeof_VkSemaphoreTypeCreateInfo_self(val);
return size;
}
static inline void
-vn_encode_VkExternalMemoryImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+vn_encode_VkSemaphoreTypeCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
{
/* no known/supported struct */
vn_encode_simple_pointer(enc, NULL);
}
static inline void
-vn_encode_VkExternalMemoryImageCreateInfo_self(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
+vn_encode_VkSemaphoreTypeCreateInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
{
/* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->handleTypes);
+ vn_encode_VkSemaphoreType(enc, &val->semaphoreType);
+ vn_encode_uint64_t(enc, &val->initialValue);
}
static inline void
-vn_encode_VkExternalMemoryImageCreateInfo(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
+vn_encode_VkSemaphoreTypeCreateInfo(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO });
- vn_encode_VkExternalMemoryImageCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkExternalMemoryImageCreateInfo_self(enc, val);
+ assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO });
+ vn_encode_VkSemaphoreTypeCreateInfo_pnext(enc, val->pNext);
+ vn_encode_VkSemaphoreTypeCreateInfo_self(enc, val);
}
/* struct VkImageFormatListCreateInfo chain */
@@ -7847,196 +386,6 @@ vn_encode_VkImageFormatListCreateInfo(struct vn_cs_encoder *enc, const VkImageFo
vn_encode_VkImageFormatListCreateInfo_self(enc, val);
}
-/* struct VkImageDrmFormatModifierListCreateInfoEXT chain */
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(const VkImageDrmFormatModifierListCreateInfoEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);
- if (val->pDrmFormatModifiers) {
- size += vn_sizeof_array_size(val->drmFormatModifierCount);
- size += vn_sizeof_uint64_t_array(val->pDrmFormatModifiers, val->drmFormatModifierCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(val->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->drmFormatModifierCount);
- if (val->pDrmFormatModifiers) {
- vn_encode_array_size(enc, val->drmFormatModifierCount);
- vn_encode_uint64_t_array(enc, val->pDrmFormatModifiers, val->drmFormatModifierCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierListCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT });
- vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(enc, val->pNext);
- vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, val);
-}
-
-/* struct VkSubresourceLayout */
-
-static inline size_t
-vn_sizeof_VkSubresourceLayout(const VkSubresourceLayout *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDeviceSize(&val->offset);
- size += vn_sizeof_VkDeviceSize(&val->size);
- size += vn_sizeof_VkDeviceSize(&val->rowPitch);
- size += vn_sizeof_VkDeviceSize(&val->arrayPitch);
- size += vn_sizeof_VkDeviceSize(&val->depthPitch);
- return size;
-}
-
-static inline void
-vn_encode_VkSubresourceLayout(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
-{
- vn_encode_VkDeviceSize(enc, &val->offset);
- vn_encode_VkDeviceSize(enc, &val->size);
- vn_encode_VkDeviceSize(enc, &val->rowPitch);
- vn_encode_VkDeviceSize(enc, &val->arrayPitch);
- vn_encode_VkDeviceSize(enc, &val->depthPitch);
-}
-
-static inline void
-vn_decode_VkSubresourceLayout(struct vn_cs_decoder *dec, VkSubresourceLayout *val)
-{
- vn_decode_VkDeviceSize(dec, &val->offset);
- vn_decode_VkDeviceSize(dec, &val->size);
- vn_decode_VkDeviceSize(dec, &val->rowPitch);
- vn_decode_VkDeviceSize(dec, &val->arrayPitch);
- vn_decode_VkDeviceSize(dec, &val->depthPitch);
-}
-
-static inline size_t
-vn_sizeof_VkSubresourceLayout_partial(const VkSubresourceLayout *val)
-{
- size_t size = 0;
- /* skip val->offset */
- /* skip val->size */
- /* skip val->rowPitch */
- /* skip val->arrayPitch */
- /* skip val->depthPitch */
- return size;
-}
-
-static inline void
-vn_encode_VkSubresourceLayout_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
-{
- /* skip val->offset */
- /* skip val->size */
- /* skip val->rowPitch */
- /* skip val->arrayPitch */
- /* skip val->depthPitch */
-}
-
-/* struct VkImageDrmFormatModifierExplicitCreateInfoEXT chain */
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->drmFormatModifier);
- size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);
- if (val->pPlaneLayouts) {
- size += vn_sizeof_array_size(val->drmFormatModifierPlaneCount);
- for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
- size += vn_sizeof_VkSubresourceLayout(&val->pPlaneLayouts[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(val->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint64_t(enc, &val->drmFormatModifier);
- vn_encode_uint32_t(enc, &val->drmFormatModifierPlaneCount);
- if (val->pPlaneLayouts) {
- vn_encode_array_size(enc, val->drmFormatModifierPlaneCount);
- for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
- vn_encode_VkSubresourceLayout(enc, &val->pPlaneLayouts[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT });
- vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(enc, val->pNext);
- vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, val);
-}
-
/* struct VkImageStencilUsageCreateInfo chain */
static inline size_t
@@ -8090,225 +439,79 @@ vn_encode_VkImageStencilUsageCreateInfo(struct vn_cs_encoder *enc, const VkImage
vn_encode_VkImageStencilUsageCreateInfo_self(enc, val);
}
-/* struct VkImageCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkImageCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkExternalMemoryImageCreateInfo_self((const VkExternalMemoryImageCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self((const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self((const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageCreateInfo_self(const VkImageCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkImageType(&val->imageType);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkExtent3D(&val->extent);
- size += vn_sizeof_uint32_t(&val->mipLevels);
- size += vn_sizeof_uint32_t(&val->arrayLayers);
- size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
- size += vn_sizeof_VkImageTiling(&val->tiling);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_VkSharingMode(&val->sharingMode);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- size += vn_sizeof_array_size(val->queueFamilyIndexCount);
- size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_VkImageLayout(&val->initialLayout);
- return size;
-}
+/* struct VkComponentMapping */
static inline size_t
-vn_sizeof_VkImageCreateInfo(const VkImageCreateInfo *val)
+vn_sizeof_VkComponentMapping(const VkComponentMapping *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkImageCreateInfo_self(val);
-
+ size += vn_sizeof_VkComponentSwizzle(&val->r);
+ size += vn_sizeof_VkComponentSwizzle(&val->g);
+ size += vn_sizeof_VkComponentSwizzle(&val->b);
+ size += vn_sizeof_VkComponentSwizzle(&val->a);
return size;
}
static inline void
-vn_encode_VkImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkExternalMemoryImageCreateInfo_self(enc, (const VkExternalMemoryImageCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
+vn_encode_VkComponentMapping(struct vn_cs_encoder *enc, const VkComponentMapping *val)
{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkImageType(enc, &val->imageType);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkExtent3D(enc, &val->extent);
- vn_encode_uint32_t(enc, &val->mipLevels);
- vn_encode_uint32_t(enc, &val->arrayLayers);
- vn_encode_VkSampleCountFlagBits(enc, &val->samples);
- vn_encode_VkImageTiling(enc, &val->tiling);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_VkSharingMode(enc, &val->sharingMode);
- vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- vn_encode_array_size(enc, val->queueFamilyIndexCount);
- vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkImageLayout(enc, &val->initialLayout);
+ vn_encode_VkComponentSwizzle(enc, &val->r);
+ vn_encode_VkComponentSwizzle(enc, &val->g);
+ vn_encode_VkComponentSwizzle(enc, &val->b);
+ vn_encode_VkComponentSwizzle(enc, &val->a);
}
static inline void
-vn_encode_VkImageCreateInfo(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO });
- vn_encode_VkImageCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkImageCreateInfo_self(enc, val);
-}
-
-/* struct VkImageViewUsageCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkImageViewUsageCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageViewUsageCreateInfo_self(const VkImageViewUsageCreateInfo *val)
+vn_decode_VkComponentMapping(struct vn_cs_decoder *dec, VkComponentMapping *val)
{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->usage);
- return size;
+ vn_decode_VkComponentSwizzle(dec, &val->r);
+ vn_decode_VkComponentSwizzle(dec, &val->g);
+ vn_decode_VkComponentSwizzle(dec, &val->b);
+ vn_decode_VkComponentSwizzle(dec, &val->a);
}
static inline size_t
-vn_sizeof_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo *val)
+vn_sizeof_VkComponentMapping_partial(const VkComponentMapping *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageViewUsageCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkImageViewUsageCreateInfo_self(val);
-
+ /* skip val->r */
+ /* skip val->g */
+ /* skip val->b */
+ /* skip val->a */
return size;
}
static inline void
-vn_encode_VkImageViewUsageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
+vn_encode_VkComponentMapping_partial(struct vn_cs_encoder *enc, const VkComponentMapping *val)
{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
+ /* skip val->r */
+ /* skip val->g */
+ /* skip val->b */
+ /* skip val->a */
}
-static inline void
-vn_encode_VkImageViewUsageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageViewUsageCreateInfo *val)
+/* struct VkImageSubresourceRange */
+
+static inline size_t
+vn_sizeof_VkImageSubresourceRange(const VkImageSubresourceRange *val)
{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->usage);
+ size_t size = 0;
+ size += vn_sizeof_VkFlags(&val->aspectMask);
+ size += vn_sizeof_uint32_t(&val->baseMipLevel);
+ size += vn_sizeof_uint32_t(&val->levelCount);
+ size += vn_sizeof_uint32_t(&val->baseArrayLayer);
+ size += vn_sizeof_uint32_t(&val->layerCount);
+ return size;
}
static inline void
-vn_encode_VkImageViewUsageCreateInfo(struct vn_cs_encoder *enc, const VkImageViewUsageCreateInfo *val)
+vn_encode_VkImageSubresourceRange(struct vn_cs_encoder *enc, const VkImageSubresourceRange *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO });
- vn_encode_VkImageViewUsageCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkImageViewUsageCreateInfo_self(enc, val);
+ vn_encode_VkFlags(enc, &val->aspectMask);
+ vn_encode_uint32_t(enc, &val->baseMipLevel);
+ vn_encode_uint32_t(enc, &val->levelCount);
+ vn_encode_uint32_t(enc, &val->baseArrayLayer);
+ vn_encode_uint32_t(enc, &val->layerCount);
}
/* struct VkSamplerYcbcrConversionInfo chain */
@@ -8364,10947 +567,153 @@ vn_encode_VkSamplerYcbcrConversionInfo(struct vn_cs_encoder *enc, const VkSample
vn_encode_VkSamplerYcbcrConversionInfo_self(enc, val);
}
-/* struct VkImageViewCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkImageViewCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageViewCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkImageViewUsageCreateInfo_self((const VkImageViewUsageCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageViewCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionInfo_self((const VkSamplerYcbcrConversionInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageViewCreateInfo_self(const VkImageViewCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_VkImageViewType(&val->viewType);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkComponentMapping(&val->components);
- size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageViewCreateInfo(const VkImageViewCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageViewCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkImageViewCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkImageViewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageViewCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkImageViewUsageCreateInfo_self(enc, (const VkImageViewUsageCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageViewCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkSamplerYcbcrConversionInfo_self(enc, (const VkSamplerYcbcrConversionInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageViewCreateInfo_self(struct vn_cs_encoder *enc, const VkImageViewCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkImage(enc, &val->image);
- vn_encode_VkImageViewType(enc, &val->viewType);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkComponentMapping(enc, &val->components);
- vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange);
-}
-
-static inline void
-vn_encode_VkImageViewCreateInfo(struct vn_cs_encoder *enc, const VkImageViewCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO });
- vn_encode_VkImageViewCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkImageViewCreateInfo_self(enc, val);
-}
-
-/* struct VkBufferCopy */
-
-static inline size_t
-vn_sizeof_VkBufferCopy(const VkBufferCopy *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDeviceSize(&val->srcOffset);
- size += vn_sizeof_VkDeviceSize(&val->dstOffset);
- size += vn_sizeof_VkDeviceSize(&val->size);
- return size;
-}
-
-static inline void
-vn_encode_VkBufferCopy(struct vn_cs_encoder *enc, const VkBufferCopy *val)
-{
- vn_encode_VkDeviceSize(enc, &val->srcOffset);
- vn_encode_VkDeviceSize(enc, &val->dstOffset);
- vn_encode_VkDeviceSize(enc, &val->size);
-}
-
-/* struct VkSparseMemoryBind */
-
-static inline size_t
-vn_sizeof_VkSparseMemoryBind(const VkSparseMemoryBind *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDeviceSize(&val->resourceOffset);
- size += vn_sizeof_VkDeviceSize(&val->size);
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline void
-vn_encode_VkSparseMemoryBind(struct vn_cs_encoder *enc, const VkSparseMemoryBind *val)
-{
- vn_encode_VkDeviceSize(enc, &val->resourceOffset);
- vn_encode_VkDeviceSize(enc, &val->size);
- vn_encode_VkDeviceMemory(enc, &val->memory);
- vn_encode_VkDeviceSize(enc, &val->memoryOffset);
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-/* struct VkSparseImageMemoryBind */
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryBind(const VkSparseImageMemoryBind *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImageSubresource(&val->subresource);
- size += vn_sizeof_VkOffset3D(&val->offset);
- size += vn_sizeof_VkExtent3D(&val->extent);
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryBind(struct vn_cs_encoder *enc, const VkSparseImageMemoryBind *val)
-{
- vn_encode_VkImageSubresource(enc, &val->subresource);
- vn_encode_VkOffset3D(enc, &val->offset);
- vn_encode_VkExtent3D(enc, &val->extent);
- vn_encode_VkDeviceMemory(enc, &val->memory);
- vn_encode_VkDeviceSize(enc, &val->memoryOffset);
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-/* struct VkSparseBufferMemoryBindInfo */
-
-static inline size_t
-vn_sizeof_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkBuffer(&val->buffer);
- size += vn_sizeof_uint32_t(&val->bindCount);
- if (val->pBinds) {
- size += vn_sizeof_array_size(val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- size += vn_sizeof_VkSparseMemoryBind(&val->pBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkSparseBufferMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseBufferMemoryBindInfo *val)
-{
- vn_encode_VkBuffer(enc, &val->buffer);
- vn_encode_uint32_t(enc, &val->bindCount);
- if (val->pBinds) {
- vn_encode_array_size(enc, val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- vn_encode_VkSparseMemoryBind(enc, &val->pBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkSparseImageOpaqueMemoryBindInfo */
-
-static inline size_t
-vn_sizeof_VkSparseImageOpaqueMemoryBindInfo(const VkSparseImageOpaqueMemoryBindInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_uint32_t(&val->bindCount);
- if (val->pBinds) {
- size += vn_sizeof_array_size(val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- size += vn_sizeof_VkSparseMemoryBind(&val->pBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageOpaqueMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseImageOpaqueMemoryBindInfo *val)
-{
- vn_encode_VkImage(enc, &val->image);
- vn_encode_uint32_t(enc, &val->bindCount);
- if (val->pBinds) {
- vn_encode_array_size(enc, val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- vn_encode_VkSparseMemoryBind(enc, &val->pBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkSparseImageMemoryBindInfo */
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_uint32_t(&val->bindCount);
- if (val->pBinds) {
- size += vn_sizeof_array_size(val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- size += vn_sizeof_VkSparseImageMemoryBind(&val->pBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryBindInfo(struct vn_cs_encoder *enc, const VkSparseImageMemoryBindInfo *val)
-{
- vn_encode_VkImage(enc, &val->image);
- vn_encode_uint32_t(enc, &val->bindCount);
- if (val->pBinds) {
- vn_encode_array_size(enc, val->bindCount);
- for (uint32_t i = 0; i < val->bindCount; i++)
- vn_encode_VkSparseImageMemoryBind(enc, &val->pBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkDeviceGroupBindSparseInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceGroupBindSparseInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupBindSparseInfo_self(const VkDeviceGroupBindSparseInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->resourceDeviceIndex);
- size += vn_sizeof_uint32_t(&val->memoryDeviceIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupBindSparseInfo(const VkDeviceGroupBindSparseInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceGroupBindSparseInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceGroupBindSparseInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceGroupBindSparseInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceGroupBindSparseInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupBindSparseInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->resourceDeviceIndex);
- vn_encode_uint32_t(enc, &val->memoryDeviceIndex);
-}
-
-static inline void
-vn_encode_VkDeviceGroupBindSparseInfo(struct vn_cs_encoder *enc, const VkDeviceGroupBindSparseInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO });
- vn_encode_VkDeviceGroupBindSparseInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceGroupBindSparseInfo_self(enc, val);
-}
-
-/* struct VkTimelineSemaphoreSubmitInfo chain */
-
-static inline size_t
-vn_sizeof_VkTimelineSemaphoreSubmitInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkTimelineSemaphoreSubmitInfo_self(const VkTimelineSemaphoreSubmitInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->waitSemaphoreValueCount);
- if (val->pWaitSemaphoreValues) {
- size += vn_sizeof_array_size(val->waitSemaphoreValueCount);
- size += vn_sizeof_uint64_t_array(val->pWaitSemaphoreValues, val->waitSemaphoreValueCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->signalSemaphoreValueCount);
- if (val->pSignalSemaphoreValues) {
- size += vn_sizeof_array_size(val->signalSemaphoreValueCount);
- size += vn_sizeof_uint64_t_array(val->pSignalSemaphoreValues, val->signalSemaphoreValueCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkTimelineSemaphoreSubmitInfo(const VkTimelineSemaphoreSubmitInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_pnext(val->pNext);
- size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkTimelineSemaphoreSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkTimelineSemaphoreSubmitInfo_self(struct vn_cs_encoder *enc, const VkTimelineSemaphoreSubmitInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->waitSemaphoreValueCount);
- if (val->pWaitSemaphoreValues) {
- vn_encode_array_size(enc, val->waitSemaphoreValueCount);
- vn_encode_uint64_t_array(enc, val->pWaitSemaphoreValues, val->waitSemaphoreValueCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->signalSemaphoreValueCount);
- if (val->pSignalSemaphoreValues) {
- vn_encode_array_size(enc, val->signalSemaphoreValueCount);
- vn_encode_uint64_t_array(enc, val->pSignalSemaphoreValues, val->signalSemaphoreValueCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkTimelineSemaphoreSubmitInfo(struct vn_cs_encoder *enc, const VkTimelineSemaphoreSubmitInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO });
- vn_encode_VkTimelineSemaphoreSubmitInfo_pnext(enc, val->pNext);
- vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, val);
-}
-
-/* struct VkBindSparseInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindSparseInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBindSparseInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDeviceGroupBindSparseInfo_self((const VkDeviceGroupBindSparseInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBindSparseInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self((const VkTimelineSemaphoreSubmitInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindSparseInfo_self(const VkBindSparseInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
- if (val->pWaitSemaphores) {
- size += vn_sizeof_array_size(val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- size += vn_sizeof_VkSemaphore(&val->pWaitSemaphores[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->bufferBindCount);
- if (val->pBufferBinds) {
- size += vn_sizeof_array_size(val->bufferBindCount);
- for (uint32_t i = 0; i < val->bufferBindCount; i++)
- size += vn_sizeof_VkSparseBufferMemoryBindInfo(&val->pBufferBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->imageOpaqueBindCount);
- if (val->pImageOpaqueBinds) {
- size += vn_sizeof_array_size(val->imageOpaqueBindCount);
- for (uint32_t i = 0; i < val->imageOpaqueBindCount; i++)
- size += vn_sizeof_VkSparseImageOpaqueMemoryBindInfo(&val->pImageOpaqueBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->imageBindCount);
- if (val->pImageBinds) {
- size += vn_sizeof_array_size(val->imageBindCount);
- for (uint32_t i = 0; i < val->imageBindCount; i++)
- size += vn_sizeof_VkSparseImageMemoryBindInfo(&val->pImageBinds[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
- if (val->pSignalSemaphores) {
- size += vn_sizeof_array_size(val->signalSemaphoreCount);
- for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
- size += vn_sizeof_VkSemaphore(&val->pSignalSemaphores[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindSparseInfo(const VkBindSparseInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindSparseInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindSparseInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindSparseInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBindSparseInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDeviceGroupBindSparseInfo_self(enc, (const VkDeviceGroupBindSparseInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBindSparseInfo_pnext(enc, pnext->pNext);
- vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, (const VkTimelineSemaphoreSubmitInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindSparseInfo_self(struct vn_cs_encoder *enc, const VkBindSparseInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
- if (val->pWaitSemaphores) {
- vn_encode_array_size(enc, val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- vn_encode_VkSemaphore(enc, &val->pWaitSemaphores[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->bufferBindCount);
- if (val->pBufferBinds) {
- vn_encode_array_size(enc, val->bufferBindCount);
- for (uint32_t i = 0; i < val->bufferBindCount; i++)
- vn_encode_VkSparseBufferMemoryBindInfo(enc, &val->pBufferBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->imageOpaqueBindCount);
- if (val->pImageOpaqueBinds) {
- vn_encode_array_size(enc, val->imageOpaqueBindCount);
- for (uint32_t i = 0; i < val->imageOpaqueBindCount; i++)
- vn_encode_VkSparseImageOpaqueMemoryBindInfo(enc, &val->pImageOpaqueBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->imageBindCount);
- if (val->pImageBinds) {
- vn_encode_array_size(enc, val->imageBindCount);
- for (uint32_t i = 0; i < val->imageBindCount; i++)
- vn_encode_VkSparseImageMemoryBindInfo(enc, &val->pImageBinds[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
- if (val->pSignalSemaphores) {
- vn_encode_array_size(enc, val->signalSemaphoreCount);
- for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
- vn_encode_VkSemaphore(enc, &val->pSignalSemaphores[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkBindSparseInfo(struct vn_cs_encoder *enc, const VkBindSparseInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_SPARSE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO });
- vn_encode_VkBindSparseInfo_pnext(enc, val->pNext);
- vn_encode_VkBindSparseInfo_self(enc, val);
-}
-
-/* struct VkImageCopy */
-
-static inline size_t
-vn_sizeof_VkImageCopy(const VkImageCopy *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
- size += vn_sizeof_VkOffset3D(&val->srcOffset);
- size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
- size += vn_sizeof_VkOffset3D(&val->dstOffset);
- size += vn_sizeof_VkExtent3D(&val->extent);
- return size;
-}
-
-static inline void
-vn_encode_VkImageCopy(struct vn_cs_encoder *enc, const VkImageCopy *val)
-{
- vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
- vn_encode_VkOffset3D(enc, &val->srcOffset);
- vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
- vn_encode_VkOffset3D(enc, &val->dstOffset);
- vn_encode_VkExtent3D(enc, &val->extent);
-}
-
-/* struct VkImageBlit */
-
-static inline size_t
-vn_sizeof_VkImageBlit(const VkImageBlit *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
- size += vn_sizeof_array_size(2);
- for (uint32_t i = 0; i < 2; i++)
- size += vn_sizeof_VkOffset3D(&val->srcOffsets[i]);
- size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
- size += vn_sizeof_array_size(2);
- for (uint32_t i = 0; i < 2; i++)
- size += vn_sizeof_VkOffset3D(&val->dstOffsets[i]);
- return size;
-}
-
-static inline void
-vn_encode_VkImageBlit(struct vn_cs_encoder *enc, const VkImageBlit *val)
-{
- vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
- vn_encode_array_size(enc, 2);
- for (uint32_t i = 0; i < 2; i++)
- vn_encode_VkOffset3D(enc, &val->srcOffsets[i]);
- vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
- vn_encode_array_size(enc, 2);
- for (uint32_t i = 0; i < 2; i++)
- vn_encode_VkOffset3D(enc, &val->dstOffsets[i]);
-}
-
-/* struct VkBufferImageCopy */
-
-static inline size_t
-vn_sizeof_VkBufferImageCopy(const VkBufferImageCopy *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDeviceSize(&val->bufferOffset);
- size += vn_sizeof_uint32_t(&val->bufferRowLength);
- size += vn_sizeof_uint32_t(&val->bufferImageHeight);
- size += vn_sizeof_VkImageSubresourceLayers(&val->imageSubresource);
- size += vn_sizeof_VkOffset3D(&val->imageOffset);
- size += vn_sizeof_VkExtent3D(&val->imageExtent);
- return size;
-}
-
-static inline void
-vn_encode_VkBufferImageCopy(struct vn_cs_encoder *enc, const VkBufferImageCopy *val)
-{
- vn_encode_VkDeviceSize(enc, &val->bufferOffset);
- vn_encode_uint32_t(enc, &val->bufferRowLength);
- vn_encode_uint32_t(enc, &val->bufferImageHeight);
- vn_encode_VkImageSubresourceLayers(enc, &val->imageSubresource);
- vn_encode_VkOffset3D(enc, &val->imageOffset);
- vn_encode_VkExtent3D(enc, &val->imageExtent);
-}
-
-/* struct VkImageResolve */
-
-static inline size_t
-vn_sizeof_VkImageResolve(const VkImageResolve *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);
- size += vn_sizeof_VkOffset3D(&val->srcOffset);
- size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);
- size += vn_sizeof_VkOffset3D(&val->dstOffset);
- size += vn_sizeof_VkExtent3D(&val->extent);
- return size;
-}
-
-static inline void
-vn_encode_VkImageResolve(struct vn_cs_encoder *enc, const VkImageResolve *val)
-{
- vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);
- vn_encode_VkOffset3D(enc, &val->srcOffset);
- vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);
- vn_encode_VkOffset3D(enc, &val->dstOffset);
- vn_encode_VkExtent3D(enc, &val->extent);
-}
-
-/* struct VkShaderModuleCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkShaderModuleCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkShaderModuleCreateInfo_self(const VkShaderModuleCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_size_t(&val->codeSize);
- if (val->pCode) {
- size += vn_sizeof_array_size(val->codeSize / 4);
- size += vn_sizeof_uint32_t_array(val->pCode, val->codeSize / 4);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkShaderModuleCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkShaderModuleCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkShaderModuleCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkShaderModuleCreateInfo_self(struct vn_cs_encoder *enc, const VkShaderModuleCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_size_t(enc, &val->codeSize);
- if (val->pCode) {
- vn_encode_array_size(enc, val->codeSize / 4);
- vn_encode_uint32_t_array(enc, val->pCode, val->codeSize / 4);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkShaderModuleCreateInfo(struct vn_cs_encoder *enc, const VkShaderModuleCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO });
- vn_encode_VkShaderModuleCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkShaderModuleCreateInfo_self(enc, val);
-}
-
-/* struct VkDescriptorSetLayoutBinding */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutBinding(const VkDescriptorSetLayoutBinding *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->binding);
- size += vn_sizeof_VkDescriptorType(&val->descriptorType);
- size += vn_sizeof_uint32_t(&val->descriptorCount);
- size += vn_sizeof_VkFlags(&val->stageFlags);
- if (val->pImmutableSamplers) {
- size += vn_sizeof_array_size(val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- size += vn_sizeof_VkSampler(&val->pImmutableSamplers[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutBinding(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBinding *val)
-{
- vn_encode_uint32_t(enc, &val->binding);
- vn_encode_VkDescriptorType(enc, &val->descriptorType);
- vn_encode_uint32_t(enc, &val->descriptorCount);
- vn_encode_VkFlags(enc, &val->stageFlags);
- if (val->pImmutableSamplers) {
- vn_encode_array_size(enc, val->descriptorCount);
- for (uint32_t i = 0; i < val->descriptorCount; i++)
- vn_encode_VkSampler(enc, &val->pImmutableSamplers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkDescriptorSetLayoutBindingFlagsCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->bindingCount);
- if (val->pBindingFlags) {
- size += vn_sizeof_array_size(val->bindingCount);
- for (uint32_t i = 0; i < val->bindingCount; i++)
- size += vn_sizeof_VkFlags(&val->pBindingFlags[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo(const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->bindingCount);
- if (val->pBindingFlags) {
- vn_encode_array_size(enc, val->bindingCount);
- for (uint32_t i = 0; i < val->bindingCount; i++)
- vn_encode_VkFlags(enc, &val->pBindingFlags[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutBindingFlagsCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO });
- vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(enc, val);
-}
-
-/* struct VkDescriptorSetLayoutCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDescriptorSetLayoutBindingFlagsCreateInfo_self((const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutCreateInfo_self(const VkDescriptorSetLayoutCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->bindingCount);
- if (val->pBindings) {
- size += vn_sizeof_array_size(val->bindingCount);
- for (uint32_t i = 0; i < val->bindingCount; i++)
- size += vn_sizeof_VkDescriptorSetLayoutBinding(&val->pBindings[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetLayoutCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDescriptorSetLayoutBindingFlagsCreateInfo_self(enc, (const VkDescriptorSetLayoutBindingFlagsCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->bindingCount);
- if (val->pBindings) {
- vn_encode_array_size(enc, val->bindingCount);
- for (uint32_t i = 0; i < val->bindingCount; i++)
- vn_encode_VkDescriptorSetLayoutBinding(enc, &val->pBindings[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO });
- vn_encode_VkDescriptorSetLayoutCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorSetLayoutCreateInfo_self(enc, val);
-}
-
-/* struct VkDescriptorPoolSize */
-
-static inline size_t
-vn_sizeof_VkDescriptorPoolSize(const VkDescriptorPoolSize *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkDescriptorType(&val->type);
- size += vn_sizeof_uint32_t(&val->descriptorCount);
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorPoolSize(struct vn_cs_encoder *enc, const VkDescriptorPoolSize *val)
-{
- vn_encode_VkDescriptorType(enc, &val->type);
- vn_encode_uint32_t(enc, &val->descriptorCount);
-}
-
-/* struct VkDescriptorPoolCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorPoolCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorPoolCreateInfo_self(const VkDescriptorPoolCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->maxSets);
- size += vn_sizeof_uint32_t(&val->poolSizeCount);
- if (val->pPoolSizes) {
- size += vn_sizeof_array_size(val->poolSizeCount);
- for (uint32_t i = 0; i < val->poolSizeCount; i++)
- size += vn_sizeof_VkDescriptorPoolSize(&val->pPoolSizes[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorPoolCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorPoolCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorPoolCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->maxSets);
- vn_encode_uint32_t(enc, &val->poolSizeCount);
- if (val->pPoolSizes) {
- vn_encode_array_size(enc, val->poolSizeCount);
- for (uint32_t i = 0; i < val->poolSizeCount; i++)
- vn_encode_VkDescriptorPoolSize(enc, &val->pPoolSizes[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDescriptorPoolCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorPoolCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO });
- vn_encode_VkDescriptorPoolCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorPoolCreateInfo_self(enc, val);
-}
-
-/* struct VkDescriptorSetVariableDescriptorCountAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->descriptorSetCount);
- if (val->pDescriptorCounts) {
- size += vn_sizeof_array_size(val->descriptorSetCount);
- size += vn_sizeof_uint32_t_array(val->pDescriptorCounts, val->descriptorSetCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo(const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->descriptorSetCount);
- if (val->pDescriptorCounts) {
- vn_encode_array_size(enc, val->descriptorSetCount);
- vn_encode_uint32_t_array(enc, val->pDescriptorCounts, val->descriptorSetCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO });
- vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(enc, val);
-}
-
-/* struct VkDescriptorSetAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetAllocateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDescriptorSetAllocateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountAllocateInfo_self((const VkDescriptorSetVariableDescriptorCountAllocateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetAllocateInfo_self(const VkDescriptorSetAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDescriptorPool(&val->descriptorPool);
- size += vn_sizeof_uint32_t(&val->descriptorSetCount);
- if (val->pSetLayouts) {
- size += vn_sizeof_array_size(val->descriptorSetCount);
- for (uint32_t i = 0; i < val->descriptorSetCount; i++)
- size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetAllocateInfo(const VkDescriptorSetAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDescriptorSetAllocateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDescriptorSetVariableDescriptorCountAllocateInfo_self(enc, (const VkDescriptorSetVariableDescriptorCountAllocateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetAllocateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorSetAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDescriptorPool(enc, &val->descriptorPool);
- vn_encode_uint32_t(enc, &val->descriptorSetCount);
- if (val->pSetLayouts) {
- vn_encode_array_size(enc, val->descriptorSetCount);
- for (uint32_t i = 0; i < val->descriptorSetCount; i++)
- vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDescriptorSetAllocateInfo(struct vn_cs_encoder *enc, const VkDescriptorSetAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO });
- vn_encode_VkDescriptorSetAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorSetAllocateInfo_self(enc, val);
-}
-
-/* struct VkSpecializationMapEntry */
-
-static inline size_t
-vn_sizeof_VkSpecializationMapEntry(const VkSpecializationMapEntry *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->constantID);
- size += vn_sizeof_uint32_t(&val->offset);
- size += vn_sizeof_size_t(&val->size);
- return size;
-}
-
-static inline void
-vn_encode_VkSpecializationMapEntry(struct vn_cs_encoder *enc, const VkSpecializationMapEntry *val)
-{
- vn_encode_uint32_t(enc, &val->constantID);
- vn_encode_uint32_t(enc, &val->offset);
- vn_encode_size_t(enc, &val->size);
-}
-
-/* struct VkSpecializationInfo */
-
-static inline size_t
-vn_sizeof_VkSpecializationInfo(const VkSpecializationInfo *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->mapEntryCount);
- if (val->pMapEntries) {
- size += vn_sizeof_array_size(val->mapEntryCount);
- for (uint32_t i = 0; i < val->mapEntryCount; i++)
- size += vn_sizeof_VkSpecializationMapEntry(&val->pMapEntries[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_size_t(&val->dataSize);
- if (val->pData) {
- size += vn_sizeof_array_size(val->dataSize);
- size += vn_sizeof_blob_array(val->pData, val->dataSize);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkSpecializationInfo(struct vn_cs_encoder *enc, const VkSpecializationInfo *val)
-{
- vn_encode_uint32_t(enc, &val->mapEntryCount);
- if (val->pMapEntries) {
- vn_encode_array_size(enc, val->mapEntryCount);
- for (uint32_t i = 0; i < val->mapEntryCount; i++)
- vn_encode_VkSpecializationMapEntry(enc, &val->pMapEntries[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_size_t(enc, &val->dataSize);
- if (val->pData) {
- vn_encode_array_size(enc, val->dataSize);
- vn_encode_blob_array(enc, val->pData, val->dataSize);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkPipelineShaderStageCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineShaderStageCreateInfo_self(const VkPipelineShaderStageCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkShaderStageFlagBits(&val->stage);
- size += vn_sizeof_VkShaderModule(&val->module);
- 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);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_simple_pointer(val->pSpecializationInfo);
- if (val->pSpecializationInfo)
- size += vn_sizeof_VkSpecializationInfo(val->pSpecializationInfo);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineShaderStageCreateInfo(const VkPipelineShaderStageCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineShaderStageCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineShaderStageCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineShaderStageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineShaderStageCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineShaderStageCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkShaderStageFlagBits(enc, &val->stage);
- vn_encode_VkShaderModule(enc, &val->module);
- 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);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, val->pSpecializationInfo))
- vn_encode_VkSpecializationInfo(enc, val->pSpecializationInfo);
-}
-
-static inline void
-vn_encode_VkPipelineShaderStageCreateInfo(struct vn_cs_encoder *enc, const VkPipelineShaderStageCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO });
- vn_encode_VkPipelineShaderStageCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineShaderStageCreateInfo_self(enc, val);
-}
-
-/* struct VkComputePipelineCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkComputePipelineCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkComputePipelineCreateInfo_self(const VkComputePipelineCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkPipelineShaderStageCreateInfo(&val->stage);
- size += vn_sizeof_VkPipelineLayout(&val->layout);
- size += vn_sizeof_VkPipeline(&val->basePipelineHandle);
- size += vn_sizeof_int32_t(&val->basePipelineIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkComputePipelineCreateInfo(const VkComputePipelineCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkComputePipelineCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkComputePipelineCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkComputePipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkComputePipelineCreateInfo_self(struct vn_cs_encoder *enc, const VkComputePipelineCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkPipelineShaderStageCreateInfo(enc, &val->stage);
- vn_encode_VkPipelineLayout(enc, &val->layout);
- vn_encode_VkPipeline(enc, &val->basePipelineHandle);
- vn_encode_int32_t(enc, &val->basePipelineIndex);
-}
-
-static inline void
-vn_encode_VkComputePipelineCreateInfo(struct vn_cs_encoder *enc, const VkComputePipelineCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO });
- vn_encode_VkComputePipelineCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkComputePipelineCreateInfo_self(enc, val);
-}
-
-/* struct VkVertexInputBindingDescription */
-
-static inline size_t
-vn_sizeof_VkVertexInputBindingDescription(const VkVertexInputBindingDescription *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->binding);
- size += vn_sizeof_uint32_t(&val->stride);
- size += vn_sizeof_VkVertexInputRate(&val->inputRate);
- return size;
-}
-
-static inline void
-vn_encode_VkVertexInputBindingDescription(struct vn_cs_encoder *enc, const VkVertexInputBindingDescription *val)
-{
- vn_encode_uint32_t(enc, &val->binding);
- vn_encode_uint32_t(enc, &val->stride);
- vn_encode_VkVertexInputRate(enc, &val->inputRate);
-}
-
-/* struct VkVertexInputAttributeDescription */
-
-static inline size_t
-vn_sizeof_VkVertexInputAttributeDescription(const VkVertexInputAttributeDescription *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->location);
- size += vn_sizeof_uint32_t(&val->binding);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_uint32_t(&val->offset);
- return size;
-}
-
-static inline void
-vn_encode_VkVertexInputAttributeDescription(struct vn_cs_encoder *enc, const VkVertexInputAttributeDescription *val)
-{
- vn_encode_uint32_t(enc, &val->location);
- vn_encode_uint32_t(enc, &val->binding);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_uint32_t(enc, &val->offset);
-}
-
-/* struct VkPipelineVertexInputStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineVertexInputStateCreateInfo_self(const VkPipelineVertexInputStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->vertexBindingDescriptionCount);
- if (val->pVertexBindingDescriptions) {
- size += vn_sizeof_array_size(val->vertexBindingDescriptionCount);
- for (uint32_t i = 0; i < val->vertexBindingDescriptionCount; i++)
- size += vn_sizeof_VkVertexInputBindingDescription(&val->pVertexBindingDescriptions[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->vertexAttributeDescriptionCount);
- if (val->pVertexAttributeDescriptions) {
- size += vn_sizeof_array_size(val->vertexAttributeDescriptionCount);
- for (uint32_t i = 0; i < val->vertexAttributeDescriptionCount; i++)
- size += vn_sizeof_VkVertexInputAttributeDescription(&val->pVertexAttributeDescriptions[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineVertexInputStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineVertexInputStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineVertexInputStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineVertexInputStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->vertexBindingDescriptionCount);
- if (val->pVertexBindingDescriptions) {
- vn_encode_array_size(enc, val->vertexBindingDescriptionCount);
- for (uint32_t i = 0; i < val->vertexBindingDescriptionCount; i++)
- vn_encode_VkVertexInputBindingDescription(enc, &val->pVertexBindingDescriptions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->vertexAttributeDescriptionCount);
- if (val->pVertexAttributeDescriptions) {
- vn_encode_array_size(enc, val->vertexAttributeDescriptionCount);
- for (uint32_t i = 0; i < val->vertexAttributeDescriptionCount; i++)
- vn_encode_VkVertexInputAttributeDescription(enc, &val->pVertexAttributeDescriptions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPipelineVertexInputStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineVertexInputStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO });
- vn_encode_VkPipelineVertexInputStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineVertexInputStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineInputAssemblyStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_self(const VkPipelineInputAssemblyStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkPrimitiveTopology(&val->topology);
- size += vn_sizeof_VkBool32(&val->primitiveRestartEnable);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineInputAssemblyStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineInputAssemblyStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineInputAssemblyStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkPrimitiveTopology(enc, &val->topology);
- vn_encode_VkBool32(enc, &val->primitiveRestartEnable);
-}
-
-static inline void
-vn_encode_VkPipelineInputAssemblyStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineInputAssemblyStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO });
- vn_encode_VkPipelineInputAssemblyStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineInputAssemblyStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineTessellationDomainOriginStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self(const VkPipelineTessellationDomainOriginStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkTessellationDomainOrigin(&val->domainOrigin);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineTessellationDomainOriginStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkTessellationDomainOrigin(enc, &val->domainOrigin);
-}
-
-static inline void
-vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineTessellationDomainOriginStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO });
- vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineTessellationStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPipelineTessellationDomainOriginStateCreateInfo_self((const VkPipelineTessellationDomainOriginStateCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationStateCreateInfo_self(const VkPipelineTessellationStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->patchControlPoints);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineTessellationStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineTessellationStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineTessellationStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPipelineTessellationStateCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPipelineTessellationDomainOriginStateCreateInfo_self(enc, (const VkPipelineTessellationDomainOriginStateCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineTessellationStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineTessellationStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->patchControlPoints);
-}
-
-static inline void
-vn_encode_VkPipelineTessellationStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineTessellationStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO });
- vn_encode_VkPipelineTessellationStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineTessellationStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineViewportStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineViewportStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineViewportStateCreateInfo_self(const VkPipelineViewportStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->viewportCount);
- if (val->pViewports) {
- size += vn_sizeof_array_size(val->viewportCount);
- for (uint32_t i = 0; i < val->viewportCount; i++)
- size += vn_sizeof_VkViewport(&val->pViewports[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->scissorCount);
- if (val->pScissors) {
- size += vn_sizeof_array_size(val->scissorCount);
- for (uint32_t i = 0; i < val->scissorCount; i++)
- size += vn_sizeof_VkRect2D(&val->pScissors[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineViewportStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineViewportStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineViewportStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineViewportStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineViewportStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->viewportCount);
- if (val->pViewports) {
- vn_encode_array_size(enc, val->viewportCount);
- for (uint32_t i = 0; i < val->viewportCount; i++)
- vn_encode_VkViewport(enc, &val->pViewports[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->scissorCount);
- if (val->pScissors) {
- vn_encode_array_size(enc, val->scissorCount);
- for (uint32_t i = 0; i < val->scissorCount; i++)
- vn_encode_VkRect2D(enc, &val->pScissors[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPipelineViewportStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineViewportStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO });
- vn_encode_VkPipelineViewportStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineViewportStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineRasterizationStateStreamCreateInfoEXT chain */
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self(const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->rasterizationStream);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT(const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(val->pNext);
- size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->rasterizationStream);
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateStreamCreateInfoEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT });
- vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_pnext(enc, val->pNext);
- vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(enc, val);
-}
-
-/* struct VkPipelineRasterizationStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkPipelineRasterizationStateStreamCreateInfoEXT_self((const VkPipelineRasterizationStateStreamCreateInfoEXT *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateCreateInfo_self(const VkPipelineRasterizationStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkBool32(&val->depthClampEnable);
- size += vn_sizeof_VkBool32(&val->rasterizerDiscardEnable);
- size += vn_sizeof_VkPolygonMode(&val->polygonMode);
- size += vn_sizeof_VkFlags(&val->cullMode);
- size += vn_sizeof_VkFrontFace(&val->frontFace);
- size += vn_sizeof_VkBool32(&val->depthBiasEnable);
- size += vn_sizeof_float(&val->depthBiasConstantFactor);
- size += vn_sizeof_float(&val->depthBiasClamp);
- size += vn_sizeof_float(&val->depthBiasSlopeFactor);
- size += vn_sizeof_float(&val->lineWidth);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineRasterizationStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkPipelineRasterizationStateStreamCreateInfoEXT_self(enc, (const VkPipelineRasterizationStateStreamCreateInfoEXT *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkBool32(enc, &val->depthClampEnable);
- vn_encode_VkBool32(enc, &val->rasterizerDiscardEnable);
- vn_encode_VkPolygonMode(enc, &val->polygonMode);
- vn_encode_VkFlags(enc, &val->cullMode);
- vn_encode_VkFrontFace(enc, &val->frontFace);
- vn_encode_VkBool32(enc, &val->depthBiasEnable);
- vn_encode_float(enc, &val->depthBiasConstantFactor);
- vn_encode_float(enc, &val->depthBiasClamp);
- vn_encode_float(enc, &val->depthBiasSlopeFactor);
- vn_encode_float(enc, &val->lineWidth);
-}
-
-static inline void
-vn_encode_VkPipelineRasterizationStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineRasterizationStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO });
- vn_encode_VkPipelineRasterizationStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineRasterizationStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineMultisampleStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineMultisampleStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineMultisampleStateCreateInfo_self(const VkPipelineMultisampleStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkSampleCountFlagBits(&val->rasterizationSamples);
- size += vn_sizeof_VkBool32(&val->sampleShadingEnable);
- size += vn_sizeof_float(&val->minSampleShading);
- if (val->pSampleMask) {
- size += vn_sizeof_array_size((val->rasterizationSamples + 31) / 32);
- size += vn_sizeof_VkSampleMask_array(val->pSampleMask, (val->rasterizationSamples + 31) / 32);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_VkBool32(&val->alphaToCoverageEnable);
- size += vn_sizeof_VkBool32(&val->alphaToOneEnable);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineMultisampleStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineMultisampleStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineMultisampleStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineMultisampleStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineMultisampleStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkSampleCountFlagBits(enc, &val->rasterizationSamples);
- vn_encode_VkBool32(enc, &val->sampleShadingEnable);
- vn_encode_float(enc, &val->minSampleShading);
- if (val->pSampleMask) {
- vn_encode_array_size(enc, (val->rasterizationSamples + 31) / 32);
- vn_encode_VkSampleMask_array(enc, val->pSampleMask, (val->rasterizationSamples + 31) / 32);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkBool32(enc, &val->alphaToCoverageEnable);
- vn_encode_VkBool32(enc, &val->alphaToOneEnable);
-}
-
-static inline void
-vn_encode_VkPipelineMultisampleStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineMultisampleStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO });
- vn_encode_VkPipelineMultisampleStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineMultisampleStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineColorBlendAttachmentState */
-
-static inline size_t
-vn_sizeof_VkPipelineColorBlendAttachmentState(const VkPipelineColorBlendAttachmentState *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkBool32(&val->blendEnable);
- size += vn_sizeof_VkBlendFactor(&val->srcColorBlendFactor);
- size += vn_sizeof_VkBlendFactor(&val->dstColorBlendFactor);
- size += vn_sizeof_VkBlendOp(&val->colorBlendOp);
- size += vn_sizeof_VkBlendFactor(&val->srcAlphaBlendFactor);
- size += vn_sizeof_VkBlendFactor(&val->dstAlphaBlendFactor);
- size += vn_sizeof_VkBlendOp(&val->alphaBlendOp);
- size += vn_sizeof_VkFlags(&val->colorWriteMask);
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineColorBlendAttachmentState(struct vn_cs_encoder *enc, const VkPipelineColorBlendAttachmentState *val)
-{
- vn_encode_VkBool32(enc, &val->blendEnable);
- vn_encode_VkBlendFactor(enc, &val->srcColorBlendFactor);
- vn_encode_VkBlendFactor(enc, &val->dstColorBlendFactor);
- vn_encode_VkBlendOp(enc, &val->colorBlendOp);
- vn_encode_VkBlendFactor(enc, &val->srcAlphaBlendFactor);
- vn_encode_VkBlendFactor(enc, &val->dstAlphaBlendFactor);
- vn_encode_VkBlendOp(enc, &val->alphaBlendOp);
- vn_encode_VkFlags(enc, &val->colorWriteMask);
-}
-
-/* struct VkPipelineColorBlendStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineColorBlendStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineColorBlendStateCreateInfo_self(const VkPipelineColorBlendStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkBool32(&val->logicOpEnable);
- size += vn_sizeof_VkLogicOp(&val->logicOp);
- size += vn_sizeof_uint32_t(&val->attachmentCount);
- if (val->pAttachments) {
- size += vn_sizeof_array_size(val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- size += vn_sizeof_VkPipelineColorBlendAttachmentState(&val->pAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_float_array(val->blendConstants, 4);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineColorBlendStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineColorBlendStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineColorBlendStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineColorBlendStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineColorBlendStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkBool32(enc, &val->logicOpEnable);
- vn_encode_VkLogicOp(enc, &val->logicOp);
- vn_encode_uint32_t(enc, &val->attachmentCount);
- if (val->pAttachments) {
- vn_encode_array_size(enc, val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- vn_encode_VkPipelineColorBlendAttachmentState(enc, &val->pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_array_size(enc, 4);
- vn_encode_float_array(enc, val->blendConstants, 4);
-}
-
-static inline void
-vn_encode_VkPipelineColorBlendStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineColorBlendStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO });
- vn_encode_VkPipelineColorBlendStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineColorBlendStateCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineDynamicStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineDynamicStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineDynamicStateCreateInfo_self(const VkPipelineDynamicStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->dynamicStateCount);
- if (val->pDynamicStates) {
- size += vn_sizeof_array_size(val->dynamicStateCount);
- size += vn_sizeof_VkDynamicState_array(val->pDynamicStates, val->dynamicStateCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineDynamicStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineDynamicStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineDynamicStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineDynamicStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineDynamicStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->dynamicStateCount);
- if (val->pDynamicStates) {
- vn_encode_array_size(enc, val->dynamicStateCount);
- vn_encode_VkDynamicState_array(enc, val->pDynamicStates, val->dynamicStateCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPipelineDynamicStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineDynamicStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO });
- vn_encode_VkPipelineDynamicStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineDynamicStateCreateInfo_self(enc, val);
-}
-
-/* struct VkStencilOpState */
-
-static inline size_t
-vn_sizeof_VkStencilOpState(const VkStencilOpState *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkStencilOp(&val->failOp);
- size += vn_sizeof_VkStencilOp(&val->passOp);
- size += vn_sizeof_VkStencilOp(&val->depthFailOp);
- size += vn_sizeof_VkCompareOp(&val->compareOp);
- size += vn_sizeof_uint32_t(&val->compareMask);
- size += vn_sizeof_uint32_t(&val->writeMask);
- size += vn_sizeof_uint32_t(&val->reference);
- return size;
-}
-
-static inline void
-vn_encode_VkStencilOpState(struct vn_cs_encoder *enc, const VkStencilOpState *val)
-{
- vn_encode_VkStencilOp(enc, &val->failOp);
- vn_encode_VkStencilOp(enc, &val->passOp);
- vn_encode_VkStencilOp(enc, &val->depthFailOp);
- vn_encode_VkCompareOp(enc, &val->compareOp);
- vn_encode_uint32_t(enc, &val->compareMask);
- vn_encode_uint32_t(enc, &val->writeMask);
- vn_encode_uint32_t(enc, &val->reference);
-}
-
-/* struct VkPipelineDepthStencilStateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineDepthStencilStateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineDepthStencilStateCreateInfo_self(const VkPipelineDepthStencilStateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkBool32(&val->depthTestEnable);
- size += vn_sizeof_VkBool32(&val->depthWriteEnable);
- size += vn_sizeof_VkCompareOp(&val->depthCompareOp);
- size += vn_sizeof_VkBool32(&val->depthBoundsTestEnable);
- size += vn_sizeof_VkBool32(&val->stencilTestEnable);
- size += vn_sizeof_VkStencilOpState(&val->front);
- size += vn_sizeof_VkStencilOpState(&val->back);
- size += vn_sizeof_float(&val->minDepthBounds);
- size += vn_sizeof_float(&val->maxDepthBounds);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineDepthStencilStateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineDepthStencilStateCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineDepthStencilStateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkBool32(enc, &val->depthTestEnable);
- vn_encode_VkBool32(enc, &val->depthWriteEnable);
- vn_encode_VkCompareOp(enc, &val->depthCompareOp);
- vn_encode_VkBool32(enc, &val->depthBoundsTestEnable);
- vn_encode_VkBool32(enc, &val->stencilTestEnable);
- vn_encode_VkStencilOpState(enc, &val->front);
- vn_encode_VkStencilOpState(enc, &val->back);
- vn_encode_float(enc, &val->minDepthBounds);
- vn_encode_float(enc, &val->maxDepthBounds);
-}
-
-static inline void
-vn_encode_VkPipelineDepthStencilStateCreateInfo(struct vn_cs_encoder *enc, const VkPipelineDepthStencilStateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO });
- vn_encode_VkPipelineDepthStencilStateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineDepthStencilStateCreateInfo_self(enc, val);
-}
-
-/* struct VkGraphicsPipelineCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkGraphicsPipelineCreateInfo_self(const VkGraphicsPipelineCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->stageCount);
- if (val->pStages) {
- size += vn_sizeof_array_size(val->stageCount);
- for (uint32_t i = 0; i < val->stageCount; i++)
- size += vn_sizeof_VkPipelineShaderStageCreateInfo(&val->pStages[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_simple_pointer(val->pVertexInputState);
- if (val->pVertexInputState)
- size += vn_sizeof_VkPipelineVertexInputStateCreateInfo(val->pVertexInputState);
- size += vn_sizeof_simple_pointer(val->pInputAssemblyState);
- if (val->pInputAssemblyState)
- size += vn_sizeof_VkPipelineInputAssemblyStateCreateInfo(val->pInputAssemblyState);
- size += vn_sizeof_simple_pointer(val->pTessellationState);
- if (val->pTessellationState)
- size += vn_sizeof_VkPipelineTessellationStateCreateInfo(val->pTessellationState);
- size += vn_sizeof_simple_pointer(val->pViewportState);
- if (val->pViewportState)
- size += vn_sizeof_VkPipelineViewportStateCreateInfo(val->pViewportState);
- size += vn_sizeof_simple_pointer(val->pRasterizationState);
- if (val->pRasterizationState)
- size += vn_sizeof_VkPipelineRasterizationStateCreateInfo(val->pRasterizationState);
- size += vn_sizeof_simple_pointer(val->pMultisampleState);
- if (val->pMultisampleState)
- size += vn_sizeof_VkPipelineMultisampleStateCreateInfo(val->pMultisampleState);
- size += vn_sizeof_simple_pointer(val->pDepthStencilState);
- if (val->pDepthStencilState)
- size += vn_sizeof_VkPipelineDepthStencilStateCreateInfo(val->pDepthStencilState);
- size += vn_sizeof_simple_pointer(val->pColorBlendState);
- if (val->pColorBlendState)
- size += vn_sizeof_VkPipelineColorBlendStateCreateInfo(val->pColorBlendState);
- size += vn_sizeof_simple_pointer(val->pDynamicState);
- if (val->pDynamicState)
- size += vn_sizeof_VkPipelineDynamicStateCreateInfo(val->pDynamicState);
- size += vn_sizeof_VkPipelineLayout(&val->layout);
- size += vn_sizeof_VkRenderPass(&val->renderPass);
- size += vn_sizeof_uint32_t(&val->subpass);
- size += vn_sizeof_VkPipeline(&val->basePipelineHandle);
- size += vn_sizeof_int32_t(&val->basePipelineIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkGraphicsPipelineCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkGraphicsPipelineCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkGraphicsPipelineCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkGraphicsPipelineCreateInfo_self(struct vn_cs_encoder *enc, const VkGraphicsPipelineCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->stageCount);
- if (val->pStages) {
- vn_encode_array_size(enc, val->stageCount);
- for (uint32_t i = 0; i < val->stageCount; i++)
- vn_encode_VkPipelineShaderStageCreateInfo(enc, &val->pStages[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, val->pVertexInputState))
- vn_encode_VkPipelineVertexInputStateCreateInfo(enc, val->pVertexInputState);
- if (vn_encode_simple_pointer(enc, val->pInputAssemblyState))
- vn_encode_VkPipelineInputAssemblyStateCreateInfo(enc, val->pInputAssemblyState);
- if (vn_encode_simple_pointer(enc, val->pTessellationState))
- vn_encode_VkPipelineTessellationStateCreateInfo(enc, val->pTessellationState);
- if (vn_encode_simple_pointer(enc, val->pViewportState))
- vn_encode_VkPipelineViewportStateCreateInfo(enc, val->pViewportState);
- if (vn_encode_simple_pointer(enc, val->pRasterizationState))
- vn_encode_VkPipelineRasterizationStateCreateInfo(enc, val->pRasterizationState);
- if (vn_encode_simple_pointer(enc, val->pMultisampleState))
- vn_encode_VkPipelineMultisampleStateCreateInfo(enc, val->pMultisampleState);
- if (vn_encode_simple_pointer(enc, val->pDepthStencilState))
- vn_encode_VkPipelineDepthStencilStateCreateInfo(enc, val->pDepthStencilState);
- if (vn_encode_simple_pointer(enc, val->pColorBlendState))
- vn_encode_VkPipelineColorBlendStateCreateInfo(enc, val->pColorBlendState);
- if (vn_encode_simple_pointer(enc, val->pDynamicState))
- vn_encode_VkPipelineDynamicStateCreateInfo(enc, val->pDynamicState);
- vn_encode_VkPipelineLayout(enc, &val->layout);
- vn_encode_VkRenderPass(enc, &val->renderPass);
- vn_encode_uint32_t(enc, &val->subpass);
- vn_encode_VkPipeline(enc, &val->basePipelineHandle);
- vn_encode_int32_t(enc, &val->basePipelineIndex);
-}
-
-static inline void
-vn_encode_VkGraphicsPipelineCreateInfo(struct vn_cs_encoder *enc, const VkGraphicsPipelineCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO });
- vn_encode_VkGraphicsPipelineCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkGraphicsPipelineCreateInfo_self(enc, val);
-}
-
-/* struct VkPipelineCacheCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineCacheCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineCacheCreateInfo_self(const VkPipelineCacheCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_size_t(&val->initialDataSize);
- if (val->pInitialData) {
- size += vn_sizeof_array_size(val->initialDataSize);
- size += vn_sizeof_blob_array(val->pInitialData, val->initialDataSize);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineCacheCreateInfo(const VkPipelineCacheCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineCacheCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineCacheCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineCacheCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineCacheCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineCacheCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_size_t(enc, &val->initialDataSize);
- if (val->pInitialData) {
- vn_encode_array_size(enc, val->initialDataSize);
- vn_encode_blob_array(enc, val->pInitialData, val->initialDataSize);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPipelineCacheCreateInfo(struct vn_cs_encoder *enc, const VkPipelineCacheCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO });
- vn_encode_VkPipelineCacheCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineCacheCreateInfo_self(enc, val);
-}
-
-/* struct VkPushConstantRange */
-
-static inline size_t
-vn_sizeof_VkPushConstantRange(const VkPushConstantRange *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->stageFlags);
- size += vn_sizeof_uint32_t(&val->offset);
- size += vn_sizeof_uint32_t(&val->size);
- return size;
-}
-
-static inline void
-vn_encode_VkPushConstantRange(struct vn_cs_encoder *enc, const VkPushConstantRange *val)
-{
- vn_encode_VkFlags(enc, &val->stageFlags);
- vn_encode_uint32_t(enc, &val->offset);
- vn_encode_uint32_t(enc, &val->size);
-}
-
-/* struct VkPipelineLayoutCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkPipelineLayoutCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPipelineLayoutCreateInfo_self(const VkPipelineLayoutCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->setLayoutCount);
- if (val->pSetLayouts) {
- size += vn_sizeof_array_size(val->setLayoutCount);
- for (uint32_t i = 0; i < val->setLayoutCount; i++)
- size += vn_sizeof_VkDescriptorSetLayout(&val->pSetLayouts[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->pushConstantRangeCount);
- if (val->pPushConstantRanges) {
- size += vn_sizeof_array_size(val->pushConstantRangeCount);
- for (uint32_t i = 0; i < val->pushConstantRangeCount; i++)
- size += vn_sizeof_VkPushConstantRange(&val->pPushConstantRanges[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPipelineLayoutCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkPipelineLayoutCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPipelineLayoutCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPipelineLayoutCreateInfo_self(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->setLayoutCount);
- if (val->pSetLayouts) {
- vn_encode_array_size(enc, val->setLayoutCount);
- for (uint32_t i = 0; i < val->setLayoutCount; i++)
- vn_encode_VkDescriptorSetLayout(enc, &val->pSetLayouts[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->pushConstantRangeCount);
- if (val->pPushConstantRanges) {
- vn_encode_array_size(enc, val->pushConstantRangeCount);
- for (uint32_t i = 0; i < val->pushConstantRangeCount; i++)
- vn_encode_VkPushConstantRange(enc, &val->pPushConstantRanges[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPipelineLayoutCreateInfo(struct vn_cs_encoder *enc, const VkPipelineLayoutCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO });
- vn_encode_VkPipelineLayoutCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkPipelineLayoutCreateInfo_self(enc, val);
-}
-
-/* struct VkSamplerReductionModeCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkSamplerReductionModeCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerReductionModeCreateInfo_self(const VkSamplerReductionModeCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSamplerReductionMode(&val->reductionMode);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSamplerReductionModeCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkSamplerReductionModeCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSamplerReductionModeCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSamplerReductionModeCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerReductionModeCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSamplerReductionMode(enc, &val->reductionMode);
-}
-
-static inline void
-vn_encode_VkSamplerReductionModeCreateInfo(struct vn_cs_encoder *enc, const VkSamplerReductionModeCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO });
- vn_encode_VkSamplerReductionModeCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkSamplerReductionModeCreateInfo_self(enc, val);
-}
-
-/* struct VkSamplerCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkSamplerCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionInfo_self((const VkSamplerYcbcrConversionInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSamplerCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkSamplerReductionModeCreateInfo_self((const VkSamplerReductionModeCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerCreateInfo_self(const VkSamplerCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkFilter(&val->magFilter);
- size += vn_sizeof_VkFilter(&val->minFilter);
- size += vn_sizeof_VkSamplerMipmapMode(&val->mipmapMode);
- size += vn_sizeof_VkSamplerAddressMode(&val->addressModeU);
- size += vn_sizeof_VkSamplerAddressMode(&val->addressModeV);
- size += vn_sizeof_VkSamplerAddressMode(&val->addressModeW);
- size += vn_sizeof_float(&val->mipLodBias);
- size += vn_sizeof_VkBool32(&val->anisotropyEnable);
- size += vn_sizeof_float(&val->maxAnisotropy);
- size += vn_sizeof_VkBool32(&val->compareEnable);
- size += vn_sizeof_VkCompareOp(&val->compareOp);
- size += vn_sizeof_float(&val->minLod);
- size += vn_sizeof_float(&val->maxLod);
- size += vn_sizeof_VkBorderColor(&val->borderColor);
- size += vn_sizeof_VkBool32(&val->unnormalizedCoordinates);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSamplerCreateInfo(const VkSamplerCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSamplerCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkSamplerCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSamplerCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkSamplerYcbcrConversionInfo_self(enc, (const VkSamplerYcbcrConversionInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSamplerCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkSamplerReductionModeCreateInfo_self(enc, (const VkSamplerReductionModeCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSamplerCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkFilter(enc, &val->magFilter);
- vn_encode_VkFilter(enc, &val->minFilter);
- vn_encode_VkSamplerMipmapMode(enc, &val->mipmapMode);
- vn_encode_VkSamplerAddressMode(enc, &val->addressModeU);
- vn_encode_VkSamplerAddressMode(enc, &val->addressModeV);
- vn_encode_VkSamplerAddressMode(enc, &val->addressModeW);
- vn_encode_float(enc, &val->mipLodBias);
- vn_encode_VkBool32(enc, &val->anisotropyEnable);
- vn_encode_float(enc, &val->maxAnisotropy);
- vn_encode_VkBool32(enc, &val->compareEnable);
- vn_encode_VkCompareOp(enc, &val->compareOp);
- vn_encode_float(enc, &val->minLod);
- vn_encode_float(enc, &val->maxLod);
- vn_encode_VkBorderColor(enc, &val->borderColor);
- vn_encode_VkBool32(enc, &val->unnormalizedCoordinates);
-}
-
-static inline void
-vn_encode_VkSamplerCreateInfo(struct vn_cs_encoder *enc, const VkSamplerCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO });
- vn_encode_VkSamplerCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkSamplerCreateInfo_self(enc, val);
-}
-
-/* struct VkCommandPoolCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkCommandPoolCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkCommandPoolCreateInfo_self(const VkCommandPoolCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkCommandPoolCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkCommandPoolCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkCommandPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkCommandPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkCommandPoolCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->queueFamilyIndex);
-}
-
-static inline void
-vn_encode_VkCommandPoolCreateInfo(struct vn_cs_encoder *enc, const VkCommandPoolCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO });
- vn_encode_VkCommandPoolCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkCommandPoolCreateInfo_self(enc, val);
-}
-
-/* struct VkCommandBufferAllocateInfo chain */
-
-static inline size_t
-vn_sizeof_VkCommandBufferAllocateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferAllocateInfo_self(const VkCommandBufferAllocateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkCommandPool(&val->commandPool);
- size += vn_sizeof_VkCommandBufferLevel(&val->level);
- size += vn_sizeof_uint32_t(&val->commandBufferCount);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkCommandBufferAllocateInfo_pnext(val->pNext);
- size += vn_sizeof_VkCommandBufferAllocateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkCommandBufferAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkCommandBufferAllocateInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkCommandPool(enc, &val->commandPool);
- vn_encode_VkCommandBufferLevel(enc, &val->level);
- vn_encode_uint32_t(enc, &val->commandBufferCount);
-}
-
-static inline void
-vn_encode_VkCommandBufferAllocateInfo(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO });
- vn_encode_VkCommandBufferAllocateInfo_pnext(enc, val->pNext);
- vn_encode_VkCommandBufferAllocateInfo_self(enc, val);
-}
-
-/* struct VkCommandBufferInheritanceInfo chain */
-
-static inline size_t
-vn_sizeof_VkCommandBufferInheritanceInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferInheritanceInfo_self(const VkCommandBufferInheritanceInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkRenderPass(&val->renderPass);
- size += vn_sizeof_uint32_t(&val->subpass);
- size += vn_sizeof_VkFramebuffer(&val->framebuffer);
- size += vn_sizeof_VkBool32(&val->occlusionQueryEnable);
- size += vn_sizeof_VkFlags(&val->queryFlags);
- size += vn_sizeof_VkFlags(&val->pipelineStatistics);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(val->pNext);
- size += vn_sizeof_VkCommandBufferInheritanceInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkCommandBufferInheritanceInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkRenderPass(enc, &val->renderPass);
- vn_encode_uint32_t(enc, &val->subpass);
- vn_encode_VkFramebuffer(enc, &val->framebuffer);
- vn_encode_VkBool32(enc, &val->occlusionQueryEnable);
- vn_encode_VkFlags(enc, &val->queryFlags);
- vn_encode_VkFlags(enc, &val->pipelineStatistics);
-}
-
-static inline void
-vn_encode_VkCommandBufferInheritanceInfo(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO });
- vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, val->pNext);
- vn_encode_VkCommandBufferInheritanceInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkCommandBufferInheritanceInfo_self(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkRenderPass(dec, &val->renderPass);
- vn_decode_uint32_t(dec, &val->subpass);
- vn_decode_VkFramebuffer(dec, &val->framebuffer);
- vn_decode_VkBool32(dec, &val->occlusionQueryEnable);
- vn_decode_VkFlags(dec, &val->queryFlags);
- vn_decode_VkFlags(dec, &val->pipelineStatistics);
-}
-
-static inline void
-vn_decode_VkCommandBufferInheritanceInfo(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkCommandBufferInheritanceInfo_pnext(dec, val->pNext);
- vn_decode_VkCommandBufferInheritanceInfo_self(dec, val);
-}
-
-/* struct VkDeviceGroupCommandBufferBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(const VkDeviceGroupCommandBufferBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->deviceMask);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->deviceMask);
-}
-
-static inline void
-vn_encode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO });
- vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->deviceMask);
-}
-
-static inline void
-vn_decode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(dec, val->pNext);
- vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, val);
-}
-
-/* struct VkCommandBufferBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkCommandBufferBeginInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkCommandBufferBeginInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self((const VkDeviceGroupCommandBufferBeginInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferBeginInfo_self(const VkCommandBufferBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_simple_pointer(val->pInheritanceInfo);
- if (val->pInheritanceInfo)
- size += vn_sizeof_VkCommandBufferInheritanceInfo(val->pInheritanceInfo);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkCommandBufferBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkCommandBufferBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkCommandBufferBeginInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, (const VkDeviceGroupCommandBufferBeginInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- if (vn_encode_simple_pointer(enc, val->pInheritanceInfo))
- vn_encode_VkCommandBufferInheritanceInfo(enc, val->pInheritanceInfo);
-}
-
-static inline void
-vn_encode_VkCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO });
- vn_encode_VkCommandBufferBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkCommandBufferBeginInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- vn_decode_VkCommandBufferBeginInfo_pnext(dec, pnext->pNext);
- vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, (VkDeviceGroupCommandBufferBeginInfo *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkFlags(dec, &val->flags);
- if (vn_decode_simple_pointer(dec)) {
- vn_decode_VkCommandBufferInheritanceInfo(dec, (VkCommandBufferInheritanceInfo *)val->pInheritanceInfo);
- } else {
- val->pInheritanceInfo = NULL;
- }
-}
-
-static inline void
-vn_decode_VkCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkCommandBufferBeginInfo_pnext(dec, val->pNext);
- vn_decode_VkCommandBufferBeginInfo_self(dec, val);
-}
-
-/* union VkClearColorValue */
-
-static inline size_t
-vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)
-{
- size_t size = vn_sizeof_uint32_t(&tag);
- switch (tag) {
- case 0:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_float_array(val->float32, 4);
- break;
- case 1:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_int32_t_array(val->int32, 4);
- break;
- case 2:
- size += vn_sizeof_array_size(4);
- size += vn_sizeof_uint32_t_array(val->uint32, 4);
- break;
- default:
- assert(false);
- break;
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkClearColorValue(const VkClearColorValue *val)
-{
- return vn_sizeof_VkClearColorValue_tag(val, 2);
-}
-
-static inline void
-vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)
-{
- vn_encode_uint32_t(enc, &tag);
- switch (tag) {
- case 0:
- vn_encode_array_size(enc, 4);
- vn_encode_float_array(enc, val->float32, 4);
- break;
- case 1:
- vn_encode_array_size(enc, 4);
- vn_encode_int32_t_array(enc, val->int32, 4);
- break;
- case 2:
- vn_encode_array_size(enc, 4);
- vn_encode_uint32_t_array(enc, val->uint32, 4);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)
-{
- vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
-}
-
-/* struct VkClearDepthStencilValue */
-
-static inline size_t
-vn_sizeof_VkClearDepthStencilValue(const VkClearDepthStencilValue *val)
-{
- size_t size = 0;
- size += vn_sizeof_float(&val->depth);
- size += vn_sizeof_uint32_t(&val->stencil);
- return size;
-}
-
-static inline void
-vn_encode_VkClearDepthStencilValue(struct vn_cs_encoder *enc, const VkClearDepthStencilValue *val)
-{
- vn_encode_float(enc, &val->depth);
- vn_encode_uint32_t(enc, &val->stencil);
-}
-
-/* union VkClearValue */
-
-static inline size_t
-vn_sizeof_VkClearValue_tag(const VkClearValue *val, uint32_t tag)
-{
- size_t size = vn_sizeof_uint32_t(&tag);
- switch (tag) {
- case 0:
- size += vn_sizeof_VkClearColorValue(&val->color);
- break;
- case 1:
- size += vn_sizeof_VkClearDepthStencilValue(&val->depthStencil);
- break;
- default:
- assert(false);
- break;
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkClearValue(const VkClearValue *val)
-{
- return vn_sizeof_VkClearValue_tag(val, 0);
-}
-
-static inline void
-vn_encode_VkClearValue_tag(struct vn_cs_encoder *enc, const VkClearValue *val, uint32_t tag)
-{
- vn_encode_uint32_t(enc, &tag);
- switch (tag) {
- case 0:
- vn_encode_VkClearColorValue(enc, &val->color);
- break;
- case 1:
- vn_encode_VkClearDepthStencilValue(enc, &val->depthStencil);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_encode_VkClearValue(struct vn_cs_encoder *enc, const VkClearValue *val)
-{
- vn_encode_VkClearValue_tag(enc, val, 0); /* union with default tag */
-}
-
-/* struct VkDeviceGroupRenderPassBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(const VkDeviceGroupRenderPassBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->deviceMask);
- size += vn_sizeof_uint32_t(&val->deviceRenderAreaCount);
- if (val->pDeviceRenderAreas) {
- size += vn_sizeof_array_size(val->deviceRenderAreaCount);
- for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)
- size += vn_sizeof_VkRect2D(&val->pDeviceRenderAreas[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceGroupRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->deviceMask);
- vn_encode_uint32_t(enc, &val->deviceRenderAreaCount);
- if (val->pDeviceRenderAreas) {
- vn_encode_array_size(enc, val->deviceRenderAreaCount);
- for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)
- vn_encode_VkRect2D(enc, &val->pDeviceRenderAreas[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDeviceGroupRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO });
- vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, val);
-}
-
-/* struct VkRenderPassAttachmentBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassAttachmentBeginInfo_self(const VkRenderPassAttachmentBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->attachmentCount);
- if (val->pAttachments) {
- size += vn_sizeof_array_size(val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- size += vn_sizeof_VkImageView(&val->pAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassAttachmentBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassAttachmentBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->attachmentCount);
- if (val->pAttachments) {
- vn_encode_array_size(enc, val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- vn_encode_VkImageView(enc, &val->pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassAttachmentBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO });
- vn_encode_VkRenderPassAttachmentBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, val);
-}
-
-/* struct VkRenderPassBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassBeginInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self((const VkDeviceGroupRenderPassBeginInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self((const VkRenderPassAttachmentBeginInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassBeginInfo_self(const VkRenderPassBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkRenderPass(&val->renderPass);
- size += vn_sizeof_VkFramebuffer(&val->framebuffer);
- size += vn_sizeof_VkRect2D(&val->renderArea);
- size += vn_sizeof_uint32_t(&val->clearValueCount);
- if (val->pClearValues) {
- size += vn_sizeof_array_size(val->clearValueCount);
- for (uint32_t i = 0; i < val->clearValueCount; i++)
- size += vn_sizeof_VkClearValue(&val->pClearValues[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassBeginInfo(const VkRenderPassBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, (const VkDeviceGroupRenderPassBeginInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);
- vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, (const VkRenderPassAttachmentBeginInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkRenderPass(enc, &val->renderPass);
- vn_encode_VkFramebuffer(enc, &val->framebuffer);
- vn_encode_VkRect2D(enc, &val->renderArea);
- vn_encode_uint32_t(enc, &val->clearValueCount);
- if (val->pClearValues) {
- vn_encode_array_size(enc, val->clearValueCount);
- for (uint32_t i = 0; i < val->clearValueCount; i++)
- vn_encode_VkClearValue(enc, &val->pClearValues[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO });
- vn_encode_VkRenderPassBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkRenderPassBeginInfo_self(enc, val);
-}
-
-/* struct VkClearAttachment */
-
-static inline size_t
-vn_sizeof_VkClearAttachment(const VkClearAttachment *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->aspectMask);
- size += vn_sizeof_uint32_t(&val->colorAttachment);
- size += vn_sizeof_VkClearValue(&val->clearValue);
- return size;
-}
-
-static inline void
-vn_encode_VkClearAttachment(struct vn_cs_encoder *enc, const VkClearAttachment *val)
-{
- vn_encode_VkFlags(enc, &val->aspectMask);
- vn_encode_uint32_t(enc, &val->colorAttachment);
- vn_encode_VkClearValue(enc, &val->clearValue);
-}
-
-/* struct VkAttachmentDescription */
-
-static inline size_t
-vn_sizeof_VkAttachmentDescription(const VkAttachmentDescription *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
- size += vn_sizeof_VkAttachmentLoadOp(&val->loadOp);
- size += vn_sizeof_VkAttachmentStoreOp(&val->storeOp);
- size += vn_sizeof_VkAttachmentLoadOp(&val->stencilLoadOp);
- size += vn_sizeof_VkAttachmentStoreOp(&val->stencilStoreOp);
- size += vn_sizeof_VkImageLayout(&val->initialLayout);
- size += vn_sizeof_VkImageLayout(&val->finalLayout);
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentDescription(struct vn_cs_encoder *enc, const VkAttachmentDescription *val)
-{
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkSampleCountFlagBits(enc, &val->samples);
- vn_encode_VkAttachmentLoadOp(enc, &val->loadOp);
- vn_encode_VkAttachmentStoreOp(enc, &val->storeOp);
- vn_encode_VkAttachmentLoadOp(enc, &val->stencilLoadOp);
- vn_encode_VkAttachmentStoreOp(enc, &val->stencilStoreOp);
- vn_encode_VkImageLayout(enc, &val->initialLayout);
- vn_encode_VkImageLayout(enc, &val->finalLayout);
-}
-
-/* struct VkAttachmentReference */
-
-static inline size_t
-vn_sizeof_VkAttachmentReference(const VkAttachmentReference *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->attachment);
- size += vn_sizeof_VkImageLayout(&val->layout);
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentReference(struct vn_cs_encoder *enc, const VkAttachmentReference *val)
-{
- vn_encode_uint32_t(enc, &val->attachment);
- vn_encode_VkImageLayout(enc, &val->layout);
-}
-
-/* struct VkSubpassDescription */
-
-static inline size_t
-vn_sizeof_VkSubpassDescription(const VkSubpassDescription *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
- size += vn_sizeof_uint32_t(&val->inputAttachmentCount);
- if (val->pInputAttachments) {
- size += vn_sizeof_array_size(val->inputAttachmentCount);
- for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference(&val->pInputAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->colorAttachmentCount);
- if (val->pColorAttachments) {
- size += vn_sizeof_array_size(val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference(&val->pColorAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pResolveAttachments) {
- size += vn_sizeof_array_size(val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference(&val->pResolveAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_simple_pointer(val->pDepthStencilAttachment);
- if (val->pDepthStencilAttachment)
- size += vn_sizeof_VkAttachmentReference(val->pDepthStencilAttachment);
- size += vn_sizeof_uint32_t(&val->preserveAttachmentCount);
- if (val->pPreserveAttachments) {
- size += vn_sizeof_array_size(val->preserveAttachmentCount);
- size += vn_sizeof_uint32_t_array(val->pPreserveAttachments, val->preserveAttachmentCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassDescription(struct vn_cs_encoder *enc, const VkSubpassDescription *val)
-{
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
- vn_encode_uint32_t(enc, &val->inputAttachmentCount);
- if (val->pInputAttachments) {
- vn_encode_array_size(enc, val->inputAttachmentCount);
- for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
- vn_encode_VkAttachmentReference(enc, &val->pInputAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->colorAttachmentCount);
- if (val->pColorAttachments) {
- vn_encode_array_size(enc, val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- vn_encode_VkAttachmentReference(enc, &val->pColorAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pResolveAttachments) {
- vn_encode_array_size(enc, val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- vn_encode_VkAttachmentReference(enc, &val->pResolveAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, val->pDepthStencilAttachment))
- vn_encode_VkAttachmentReference(enc, val->pDepthStencilAttachment);
- vn_encode_uint32_t(enc, &val->preserveAttachmentCount);
- if (val->pPreserveAttachments) {
- vn_encode_array_size(enc, val->preserveAttachmentCount);
- vn_encode_uint32_t_array(enc, val->pPreserveAttachments, val->preserveAttachmentCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-/* struct VkSubpassDependency */
-
-static inline size_t
-vn_sizeof_VkSubpassDependency(const VkSubpassDependency *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->srcSubpass);
- size += vn_sizeof_uint32_t(&val->dstSubpass);
- size += vn_sizeof_VkFlags(&val->srcStageMask);
- size += vn_sizeof_VkFlags(&val->dstStageMask);
- size += vn_sizeof_VkFlags(&val->srcAccessMask);
- size += vn_sizeof_VkFlags(&val->dstAccessMask);
- size += vn_sizeof_VkFlags(&val->dependencyFlags);
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassDependency(struct vn_cs_encoder *enc, const VkSubpassDependency *val)
-{
- vn_encode_uint32_t(enc, &val->srcSubpass);
- vn_encode_uint32_t(enc, &val->dstSubpass);
- vn_encode_VkFlags(enc, &val->srcStageMask);
- vn_encode_VkFlags(enc, &val->dstStageMask);
- vn_encode_VkFlags(enc, &val->srcAccessMask);
- vn_encode_VkFlags(enc, &val->dstAccessMask);
- vn_encode_VkFlags(enc, &val->dependencyFlags);
-}
-
-/* struct VkRenderPassMultiviewCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassMultiviewCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassMultiviewCreateInfo_self(const VkRenderPassMultiviewCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->subpassCount);
- if (val->pViewMasks) {
- size += vn_sizeof_array_size(val->subpassCount);
- size += vn_sizeof_uint32_t_array(val->pViewMasks, val->subpassCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->dependencyCount);
- if (val->pViewOffsets) {
- size += vn_sizeof_array_size(val->dependencyCount);
- size += vn_sizeof_int32_t_array(val->pViewOffsets, val->dependencyCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->correlationMaskCount);
- if (val->pCorrelationMasks) {
- size += vn_sizeof_array_size(val->correlationMaskCount);
- size += vn_sizeof_uint32_t_array(val->pCorrelationMasks, val->correlationMaskCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassMultiviewCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassMultiviewCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassMultiviewCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassMultiviewCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassMultiviewCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->subpassCount);
- if (val->pViewMasks) {
- vn_encode_array_size(enc, val->subpassCount);
- vn_encode_uint32_t_array(enc, val->pViewMasks, val->subpassCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->dependencyCount);
- if (val->pViewOffsets) {
- vn_encode_array_size(enc, val->dependencyCount);
- vn_encode_int32_t_array(enc, val->pViewOffsets, val->dependencyCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->correlationMaskCount);
- if (val->pCorrelationMasks) {
- vn_encode_array_size(enc, val->correlationMaskCount);
- vn_encode_uint32_t_array(enc, val->pCorrelationMasks, val->correlationMaskCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassMultiviewCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassMultiviewCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO });
- vn_encode_VkRenderPassMultiviewCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkRenderPassMultiviewCreateInfo_self(enc, val);
-}
-
-/* struct VkInputAttachmentAspectReference */
-
-static inline size_t
-vn_sizeof_VkInputAttachmentAspectReference(const VkInputAttachmentAspectReference *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->subpass);
- size += vn_sizeof_uint32_t(&val->inputAttachmentIndex);
- size += vn_sizeof_VkFlags(&val->aspectMask);
- return size;
-}
-
-static inline void
-vn_encode_VkInputAttachmentAspectReference(struct vn_cs_encoder *enc, const VkInputAttachmentAspectReference *val)
-{
- vn_encode_uint32_t(enc, &val->subpass);
- vn_encode_uint32_t(enc, &val->inputAttachmentIndex);
- vn_encode_VkFlags(enc, &val->aspectMask);
-}
-
-/* struct VkRenderPassInputAttachmentAspectCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self(const VkRenderPassInputAttachmentAspectCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->aspectReferenceCount);
- if (val->pAspectReferences) {
- size += vn_sizeof_array_size(val->aspectReferenceCount);
- for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
- size += vn_sizeof_VkInputAttachmentAspectReference(&val->pAspectReferences[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassInputAttachmentAspectCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->aspectReferenceCount);
- if (val->pAspectReferences) {
- vn_encode_array_size(enc, val->aspectReferenceCount);
- for (uint32_t i = 0; i < val->aspectReferenceCount; i++)
- vn_encode_VkInputAttachmentAspectReference(enc, &val->pAspectReferences[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassInputAttachmentAspectCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassInputAttachmentAspectCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO });
- vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(enc, val);
-}
-
-/* struct VkRenderPassCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkRenderPassCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkRenderPassMultiviewCreateInfo_self((const VkRenderPassMultiviewCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkRenderPassCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkRenderPassInputAttachmentAspectCreateInfo_self((const VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo_self(const VkRenderPassCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->attachmentCount);
- if (val->pAttachments) {
- size += vn_sizeof_array_size(val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- size += vn_sizeof_VkAttachmentDescription(&val->pAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->subpassCount);
- if (val->pSubpasses) {
- size += vn_sizeof_array_size(val->subpassCount);
- for (uint32_t i = 0; i < val->subpassCount; i++)
- size += vn_sizeof_VkSubpassDescription(&val->pSubpasses[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->dependencyCount);
- if (val->pDependencies) {
- size += vn_sizeof_array_size(val->dependencyCount);
- for (uint32_t i = 0; i < val->dependencyCount; i++)
- size += vn_sizeof_VkSubpassDependency(&val->pDependencies[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo(const VkRenderPassCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkRenderPassCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkRenderPassMultiviewCreateInfo_self(enc, (const VkRenderPassMultiviewCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkRenderPassCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkRenderPassInputAttachmentAspectCreateInfo_self(enc, (const VkRenderPassInputAttachmentAspectCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo_self(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->attachmentCount);
- if (val->pAttachments) {
- vn_encode_array_size(enc, val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- vn_encode_VkAttachmentDescription(enc, &val->pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->subpassCount);
- if (val->pSubpasses) {
- vn_encode_array_size(enc, val->subpassCount);
- for (uint32_t i = 0; i < val->subpassCount; i++)
- vn_encode_VkSubpassDescription(enc, &val->pSubpasses[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->dependencyCount);
- if (val->pDependencies) {
- vn_encode_array_size(enc, val->dependencyCount);
- for (uint32_t i = 0; i < val->dependencyCount; i++)
- vn_encode_VkSubpassDependency(enc, &val->pDependencies[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO });
- vn_encode_VkRenderPassCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkRenderPassCreateInfo_self(enc, val);
-}
-
-/* struct VkEventCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkEventCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkEventCreateInfo_self(const VkEventCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkEventCreateInfo(const VkEventCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkEventCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkEventCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkEventCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkEventCreateInfo_self(struct vn_cs_encoder *enc, const VkEventCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-static inline void
-vn_encode_VkEventCreateInfo(struct vn_cs_encoder *enc, const VkEventCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EVENT_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO });
- vn_encode_VkEventCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkEventCreateInfo_self(enc, val);
-}
-
-/* struct VkExportFenceCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkExportFenceCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExportFenceCreateInfo_self(const VkExportFenceCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->handleTypes);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExportFenceCreateInfo(const VkExportFenceCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExportFenceCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkExportFenceCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExportFenceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExportFenceCreateInfo_self(struct vn_cs_encoder *enc, const VkExportFenceCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->handleTypes);
-}
-
-static inline void
-vn_encode_VkExportFenceCreateInfo(struct vn_cs_encoder *enc, const VkExportFenceCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO });
- vn_encode_VkExportFenceCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkExportFenceCreateInfo_self(enc, val);
-}
-
-/* struct VkFenceCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkFenceCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkFenceCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkExportFenceCreateInfo_self((const VkExportFenceCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkFenceCreateInfo_self(const VkFenceCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkFenceCreateInfo(const VkFenceCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFenceCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkFenceCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkFenceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkFenceCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkExportFenceCreateInfo_self(enc, (const VkExportFenceCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkFenceCreateInfo_self(struct vn_cs_encoder *enc, const VkFenceCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-static inline void
-vn_encode_VkFenceCreateInfo(struct vn_cs_encoder *enc, const VkFenceCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_FENCE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO });
- vn_encode_VkFenceCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkFenceCreateInfo_self(enc, val);
-}
-
-/* struct VkExportSemaphoreCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkExportSemaphoreCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExportSemaphoreCreateInfo_self(const VkExportSemaphoreCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->handleTypes);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExportSemaphoreCreateInfo(const VkExportSemaphoreCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExportSemaphoreCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkExportSemaphoreCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExportSemaphoreCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExportSemaphoreCreateInfo_self(struct vn_cs_encoder *enc, const VkExportSemaphoreCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->handleTypes);
-}
-
-static inline void
-vn_encode_VkExportSemaphoreCreateInfo(struct vn_cs_encoder *enc, const VkExportSemaphoreCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO });
- vn_encode_VkExportSemaphoreCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkExportSemaphoreCreateInfo_self(enc, val);
-}
-
-/* struct VkSemaphoreTypeCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreTypeCreateInfo_self(const VkSemaphoreTypeCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSemaphoreType(&val->semaphoreType);
- size += vn_sizeof_uint64_t(&val->initialValue);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkSemaphoreTypeCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSemaphoreTypeCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSemaphoreTypeCreateInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSemaphoreType(enc, &val->semaphoreType);
- vn_encode_uint64_t(enc, &val->initialValue);
-}
-
-static inline void
-vn_encode_VkSemaphoreTypeCreateInfo(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO });
- vn_encode_VkSemaphoreTypeCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkSemaphoreTypeCreateInfo_self(enc, val);
-}
-
-/* struct VkSemaphoreCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkSemaphoreCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSemaphoreCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkExportSemaphoreCreateInfo_self((const VkExportSemaphoreCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSemaphoreCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkSemaphoreTypeCreateInfo_self((const VkSemaphoreTypeCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreCreateInfo_self(const VkSemaphoreCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreCreateInfo(const VkSemaphoreCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSemaphoreCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkSemaphoreCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSemaphoreCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSemaphoreCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkExportSemaphoreCreateInfo_self(enc, (const VkExportSemaphoreCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSemaphoreCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkSemaphoreTypeCreateInfo_self(enc, (const VkSemaphoreTypeCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSemaphoreCreateInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-static inline void
-vn_encode_VkSemaphoreCreateInfo(struct vn_cs_encoder *enc, const VkSemaphoreCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO });
- vn_encode_VkSemaphoreCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkSemaphoreCreateInfo_self(enc, val);
-}
-
-/* struct VkQueryPoolCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkQueryPoolCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkQueryPoolCreateInfo_self(const VkQueryPoolCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkQueryType(&val->queryType);
- size += vn_sizeof_uint32_t(&val->queryCount);
- size += vn_sizeof_VkFlags(&val->pipelineStatistics);
- return size;
-}
+/* struct VkViewport */
static inline size_t
-vn_sizeof_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo *val)
+vn_sizeof_VkViewport(const VkViewport *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkQueryPoolCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkQueryPoolCreateInfo_self(val);
-
+ size += vn_sizeof_float(&val->x);
+ size += vn_sizeof_float(&val->y);
+ size += vn_sizeof_float(&val->width);
+ size += vn_sizeof_float(&val->height);
+ size += vn_sizeof_float(&val->minDepth);
+ size += vn_sizeof_float(&val->maxDepth);
return size;
}
static inline void
-vn_encode_VkQueryPoolCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkQueryPoolCreateInfo_self(struct vn_cs_encoder *enc, const VkQueryPoolCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkQueryType(enc, &val->queryType);
- vn_encode_uint32_t(enc, &val->queryCount);
- vn_encode_VkFlags(enc, &val->pipelineStatistics);
-}
-
-static inline void
-vn_encode_VkQueryPoolCreateInfo(struct vn_cs_encoder *enc, const VkQueryPoolCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO });
- vn_encode_VkQueryPoolCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkQueryPoolCreateInfo_self(enc, val);
-}
-
-/* struct VkFramebufferAttachmentImageInfo chain */
-
-static inline size_t
-vn_sizeof_VkFramebufferAttachmentImageInfo_pnext(const void *val)
+vn_encode_VkViewport(struct vn_cs_encoder *enc, const VkViewport *val)
{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
+ vn_encode_float(enc, &val->x);
+ vn_encode_float(enc, &val->y);
+ vn_encode_float(enc, &val->width);
+ vn_encode_float(enc, &val->height);
+ vn_encode_float(enc, &val->minDepth);
+ vn_encode_float(enc, &val->maxDepth);
}
-static inline size_t
-vn_sizeof_VkFramebufferAttachmentImageInfo_self(const VkFramebufferAttachmentImageInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_uint32_t(&val->width);
- size += vn_sizeof_uint32_t(&val->height);
- size += vn_sizeof_uint32_t(&val->layerCount);
- size += vn_sizeof_uint32_t(&val->viewFormatCount);
- if (val->pViewFormats) {
- size += vn_sizeof_array_size(val->viewFormatCount);
- size += vn_sizeof_VkFormat_array(val->pViewFormats, val->viewFormatCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
+/* struct VkOffset2D */
static inline size_t
-vn_sizeof_VkFramebufferAttachmentImageInfo(const VkFramebufferAttachmentImageInfo *val)
+vn_sizeof_VkOffset2D(const VkOffset2D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFramebufferAttachmentImageInfo_pnext(val->pNext);
- size += vn_sizeof_VkFramebufferAttachmentImageInfo_self(val);
-
+ size += vn_sizeof_int32_t(&val->x);
+ size += vn_sizeof_int32_t(&val->y);
return size;
}
static inline void
-vn_encode_VkFramebufferAttachmentImageInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkFramebufferAttachmentImageInfo_self(struct vn_cs_encoder *enc, const VkFramebufferAttachmentImageInfo *val)
+vn_encode_VkOffset2D(struct vn_cs_encoder *enc, const VkOffset2D *val)
{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_uint32_t(enc, &val->width);
- vn_encode_uint32_t(enc, &val->height);
- vn_encode_uint32_t(enc, &val->layerCount);
- vn_encode_uint32_t(enc, &val->viewFormatCount);
- if (val->pViewFormats) {
- vn_encode_array_size(enc, val->viewFormatCount);
- vn_encode_VkFormat_array(enc, val->pViewFormats, val->viewFormatCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
+ vn_encode_int32_t(enc, &val->x);
+ vn_encode_int32_t(enc, &val->y);
}
static inline void
-vn_encode_VkFramebufferAttachmentImageInfo(struct vn_cs_encoder *enc, const VkFramebufferAttachmentImageInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO });
- vn_encode_VkFramebufferAttachmentImageInfo_pnext(enc, val->pNext);
- vn_encode_VkFramebufferAttachmentImageInfo_self(enc, val);
-}
-
-/* struct VkFramebufferAttachmentsCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkFramebufferAttachmentsCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkFramebufferAttachmentsCreateInfo_self(const VkFramebufferAttachmentsCreateInfo *val)
+vn_decode_VkOffset2D(struct vn_cs_decoder *dec, VkOffset2D *val)
{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->attachmentImageInfoCount);
- if (val->pAttachmentImageInfos) {
- size += vn_sizeof_array_size(val->attachmentImageInfoCount);
- for (uint32_t i = 0; i < val->attachmentImageInfoCount; i++)
- size += vn_sizeof_VkFramebufferAttachmentImageInfo(&val->pAttachmentImageInfos[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
+ vn_decode_int32_t(dec, &val->x);
+ vn_decode_int32_t(dec, &val->y);
}
static inline size_t
-vn_sizeof_VkFramebufferAttachmentsCreateInfo(const VkFramebufferAttachmentsCreateInfo *val)
+vn_sizeof_VkOffset2D_partial(const VkOffset2D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_self(val);
-
+ /* skip val->x */
+ /* skip val->y */
return size;
}
static inline void
-vn_encode_VkFramebufferAttachmentsCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkFramebufferAttachmentsCreateInfo_self(struct vn_cs_encoder *enc, const VkFramebufferAttachmentsCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->attachmentImageInfoCount);
- if (val->pAttachmentImageInfos) {
- vn_encode_array_size(enc, val->attachmentImageInfoCount);
- for (uint32_t i = 0; i < val->attachmentImageInfoCount; i++)
- vn_encode_VkFramebufferAttachmentImageInfo(enc, &val->pAttachmentImageInfos[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkFramebufferAttachmentsCreateInfo(struct vn_cs_encoder *enc, const VkFramebufferAttachmentsCreateInfo *val)
+vn_encode_VkOffset2D_partial(struct vn_cs_encoder *enc, const VkOffset2D *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO });
- vn_encode_VkFramebufferAttachmentsCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkFramebufferAttachmentsCreateInfo_self(enc, val);
+ /* skip val->x */
+ /* skip val->y */
}
-/* struct VkFramebufferCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkFramebufferCreateInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkFramebufferCreateInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkFramebufferAttachmentsCreateInfo_self((const VkFramebufferAttachmentsCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
+/* struct VkExtent2D */
static inline size_t
-vn_sizeof_VkFramebufferCreateInfo_self(const VkFramebufferCreateInfo *val)
+vn_sizeof_VkExtent2D(const VkExtent2D *val)
{
size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkRenderPass(&val->renderPass);
- size += vn_sizeof_uint32_t(&val->attachmentCount);
- if (val->pAttachments) {
- size += vn_sizeof_array_size(val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- size += vn_sizeof_VkImageView(&val->pAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
size += vn_sizeof_uint32_t(&val->width);
size += vn_sizeof_uint32_t(&val->height);
- size += vn_sizeof_uint32_t(&val->layers);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkFramebufferCreateInfo(const VkFramebufferCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFramebufferCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkFramebufferCreateInfo_self(val);
-
return size;
}
static inline void
-vn_encode_VkFramebufferCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkFramebufferCreateInfo_pnext(enc, pnext->pNext);
- vn_encode_VkFramebufferAttachmentsCreateInfo_self(enc, (const VkFramebufferAttachmentsCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkFramebufferCreateInfo_self(struct vn_cs_encoder *enc, const VkFramebufferCreateInfo *val)
+vn_encode_VkExtent2D(struct vn_cs_encoder *enc, const VkExtent2D *val)
{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkRenderPass(enc, &val->renderPass);
- vn_encode_uint32_t(enc, &val->attachmentCount);
- if (val->pAttachments) {
- vn_encode_array_size(enc, val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- vn_encode_VkImageView(enc, &val->pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
vn_encode_uint32_t(enc, &val->width);
vn_encode_uint32_t(enc, &val->height);
- vn_encode_uint32_t(enc, &val->layers);
-}
-
-static inline void
-vn_encode_VkFramebufferCreateInfo(struct vn_cs_encoder *enc, const VkFramebufferCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO });
- vn_encode_VkFramebufferCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkFramebufferCreateInfo_self(enc, val);
-}
-
-/* struct VkDrawIndirectCommand */
-
-static inline size_t
-vn_sizeof_VkDrawIndirectCommand(const VkDrawIndirectCommand *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->vertexCount);
- size += vn_sizeof_uint32_t(&val->instanceCount);
- size += vn_sizeof_uint32_t(&val->firstVertex);
- size += vn_sizeof_uint32_t(&val->firstInstance);
- return size;
-}
-
-/* struct VkDrawIndexedIndirectCommand */
-
-static inline size_t
-vn_sizeof_VkDrawIndexedIndirectCommand(const VkDrawIndexedIndirectCommand *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->indexCount);
- size += vn_sizeof_uint32_t(&val->instanceCount);
- size += vn_sizeof_uint32_t(&val->firstIndex);
- size += vn_sizeof_int32_t(&val->vertexOffset);
- size += vn_sizeof_uint32_t(&val->firstInstance);
- return size;
-}
-
-/* struct VkDispatchIndirectCommand */
-
-static inline size_t
-vn_sizeof_VkDispatchIndirectCommand(const VkDispatchIndirectCommand *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->x);
- size += vn_sizeof_uint32_t(&val->y);
- size += vn_sizeof_uint32_t(&val->z);
- return size;
-}
-
-/* struct VkDeviceGroupSubmitInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceGroupSubmitInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupSubmitInfo_self(const VkDeviceGroupSubmitInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
- if (val->pWaitSemaphoreDeviceIndices) {
- size += vn_sizeof_array_size(val->waitSemaphoreCount);
- size += vn_sizeof_uint32_t_array(val->pWaitSemaphoreDeviceIndices, val->waitSemaphoreCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->commandBufferCount);
- if (val->pCommandBufferDeviceMasks) {
- size += vn_sizeof_array_size(val->commandBufferCount);
- size += vn_sizeof_uint32_t_array(val->pCommandBufferDeviceMasks, val->commandBufferCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
- if (val->pSignalSemaphoreDeviceIndices) {
- size += vn_sizeof_array_size(val->signalSemaphoreCount);
- size += vn_sizeof_uint32_t_array(val->pSignalSemaphoreDeviceIndices, val->signalSemaphoreCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceGroupSubmitInfo(const VkDeviceGroupSubmitInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceGroupSubmitInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceGroupSubmitInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceGroupSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceGroupSubmitInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupSubmitInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
- if (val->pWaitSemaphoreDeviceIndices) {
- vn_encode_array_size(enc, val->waitSemaphoreCount);
- vn_encode_uint32_t_array(enc, val->pWaitSemaphoreDeviceIndices, val->waitSemaphoreCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->commandBufferCount);
- if (val->pCommandBufferDeviceMasks) {
- vn_encode_array_size(enc, val->commandBufferCount);
- vn_encode_uint32_t_array(enc, val->pCommandBufferDeviceMasks, val->commandBufferCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
- if (val->pSignalSemaphoreDeviceIndices) {
- vn_encode_array_size(enc, val->signalSemaphoreCount);
- vn_encode_uint32_t_array(enc, val->pSignalSemaphoreDeviceIndices, val->signalSemaphoreCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDeviceGroupSubmitInfo(struct vn_cs_encoder *enc, const VkDeviceGroupSubmitInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO });
- vn_encode_VkDeviceGroupSubmitInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceGroupSubmitInfo_self(enc, val);
-}
-
-/* struct VkProtectedSubmitInfo chain */
-
-static inline size_t
-vn_sizeof_VkProtectedSubmitInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkProtectedSubmitInfo_self(const VkProtectedSubmitInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->protectedSubmit);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkProtectedSubmitInfo(const VkProtectedSubmitInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkProtectedSubmitInfo_pnext(val->pNext);
- size += vn_sizeof_VkProtectedSubmitInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkProtectedSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
}
static inline void
-vn_encode_VkProtectedSubmitInfo_self(struct vn_cs_encoder *enc, const VkProtectedSubmitInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBool32(enc, &val->protectedSubmit);
-}
-
-static inline void
-vn_encode_VkProtectedSubmitInfo(struct vn_cs_encoder *enc, const VkProtectedSubmitInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO });
- vn_encode_VkProtectedSubmitInfo_pnext(enc, val->pNext);
- vn_encode_VkProtectedSubmitInfo_self(enc, val);
-}
-
-/* struct VkSubmitInfo chain */
-
-static inline size_t
-vn_sizeof_VkSubmitInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkDeviceGroupSubmitInfo_self((const VkDeviceGroupSubmitInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkProtectedSubmitInfo_self((const VkProtectedSubmitInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSubmitInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkTimelineSemaphoreSubmitInfo_self((const VkTimelineSemaphoreSubmitInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubmitInfo_self(const VkSubmitInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->waitSemaphoreCount);
- if (val->pWaitSemaphores) {
- size += vn_sizeof_array_size(val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- size += vn_sizeof_VkSemaphore(&val->pWaitSemaphores[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pWaitDstStageMask) {
- size += vn_sizeof_array_size(val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- size += vn_sizeof_VkFlags(&val->pWaitDstStageMask[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->commandBufferCount);
- if (val->pCommandBuffers) {
- size += vn_sizeof_array_size(val->commandBufferCount);
- for (uint32_t i = 0; i < val->commandBufferCount; i++)
- size += vn_sizeof_VkCommandBuffer(&val->pCommandBuffers[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->signalSemaphoreCount);
- if (val->pSignalSemaphores) {
- size += vn_sizeof_array_size(val->signalSemaphoreCount);
- for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
- size += vn_sizeof_VkSemaphore(&val->pSignalSemaphores[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubmitInfo(const VkSubmitInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubmitInfo_pnext(val->pNext);
- size += vn_sizeof_VkSubmitInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubmitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
- vn_encode_VkDeviceGroupSubmitInfo_self(enc, (const VkDeviceGroupSubmitInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
- vn_encode_VkProtectedSubmitInfo_self(enc, (const VkProtectedSubmitInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSubmitInfo_pnext(enc, pnext->pNext);
- vn_encode_VkTimelineSemaphoreSubmitInfo_self(enc, (const VkTimelineSemaphoreSubmitInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubmitInfo_self(struct vn_cs_encoder *enc, const VkSubmitInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->waitSemaphoreCount);
- if (val->pWaitSemaphores) {
- vn_encode_array_size(enc, val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- vn_encode_VkSemaphore(enc, &val->pWaitSemaphores[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pWaitDstStageMask) {
- vn_encode_array_size(enc, val->waitSemaphoreCount);
- for (uint32_t i = 0; i < val->waitSemaphoreCount; i++)
- vn_encode_VkFlags(enc, &val->pWaitDstStageMask[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->commandBufferCount);
- if (val->pCommandBuffers) {
- vn_encode_array_size(enc, val->commandBufferCount);
- for (uint32_t i = 0; i < val->commandBufferCount; i++)
- vn_encode_VkCommandBuffer(enc, &val->pCommandBuffers[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->signalSemaphoreCount);
- if (val->pSignalSemaphores) {
- vn_encode_array_size(enc, val->signalSemaphoreCount);
- for (uint32_t i = 0; i < val->signalSemaphoreCount; i++)
- vn_encode_VkSemaphore(enc, &val->pSignalSemaphores[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkSubmitInfo(struct vn_cs_encoder *enc, const VkSubmitInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBMIT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBMIT_INFO });
- vn_encode_VkSubmitInfo_pnext(enc, val->pNext);
- vn_encode_VkSubmitInfo_self(enc, val);
-}
-
-/* struct VkConformanceVersion */
-
-static inline size_t
-vn_sizeof_VkConformanceVersion(const VkConformanceVersion *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint8_t(&val->major);
- size += vn_sizeof_uint8_t(&val->minor);
- size += vn_sizeof_uint8_t(&val->subminor);
- size += vn_sizeof_uint8_t(&val->patch);
- return size;
-}
-
-static inline void
-vn_decode_VkConformanceVersion(struct vn_cs_decoder *dec, VkConformanceVersion *val)
-{
- vn_decode_uint8_t(dec, &val->major);
- vn_decode_uint8_t(dec, &val->minor);
- vn_decode_uint8_t(dec, &val->subminor);
- vn_decode_uint8_t(dec, &val->patch);
-}
-
-static inline size_t
-vn_sizeof_VkConformanceVersion_partial(const VkConformanceVersion *val)
-{
- size_t size = 0;
- /* skip val->major */
- /* skip val->minor */
- /* skip val->subminor */
- /* skip val->patch */
- return size;
-}
-
-static inline void
-vn_encode_VkConformanceVersion_partial(struct vn_cs_encoder *enc, const VkConformanceVersion *val)
-{
- /* skip val->major */
- /* skip val->minor */
- /* skip val->subminor */
- /* skip val->patch */
-}
-
-/* struct VkPhysicalDeviceDriverProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties_self(const VkPhysicalDeviceDriverProperties *val)
-{
- size_t size = 0;
- /* 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_array_size(VK_MAX_DRIVER_INFO_SIZE);
- size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
- size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDriverProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
-{
- /* skip val->{sType,pNext} */
- 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);
- }
- {
- 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_VkConformanceVersion(dec, &val->conformanceVersion);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDriverProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceDriverProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceDriverProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(const VkPhysicalDeviceDriverProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->driverID */
- /* skip val->driverName */
- /* skip val->driverInfo */
- size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDriverProperties_partial(const VkPhysicalDeviceDriverProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDriverProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->driverID */
- /* skip val->driverName */
- /* skip val->driverInfo */
- vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDriverProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES });
- vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceIDProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties_self(const VkPhysicalDeviceIDProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_array_size(VK_UUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);
- size += vn_sizeof_array_size(VK_UUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);
- size += vn_sizeof_array_size(VK_LUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);
- size += vn_sizeof_uint32_t(&val->deviceNodeMask);
- size += vn_sizeof_VkBool32(&val->deviceLUIDValid);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceIDProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceIDProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
-{
- /* skip val->{sType,pNext} */
- {
- const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
- vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
- vn_decode_uint8_t_array(dec, val->driverUUID, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);
- vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);
- }
- vn_decode_uint32_t(dec, &val->deviceNodeMask);
- vn_decode_VkBool32(dec, &val->deviceLUIDValid);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceIDProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceIDProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceIDProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(const VkPhysicalDeviceIDProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->deviceUUID */
- /* skip val->driverUUID */
- /* skip val->deviceLUID */
- /* skip val->deviceNodeMask */
- /* skip val->deviceLUIDValid */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceIDProperties_partial(const VkPhysicalDeviceIDProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceIDProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->deviceUUID */
- /* skip val->driverUUID */
- /* skip val->deviceLUID */
- /* skip val->deviceNodeMask */
- /* skip val->deviceLUIDValid */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceIDProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES });
- vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceMultiviewProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(const VkPhysicalDeviceMultiviewProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);
- size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);
- vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMultiviewProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(const VkPhysicalDeviceMultiviewProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxMultiviewViewCount */
- /* skip val->maxMultiviewInstanceIndex */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMultiviewProperties_partial(const VkPhysicalDeviceMultiviewProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxMultiviewViewCount */
- /* skip val->maxMultiviewInstanceIndex */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMultiviewProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES });
- vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceSubgroupProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(const VkPhysicalDeviceSubgroupProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->subgroupSize);
- size += vn_sizeof_VkFlags(&val->supportedStages);
- size += vn_sizeof_VkFlags(&val->supportedOperations);
- size += vn_sizeof_VkBool32(&val->quadOperationsInAllStages);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSubgroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->subgroupSize);
- vn_decode_VkFlags(dec, &val->supportedStages);
- vn_decode_VkFlags(dec, &val->supportedOperations);
- vn_decode_VkBool32(dec, &val->quadOperationsInAllStages);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSubgroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(const VkPhysicalDeviceSubgroupProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->subgroupSize */
- /* skip val->supportedStages */
- /* skip val->supportedOperations */
- /* skip val->quadOperationsInAllStages */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSubgroupProperties_partial(const VkPhysicalDeviceSubgroupProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->subgroupSize */
- /* skip val->supportedStages */
- /* skip val->supportedOperations */
- /* skip val->quadOperationsInAllStages */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSubgroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES });
- vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDevicePointClippingProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties_self(const VkPhysicalDevicePointClippingProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDevicePointClippingProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDevicePointClippingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);
-}
-
-static inline void
-vn_decode_VkPhysicalDevicePointClippingProperties(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDevicePointClippingProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(const VkPhysicalDevicePointClippingProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->pointClippingBehavior */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDevicePointClippingProperties_partial(const VkPhysicalDevicePointClippingProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->pointClippingBehavior */
-}
-
-static inline void
-vn_encode_VkPhysicalDevicePointClippingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES });
- vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceProtectedMemoryProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->protectedNoFault);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->protectedNoFault);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProtectedMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->protectedNoFault */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->protectedNoFault */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProtectedMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES });
- vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceSamplerFilterMinmaxProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);
- size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);
- vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->filterMinmaxSingleComponentFormats */
- /* skip val->filterMinmaxImageComponentMapping */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->filterMinmaxSingleComponentFormats */
- /* skip val->filterMinmaxImageComponentMapping */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES });
- vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceMaintenance3Properties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(const VkPhysicalDeviceMaintenance3Properties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);
- size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMaintenance3Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);
- vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMaintenance3Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(const VkPhysicalDeviceMaintenance3Properties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxPerSetDescriptors */
- /* skip val->maxMemoryAllocationSize */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMaintenance3Properties_partial(const VkPhysicalDeviceMaintenance3Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxPerSetDescriptors */
- /* skip val->maxMemoryAllocationSize */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMaintenance3Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES });
- vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceFloatControlsProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(const VkPhysicalDeviceFloatControlsProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkShaderFloatControlsIndependence(&val->denormBehaviorIndependence);
- size += vn_sizeof_VkShaderFloatControlsIndependence(&val->roundingModeIndependence);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties(const VkPhysicalDeviceFloatControlsProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFloatControlsProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);
- vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceFloatControlsProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(const VkPhysicalDeviceFloatControlsProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->denormBehaviorIndependence */
- /* skip val->roundingModeIndependence */
- /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
- /* skip val->shaderDenormPreserveFloat16 */
- /* skip val->shaderDenormPreserveFloat32 */
- /* skip val->shaderDenormPreserveFloat64 */
- /* skip val->shaderDenormFlushToZeroFloat16 */
- /* skip val->shaderDenormFlushToZeroFloat32 */
- /* skip val->shaderDenormFlushToZeroFloat64 */
- /* skip val->shaderRoundingModeRTEFloat16 */
- /* skip val->shaderRoundingModeRTEFloat32 */
- /* skip val->shaderRoundingModeRTEFloat64 */
- /* skip val->shaderRoundingModeRTZFloat16 */
- /* skip val->shaderRoundingModeRTZFloat32 */
- /* skip val->shaderRoundingModeRTZFloat64 */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceFloatControlsProperties_partial(const VkPhysicalDeviceFloatControlsProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->denormBehaviorIndependence */
- /* skip val->roundingModeIndependence */
- /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
- /* skip val->shaderDenormPreserveFloat16 */
- /* skip val->shaderDenormPreserveFloat32 */
- /* skip val->shaderDenormPreserveFloat64 */
- /* skip val->shaderDenormFlushToZeroFloat16 */
- /* skip val->shaderDenormFlushToZeroFloat32 */
- /* skip val->shaderDenormFlushToZeroFloat64 */
- /* skip val->shaderRoundingModeRTEFloat16 */
- /* skip val->shaderRoundingModeRTEFloat32 */
- /* skip val->shaderRoundingModeRTEFloat64 */
- /* skip val->shaderRoundingModeRTZFloat16 */
- /* skip val->shaderRoundingModeRTZFloat32 */
- /* skip val->shaderRoundingModeRTZFloat64 */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceFloatControlsProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES });
- vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceDescriptorIndexingProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);
- size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
- size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties(const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);
- vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
- vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDescriptorIndexingProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
- /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
- /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
- /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
- /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
- /* skip val->robustBufferAccessUpdateAfterBind */
- /* skip val->quadDivergentImplicitLod */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
- /* skip val->maxPerStageUpdateAfterBindResources */
- /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
- /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
- /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
- /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
- /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
- /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
- /* skip val->robustBufferAccessUpdateAfterBind */
- /* skip val->quadDivergentImplicitLod */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
- /* skip val->maxPerStageUpdateAfterBindResources */
- /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
- /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES });
- vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceTimelineSemaphoreProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxTimelineSemaphoreValueDifference */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxTimelineSemaphoreValueDifference */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES });
- vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceDepthStencilResolveProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);
- size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);
- size += vn_sizeof_VkBool32(&val->independentResolveNone);
- size += vn_sizeof_VkBool32(&val->independentResolve);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties(const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);
- vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);
- vn_decode_VkBool32(dec, &val->independentResolveNone);
- vn_decode_VkBool32(dec, &val->independentResolve);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceDepthStencilResolveProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->supportedDepthResolveModes */
- /* skip val->supportedStencilResolveModes */
- /* skip val->independentResolveNone */
- /* skip val->independentResolve */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->supportedDepthResolveModes */
- /* skip val->supportedStencilResolveModes */
- /* skip val->independentResolveNone */
- /* skip val->independentResolve */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES });
- vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceTransformFeedbackPropertiesEXT chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreams);
- size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBuffers);
- size += vn_sizeof_VkDeviceSize(&val->maxTransformFeedbackBufferSize);
- size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreamDataSize);
- size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataSize);
- size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataStride);
- size += vn_sizeof_VkBool32(&val->transformFeedbackQueries);
- size += vn_sizeof_VkBool32(&val->transformFeedbackStreamsLinesTriangles);
- size += vn_sizeof_VkBool32(&val->transformFeedbackRasterizationStreamSelect);
- size += vn_sizeof_VkBool32(&val->transformFeedbackDraw);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreams);
- vn_decode_uint32_t(dec, &val->maxTransformFeedbackBuffers);
- vn_decode_VkDeviceSize(dec, &val->maxTransformFeedbackBufferSize);
- vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreamDataSize);
- vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataSize);
- vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataStride);
- vn_decode_VkBool32(dec, &val->transformFeedbackQueries);
- vn_decode_VkBool32(dec, &val->transformFeedbackStreamsLinesTriangles);
- vn_decode_VkBool32(dec, &val->transformFeedbackRasterizationStreamSelect);
- vn_decode_VkBool32(dec, &val->transformFeedbackDraw);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxTransformFeedbackStreams */
- /* skip val->maxTransformFeedbackBuffers */
- /* skip val->maxTransformFeedbackBufferSize */
- /* skip val->maxTransformFeedbackStreamDataSize */
- /* skip val->maxTransformFeedbackBufferDataSize */
- /* skip val->maxTransformFeedbackBufferDataStride */
- /* skip val->transformFeedbackQueries */
- /* skip val->transformFeedbackStreamsLinesTriangles */
- /* skip val->transformFeedbackRasterizationStreamSelect */
- /* skip val->transformFeedbackDraw */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxTransformFeedbackStreams */
- /* skip val->maxTransformFeedbackBuffers */
- /* skip val->maxTransformFeedbackBufferSize */
- /* skip val->maxTransformFeedbackStreamDataSize */
- /* skip val->maxTransformFeedbackBufferDataSize */
- /* skip val->maxTransformFeedbackBufferDataStride */
- /* skip val->transformFeedbackQueries */
- /* skip val->transformFeedbackStreamsLinesTriangles */
- /* skip val->transformFeedbackRasterizationStreamSelect */
- /* skip val->transformFeedbackDraw */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT });
- vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceVulkan11Properties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(const VkPhysicalDeviceVulkan11Properties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_array_size(VK_UUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);
- size += vn_sizeof_array_size(VK_UUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);
- size += vn_sizeof_array_size(VK_LUID_SIZE);
- size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);
- size += vn_sizeof_uint32_t(&val->deviceNodeMask);
- size += vn_sizeof_VkBool32(&val->deviceLUIDValid);
- size += vn_sizeof_uint32_t(&val->subgroupSize);
- size += vn_sizeof_VkFlags(&val->subgroupSupportedStages);
- size += vn_sizeof_VkFlags(&val->subgroupSupportedOperations);
- size += vn_sizeof_VkBool32(&val->subgroupQuadOperationsInAllStages);
- size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);
- size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);
- size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);
- size += vn_sizeof_VkBool32(&val->protectedNoFault);
- size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);
- size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties(const VkPhysicalDeviceVulkan11Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
-{
- /* skip val->{sType,pNext} */
- {
- const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
- vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);
- vn_decode_uint8_t_array(dec, val->driverUUID, array_size);
- }
- {
- const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);
- vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);
- }
- vn_decode_uint32_t(dec, &val->deviceNodeMask);
- vn_decode_VkBool32(dec, &val->deviceLUIDValid);
- vn_decode_uint32_t(dec, &val->subgroupSize);
- vn_decode_VkFlags(dec, &val->subgroupSupportedStages);
- vn_decode_VkFlags(dec, &val->subgroupSupportedOperations);
- vn_decode_VkBool32(dec, &val->subgroupQuadOperationsInAllStages);
- vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);
- vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);
- vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);
- vn_decode_VkBool32(dec, &val->protectedNoFault);
- vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);
- vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan11Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(const VkPhysicalDeviceVulkan11Properties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->deviceUUID */
- /* skip val->driverUUID */
- /* skip val->deviceLUID */
- /* skip val->deviceNodeMask */
- /* skip val->deviceLUIDValid */
- /* skip val->subgroupSize */
- /* skip val->subgroupSupportedStages */
- /* skip val->subgroupSupportedOperations */
- /* skip val->subgroupQuadOperationsInAllStages */
- /* skip val->pointClippingBehavior */
- /* skip val->maxMultiviewViewCount */
- /* skip val->maxMultiviewInstanceIndex */
- /* skip val->protectedNoFault */
- /* skip val->maxPerSetDescriptors */
- /* skip val->maxMemoryAllocationSize */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan11Properties_partial(const VkPhysicalDeviceVulkan11Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->deviceUUID */
- /* skip val->driverUUID */
- /* skip val->deviceLUID */
- /* skip val->deviceNodeMask */
- /* skip val->deviceLUIDValid */
- /* skip val->subgroupSize */
- /* skip val->subgroupSupportedStages */
- /* skip val->subgroupSupportedOperations */
- /* skip val->subgroupQuadOperationsInAllStages */
- /* skip val->pointClippingBehavior */
- /* skip val->maxMultiviewViewCount */
- /* skip val->maxMultiviewInstanceIndex */
- /* skip val->protectedNoFault */
- /* skip val->maxPerSetDescriptors */
- /* skip val->maxMemoryAllocationSize */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan11Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES });
- vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceVulkan12Properties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(const VkPhysicalDeviceVulkan12Properties *val)
-{
- size_t size = 0;
- /* 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_array_size(VK_MAX_DRIVER_INFO_SIZE);
- size += vn_sizeof_blob_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);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);
- size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);
- size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);
- size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);
- size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);
- size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);
- size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);
- size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);
- size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);
- size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
- size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);
- size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);
- size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);
- size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);
- size += vn_sizeof_VkBool32(&val->independentResolveNone);
- size += vn_sizeof_VkBool32(&val->independentResolve);
- size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);
- size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);
- size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);
- size += vn_sizeof_VkFlags(&val->framebufferIntegerColorSampleCounts);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties(const VkPhysicalDeviceVulkan12Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
-{
- /* skip val->{sType,pNext} */
- 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);
- }
- {
- 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_VkConformanceVersion(dec, &val->conformanceVersion);
- vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);
- vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);
- vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);
- vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);
- vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);
- vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);
- vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);
- vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
- vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);
- vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
- vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
- vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);
- vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
- vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);
- vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);
- vn_decode_VkBool32(dec, &val->independentResolveNone);
- vn_decode_VkBool32(dec, &val->independentResolve);
- vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);
- vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);
- vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);
- vn_decode_VkFlags(dec, &val->framebufferIntegerColorSampleCounts);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceVulkan12Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(const VkPhysicalDeviceVulkan12Properties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->driverID */
- /* skip val->driverName */
- /* skip val->driverInfo */
- size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);
- /* skip val->denormBehaviorIndependence */
- /* skip val->roundingModeIndependence */
- /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
- /* skip val->shaderDenormPreserveFloat16 */
- /* skip val->shaderDenormPreserveFloat32 */
- /* skip val->shaderDenormPreserveFloat64 */
- /* skip val->shaderDenormFlushToZeroFloat16 */
- /* skip val->shaderDenormFlushToZeroFloat32 */
- /* skip val->shaderDenormFlushToZeroFloat64 */
- /* skip val->shaderRoundingModeRTEFloat16 */
- /* skip val->shaderRoundingModeRTEFloat32 */
- /* skip val->shaderRoundingModeRTEFloat64 */
- /* skip val->shaderRoundingModeRTZFloat16 */
- /* skip val->shaderRoundingModeRTZFloat32 */
- /* skip val->shaderRoundingModeRTZFloat64 */
- /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
- /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
- /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
- /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
- /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
- /* skip val->robustBufferAccessUpdateAfterBind */
- /* skip val->quadDivergentImplicitLod */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
- /* skip val->maxPerStageUpdateAfterBindResources */
- /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
- /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
- /* skip val->supportedDepthResolveModes */
- /* skip val->supportedStencilResolveModes */
- /* skip val->independentResolveNone */
- /* skip val->independentResolve */
- /* skip val->filterMinmaxSingleComponentFormats */
- /* skip val->filterMinmaxImageComponentMapping */
- /* skip val->maxTimelineSemaphoreValueDifference */
- /* skip val->framebufferIntegerColorSampleCounts */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceVulkan12Properties_partial(const VkPhysicalDeviceVulkan12Properties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->driverID */
- /* skip val->driverName */
- /* skip val->driverInfo */
- vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);
- /* skip val->denormBehaviorIndependence */
- /* skip val->roundingModeIndependence */
- /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
- /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
- /* skip val->shaderDenormPreserveFloat16 */
- /* skip val->shaderDenormPreserveFloat32 */
- /* skip val->shaderDenormPreserveFloat64 */
- /* skip val->shaderDenormFlushToZeroFloat16 */
- /* skip val->shaderDenormFlushToZeroFloat32 */
- /* skip val->shaderDenormFlushToZeroFloat64 */
- /* skip val->shaderRoundingModeRTEFloat16 */
- /* skip val->shaderRoundingModeRTEFloat32 */
- /* skip val->shaderRoundingModeRTEFloat64 */
- /* skip val->shaderRoundingModeRTZFloat16 */
- /* skip val->shaderRoundingModeRTZFloat32 */
- /* skip val->shaderRoundingModeRTZFloat64 */
- /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
- /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
- /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
- /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
- /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
- /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
- /* skip val->robustBufferAccessUpdateAfterBind */
- /* skip val->quadDivergentImplicitLod */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
- /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
- /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
- /* skip val->maxPerStageUpdateAfterBindResources */
- /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
- /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
- /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
- /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
- /* skip val->supportedDepthResolveModes */
- /* skip val->supportedStencilResolveModes */
- /* skip val->independentResolveNone */
- /* skip val->independentResolve */
- /* skip val->filterMinmaxSingleComponentFormats */
- /* skip val->filterMinmaxImageComponentMapping */
- /* skip val->maxTimelineSemaphoreValueDifference */
- /* skip val->framebufferIntegerColorSampleCounts */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceVulkan12Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES });
- vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_self((const VkPhysicalDeviceDriverProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_self((const VkPhysicalDeviceIDProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self((const VkPhysicalDeviceMultiviewProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self((const VkPhysicalDeviceSubgroupProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self((const VkPhysicalDevicePointClippingProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self((const VkPhysicalDeviceMaintenance3Properties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self((const VkPhysicalDeviceFloatControlsProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self((const VkPhysicalDeviceVulkan11Properties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self((const VkPhysicalDeviceVulkan12Properties *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2_self(const VkPhysicalDeviceProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceProperties(&val->properties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceDriverProperties_self(dec, (VkPhysicalDeviceDriverProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceIDProperties_self(dec, (VkPhysicalDeviceIDProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, (VkPhysicalDeviceMultiviewProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, (VkPhysicalDeviceSubgroupProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, (VkPhysicalDevicePointClippingProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, (VkPhysicalDeviceProtectedMemoryProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, (VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, (VkPhysicalDeviceMaintenance3Properties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, (VkPhysicalDeviceFloatControlsProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, (VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, (VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, (VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, (VkPhysicalDeviceVulkan11Properties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, (VkPhysicalDeviceVulkan12Properties *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkPhysicalDeviceProperties(dec, &val->properties);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceProperties2_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial((const VkPhysicalDeviceDriverProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial((const VkPhysicalDeviceIDProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial((const VkPhysicalDeviceMultiviewProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial((const VkPhysicalDeviceSubgroupProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial((const VkPhysicalDevicePointClippingProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial((const VkPhysicalDeviceMaintenance3Properties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial((const VkPhysicalDeviceFloatControlsProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial((const VkPhysicalDeviceVulkan11Properties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial((const VkPhysicalDeviceVulkan12Properties *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2_self_partial(const VkPhysicalDeviceProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceProperties_partial(&val->properties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceProperties2_partial(const VkPhysicalDeviceProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, (const VkPhysicalDeviceDriverProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, (const VkPhysicalDeviceIDProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, (const VkPhysicalDeviceMultiviewProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, (const VkPhysicalDeviceSubgroupProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, (const VkPhysicalDevicePointClippingProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, (const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance3Properties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, (const VkPhysicalDeviceFloatControlsProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, (const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, (const VkPhysicalDeviceVulkan11Properties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, (const VkPhysicalDeviceVulkan12Properties *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkPhysicalDeviceProperties_partial(enc, &val->properties);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 });
- vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceProperties2_self_partial(enc, val);
-}
-
-/* struct VkDrmFormatModifierPropertiesEXT */
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesEXT(const VkDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint64_t(&val->drmFormatModifier);
- size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);
- size += vn_sizeof_VkFlags(&val->drmFormatModifierTilingFeatures);
- return size;
-}
-
-static inline void
-vn_decode_VkDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesEXT *val)
-{
- vn_decode_uint64_t(dec, &val->drmFormatModifier);
- vn_decode_uint32_t(dec, &val->drmFormatModifierPlaneCount);
- vn_decode_VkFlags(dec, &val->drmFormatModifierTilingFeatures);
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(const VkDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
- /* skip val->drmFormatModifier */
- /* skip val->drmFormatModifierPlaneCount */
- /* skip val->drmFormatModifierTilingFeatures */
- return size;
-}
-
-static inline void
-vn_encode_VkDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesEXT *val)
-{
- /* skip val->drmFormatModifier */
- /* skip val->drmFormatModifierPlaneCount */
- /* skip val->drmFormatModifierTilingFeatures */
-}
-
-/* struct VkDrmFormatModifierPropertiesListEXT chain */
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(const VkDrmFormatModifierPropertiesListEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);
- if (val->pDrmFormatModifierProperties) {
- size += vn_sizeof_array_size(val->drmFormatModifierCount);
- for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
- size += vn_sizeof_VkDrmFormatModifierPropertiesEXT(&val->pDrmFormatModifierProperties[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(val->pNext);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
-{
- /* 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++)
- vn_decode_VkDrmFormatModifierPropertiesEXT(dec, &val->pDrmFormatModifierProperties[i]);
- } else {
- vn_decode_array_size(dec, 0);
- val->pDrmFormatModifierProperties = NULL;
- }
-}
-
-static inline void
-vn_decode_VkDrmFormatModifierPropertiesListEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
-
- assert(val->sType == stype);
- vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(dec, val->pNext);
- vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(const VkDrmFormatModifierPropertiesListEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->drmFormatModifierCount */
- if (val->pDrmFormatModifierProperties) {
- size += vn_sizeof_array_size(val->drmFormatModifierCount);
- for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
- size += vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(&val->pDrmFormatModifierProperties[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDrmFormatModifierPropertiesListEXT_partial(const VkDrmFormatModifierPropertiesListEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(val->pNext);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->drmFormatModifierCount */
- if (val->pDrmFormatModifierProperties) {
- vn_encode_array_size(enc, val->drmFormatModifierCount);
- for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
- vn_encode_VkDrmFormatModifierPropertiesEXT_partial(enc, &val->pDrmFormatModifierProperties[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkDrmFormatModifierPropertiesListEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT });
- vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(enc, val->pNext);
- vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, val);
-}
-
-/* struct VkFormatProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkFormatProperties2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkFormatProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self((const VkDrmFormatModifierPropertiesListEXT *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties2_self(const VkFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFormatProperties(&val->formatProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties2(const VkFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFormatProperties2_pnext(val->pNext);
- size += vn_sizeof_VkFormatProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
- vn_decode_VkFormatProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, (VkDrmFormatModifierPropertiesListEXT *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkFormatProperties2_self(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkFormatProperties(dec, &val->formatProperties);
-}
-
-static inline void
-vn_decode_VkFormatProperties2(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkFormatProperties2_pnext(dec, val->pNext);
- vn_decode_VkFormatProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties2_pnext_partial(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkFormatProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial((const VkDrmFormatModifierPropertiesListEXT *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties2_self_partial(const VkFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFormatProperties_partial(&val->formatProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkFormatProperties2_partial(const VkFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkFormatProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkFormatProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkFormatProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, (const VkDrmFormatModifierPropertiesListEXT *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFormatProperties_partial(enc, &val->formatProperties);
-}
-
-static inline void
-vn_encode_VkFormatProperties2_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 });
- vn_encode_VkFormatProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkFormatProperties2_self_partial(enc, val);
-}
-
-/* struct VkExternalMemoryProperties */
-
-static inline size_t
-vn_sizeof_VkExternalMemoryProperties(const VkExternalMemoryProperties *val)
-{
- size_t size = 0;
- size += vn_sizeof_VkFlags(&val->externalMemoryFeatures);
- size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
- size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
- return size;
-}
-
-static inline void
-vn_decode_VkExternalMemoryProperties(struct vn_cs_decoder *dec, VkExternalMemoryProperties *val)
-{
- vn_decode_VkFlags(dec, &val->externalMemoryFeatures);
- vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
- vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
-}
-
-static inline size_t
-vn_sizeof_VkExternalMemoryProperties_partial(const VkExternalMemoryProperties *val)
-{
- size_t size = 0;
- /* skip val->externalMemoryFeatures */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
- return size;
-}
-
-static inline void
-vn_encode_VkExternalMemoryProperties_partial(struct vn_cs_encoder *enc, const VkExternalMemoryProperties *val)
-{
- /* skip val->externalMemoryFeatures */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
-}
-
-/* struct VkExternalImageFormatProperties chain */
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties_self(const VkExternalImageFormatProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties(const VkExternalImageFormatProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalImageFormatProperties_pnext(val->pNext);
- size += vn_sizeof_VkExternalImageFormatProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkExternalImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkExternalImageFormatProperties_self(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);
-}
-
-static inline void
-vn_decode_VkExternalImageFormatProperties(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkExternalImageFormatProperties_pnext(dec, val->pNext);
- vn_decode_VkExternalImageFormatProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties_self_partial(const VkExternalImageFormatProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalImageFormatProperties_partial(const VkExternalImageFormatProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalImageFormatProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkExternalImageFormatProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExternalImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExternalImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);
-}
-
-static inline void
-vn_encode_VkExternalImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES });
- vn_encode_VkExternalImageFormatProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkExternalImageFormatProperties_self_partial(enc, val);
-}
-
-/* struct VkSamplerYcbcrConversionImageFormatProperties chain */
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->combinedImageSamplerDescriptorCount);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(val->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->combinedImageSamplerDescriptorCount);
-}
-
-static inline void
-vn_decode_VkSamplerYcbcrConversionImageFormatProperties(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(dec, val->pNext);
- vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->combinedImageSamplerDescriptorCount */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->combinedImageSamplerDescriptorCount */
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES });
- vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, val);
-}
-
-/* struct VkImageFormatProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkExternalImageFormatProperties_self((const VkExternalImageFormatProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2_self(const VkImageFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageFormatProperties(&val->imageFormatProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2(const VkImageFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext(val->pNext);
- size += vn_sizeof_VkImageFormatProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkExternalImageFormatProperties_self(dec, (VkExternalImageFormatProperties *)pnext);
- break;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);
- vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, (VkSamplerYcbcrConversionImageFormatProperties *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkImageFormatProperties2_self(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkImageFormatProperties(dec, &val->imageFormatProperties);
-}
-
-static inline void
-vn_decode_VkImageFormatProperties2(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkImageFormatProperties2_pnext(dec, val->pNext);
- vn_decode_VkImageFormatProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2_pnext_partial(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkExternalImageFormatProperties_self_partial((const VkExternalImageFormatProperties *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2_self_partial(const VkImageFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageFormatProperties_partial(&val->imageFormatProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageFormatProperties2_partial(const VkImageFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageFormatProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkImageFormatProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkExternalImageFormatProperties_self_partial(enc, (const VkExternalImageFormatProperties *)pnext);
- return;
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);
- vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, (const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImageFormatProperties_partial(enc, &val->imageFormatProperties);
-}
-
-static inline void
-vn_encode_VkImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 });
- vn_encode_VkImageFormatProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkImageFormatProperties2_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceExternalImageFormatInfo chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(const VkPhysicalDeviceExternalImageFormatInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalImageFormatInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO });
- vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, val);
-}
-
-/* struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->drmFormatModifier);
- size += vn_sizeof_VkSharingMode(&val->sharingMode);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- size += vn_sizeof_array_size(val->queueFamilyIndexCount);
- size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint64_t(enc, &val->drmFormatModifier);
- vn_encode_VkSharingMode(enc, &val->sharingMode);
- vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
- if (val->pQueueFamilyIndices) {
- vn_encode_array_size(enc, val->queueFamilyIndexCount);
- vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT });
- vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, val);
-}
-
-/* struct VkPhysicalDeviceImageFormatInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self((const VkPhysicalDeviceExternalImageFormatInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
- size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
- size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self((const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);
- size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(const VkPhysicalDeviceImageFormatInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkImageType(&val->type);
- size += vn_sizeof_VkImageTiling(&val->tiling);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_VkFlags(&val->flags);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, (const VkPhysicalDeviceExternalImageFormatInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
- vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
- vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, (const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
- return;
- case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);
- vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkImageType(enc, &val->type);
- vn_encode_VkImageTiling(enc, &val->tiling);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_VkFlags(enc, &val->flags);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 });
- vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceImageFormatInfo2_self(enc, val);
-}
-
-/* struct VkQueueFamilyProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2_self(const VkQueueFamilyProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkQueueFamilyProperties(&val->queueFamilyProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2(const VkQueueFamilyProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkQueueFamilyProperties2_pnext(val->pNext);
- size += vn_sizeof_VkQueueFamilyProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkQueueFamilyProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkQueueFamilyProperties2_self(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkQueueFamilyProperties(dec, &val->queueFamilyProperties);
-}
-
-static inline void
-vn_decode_VkQueueFamilyProperties2(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkQueueFamilyProperties2_pnext(dec, val->pNext);
- vn_decode_VkQueueFamilyProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2_self_partial(const VkQueueFamilyProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkQueueFamilyProperties_partial(&val->queueFamilyProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkQueueFamilyProperties2_partial(const VkQueueFamilyProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkQueueFamilyProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkQueueFamilyProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkQueueFamilyProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkQueueFamilyProperties2_self_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkQueueFamilyProperties_partial(enc, &val->queueFamilyProperties);
-}
-
-static inline void
-vn_encode_VkQueueFamilyProperties2_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 });
- vn_encode_VkQueueFamilyProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkQueueFamilyProperties2_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceMemoryProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(const VkPhysicalDeviceMemoryProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties(&val->memoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMemoryProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkPhysicalDeviceMemoryProperties(dec, &val->memoryProperties);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceMemoryProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceMemoryProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(const VkPhysicalDeviceMemoryProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(&val->memoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(const VkPhysicalDeviceMemoryProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, &val->memoryProperties);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceMemoryProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 });
- vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(enc, val);
-}
-
-/* struct VkSparseImageFormatProperties2 chain */
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2_self(const VkSparseImageFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSparseImageFormatProperties(&val->properties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSparseImageFormatProperties2_pnext(val->pNext);
- size += vn_sizeof_VkSparseImageFormatProperties2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkSparseImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkSparseImageFormatProperties2_self(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkSparseImageFormatProperties(dec, &val->properties);
-}
-
-static inline void
-vn_decode_VkSparseImageFormatProperties2(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);
-
- assert(val->sType == stype);
- vn_decode_VkSparseImageFormatProperties2_pnext(dec, val->pNext);
- vn_decode_VkSparseImageFormatProperties2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2_self_partial(const VkSparseImageFormatProperties2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->properties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageFormatProperties2_partial(const VkSparseImageFormatProperties2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(val->pNext);
- size += vn_sizeof_VkSparseImageFormatProperties2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSparseImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSparseImageFormatProperties_partial(enc, &val->properties);
-}
-
-static inline void
-vn_encode_VkSparseImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 });
- vn_encode_VkSparseImageFormatProperties2_pnext_partial(enc, val->pNext);
- vn_encode_VkSparseImageFormatProperties2_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceSparseImageFormatInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(const VkPhysicalDeviceSparseImageFormatInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkImageType(&val->type);
- size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_VkImageTiling(&val->tiling);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkImageType(enc, &val->type);
- vn_encode_VkSampleCountFlagBits(enc, &val->samples);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_VkImageTiling(enc, &val->tiling);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 });
- vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(enc, val);
-}
-
-/* struct VkPhysicalDeviceExternalBufferInfo chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(const VkPhysicalDeviceExternalBufferInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkFlags(&val->usage);
- size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalBufferInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkFlags(enc, &val->usage);
- vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalBufferInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO });
- vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceExternalBufferInfo_self(enc, val);
-}
-
-/* struct VkExternalBufferProperties chain */
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties_self(const VkExternalBufferProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties(const VkExternalBufferProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalBufferProperties_pnext(val->pNext);
- size += vn_sizeof_VkExternalBufferProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkExternalBufferProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkExternalBufferProperties_self(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);
-}
-
-static inline void
-vn_decode_VkExternalBufferProperties(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkExternalBufferProperties_pnext(dec, val->pNext);
- vn_decode_VkExternalBufferProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties_self_partial(const VkExternalBufferProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalBufferProperties_partial(const VkExternalBufferProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalBufferProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkExternalBufferProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExternalBufferProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExternalBufferProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);
-}
-
-static inline void
-vn_encode_VkExternalBufferProperties_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES });
- vn_encode_VkExternalBufferProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkExternalBufferProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceExternalSemaphoreInfo chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkSemaphoreTypeCreateInfo_self((const VkSemaphoreTypeCreateInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(const VkPhysicalDeviceExternalSemaphoreInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalSemaphoreHandleTypeFlagBits(&val->handleType);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, pnext->pNext);
- vn_encode_VkSemaphoreTypeCreateInfo_self(enc, (const VkSemaphoreTypeCreateInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkExternalSemaphoreHandleTypeFlagBits(enc, &val->handleType);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO });
- vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(enc, val);
-}
-
-/* struct VkExternalSemaphoreProperties chain */
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties_self(const VkExternalSemaphoreProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
- size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
- size += vn_sizeof_VkFlags(&val->externalSemaphoreFeatures);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalSemaphoreProperties_pnext(val->pNext);
- size += vn_sizeof_VkExternalSemaphoreProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkExternalSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkExternalSemaphoreProperties_self(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
- vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
- vn_decode_VkFlags(dec, &val->externalSemaphoreFeatures);
-}
-
-static inline void
-vn_decode_VkExternalSemaphoreProperties(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkExternalSemaphoreProperties_pnext(dec, val->pNext);
- vn_decode_VkExternalSemaphoreProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties_self_partial(const VkExternalSemaphoreProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
- /* skip val->externalSemaphoreFeatures */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalSemaphoreProperties_partial(const VkExternalSemaphoreProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkExternalSemaphoreProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExternalSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExternalSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
- /* skip val->externalSemaphoreFeatures */
-}
-
-static inline void
-vn_encode_VkExternalSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES });
- vn_encode_VkExternalSemaphoreProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkExternalSemaphoreProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceExternalFenceInfo chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(const VkPhysicalDeviceExternalFenceInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkExternalFenceHandleTypeFlagBits(&val->handleType);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalFenceInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkExternalFenceHandleTypeFlagBits(enc, &val->handleType);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceExternalFenceInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO });
- vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(enc, val->pNext);
- vn_encode_VkPhysicalDeviceExternalFenceInfo_self(enc, val);
-}
-
-/* struct VkExternalFenceProperties chain */
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties_self(const VkExternalFenceProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);
- size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);
- size += vn_sizeof_VkFlags(&val->externalFenceFeatures);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties(const VkExternalFenceProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalFenceProperties_pnext(val->pNext);
- size += vn_sizeof_VkExternalFenceProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkExternalFenceProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkExternalFenceProperties_self(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);
- vn_decode_VkFlags(dec, &val->compatibleHandleTypes);
- vn_decode_VkFlags(dec, &val->externalFenceFeatures);
-}
-
-static inline void
-vn_decode_VkExternalFenceProperties(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkExternalFenceProperties_pnext(dec, val->pNext);
- vn_decode_VkExternalFenceProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties_self_partial(const VkExternalFenceProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
- /* skip val->externalFenceFeatures */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkExternalFenceProperties_partial(const VkExternalFenceProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkExternalFenceProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkExternalFenceProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkExternalFenceProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkExternalFenceProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->exportFromImportedHandleTypes */
- /* skip val->compatibleHandleTypes */
- /* skip val->externalFenceFeatures */
-}
-
-static inline void
-vn_encode_VkExternalFenceProperties_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES });
- vn_encode_VkExternalFenceProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkExternalFenceProperties_self_partial(enc, val);
-}
-
-/* struct VkPhysicalDeviceGroupProperties chain */
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties_self(const VkPhysicalDeviceGroupProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->physicalDeviceCount);
- size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);
- for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
- size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);
- size += vn_sizeof_VkBool32(&val->subsetAllocation);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceGroupProperties_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceGroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
-{
- /* 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++)
- vn_decode_VkPhysicalDevice(dec, &val->physicalDevices[i]);
- }
- vn_decode_VkBool32(dec, &val->subsetAllocation);
-}
-
-static inline void
-vn_decode_VkPhysicalDeviceGroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);
-
- assert(val->sType == stype);
- vn_decode_VkPhysicalDeviceGroupProperties_pnext(dec, val->pNext);
- vn_decode_VkPhysicalDeviceGroupProperties_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(const VkPhysicalDeviceGroupProperties *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->physicalDeviceCount */
- size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);
- for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
- size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);
- /* skip val->subsetAllocation */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkPhysicalDeviceGroupProperties_partial(const VkPhysicalDeviceGroupProperties *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(val->pNext);
- size += vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceGroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->physicalDeviceCount */
- vn_encode_array_size(enc, VK_MAX_DEVICE_GROUP_SIZE);
- for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
- vn_encode_VkPhysicalDevice(enc, &val->physicalDevices[i]);
- /* skip val->subsetAllocation */
-}
-
-static inline void
-vn_encode_VkPhysicalDeviceGroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES });
- vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(enc, val->pNext);
- vn_encode_VkPhysicalDeviceGroupProperties_self_partial(enc, val);
-}
-
-/* struct VkBindBufferMemoryDeviceGroupInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self(const VkBindBufferMemoryDeviceGroupInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->deviceIndexCount);
- if (val->pDeviceIndices) {
- size += vn_sizeof_array_size(val->deviceIndexCount);
- size += vn_sizeof_uint32_t_array(val->pDeviceIndices, val->deviceIndexCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryDeviceGroupInfo(const VkBindBufferMemoryDeviceGroupInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryDeviceGroupInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(struct vn_cs_encoder *enc, const VkBindBufferMemoryDeviceGroupInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->deviceIndexCount);
- if (val->pDeviceIndices) {
- vn_encode_array_size(enc, val->deviceIndexCount);
- vn_encode_uint32_t_array(enc, val->pDeviceIndices, val->deviceIndexCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryDeviceGroupInfo(struct vn_cs_encoder *enc, const VkBindBufferMemoryDeviceGroupInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO });
- vn_encode_VkBindBufferMemoryDeviceGroupInfo_pnext(enc, val->pNext);
- vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryDeviceGroupInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBindBufferMemoryDeviceGroupInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->deviceIndexCount);
- if (vn_peek_array_size(dec)) {
- 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);
- val->pDeviceIndices = NULL;
- }
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryDeviceGroupInfo(struct vn_cs_decoder *dec, VkBindBufferMemoryDeviceGroupInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBindBufferMemoryDeviceGroupInfo_pnext(dec, val->pNext);
- vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(dec, val);
-}
-
-/* struct VkBindBufferMemoryInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBindBufferMemoryInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkBindBufferMemoryDeviceGroupInfo_self((const VkBindBufferMemoryDeviceGroupInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryInfo_self(const VkBindBufferMemoryInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBuffer(&val->buffer);
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindBufferMemoryInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindBufferMemoryInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBindBufferMemoryInfo_pnext(enc, pnext->pNext);
- vn_encode_VkBindBufferMemoryDeviceGroupInfo_self(enc, (const VkBindBufferMemoryDeviceGroupInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindBufferMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBuffer(enc, &val->buffer);
- vn_encode_VkDeviceMemory(enc, &val->memory);
- vn_encode_VkDeviceSize(enc, &val->memoryOffset);
-}
-
-static inline void
-vn_encode_VkBindBufferMemoryInfo(struct vn_cs_encoder *enc, const VkBindBufferMemoryInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO });
- vn_encode_VkBindBufferMemoryInfo_pnext(enc, val->pNext);
- vn_encode_VkBindBufferMemoryInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- vn_decode_VkBindBufferMemoryInfo_pnext(dec, pnext->pNext);
- vn_decode_VkBindBufferMemoryDeviceGroupInfo_self(dec, (VkBindBufferMemoryDeviceGroupInfo *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryInfo_self(struct vn_cs_decoder *dec, VkBindBufferMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBuffer(dec, &val->buffer);
- vn_decode_VkDeviceMemory(dec, &val->memory);
- vn_decode_VkDeviceSize(dec, &val->memoryOffset);
-}
-
-static inline void
-vn_decode_VkBindBufferMemoryInfo(struct vn_cs_decoder *dec, VkBindBufferMemoryInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBindBufferMemoryInfo_pnext(dec, val->pNext);
- vn_decode_VkBindBufferMemoryInfo_self(dec, val);
-}
-
-/* struct VkBindImageMemoryDeviceGroupInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(const VkBindImageMemoryDeviceGroupInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->deviceIndexCount);
- if (val->pDeviceIndices) {
- size += vn_sizeof_array_size(val->deviceIndexCount);
- size += vn_sizeof_uint32_t_array(val->pDeviceIndices, val->deviceIndexCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->splitInstanceBindRegionCount);
- if (val->pSplitInstanceBindRegions) {
- size += vn_sizeof_array_size(val->splitInstanceBindRegionCount);
- for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
- size += vn_sizeof_VkRect2D(&val->pSplitInstanceBindRegions[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->deviceIndexCount);
- if (val->pDeviceIndices) {
- vn_encode_array_size(enc, val->deviceIndexCount);
- vn_encode_uint32_t_array(enc, val->pDeviceIndices, val->deviceIndexCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->splitInstanceBindRegionCount);
- if (val->pSplitInstanceBindRegions) {
- vn_encode_array_size(enc, val->splitInstanceBindRegionCount);
- for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
- vn_encode_VkRect2D(enc, &val->pSplitInstanceBindRegions[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO });
- vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(enc, val->pNext);
- vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->deviceIndexCount);
- if (vn_peek_array_size(dec)) {
- 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);
- 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++)
- vn_decode_VkRect2D(dec, &((VkRect2D *)val->pSplitInstanceBindRegions)[i]);
- } else {
- vn_decode_array_size(dec, 0);
- val->pSplitInstanceBindRegions = NULL;
- }
-}
-
-static inline void
-vn_decode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(dec, val->pNext);
- vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, val);
-}
-
-/* struct VkBindImagePlaneMemoryInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindImagePlaneMemoryInfo_self(const VkBindImagePlaneMemoryInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindImagePlaneMemoryInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
-}
-
-static inline void
-vn_encode_VkBindImagePlaneMemoryInfo(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO });
- vn_encode_VkBindImagePlaneMemoryInfo_pnext(enc, val->pNext);
- vn_encode_VkBindImagePlaneMemoryInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkImageAspectFlagBits(dec, &val->planeAspect);
-}
-
-static inline void
-vn_decode_VkBindImagePlaneMemoryInfo(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBindImagePlaneMemoryInfo_pnext(dec, val->pNext);
- vn_decode_VkBindImagePlaneMemoryInfo_self(dec, val);
-}
-
-/* struct VkBindImageMemoryInfo chain */
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryInfo_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self((const VkBindImageMemoryDeviceGroupInfo *)pnext);
- return size;
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
- size += vn_sizeof_VkBindImagePlaneMemoryInfo_self((const VkBindImagePlaneMemoryInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryInfo_self(const VkBindImageMemoryInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImage(&val->image);
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBindImageMemoryInfo(const VkBindImageMemoryInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBindImageMemoryInfo_pnext(val->pNext);
- size += vn_sizeof_VkBindImageMemoryInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBindImageMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
- vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, (const VkBindImageMemoryDeviceGroupInfo *)pnext);
- return;
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
- vn_encode_VkBindImagePlaneMemoryInfo_self(enc, (const VkBindImagePlaneMemoryInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBindImageMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImage(enc, &val->image);
- vn_encode_VkDeviceMemory(enc, &val->memory);
- vn_encode_VkDeviceSize(enc, &val->memoryOffset);
-}
-
-static inline void
-vn_encode_VkBindImageMemoryInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO });
- vn_encode_VkBindImageMemoryInfo_pnext(enc, val->pNext);
- vn_encode_VkBindImageMemoryInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBindImageMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
- vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, (VkBindImageMemoryDeviceGroupInfo *)pnext);
- break;
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
- vn_decode_VkBindImagePlaneMemoryInfo_self(dec, (VkBindImagePlaneMemoryInfo *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkBindImageMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkImage(dec, &val->image);
- vn_decode_VkDeviceMemory(dec, &val->memory);
- vn_decode_VkDeviceSize(dec, &val->memoryOffset);
-}
-
-static inline void
-vn_decode_VkBindImageMemoryInfo(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBindImageMemoryInfo_pnext(dec, val->pNext);
- vn_decode_VkBindImageMemoryInfo_self(dec, val);
-}
-
-/* struct VkDescriptorUpdateTemplateEntry */
-
-static inline size_t
-vn_sizeof_VkDescriptorUpdateTemplateEntry(const VkDescriptorUpdateTemplateEntry *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->dstBinding);
- size += vn_sizeof_uint32_t(&val->dstArrayElement);
- size += vn_sizeof_uint32_t(&val->descriptorCount);
- size += vn_sizeof_VkDescriptorType(&val->descriptorType);
- size += vn_sizeof_size_t(&val->offset);
- size += vn_sizeof_size_t(&val->stride);
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorUpdateTemplateEntry(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateEntry *val)
-{
- vn_encode_uint32_t(enc, &val->dstBinding);
- vn_encode_uint32_t(enc, &val->dstArrayElement);
- vn_encode_uint32_t(enc, &val->descriptorCount);
- vn_encode_VkDescriptorType(enc, &val->descriptorType);
- vn_encode_size_t(enc, &val->offset);
- vn_encode_size_t(enc, &val->stride);
-}
-
-/* struct VkDescriptorUpdateTemplateCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_self(const VkDescriptorUpdateTemplateCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->descriptorUpdateEntryCount);
- if (val->pDescriptorUpdateEntries) {
- size += vn_sizeof_array_size(val->descriptorUpdateEntryCount);
- for (uint32_t i = 0; i < val->descriptorUpdateEntryCount; i++)
- size += vn_sizeof_VkDescriptorUpdateTemplateEntry(&val->pDescriptorUpdateEntries[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_VkDescriptorUpdateTemplateType(&val->templateType);
- size += vn_sizeof_VkDescriptorSetLayout(&val->descriptorSetLayout);
- size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
- size += vn_sizeof_VkPipelineLayout(&val->pipelineLayout);
- size += vn_sizeof_uint32_t(&val->set);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorUpdateTemplateCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorUpdateTemplateCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorUpdateTemplateCreateInfo_self(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->descriptorUpdateEntryCount);
- if (val->pDescriptorUpdateEntries) {
- vn_encode_array_size(enc, val->descriptorUpdateEntryCount);
- for (uint32_t i = 0; i < val->descriptorUpdateEntryCount; i++)
- vn_encode_VkDescriptorUpdateTemplateEntry(enc, &val->pDescriptorUpdateEntries[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_VkDescriptorUpdateTemplateType(enc, &val->templateType);
- vn_encode_VkDescriptorSetLayout(enc, &val->descriptorSetLayout);
- vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
- vn_encode_VkPipelineLayout(enc, &val->pipelineLayout);
- vn_encode_uint32_t(enc, &val->set);
-}
-
-static inline void
-vn_encode_VkDescriptorUpdateTemplateCreateInfo(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplateCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO });
- vn_encode_VkDescriptorUpdateTemplateCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkDescriptorUpdateTemplateCreateInfo_self(enc, val);
-}
-
-/* struct VkBufferMemoryRequirementsInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkBufferMemoryRequirementsInfo2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferMemoryRequirementsInfo2_self(const VkBufferMemoryRequirementsInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBuffer(&val->buffer);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferMemoryRequirementsInfo2(const VkBufferMemoryRequirementsInfo2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferMemoryRequirementsInfo2_pnext(val->pNext);
- size += vn_sizeof_VkBufferMemoryRequirementsInfo2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkBufferMemoryRequirementsInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBuffer(enc, &val->buffer);
-}
-
-static inline void
-vn_encode_VkBufferMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkBufferMemoryRequirementsInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 });
- vn_encode_VkBufferMemoryRequirementsInfo2_pnext(enc, val->pNext);
- vn_encode_VkBufferMemoryRequirementsInfo2_self(enc, val);
-}
-
-/* struct VkImagePlaneMemoryRequirementsInfo chain */
-
-static inline size_t
-vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(const VkImagePlaneMemoryRequirementsInfo *val)
+vn_decode_VkExtent2D(struct vn_cs_decoder *dec, VkExtent2D *val)
{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
- return size;
+ vn_decode_uint32_t(dec, &val->width);
+ vn_decode_uint32_t(dec, &val->height);
}
static inline size_t
-vn_sizeof_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo *val)
+vn_sizeof_VkExtent2D_partial(const VkExtent2D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(val->pNext);
- size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(val);
-
+ /* skip val->width */
+ /* skip val->height */
return size;
}
static inline void
-vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImagePlaneMemoryRequirementsInfo_self(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
-}
-
-static inline void
-vn_encode_VkImagePlaneMemoryRequirementsInfo(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO });
- vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(enc, val->pNext);
- vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, val);
-}
-
-/* struct VkImageMemoryRequirementsInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(const void *val)
+vn_encode_VkExtent2D_partial(struct vn_cs_encoder *enc, const VkExtent2D *val)
{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(pnext->pNext);
- size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self((const VkImagePlaneMemoryRequirementsInfo *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
+ /* skip val->width */
+ /* skip val->height */
}
-static inline size_t
-vn_sizeof_VkImageMemoryRequirementsInfo2_self(const VkImageMemoryRequirementsInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImage(&val->image);
- return size;
-}
+/* struct VkRect2D */
static inline size_t
-vn_sizeof_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2 *val)
+vn_sizeof_VkRect2D(const VkRect2D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(val->pNext);
- size += vn_sizeof_VkImageMemoryRequirementsInfo2_self(val);
-
+ size += vn_sizeof_VkOffset2D(&val->offset);
+ size += vn_sizeof_VkExtent2D(&val->extent);
return size;
}
static inline void
-vn_encode_VkImageMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, pnext->pNext);
- vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, (const VkImagePlaneMemoryRequirementsInfo *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
+vn_encode_VkRect2D(struct vn_cs_encoder *enc, const VkRect2D *val)
{
- /* skip val->{sType,pNext} */
- vn_encode_VkImage(enc, &val->image);
+ vn_encode_VkOffset2D(enc, &val->offset);
+ vn_encode_VkExtent2D(enc, &val->extent);
}
static inline void
-vn_encode_VkImageMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 });
- vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, val->pNext);
- vn_encode_VkImageMemoryRequirementsInfo2_self(enc, val);
-}
-
-/* struct VkImageSparseMemoryRequirementsInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(const VkImageSparseMemoryRequirementsInfo2 *val)
+vn_decode_VkRect2D(struct vn_cs_decoder *dec, VkRect2D *val)
{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImage(&val->image);
- return size;
+ vn_decode_VkOffset2D(dec, &val->offset);
+ vn_decode_VkExtent2D(dec, &val->extent);
}
static inline size_t
-vn_sizeof_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2 *val)
+vn_sizeof_VkRect2D_partial(const VkRect2D *val)
{
size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(val->pNext);
- size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(val);
-
+ size += vn_sizeof_VkOffset2D_partial(&val->offset);
+ size += vn_sizeof_VkExtent2D_partial(&val->extent);
return size;
}
static inline void
-vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageSparseMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImage(enc, &val->image);
-}
-
-static inline void
-vn_encode_VkImageSparseMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
+vn_encode_VkRect2D_partial(struct vn_cs_encoder *enc, const VkRect2D *val)
{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 });
- vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(enc, val->pNext);
- vn_encode_VkImageSparseMemoryRequirementsInfo2_self(enc, val);
+ vn_encode_VkOffset2D_partial(enc, &val->offset);
+ vn_encode_VkExtent2D_partial(enc, &val->extent);
}
/* struct VkMemoryDedicatedRequirements chain */
@@ -19596,1871 +1005,4 @@ vn_encode_VkMemoryRequirements2_partial(struct vn_cs_encoder *enc, const VkMemor
vn_encode_VkMemoryRequirements2_self_partial(enc, val);
}
-/* struct VkSparseImageMemoryRequirements2 chain */
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2_self(const VkSparseImageMemoryRequirements2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSparseImageMemoryRequirements(&val->memoryRequirements);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext(val->pNext);
- size += vn_sizeof_VkSparseImageMemoryRequirements2_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkSparseImageMemoryRequirements2_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkSparseImageMemoryRequirements2_self(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkSparseImageMemoryRequirements(dec, &val->memoryRequirements);
-}
-
-static inline void
-vn_decode_VkSparseImageMemoryRequirements2(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
-
- assert(val->sType == stype);
- vn_decode_VkSparseImageMemoryRequirements2_pnext(dec, val->pNext);
- vn_decode_VkSparseImageMemoryRequirements2_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(const VkSparseImageMemoryRequirements2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSparseImageMemoryRequirements_partial(&val->memoryRequirements);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSparseImageMemoryRequirements2_partial(const VkSparseImageMemoryRequirements2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(val->pNext);
- size += vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryRequirements2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSparseImageMemoryRequirements_partial(enc, &val->memoryRequirements);
-}
-
-static inline void
-vn_encode_VkSparseImageMemoryRequirements2_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 });
- vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(enc, val->pNext);
- vn_encode_VkSparseImageMemoryRequirements2_self_partial(enc, val);
-}
-
-/* struct VkSamplerYcbcrConversionCreateInfo chain */
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionCreateInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionCreateInfo_self(const VkSamplerYcbcrConversionCreateInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkSamplerYcbcrModelConversion(&val->ycbcrModel);
- size += vn_sizeof_VkSamplerYcbcrRange(&val->ycbcrRange);
- size += vn_sizeof_VkComponentMapping(&val->components);
- size += vn_sizeof_VkChromaLocation(&val->xChromaOffset);
- size += vn_sizeof_VkChromaLocation(&val->yChromaOffset);
- size += vn_sizeof_VkFilter(&val->chromaFilter);
- size += vn_sizeof_VkBool32(&val->forceExplicitReconstruction);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo_pnext(val->pNext);
- size += vn_sizeof_VkSamplerYcbcrConversionCreateInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionCreateInfo_self(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionCreateInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkSamplerYcbcrModelConversion(enc, &val->ycbcrModel);
- vn_encode_VkSamplerYcbcrRange(enc, &val->ycbcrRange);
- vn_encode_VkComponentMapping(enc, &val->components);
- vn_encode_VkChromaLocation(enc, &val->xChromaOffset);
- vn_encode_VkChromaLocation(enc, &val->yChromaOffset);
- vn_encode_VkFilter(enc, &val->chromaFilter);
- vn_encode_VkBool32(enc, &val->forceExplicitReconstruction);
-}
-
-static inline void
-vn_encode_VkSamplerYcbcrConversionCreateInfo(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionCreateInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO });
- vn_encode_VkSamplerYcbcrConversionCreateInfo_pnext(enc, val->pNext);
- vn_encode_VkSamplerYcbcrConversionCreateInfo_self(enc, val);
-}
-
-/* struct VkDeviceQueueInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkDeviceQueueInfo2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceQueueInfo2_self(const VkDeviceQueueInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->queueFamilyIndex);
- size += vn_sizeof_uint32_t(&val->queueIndex);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceQueueInfo2(const VkDeviceQueueInfo2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceQueueInfo2_pnext(val->pNext);
- size += vn_sizeof_VkDeviceQueueInfo2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceQueueInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceQueueInfo2_self(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->queueFamilyIndex);
- vn_encode_uint32_t(enc, &val->queueIndex);
-}
-
-static inline void
-vn_encode_VkDeviceQueueInfo2(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 });
- vn_encode_VkDeviceQueueInfo2_pnext(enc, val->pNext);
- vn_encode_VkDeviceQueueInfo2_self(enc, val);
-}
-
-/* struct VkDescriptorSetVariableDescriptorCountLayoutSupport chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->maxVariableDescriptorCount);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(struct vn_cs_decoder *dec, VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint32_t(dec, &val->maxVariableDescriptorCount);
-}
-
-static inline void
-vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport(struct vn_cs_decoder *dec, VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT);
-
- assert(val->sType == stype);
- vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext(dec, val->pNext);
- vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->maxVariableDescriptorCount */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_partial(const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(val->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->maxVariableDescriptorCount */
-}
-
-static inline void
-vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_partial(struct vn_cs_encoder *enc, const VkDescriptorSetVariableDescriptorCountLayoutSupport *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT });
- vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_pnext_partial(enc, val->pNext);
- vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(enc, val);
-}
-
-/* struct VkDescriptorSetLayoutSupport chain */
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext(pnext->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self((const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport_self(const VkDescriptorSetLayoutSupport *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBool32(&val->supported);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport(const VkDescriptorSetLayoutSupport *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext(val->pNext);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkDescriptorSetLayoutSupport_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
- VkStructureType stype;
-
- if (!vn_decode_simple_pointer(dec))
- return;
-
- vn_decode_VkStructureType(dec, &stype);
- while (true) {
- assert(pnext);
- if (pnext->sType == stype)
- break;
- }
-
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
- vn_decode_VkDescriptorSetLayoutSupport_pnext(dec, pnext->pNext);
- vn_decode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self(dec, (VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
- break;
- default:
- assert(false);
- break;
- }
-}
-
-static inline void
-vn_decode_VkDescriptorSetLayoutSupport_self(struct vn_cs_decoder *dec, VkDescriptorSetLayoutSupport *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBool32(dec, &val->supported);
-}
-
-static inline void
-vn_decode_VkDescriptorSetLayoutSupport(struct vn_cs_decoder *dec, VkDescriptorSetLayoutSupport *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT);
-
- assert(val->sType == stype);
- vn_decode_VkDescriptorSetLayoutSupport_pnext(dec, val->pNext);
- vn_decode_VkDescriptorSetLayoutSupport_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(pnext->pNext);
- size += vn_sizeof_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial((const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport_self_partial(const VkDescriptorSetLayoutSupport *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->supported */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDescriptorSetLayoutSupport_partial(const VkDescriptorSetLayoutSupport *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_pnext_partial(val->pNext);
- size += vn_sizeof_VkDescriptorSetLayoutSupport_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(enc, pnext->pNext);
- vn_encode_VkDescriptorSetVariableDescriptorCountLayoutSupport_self_partial(enc, (const VkDescriptorSetVariableDescriptorCountLayoutSupport *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutSupport_self_partial(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutSupport *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->supported */
-}
-
-static inline void
-vn_encode_VkDescriptorSetLayoutSupport_partial(struct vn_cs_encoder *enc, const VkDescriptorSetLayoutSupport *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT });
- vn_encode_VkDescriptorSetLayoutSupport_pnext_partial(enc, val->pNext);
- vn_encode_VkDescriptorSetLayoutSupport_self_partial(enc, val);
-}
-
-/* struct VkAttachmentDescriptionStencilLayout chain */
-
-static inline size_t
-vn_sizeof_VkAttachmentDescriptionStencilLayout_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentDescriptionStencilLayout_self(const VkAttachmentDescriptionStencilLayout *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageLayout(&val->stencilInitialLayout);
- size += vn_sizeof_VkImageLayout(&val->stencilFinalLayout);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentDescriptionStencilLayout(const VkAttachmentDescriptionStencilLayout *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkAttachmentDescriptionStencilLayout_pnext(val->pNext);
- size += vn_sizeof_VkAttachmentDescriptionStencilLayout_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentDescriptionStencilLayout_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkAttachmentDescriptionStencilLayout_self(struct vn_cs_encoder *enc, const VkAttachmentDescriptionStencilLayout *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImageLayout(enc, &val->stencilInitialLayout);
- vn_encode_VkImageLayout(enc, &val->stencilFinalLayout);
-}
-
-static inline void
-vn_encode_VkAttachmentDescriptionStencilLayout(struct vn_cs_encoder *enc, const VkAttachmentDescriptionStencilLayout *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT });
- vn_encode_VkAttachmentDescriptionStencilLayout_pnext(enc, val->pNext);
- vn_encode_VkAttachmentDescriptionStencilLayout_self(enc, val);
-}
-
-/* struct VkAttachmentDescription2 chain */
-
-static inline size_t
-vn_sizeof_VkAttachmentDescription2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkAttachmentDescription2_pnext(pnext->pNext);
- size += vn_sizeof_VkAttachmentDescriptionStencilLayout_self((const VkAttachmentDescriptionStencilLayout *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentDescription2_self(const VkAttachmentDescription2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkFormat(&val->format);
- size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
- size += vn_sizeof_VkAttachmentLoadOp(&val->loadOp);
- size += vn_sizeof_VkAttachmentStoreOp(&val->storeOp);
- size += vn_sizeof_VkAttachmentLoadOp(&val->stencilLoadOp);
- size += vn_sizeof_VkAttachmentStoreOp(&val->stencilStoreOp);
- size += vn_sizeof_VkImageLayout(&val->initialLayout);
- size += vn_sizeof_VkImageLayout(&val->finalLayout);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentDescription2(const VkAttachmentDescription2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkAttachmentDescription2_pnext(val->pNext);
- size += vn_sizeof_VkAttachmentDescription2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentDescription2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkAttachmentDescription2_pnext(enc, pnext->pNext);
- vn_encode_VkAttachmentDescriptionStencilLayout_self(enc, (const VkAttachmentDescriptionStencilLayout *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkAttachmentDescription2_self(struct vn_cs_encoder *enc, const VkAttachmentDescription2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkFormat(enc, &val->format);
- vn_encode_VkSampleCountFlagBits(enc, &val->samples);
- vn_encode_VkAttachmentLoadOp(enc, &val->loadOp);
- vn_encode_VkAttachmentStoreOp(enc, &val->storeOp);
- vn_encode_VkAttachmentLoadOp(enc, &val->stencilLoadOp);
- vn_encode_VkAttachmentStoreOp(enc, &val->stencilStoreOp);
- vn_encode_VkImageLayout(enc, &val->initialLayout);
- vn_encode_VkImageLayout(enc, &val->finalLayout);
-}
-
-static inline void
-vn_encode_VkAttachmentDescription2(struct vn_cs_encoder *enc, const VkAttachmentDescription2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 });
- vn_encode_VkAttachmentDescription2_pnext(enc, val->pNext);
- vn_encode_VkAttachmentDescription2_self(enc, val);
-}
-
-/* struct VkAttachmentReferenceStencilLayout chain */
-
-static inline size_t
-vn_sizeof_VkAttachmentReferenceStencilLayout_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentReferenceStencilLayout_self(const VkAttachmentReferenceStencilLayout *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkImageLayout(&val->stencilLayout);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentReferenceStencilLayout(const VkAttachmentReferenceStencilLayout *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkAttachmentReferenceStencilLayout_pnext(val->pNext);
- size += vn_sizeof_VkAttachmentReferenceStencilLayout_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentReferenceStencilLayout_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkAttachmentReferenceStencilLayout_self(struct vn_cs_encoder *enc, const VkAttachmentReferenceStencilLayout *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkImageLayout(enc, &val->stencilLayout);
-}
-
-static inline void
-vn_encode_VkAttachmentReferenceStencilLayout(struct vn_cs_encoder *enc, const VkAttachmentReferenceStencilLayout *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT });
- vn_encode_VkAttachmentReferenceStencilLayout_pnext(enc, val->pNext);
- vn_encode_VkAttachmentReferenceStencilLayout_self(enc, val);
-}
-
-/* struct VkAttachmentReference2 chain */
-
-static inline size_t
-vn_sizeof_VkAttachmentReference2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkAttachmentReference2_pnext(pnext->pNext);
- size += vn_sizeof_VkAttachmentReferenceStencilLayout_self((const VkAttachmentReferenceStencilLayout *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentReference2_self(const VkAttachmentReference2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->attachment);
- size += vn_sizeof_VkImageLayout(&val->layout);
- size += vn_sizeof_VkFlags(&val->aspectMask);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkAttachmentReference2(const VkAttachmentReference2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkAttachmentReference2_pnext(val->pNext);
- size += vn_sizeof_VkAttachmentReference2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkAttachmentReference2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkAttachmentReference2_pnext(enc, pnext->pNext);
- vn_encode_VkAttachmentReferenceStencilLayout_self(enc, (const VkAttachmentReferenceStencilLayout *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkAttachmentReference2_self(struct vn_cs_encoder *enc, const VkAttachmentReference2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->attachment);
- vn_encode_VkImageLayout(enc, &val->layout);
- vn_encode_VkFlags(enc, &val->aspectMask);
-}
-
-static inline void
-vn_encode_VkAttachmentReference2(struct vn_cs_encoder *enc, const VkAttachmentReference2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 });
- vn_encode_VkAttachmentReference2_pnext(enc, val->pNext);
- vn_encode_VkAttachmentReference2_self(enc, val);
-}
-
-/* struct VkSubpassDescriptionDepthStencilResolve chain */
-
-static inline size_t
-vn_sizeof_VkSubpassDescriptionDepthStencilResolve_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self(const VkSubpassDescriptionDepthStencilResolve *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkResolveModeFlagBits(&val->depthResolveMode);
- size += vn_sizeof_VkResolveModeFlagBits(&val->stencilResolveMode);
- size += vn_sizeof_simple_pointer(val->pDepthStencilResolveAttachment);
- if (val->pDepthStencilResolveAttachment)
- size += vn_sizeof_VkAttachmentReference2(val->pDepthStencilResolveAttachment);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDescriptionDepthStencilResolve(const VkSubpassDescriptionDepthStencilResolve *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_pnext(val->pNext);
- size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassDescriptionDepthStencilResolve_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubpassDescriptionDepthStencilResolve_self(struct vn_cs_encoder *enc, const VkSubpassDescriptionDepthStencilResolve *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkResolveModeFlagBits(enc, &val->depthResolveMode);
- vn_encode_VkResolveModeFlagBits(enc, &val->stencilResolveMode);
- if (vn_encode_simple_pointer(enc, val->pDepthStencilResolveAttachment))
- vn_encode_VkAttachmentReference2(enc, val->pDepthStencilResolveAttachment);
-}
-
-static inline void
-vn_encode_VkSubpassDescriptionDepthStencilResolve(struct vn_cs_encoder *enc, const VkSubpassDescriptionDepthStencilResolve *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE });
- vn_encode_VkSubpassDescriptionDepthStencilResolve_pnext(enc, val->pNext);
- vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, val);
-}
-
-/* struct VkSubpassDescription2 chain */
-
-static inline size_t
-vn_sizeof_VkSubpassDescription2_pnext(const void *val)
-{
- const VkBaseInStructure *pnext = val;
- size_t size = 0;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
- size += vn_sizeof_simple_pointer(pnext);
- size += vn_sizeof_VkStructureType(&pnext->sType);
- size += vn_sizeof_VkSubpassDescription2_pnext(pnext->pNext);
- size += vn_sizeof_VkSubpassDescriptionDepthStencilResolve_self((const VkSubpassDescriptionDepthStencilResolve *)pnext);
- return size;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDescription2_self(const VkSubpassDescription2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_VkPipelineBindPoint(&val->pipelineBindPoint);
- size += vn_sizeof_uint32_t(&val->viewMask);
- size += vn_sizeof_uint32_t(&val->inputAttachmentCount);
- if (val->pInputAttachments) {
- size += vn_sizeof_array_size(val->inputAttachmentCount);
- for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference2(&val->pInputAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->colorAttachmentCount);
- if (val->pColorAttachments) {
- size += vn_sizeof_array_size(val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference2(&val->pColorAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pResolveAttachments) {
- size += vn_sizeof_array_size(val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- size += vn_sizeof_VkAttachmentReference2(&val->pResolveAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_simple_pointer(val->pDepthStencilAttachment);
- if (val->pDepthStencilAttachment)
- size += vn_sizeof_VkAttachmentReference2(val->pDepthStencilAttachment);
- size += vn_sizeof_uint32_t(&val->preserveAttachmentCount);
- if (val->pPreserveAttachments) {
- size += vn_sizeof_array_size(val->preserveAttachmentCount);
- size += vn_sizeof_uint32_t_array(val->pPreserveAttachments, val->preserveAttachmentCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDescription2(const VkSubpassDescription2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubpassDescription2_pnext(val->pNext);
- size += vn_sizeof_VkSubpassDescription2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassDescription2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- const VkBaseInStructure *pnext = val;
-
- while (pnext) {
- switch ((int32_t)pnext->sType) {
- case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE:
- vn_encode_simple_pointer(enc, pnext);
- vn_encode_VkStructureType(enc, &pnext->sType);
- vn_encode_VkSubpassDescription2_pnext(enc, pnext->pNext);
- vn_encode_VkSubpassDescriptionDepthStencilResolve_self(enc, (const VkSubpassDescriptionDepthStencilResolve *)pnext);
- return;
- default:
- /* ignore unknown/unsupported struct */
- break;
- }
- pnext = pnext->pNext;
- }
-
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubpassDescription2_self(struct vn_cs_encoder *enc, const VkSubpassDescription2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_VkPipelineBindPoint(enc, &val->pipelineBindPoint);
- vn_encode_uint32_t(enc, &val->viewMask);
- vn_encode_uint32_t(enc, &val->inputAttachmentCount);
- if (val->pInputAttachments) {
- vn_encode_array_size(enc, val->inputAttachmentCount);
- for (uint32_t i = 0; i < val->inputAttachmentCount; i++)
- vn_encode_VkAttachmentReference2(enc, &val->pInputAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->colorAttachmentCount);
- if (val->pColorAttachments) {
- vn_encode_array_size(enc, val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- vn_encode_VkAttachmentReference2(enc, &val->pColorAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pResolveAttachments) {
- vn_encode_array_size(enc, val->colorAttachmentCount);
- for (uint32_t i = 0; i < val->colorAttachmentCount; i++)
- vn_encode_VkAttachmentReference2(enc, &val->pResolveAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (vn_encode_simple_pointer(enc, val->pDepthStencilAttachment))
- vn_encode_VkAttachmentReference2(enc, val->pDepthStencilAttachment);
- vn_encode_uint32_t(enc, &val->preserveAttachmentCount);
- if (val->pPreserveAttachments) {
- vn_encode_array_size(enc, val->preserveAttachmentCount);
- vn_encode_uint32_t_array(enc, val->pPreserveAttachments, val->preserveAttachmentCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkSubpassDescription2(struct vn_cs_encoder *enc, const VkSubpassDescription2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 });
- vn_encode_VkSubpassDescription2_pnext(enc, val->pNext);
- vn_encode_VkSubpassDescription2_self(enc, val);
-}
-
-/* struct VkSubpassDependency2 chain */
-
-static inline size_t
-vn_sizeof_VkSubpassDependency2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDependency2_self(const VkSubpassDependency2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint32_t(&val->srcSubpass);
- size += vn_sizeof_uint32_t(&val->dstSubpass);
- size += vn_sizeof_VkFlags(&val->srcStageMask);
- size += vn_sizeof_VkFlags(&val->dstStageMask);
- size += vn_sizeof_VkFlags(&val->srcAccessMask);
- size += vn_sizeof_VkFlags(&val->dstAccessMask);
- size += vn_sizeof_VkFlags(&val->dependencyFlags);
- size += vn_sizeof_int32_t(&val->viewOffset);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubpassDependency2(const VkSubpassDependency2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubpassDependency2_pnext(val->pNext);
- size += vn_sizeof_VkSubpassDependency2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassDependency2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubpassDependency2_self(struct vn_cs_encoder *enc, const VkSubpassDependency2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_uint32_t(enc, &val->srcSubpass);
- vn_encode_uint32_t(enc, &val->dstSubpass);
- vn_encode_VkFlags(enc, &val->srcStageMask);
- vn_encode_VkFlags(enc, &val->dstStageMask);
- vn_encode_VkFlags(enc, &val->srcAccessMask);
- vn_encode_VkFlags(enc, &val->dstAccessMask);
- vn_encode_VkFlags(enc, &val->dependencyFlags);
- vn_encode_int32_t(enc, &val->viewOffset);
-}
-
-static inline void
-vn_encode_VkSubpassDependency2(struct vn_cs_encoder *enc, const VkSubpassDependency2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 });
- vn_encode_VkSubpassDependency2_pnext(enc, val->pNext);
- vn_encode_VkSubpassDependency2_self(enc, val);
-}
-
-/* struct VkRenderPassCreateInfo2 chain */
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo2_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo2_self(const VkRenderPassCreateInfo2 *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->attachmentCount);
- if (val->pAttachments) {
- size += vn_sizeof_array_size(val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- size += vn_sizeof_VkAttachmentDescription2(&val->pAttachments[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->subpassCount);
- if (val->pSubpasses) {
- size += vn_sizeof_array_size(val->subpassCount);
- for (uint32_t i = 0; i < val->subpassCount; i++)
- size += vn_sizeof_VkSubpassDescription2(&val->pSubpasses[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->dependencyCount);
- if (val->pDependencies) {
- size += vn_sizeof_array_size(val->dependencyCount);
- for (uint32_t i = 0; i < val->dependencyCount; i++)
- size += vn_sizeof_VkSubpassDependency2(&val->pDependencies[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- size += vn_sizeof_uint32_t(&val->correlatedViewMaskCount);
- if (val->pCorrelatedViewMasks) {
- size += vn_sizeof_array_size(val->correlatedViewMaskCount);
- size += vn_sizeof_uint32_t_array(val->pCorrelatedViewMasks, val->correlatedViewMaskCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2 *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRenderPassCreateInfo2_pnext(val->pNext);
- size += vn_sizeof_VkRenderPassCreateInfo2_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo2_self(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo2 *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->attachmentCount);
- if (val->pAttachments) {
- vn_encode_array_size(enc, val->attachmentCount);
- for (uint32_t i = 0; i < val->attachmentCount; i++)
- vn_encode_VkAttachmentDescription2(enc, &val->pAttachments[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->subpassCount);
- if (val->pSubpasses) {
- vn_encode_array_size(enc, val->subpassCount);
- for (uint32_t i = 0; i < val->subpassCount; i++)
- vn_encode_VkSubpassDescription2(enc, &val->pSubpasses[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->dependencyCount);
- if (val->pDependencies) {
- vn_encode_array_size(enc, val->dependencyCount);
- for (uint32_t i = 0; i < val->dependencyCount; i++)
- vn_encode_VkSubpassDependency2(enc, &val->pDependencies[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- vn_encode_uint32_t(enc, &val->correlatedViewMaskCount);
- if (val->pCorrelatedViewMasks) {
- vn_encode_array_size(enc, val->correlatedViewMaskCount);
- vn_encode_uint32_t_array(enc, val->pCorrelatedViewMasks, val->correlatedViewMaskCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkRenderPassCreateInfo2(struct vn_cs_encoder *enc, const VkRenderPassCreateInfo2 *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 });
- vn_encode_VkRenderPassCreateInfo2_pnext(enc, val->pNext);
- vn_encode_VkRenderPassCreateInfo2_self(enc, val);
-}
-
-/* struct VkSubpassBeginInfo chain */
-
-static inline size_t
-vn_sizeof_VkSubpassBeginInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubpassBeginInfo_self(const VkSubpassBeginInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSubpassContents(&val->contents);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubpassBeginInfo(const VkSubpassBeginInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubpassBeginInfo_pnext(val->pNext);
- size += vn_sizeof_VkSubpassBeginInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubpassBeginInfo_self(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSubpassContents(enc, &val->contents);
-}
-
-static inline void
-vn_encode_VkSubpassBeginInfo(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO });
- vn_encode_VkSubpassBeginInfo_pnext(enc, val->pNext);
- vn_encode_VkSubpassBeginInfo_self(enc, val);
-}
-
-/* struct VkSubpassEndInfo chain */
-
-static inline size_t
-vn_sizeof_VkSubpassEndInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSubpassEndInfo_self(const VkSubpassEndInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSubpassEndInfo(const VkSubpassEndInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSubpassEndInfo_pnext(val->pNext);
- size += vn_sizeof_VkSubpassEndInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSubpassEndInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSubpassEndInfo_self(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)
-{
- /* skip val->{sType,pNext} */
-}
-
-static inline void
-vn_encode_VkSubpassEndInfo(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_END_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_END_INFO });
- vn_encode_VkSubpassEndInfo_pnext(enc, val->pNext);
- vn_encode_VkSubpassEndInfo_self(enc, val);
-}
-
-/* struct VkSemaphoreWaitInfo chain */
-
-static inline size_t
-vn_sizeof_VkSemaphoreWaitInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreWaitInfo_self(const VkSemaphoreWaitInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->semaphoreCount);
- if (val->pSemaphores) {
- size += vn_sizeof_array_size(val->semaphoreCount);
- for (uint32_t i = 0; i < val->semaphoreCount; i++)
- size += vn_sizeof_VkSemaphore(&val->pSemaphores[i]);
- } else {
- size += vn_sizeof_array_size(0);
- }
- if (val->pValues) {
- size += vn_sizeof_array_size(val->semaphoreCount);
- size += vn_sizeof_uint64_t_array(val->pValues, val->semaphoreCount);
- } else {
- size += vn_sizeof_array_size(0);
- }
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreWaitInfo(const VkSemaphoreWaitInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSemaphoreWaitInfo_pnext(val->pNext);
- size += vn_sizeof_VkSemaphoreWaitInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSemaphoreWaitInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSemaphoreWaitInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreWaitInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->semaphoreCount);
- if (val->pSemaphores) {
- vn_encode_array_size(enc, val->semaphoreCount);
- for (uint32_t i = 0; i < val->semaphoreCount; i++)
- vn_encode_VkSemaphore(enc, &val->pSemaphores[i]);
- } else {
- vn_encode_array_size(enc, 0);
- }
- if (val->pValues) {
- vn_encode_array_size(enc, val->semaphoreCount);
- vn_encode_uint64_t_array(enc, val->pValues, val->semaphoreCount);
- } else {
- vn_encode_array_size(enc, 0);
- }
-}
-
-static inline void
-vn_encode_VkSemaphoreWaitInfo(struct vn_cs_encoder *enc, const VkSemaphoreWaitInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO });
- vn_encode_VkSemaphoreWaitInfo_pnext(enc, val->pNext);
- vn_encode_VkSemaphoreWaitInfo_self(enc, val);
-}
-
-/* struct VkSemaphoreSignalInfo chain */
-
-static inline size_t
-vn_sizeof_VkSemaphoreSignalInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreSignalInfo_self(const VkSemaphoreSignalInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkSemaphore(&val->semaphore);
- size += vn_sizeof_uint64_t(&val->value);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkSemaphoreSignalInfo(const VkSemaphoreSignalInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkSemaphoreSignalInfo_pnext(val->pNext);
- size += vn_sizeof_VkSemaphoreSignalInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkSemaphoreSignalInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkSemaphoreSignalInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreSignalInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkSemaphore(enc, &val->semaphore);
- vn_encode_uint64_t(enc, &val->value);
-}
-
-static inline void
-vn_encode_VkSemaphoreSignalInfo(struct vn_cs_encoder *enc, const VkSemaphoreSignalInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO });
- vn_encode_VkSemaphoreSignalInfo_pnext(enc, val->pNext);
- vn_encode_VkSemaphoreSignalInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkSemaphoreSignalInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkSemaphoreSignalInfo_self(struct vn_cs_decoder *dec, VkSemaphoreSignalInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkSemaphore(dec, &val->semaphore);
- vn_decode_uint64_t(dec, &val->value);
-}
-
-static inline void
-vn_decode_VkSemaphoreSignalInfo(struct vn_cs_decoder *dec, VkSemaphoreSignalInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkSemaphoreSignalInfo_pnext(dec, val->pNext);
- vn_decode_VkSemaphoreSignalInfo_self(dec, val);
-}
-
-/* struct VkImageDrmFormatModifierPropertiesEXT chain */
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_uint64_t(&val->drmFormatModifier);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(val->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(val);
-
- return size;
-}
-
-static inline void
-vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_uint64_t(dec, &val->drmFormatModifier);
-}
-
-static inline void
-vn_decode_VkImageDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
-
- assert(val->sType == stype);
- vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(dec, val->pNext);
- vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(dec, val);
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- /* skip val->drmFormatModifier */
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(val->pNext);
- size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- /* skip val->{sType,pNext} */
- /* skip val->drmFormatModifier */
-}
-
-static inline void
-vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT });
- vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(enc, val->pNext);
- vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(enc, val);
-}
-
-/* struct VkBufferDeviceAddressInfo chain */
-
-static inline size_t
-vn_sizeof_VkBufferDeviceAddressInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkBufferDeviceAddressInfo_self(const VkBufferDeviceAddressInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkBuffer(&val->buffer);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkBufferDeviceAddressInfo(const VkBufferDeviceAddressInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkBufferDeviceAddressInfo_pnext(val->pNext);
- size += vn_sizeof_VkBufferDeviceAddressInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkBufferDeviceAddressInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkBufferDeviceAddressInfo_self(struct vn_cs_encoder *enc, const VkBufferDeviceAddressInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkBuffer(enc, &val->buffer);
-}
-
-static inline void
-vn_encode_VkBufferDeviceAddressInfo(struct vn_cs_encoder *enc, const VkBufferDeviceAddressInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO });
- vn_encode_VkBufferDeviceAddressInfo_pnext(enc, val->pNext);
- vn_encode_VkBufferDeviceAddressInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkBufferDeviceAddressInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkBufferDeviceAddressInfo_self(struct vn_cs_decoder *dec, VkBufferDeviceAddressInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkBuffer(dec, &val->buffer);
-}
-
-static inline void
-vn_decode_VkBufferDeviceAddressInfo(struct vn_cs_decoder *dec, VkBufferDeviceAddressInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkBufferDeviceAddressInfo_pnext(dec, val->pNext);
- vn_decode_VkBufferDeviceAddressInfo_self(dec, val);
-}
-
-/* struct VkDeviceMemoryOpaqueCaptureAddressInfo chain */
-
-static inline size_t
-vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkDeviceMemory(&val->memory);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(val->pNext);
- size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkDeviceMemory(enc, &val->memory);
-}
-
-static inline void
-vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO });
- vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(enc, val->pNext);
- vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(enc, val);
-}
-
-static inline void
-vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_decoder *dec, const void *val)
-{
- /* no known/supported struct */
- if (vn_decode_simple_pointer(dec))
- assert(false);
-}
-
-static inline void
-vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- /* skip val->{sType,pNext} */
- vn_decode_VkDeviceMemory(dec, &val->memory);
-}
-
-static inline void
-vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
-{
- VkStructureType stype;
- vn_decode_VkStructureType(dec, &stype);
- assert(stype == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
-
- assert(val->sType == stype);
- vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(dec, val->pNext);
- vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(dec, val);
-}
-
-/* struct VkCommandStreamDescriptionMESA */
-
-static inline size_t
-vn_sizeof_VkCommandStreamDescriptionMESA(const VkCommandStreamDescriptionMESA *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->resourceId);
- size += vn_sizeof_size_t(&val->offset);
- size += vn_sizeof_size_t(&val->size);
- return size;
-}
-
-static inline void
-vn_encode_VkCommandStreamDescriptionMESA(struct vn_cs_encoder *enc, const VkCommandStreamDescriptionMESA *val)
-{
- vn_encode_uint32_t(enc, &val->resourceId);
- vn_encode_size_t(enc, &val->offset);
- vn_encode_size_t(enc, &val->size);
-}
-
-/* struct VkCommandStreamDependencyMESA */
-
-static inline size_t
-vn_sizeof_VkCommandStreamDependencyMESA(const VkCommandStreamDependencyMESA *val)
-{
- size_t size = 0;
- size += vn_sizeof_uint32_t(&val->srcCommandStream);
- size += vn_sizeof_uint32_t(&val->dstCommandStream);
- return size;
-}
-
-static inline void
-vn_encode_VkCommandStreamDependencyMESA(struct vn_cs_encoder *enc, const VkCommandStreamDependencyMESA *val)
-{
- vn_encode_uint32_t(enc, &val->srcCommandStream);
- vn_encode_uint32_t(enc, &val->dstCommandStream);
-}
-
-/* struct VkRingCreateInfoMESA chain */
-
-static inline size_t
-vn_sizeof_VkRingCreateInfoMESA_pnext(const void *val)
-{
- /* no known/supported struct */
- return vn_sizeof_simple_pointer(NULL);
-}
-
-static inline size_t
-vn_sizeof_VkRingCreateInfoMESA_self(const VkRingCreateInfoMESA *val)
-{
- size_t size = 0;
- /* skip val->{sType,pNext} */
- size += vn_sizeof_VkFlags(&val->flags);
- size += vn_sizeof_uint32_t(&val->resourceId);
- size += vn_sizeof_size_t(&val->offset);
- size += vn_sizeof_size_t(&val->size);
- size += vn_sizeof_uint64_t(&val->idleTimeout);
- size += vn_sizeof_size_t(&val->headOffset);
- size += vn_sizeof_size_t(&val->tailOffset);
- size += vn_sizeof_size_t(&val->statusOffset);
- size += vn_sizeof_size_t(&val->bufferOffset);
- size += vn_sizeof_size_t(&val->bufferSize);
- size += vn_sizeof_size_t(&val->extraOffset);
- size += vn_sizeof_size_t(&val->extraSize);
- return size;
-}
-
-static inline size_t
-vn_sizeof_VkRingCreateInfoMESA(const VkRingCreateInfoMESA *val)
-{
- size_t size = 0;
-
- size += vn_sizeof_VkStructureType(&val->sType);
- size += vn_sizeof_VkRingCreateInfoMESA_pnext(val->pNext);
- size += vn_sizeof_VkRingCreateInfoMESA_self(val);
-
- return size;
-}
-
-static inline void
-vn_encode_VkRingCreateInfoMESA_pnext(struct vn_cs_encoder *enc, const void *val)
-{
- /* no known/supported struct */
- vn_encode_simple_pointer(enc, NULL);
-}
-
-static inline void
-vn_encode_VkRingCreateInfoMESA_self(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
-{
- /* skip val->{sType,pNext} */
- vn_encode_VkFlags(enc, &val->flags);
- vn_encode_uint32_t(enc, &val->resourceId);
- vn_encode_size_t(enc, &val->offset);
- vn_encode_size_t(enc, &val->size);
- vn_encode_uint64_t(enc, &val->idleTimeout);
- vn_encode_size_t(enc, &val->headOffset);
- vn_encode_size_t(enc, &val->tailOffset);
- vn_encode_size_t(enc, &val->statusOffset);
- vn_encode_size_t(enc, &val->bufferOffset);
- vn_encode_size_t(enc, &val->bufferSize);
- vn_encode_size_t(enc, &val->extraOffset);
- vn_encode_size_t(enc, &val->extraSize);
-}
-
-static inline void
-vn_encode_VkRingCreateInfoMESA(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
-{
- assert(val->sType == VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA);
- vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA });
- vn_encode_VkRingCreateInfoMESA_pnext(enc, val->pNext);
- vn_encode_VkRingCreateInfoMESA_self(enc, val);
-}
-
-/*
- * Helpers for manual serialization
- */
-
#endif /* VN_PROTOCOL_DRIVER_STRUCTS_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_transport.h b/src/virtio/venus-protocol/vn_protocol_driver_transport.h
new file mode 100644
index 00000000000..02a203c9dac
--- /dev/null
+++ b/src/virtio/venus-protocol/vn_protocol_driver_transport.h
@@ -0,0 +1,746 @@
+/* This file is generated by venus-protocol git-2564dba1. */
+
+/*
+ * Copyright 2020 Google LLC
+ * SPDX-License-Identifier: MIT
+ */
+
+#ifndef VN_PROTOCOL_DRIVER_TRANSPORT_H
+#define VN_PROTOCOL_DRIVER_TRANSPORT_H
+
+#include "vn_device.h"
+#include "vn_protocol_driver_structs.h"
+
+/* struct VkCommandStreamDescriptionMESA */
+
+static inline size_t
+vn_sizeof_VkCommandStreamDescriptionMESA(const VkCommandStreamDescriptionMESA *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->resourceId);
+ size += vn_sizeof_size_t(&val->offset);
+ size += vn_sizeof_size_t(&val->size);
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandStreamDescriptionMESA(struct vn_cs_encoder *enc, const VkCommandStreamDescriptionMESA *val)
+{
+ vn_encode_uint32_t(enc, &val->resourceId);
+ vn_encode_size_t(enc, &val->offset);
+ vn_encode_size_t(enc, &val->size);
+}
+
+/* struct VkCommandStreamDependencyMESA */
+
+static inline size_t
+vn_sizeof_VkCommandStreamDependencyMESA(const VkCommandStreamDependencyMESA *val)
+{
+ size_t size = 0;
+ size += vn_sizeof_uint32_t(&val->srcCommandStream);
+ size += vn_sizeof_uint32_t(&val->dstCommandStream);
+ return size;
+}
+
+static inline void
+vn_encode_VkCommandStreamDependencyMESA(struct vn_cs_encoder *enc, const VkCommandStreamDependencyMESA *val)
+{
+ vn_encode_uint32_t(enc, &val->srcCommandStream);
+ vn_encode_uint32_t(enc, &val->dstCommandStream);
+}
+
+/* struct VkRingCreateInfoMESA chain */
+
+static inline size_t
+vn_sizeof_VkRingCreateInfoMESA_pnext(const void *val)
+{
+ /* no known/supported struct */
+ return vn_sizeof_simple_pointer(NULL);
+}
+
+static inline size_t
+vn_sizeof_VkRingCreateInfoMESA_self(const VkRingCreateInfoMESA *val)
+{
+ size_t size = 0;
+ /* skip val->{sType,pNext} */
+ size += vn_sizeof_VkFlags(&val->flags);
+ size += vn_sizeof_uint32_t(&val->resourceId);
+ size += vn_sizeof_size_t(&val->offset);
+ size += vn_sizeof_size_t(&val->size);
+ size += vn_sizeof_uint64_t(&val->idleTimeout);
+ size += vn_sizeof_size_t(&val->headOffset);
+ size += vn_sizeof_size_t(&val->tailOffset);
+ size += vn_sizeof_size_t(&val->statusOffset);
+ size += vn_sizeof_size_t(&val->bufferOffset);
+ size += vn_sizeof_size_t(&val->bufferSize);
+ size += vn_sizeof_size_t(&val->extraOffset);
+ size += vn_sizeof_size_t(&val->extraSize);
+ return size;
+}
+
+static inline size_t
+vn_sizeof_VkRingCreateInfoMESA(const VkRingCreateInfoMESA *val)
+{
+ size_t size = 0;
+
+ size += vn_sizeof_VkStructureType(&val->sType);
+ size += vn_sizeof_VkRingCreateInfoMESA_pnext(val->pNext);
+ size += vn_sizeof_VkRingCreateInfoMESA_self(val);
+
+ return size;
+}
+
+static inline void
+vn_encode_VkRingCreateInfoMESA_pnext(struct vn_cs_encoder *enc, const void *val)
+{
+ /* no known/supported struct */
+ vn_encode_simple_pointer(enc, NULL);
+}
+
+static inline void
+vn_encode_VkRingCreateInfoMESA_self(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
+{
+ /* skip val->{sType,pNext} */
+ vn_encode_VkFlags(enc, &val->flags);
+ vn_encode_uint32_t(enc, &val->resourceId);
+ vn_encode_size_t(enc, &val->offset);
+ vn_encode_size_t(enc, &val->size);
+ vn_encode_uint64_t(enc, &val->idleTimeout);
+ vn_encode_size_t(enc, &val->headOffset);
+ vn_encode_size_t(enc, &val->tailOffset);
+ vn_encode_size_t(enc, &val->statusOffset);
+ vn_encode_size_t(enc, &val->bufferOffset);
+ vn_encode_size_t(enc, &val->bufferSize);
+ vn_encode_size_t(enc, &val->extraOffset);
+ vn_encode_size_t(enc, &val->extraSize);
+}
+
+static inline void
+vn_encode_VkRingCreateInfoMESA(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
+{
+ assert(val->sType == VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA);
+ vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA });
+ vn_encode_VkRingCreateInfoMESA_pnext(enc, val->pNext);
+ vn_encode_VkRingCreateInfoMESA_self(enc, val);
+}
+
+static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA(const VkCommandStreamDescriptionMESA* pStream)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_simple_pointer(pStream);
+ if (pStream)
+ cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(pStream);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkSetReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ if (vn_encode_simple_pointer(enc, pStream))
+ vn_encode_VkCommandStreamDescriptionMESA(enc, pStream);
+}
+
+static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA_reply(const VkCommandStreamDescriptionMESA* pStream)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip pStream */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkSetReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, const VkCommandStreamDescriptionMESA* pStream)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT);
+
+ /* skip pStream */
+}
+
+static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA(size_t position)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_size_t(&position);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkSeekReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, size_t position)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_size_t(enc, &position);
+}
+
+static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA_reply(size_t position)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip position */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkSeekReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, size_t position)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT);
+
+ /* skip position */
+}
+
+static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_uint32_t(&streamCount);
+ if (pStreams) {
+ cmd_size += vn_sizeof_array_size(streamCount);
+ for (uint32_t i = 0; i < streamCount; i++)
+ cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(&pStreams[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ if (pReplyPositions) {
+ cmd_size += vn_sizeof_array_size(streamCount);
+ cmd_size += vn_sizeof_size_t_array(pReplyPositions, streamCount);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_uint32_t(&dependencyCount);
+ if (pDependencies) {
+ cmd_size += vn_sizeof_array_size(dependencyCount);
+ for (uint32_t i = 0; i < dependencyCount; i++)
+ cmd_size += vn_sizeof_VkCommandStreamDependencyMESA(&pDependencies[i]);
+ } else {
+ cmd_size += vn_sizeof_array_size(0);
+ }
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkExecuteCommandStreamsMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_uint32_t(enc, &streamCount);
+ if (pStreams) {
+ vn_encode_array_size(enc, streamCount);
+ for (uint32_t i = 0; i < streamCount; i++)
+ vn_encode_VkCommandStreamDescriptionMESA(enc, &pStreams[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ if (pReplyPositions) {
+ vn_encode_array_size(enc, streamCount);
+ vn_encode_size_t_array(enc, pReplyPositions, streamCount);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_uint32_t(enc, &dependencyCount);
+ if (pDependencies) {
+ vn_encode_array_size(enc, dependencyCount);
+ for (uint32_t i = 0; i < dependencyCount; i++)
+ vn_encode_VkCommandStreamDependencyMESA(enc, &pDependencies[i]);
+ } else {
+ vn_encode_array_size(enc, 0);
+ }
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA_reply(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip streamCount */
+ /* skip pStreams */
+ /* skip pReplyPositions */
+ /* skip dependencyCount */
+ /* skip pDependencies */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkExecuteCommandStreamsMESA_reply(struct vn_cs_decoder *dec, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT);
+
+ /* skip streamCount */
+ /* skip pStreams */
+ /* skip pReplyPositions */
+ /* skip dependencyCount */
+ /* skip pDependencies */
+ /* skip flags */
+}
+
+static inline size_t vn_sizeof_vkCreateRingMESA(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_uint64_t(&ring);
+ cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
+ if (pCreateInfo)
+ cmd_size += vn_sizeof_VkRingCreateInfoMESA(pCreateInfo);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkCreateRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_uint64_t(enc, &ring);
+ if (vn_encode_simple_pointer(enc, pCreateInfo))
+ vn_encode_VkRingCreateInfoMESA(enc, pCreateInfo);
+}
+
+static inline size_t vn_sizeof_vkCreateRingMESA_reply(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip ring */
+ /* skip pCreateInfo */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkCreateRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkCreateRingMESA_EXT);
+
+ /* skip ring */
+ /* skip pCreateInfo */
+}
+
+static inline size_t vn_sizeof_vkDestroyRingMESA(uint64_t ring)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_uint64_t(&ring);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkDestroyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_uint64_t(enc, &ring);
+}
+
+static inline size_t vn_sizeof_vkDestroyRingMESA_reply(uint64_t ring)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip ring */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkDestroyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkDestroyRingMESA_EXT);
+
+ /* skip ring */
+}
+
+static inline size_t vn_sizeof_vkNotifyRingMESA(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_uint64_t(&ring);
+ cmd_size += vn_sizeof_uint32_t(&seqno);
+ cmd_size += vn_sizeof_VkFlags(&flags);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkNotifyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_uint64_t(enc, &ring);
+ vn_encode_uint32_t(enc, &seqno);
+ vn_encode_VkFlags(enc, &flags);
+}
+
+static inline size_t vn_sizeof_vkNotifyRingMESA_reply(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip ring */
+ /* skip seqno */
+ /* skip flags */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkNotifyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkNotifyRingMESA_EXT);
+
+ /* skip ring */
+ /* skip seqno */
+ /* skip flags */
+}
+
+static inline size_t vn_sizeof_vkWriteRingExtraMESA(uint64_t ring, size_t offset, uint32_t value)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
+ const VkFlags cmd_flags = 0;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
+
+ cmd_size += vn_sizeof_uint64_t(&ring);
+ cmd_size += vn_sizeof_size_t(&offset);
+ cmd_size += vn_sizeof_uint32_t(&value);
+
+ return cmd_size;
+}
+
+static inline void vn_encode_vkWriteRingExtraMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
+
+ vn_encode_VkCommandTypeEXT(enc, &cmd_type);
+ vn_encode_VkFlags(enc, &cmd_flags);
+
+ vn_encode_uint64_t(enc, &ring);
+ vn_encode_size_t(enc, &offset);
+ vn_encode_uint32_t(enc, &value);
+}
+
+static inline size_t vn_sizeof_vkWriteRingExtraMESA_reply(uint64_t ring, size_t offset, uint32_t value)
+{
+ const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
+ size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
+
+ /* skip ring */
+ /* skip offset */
+ /* skip value */
+
+ return cmd_size;
+}
+
+static inline void vn_decode_vkWriteRingExtraMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, size_t offset, uint32_t value)
+{
+ VkCommandTypeEXT command_type;
+ vn_decode_VkCommandTypeEXT(dec, &command_type);
+ assert(command_type == VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT);
+
+ /* skip ring */
+ /* skip offset */
+ /* skip value */
+}
+
+static inline void vn_submit_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkSetReplyCommandStreamMESA(pStream);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkSetReplyCommandStreamMESA(&submit->command, cmd_flags, pStream);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSetReplyCommandStreamMESA_reply(pStream) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, size_t position, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkSeekReplyCommandStreamMESA(position);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkSeekReplyCommandStreamMESA(&submit->command, cmd_flags, position);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSeekReplyCommandStreamMESA_reply(position) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkExecuteCommandStreamsMESA(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkExecuteCommandStreamsMESA(&submit->command, cmd_flags, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkExecuteCommandStreamsMESA_reply(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkCreateRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkCreateRingMESA(ring, pCreateInfo);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkCreateRingMESA(&submit->command, cmd_flags, ring, pCreateInfo);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRingMESA_reply(ring, pCreateInfo) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkDestroyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkDestroyRingMESA(ring);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkDestroyRingMESA(&submit->command, cmd_flags, ring);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyRingMESA_reply(ring) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkNotifyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkNotifyRingMESA(ring, seqno, flags);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkNotifyRingMESA(&submit->command, cmd_flags, ring, seqno, flags);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkNotifyRingMESA_reply(ring, seqno, flags) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_submit_vkWriteRingExtraMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value, struct vn_instance_submit_command *submit)
+{
+ uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
+ void *cmd_data = local_cmd_data;
+ size_t cmd_size = vn_sizeof_vkWriteRingExtraMESA(ring, offset, value);
+ if (cmd_size > sizeof(local_cmd_data)) {
+ cmd_data = malloc(cmd_size);
+ if (!cmd_data)
+ cmd_size = 0;
+ }
+
+ submit->command = VN_CS_ENCODER_INITIALIZER(cmd_data, cmd_size);
+ if (cmd_size)
+ vn_encode_vkWriteRingExtraMESA(&submit->command, cmd_flags, ring, offset, value);
+ submit->reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWriteRingExtraMESA_reply(ring, offset, value) : 0;
+ vn_instance_submit_command(vn_instance, submit);
+
+ if (cmd_data != local_cmd_data)
+ free(cmd_data);
+}
+
+static inline void vn_call_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSetReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pStream, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkSetReplyCommandStreamMESA_reply(&submit.reply, pStream);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSetReplyCommandStreamMESA(vn_instance, 0, pStream, &submit);
+}
+
+static inline void vn_call_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, position, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkSeekReplyCommandStreamMESA_reply(&submit.reply, position);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, 0, position, &submit);
+}
+
+static inline void vn_call_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkExecuteCommandStreamsMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkExecuteCommandStreamsMESA_reply(&submit.reply, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkExecuteCommandStreamsMESA(vn_instance, 0, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
+}
+
+static inline void vn_call_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, pCreateInfo, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkCreateRingMESA_reply(&submit.reply, ring, pCreateInfo);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkCreateRingMESA(vn_instance, 0, ring, pCreateInfo, &submit);
+}
+
+static inline void vn_call_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkDestroyRingMESA_reply(&submit.reply, ring);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkDestroyRingMESA(vn_instance, 0, ring, &submit);
+}
+
+static inline void vn_call_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkNotifyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, seqno, flags, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkNotifyRingMESA_reply(&submit.reply, ring, seqno, flags);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkNotifyRingMESA(vn_instance, 0, ring, seqno, flags, &submit);
+}
+
+static inline void vn_call_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWriteRingExtraMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, offset, value, &submit);
+ if (submit.reply_bo) {
+ vn_decode_vkWriteRingExtraMESA_reply(&submit.reply, ring, offset, value);
+ vn_renderer_bo_unref(submit.reply_bo);
+ }
+}
+
+static inline void vn_async_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
+{
+ struct vn_instance_submit_command submit;
+ vn_submit_vkWriteRingExtraMESA(vn_instance, 0, ring, offset, value, &submit);
+}
+
+#endif /* VN_PROTOCOL_DRIVER_TRANSPORT_H */
diff --git a/src/virtio/venus-protocol/vn_protocol_driver_types.h b/src/virtio/venus-protocol/vn_protocol_driver_types.h
index 5ce28370b0b..bfea8f6ea50 100644
--- a/src/virtio/venus-protocol/vn_protocol_driver_types.h
+++ b/src/virtio/venus-protocol/vn_protocol_driver_types.h
@@ -1,4 +1,4 @@
-/* This file is generated by venus-protocol git-72189394. */
+/* This file is generated by venus-protocol git-2564dba1. */
/*
* Copyright 2020 Google LLC