Path: blob/21.2-virgl/src/virtio/venus-protocol/vn_protocol_driver_command_buffer.h
4560 views
/* This file is generated by venus-protocol. See vn_protocol_driver.h. */12/*3* Copyright 2020 Google LLC4* SPDX-License-Identifier: MIT5*/67#ifndef VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H8#define VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H910#include "vn_device.h"11#include "vn_protocol_driver_structs.h"1213/* struct VkCommandBufferAllocateInfo chain */1415static inline size_t16vn_sizeof_VkCommandBufferAllocateInfo_pnext(const void *val)17{18/* no known/supported struct */19return vn_sizeof_simple_pointer(NULL);20}2122static inline size_t23vn_sizeof_VkCommandBufferAllocateInfo_self(const VkCommandBufferAllocateInfo *val)24{25size_t size = 0;26/* skip val->{sType,pNext} */27size += vn_sizeof_VkCommandPool(&val->commandPool);28size += vn_sizeof_VkCommandBufferLevel(&val->level);29size += vn_sizeof_uint32_t(&val->commandBufferCount);30return size;31}3233static inline size_t34vn_sizeof_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo *val)35{36size_t size = 0;3738size += vn_sizeof_VkStructureType(&val->sType);39size += vn_sizeof_VkCommandBufferAllocateInfo_pnext(val->pNext);40size += vn_sizeof_VkCommandBufferAllocateInfo_self(val);4142return size;43}4445static inline void46vn_encode_VkCommandBufferAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)47{48/* no known/supported struct */49vn_encode_simple_pointer(enc, NULL);50}5152static inline void53vn_encode_VkCommandBufferAllocateInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)54{55/* skip val->{sType,pNext} */56vn_encode_VkCommandPool(enc, &val->commandPool);57vn_encode_VkCommandBufferLevel(enc, &val->level);58vn_encode_uint32_t(enc, &val->commandBufferCount);59}6061static inline void62vn_encode_VkCommandBufferAllocateInfo(struct vn_cs_encoder *enc, const VkCommandBufferAllocateInfo *val)63{64assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO);65vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO });66vn_encode_VkCommandBufferAllocateInfo_pnext(enc, val->pNext);67vn_encode_VkCommandBufferAllocateInfo_self(enc, val);68}6970/* struct VkCommandBufferInheritanceInfo chain */7172static inline size_t73vn_sizeof_VkCommandBufferInheritanceInfo_pnext(const void *val)74{75/* no known/supported struct */76return vn_sizeof_simple_pointer(NULL);77}7879static inline size_t80vn_sizeof_VkCommandBufferInheritanceInfo_self(const VkCommandBufferInheritanceInfo *val)81{82size_t size = 0;83/* skip val->{sType,pNext} */84size += vn_sizeof_VkRenderPass(&val->renderPass);85size += vn_sizeof_uint32_t(&val->subpass);86size += vn_sizeof_VkFramebuffer(&val->framebuffer);87size += vn_sizeof_VkBool32(&val->occlusionQueryEnable);88size += vn_sizeof_VkFlags(&val->queryFlags);89size += vn_sizeof_VkFlags(&val->pipelineStatistics);90return size;91}9293static inline size_t94vn_sizeof_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo *val)95{96size_t size = 0;9798size += vn_sizeof_VkStructureType(&val->sType);99size += vn_sizeof_VkCommandBufferInheritanceInfo_pnext(val->pNext);100size += vn_sizeof_VkCommandBufferInheritanceInfo_self(val);101102return size;103}104105static inline void106vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder *enc, const void *val)107{108/* no known/supported struct */109vn_encode_simple_pointer(enc, NULL);110}111112static inline void113vn_encode_VkCommandBufferInheritanceInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)114{115/* skip val->{sType,pNext} */116vn_encode_VkRenderPass(enc, &val->renderPass);117vn_encode_uint32_t(enc, &val->subpass);118vn_encode_VkFramebuffer(enc, &val->framebuffer);119vn_encode_VkBool32(enc, &val->occlusionQueryEnable);120vn_encode_VkFlags(enc, &val->queryFlags);121vn_encode_VkFlags(enc, &val->pipelineStatistics);122}123124static inline void125vn_encode_VkCommandBufferInheritanceInfo(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)126{127assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);128vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO });129vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, val->pNext);130vn_encode_VkCommandBufferInheritanceInfo_self(enc, val);131}132133static inline void134vn_decode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_decoder *dec, const void *val)135{136/* no known/supported struct */137if (vn_decode_simple_pointer(dec))138assert(false);139}140141static inline void142vn_decode_VkCommandBufferInheritanceInfo_self(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)143{144/* skip val->{sType,pNext} */145vn_decode_VkRenderPass(dec, &val->renderPass);146vn_decode_uint32_t(dec, &val->subpass);147vn_decode_VkFramebuffer(dec, &val->framebuffer);148vn_decode_VkBool32(dec, &val->occlusionQueryEnable);149vn_decode_VkFlags(dec, &val->queryFlags);150vn_decode_VkFlags(dec, &val->pipelineStatistics);151}152153static inline void154vn_decode_VkCommandBufferInheritanceInfo(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)155{156VkStructureType stype;157vn_decode_VkStructureType(dec, &stype);158assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);159160assert(val->sType == stype);161vn_decode_VkCommandBufferInheritanceInfo_pnext(dec, val->pNext);162vn_decode_VkCommandBufferInheritanceInfo_self(dec, val);163}164165/* struct VkDeviceGroupCommandBufferBeginInfo chain */166167static inline size_t168vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(const void *val)169{170/* no known/supported struct */171return vn_sizeof_simple_pointer(NULL);172}173174static inline size_t175vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(const VkDeviceGroupCommandBufferBeginInfo *val)176{177size_t size = 0;178/* skip val->{sType,pNext} */179size += vn_sizeof_uint32_t(&val->deviceMask);180return size;181}182183static inline size_t184vn_sizeof_VkDeviceGroupCommandBufferBeginInfo(const VkDeviceGroupCommandBufferBeginInfo *val)185{186size_t size = 0;187188size += vn_sizeof_VkStructureType(&val->sType);189size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_pnext(val->pNext);190size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self(val);191192return size;193}194195static inline void196vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)197{198/* no known/supported struct */199vn_encode_simple_pointer(enc, NULL);200}201202static inline void203vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)204{205/* skip val->{sType,pNext} */206vn_encode_uint32_t(enc, &val->deviceMask);207}208209static inline void210vn_encode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)211{212assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);213vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO });214vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(enc, val->pNext);215vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, val);216}217218static inline void219vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)220{221/* no known/supported struct */222if (vn_decode_simple_pointer(dec))223assert(false);224}225226static inline void227vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)228{229/* skip val->{sType,pNext} */230vn_decode_uint32_t(dec, &val->deviceMask);231}232233static inline void234vn_decode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)235{236VkStructureType stype;237vn_decode_VkStructureType(dec, &stype);238assert(stype == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);239240assert(val->sType == stype);241vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext(dec, val->pNext);242vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, val);243}244245/* struct VkCommandBufferBeginInfo chain */246247static inline size_t248vn_sizeof_VkCommandBufferBeginInfo_pnext(const void *val)249{250const VkBaseInStructure *pnext = val;251size_t size = 0;252253while (pnext) {254switch ((int32_t)pnext->sType) {255case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:256size += vn_sizeof_simple_pointer(pnext);257size += vn_sizeof_VkStructureType(&pnext->sType);258size += vn_sizeof_VkCommandBufferBeginInfo_pnext(pnext->pNext);259size += vn_sizeof_VkDeviceGroupCommandBufferBeginInfo_self((const VkDeviceGroupCommandBufferBeginInfo *)pnext);260return size;261default:262/* ignore unknown/unsupported struct */263break;264}265pnext = pnext->pNext;266}267268return vn_sizeof_simple_pointer(NULL);269}270271static inline size_t272vn_sizeof_VkCommandBufferBeginInfo_self(const VkCommandBufferBeginInfo *val)273{274size_t size = 0;275/* skip val->{sType,pNext} */276size += vn_sizeof_VkFlags(&val->flags);277size += vn_sizeof_simple_pointer(val->pInheritanceInfo);278if (val->pInheritanceInfo)279size += vn_sizeof_VkCommandBufferInheritanceInfo(val->pInheritanceInfo);280return size;281}282283static inline size_t284vn_sizeof_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo *val)285{286size_t size = 0;287288size += vn_sizeof_VkStructureType(&val->sType);289size += vn_sizeof_VkCommandBufferBeginInfo_pnext(val->pNext);290size += vn_sizeof_VkCommandBufferBeginInfo_self(val);291292return size;293}294295static inline void296vn_encode_VkCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)297{298const VkBaseInStructure *pnext = val;299300while (pnext) {301switch ((int32_t)pnext->sType) {302case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:303vn_encode_simple_pointer(enc, pnext);304vn_encode_VkStructureType(enc, &pnext->sType);305vn_encode_VkCommandBufferBeginInfo_pnext(enc, pnext->pNext);306vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, (const VkDeviceGroupCommandBufferBeginInfo *)pnext);307return;308default:309/* ignore unknown/unsupported struct */310break;311}312pnext = pnext->pNext;313}314315vn_encode_simple_pointer(enc, NULL);316}317318static inline void319vn_encode_VkCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)320{321/* skip val->{sType,pNext} */322vn_encode_VkFlags(enc, &val->flags);323if (vn_encode_simple_pointer(enc, val->pInheritanceInfo))324vn_encode_VkCommandBufferInheritanceInfo(enc, val->pInheritanceInfo);325}326327static inline void328vn_encode_VkCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)329{330assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);331vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO });332vn_encode_VkCommandBufferBeginInfo_pnext(enc, val->pNext);333vn_encode_VkCommandBufferBeginInfo_self(enc, val);334}335336static inline void337vn_decode_VkCommandBufferBeginInfo_pnext(struct vn_cs_decoder *dec, const void *val)338{339VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;340VkStructureType stype;341342if (!vn_decode_simple_pointer(dec))343return;344345vn_decode_VkStructureType(dec, &stype);346while (true) {347assert(pnext);348if (pnext->sType == stype)349break;350}351352switch ((int32_t)pnext->sType) {353case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:354vn_decode_VkCommandBufferBeginInfo_pnext(dec, pnext->pNext);355vn_decode_VkDeviceGroupCommandBufferBeginInfo_self(dec, (VkDeviceGroupCommandBufferBeginInfo *)pnext);356break;357default:358assert(false);359break;360}361}362363static inline void364vn_decode_VkCommandBufferBeginInfo_self(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)365{366/* skip val->{sType,pNext} */367vn_decode_VkFlags(dec, &val->flags);368if (vn_decode_simple_pointer(dec)) {369vn_decode_VkCommandBufferInheritanceInfo(dec, (VkCommandBufferInheritanceInfo *)val->pInheritanceInfo);370} else {371val->pInheritanceInfo = NULL;372}373}374375static inline void376vn_decode_VkCommandBufferBeginInfo(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)377{378VkStructureType stype;379vn_decode_VkStructureType(dec, &stype);380assert(stype == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);381382assert(val->sType == stype);383vn_decode_VkCommandBufferBeginInfo_pnext(dec, val->pNext);384vn_decode_VkCommandBufferBeginInfo_self(dec, val);385}386387/* struct VkBufferCopy */388389static inline size_t390vn_sizeof_VkBufferCopy(const VkBufferCopy *val)391{392size_t size = 0;393size += vn_sizeof_VkDeviceSize(&val->srcOffset);394size += vn_sizeof_VkDeviceSize(&val->dstOffset);395size += vn_sizeof_VkDeviceSize(&val->size);396return size;397}398399static inline void400vn_encode_VkBufferCopy(struct vn_cs_encoder *enc, const VkBufferCopy *val)401{402vn_encode_VkDeviceSize(enc, &val->srcOffset);403vn_encode_VkDeviceSize(enc, &val->dstOffset);404vn_encode_VkDeviceSize(enc, &val->size);405}406407/* struct VkImageSubresourceLayers */408409static inline size_t410vn_sizeof_VkImageSubresourceLayers(const VkImageSubresourceLayers *val)411{412size_t size = 0;413size += vn_sizeof_VkFlags(&val->aspectMask);414size += vn_sizeof_uint32_t(&val->mipLevel);415size += vn_sizeof_uint32_t(&val->baseArrayLayer);416size += vn_sizeof_uint32_t(&val->layerCount);417return size;418}419420static inline void421vn_encode_VkImageSubresourceLayers(struct vn_cs_encoder *enc, const VkImageSubresourceLayers *val)422{423vn_encode_VkFlags(enc, &val->aspectMask);424vn_encode_uint32_t(enc, &val->mipLevel);425vn_encode_uint32_t(enc, &val->baseArrayLayer);426vn_encode_uint32_t(enc, &val->layerCount);427}428429/* struct VkImageCopy */430431static inline size_t432vn_sizeof_VkImageCopy(const VkImageCopy *val)433{434size_t size = 0;435size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);436size += vn_sizeof_VkOffset3D(&val->srcOffset);437size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);438size += vn_sizeof_VkOffset3D(&val->dstOffset);439size += vn_sizeof_VkExtent3D(&val->extent);440return size;441}442443static inline void444vn_encode_VkImageCopy(struct vn_cs_encoder *enc, const VkImageCopy *val)445{446vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);447vn_encode_VkOffset3D(enc, &val->srcOffset);448vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);449vn_encode_VkOffset3D(enc, &val->dstOffset);450vn_encode_VkExtent3D(enc, &val->extent);451}452453/* struct VkImageBlit */454455static inline size_t456vn_sizeof_VkImageBlit(const VkImageBlit *val)457{458size_t size = 0;459size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);460size += vn_sizeof_array_size(2);461for (uint32_t i = 0; i < 2; i++)462size += vn_sizeof_VkOffset3D(&val->srcOffsets[i]);463size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);464size += vn_sizeof_array_size(2);465for (uint32_t i = 0; i < 2; i++)466size += vn_sizeof_VkOffset3D(&val->dstOffsets[i]);467return size;468}469470static inline void471vn_encode_VkImageBlit(struct vn_cs_encoder *enc, const VkImageBlit *val)472{473vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);474vn_encode_array_size(enc, 2);475for (uint32_t i = 0; i < 2; i++)476vn_encode_VkOffset3D(enc, &val->srcOffsets[i]);477vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);478vn_encode_array_size(enc, 2);479for (uint32_t i = 0; i < 2; i++)480vn_encode_VkOffset3D(enc, &val->dstOffsets[i]);481}482483/* struct VkBufferImageCopy */484485static inline size_t486vn_sizeof_VkBufferImageCopy(const VkBufferImageCopy *val)487{488size_t size = 0;489size += vn_sizeof_VkDeviceSize(&val->bufferOffset);490size += vn_sizeof_uint32_t(&val->bufferRowLength);491size += vn_sizeof_uint32_t(&val->bufferImageHeight);492size += vn_sizeof_VkImageSubresourceLayers(&val->imageSubresource);493size += vn_sizeof_VkOffset3D(&val->imageOffset);494size += vn_sizeof_VkExtent3D(&val->imageExtent);495return size;496}497498static inline void499vn_encode_VkBufferImageCopy(struct vn_cs_encoder *enc, const VkBufferImageCopy *val)500{501vn_encode_VkDeviceSize(enc, &val->bufferOffset);502vn_encode_uint32_t(enc, &val->bufferRowLength);503vn_encode_uint32_t(enc, &val->bufferImageHeight);504vn_encode_VkImageSubresourceLayers(enc, &val->imageSubresource);505vn_encode_VkOffset3D(enc, &val->imageOffset);506vn_encode_VkExtent3D(enc, &val->imageExtent);507}508509/* union VkClearColorValue */510511static inline size_t512vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)513{514size_t size = vn_sizeof_uint32_t(&tag);515switch (tag) {516case 0:517size += vn_sizeof_array_size(4);518size += vn_sizeof_float_array(val->float32, 4);519break;520case 1:521size += vn_sizeof_array_size(4);522size += vn_sizeof_int32_t_array(val->int32, 4);523break;524case 2:525size += vn_sizeof_array_size(4);526size += vn_sizeof_uint32_t_array(val->uint32, 4);527break;528default:529assert(false);530break;531}532return size;533}534535static inline size_t536vn_sizeof_VkClearColorValue(const VkClearColorValue *val)537{538return vn_sizeof_VkClearColorValue_tag(val, 2);539}540541static inline void542vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)543{544vn_encode_uint32_t(enc, &tag);545switch (tag) {546case 0:547vn_encode_array_size(enc, 4);548vn_encode_float_array(enc, val->float32, 4);549break;550case 1:551vn_encode_array_size(enc, 4);552vn_encode_int32_t_array(enc, val->int32, 4);553break;554case 2:555vn_encode_array_size(enc, 4);556vn_encode_uint32_t_array(enc, val->uint32, 4);557break;558default:559assert(false);560break;561}562}563564static inline void565vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)566{567vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */568}569570/* struct VkClearDepthStencilValue */571572static inline size_t573vn_sizeof_VkClearDepthStencilValue(const VkClearDepthStencilValue *val)574{575size_t size = 0;576size += vn_sizeof_float(&val->depth);577size += vn_sizeof_uint32_t(&val->stencil);578return size;579}580581static inline void582vn_encode_VkClearDepthStencilValue(struct vn_cs_encoder *enc, const VkClearDepthStencilValue *val)583{584vn_encode_float(enc, &val->depth);585vn_encode_uint32_t(enc, &val->stencil);586}587588/* union VkClearValue */589590static inline size_t591vn_sizeof_VkClearValue_tag(const VkClearValue *val, uint32_t tag)592{593size_t size = vn_sizeof_uint32_t(&tag);594switch (tag) {595case 0:596size += vn_sizeof_VkClearColorValue(&val->color);597break;598case 1:599size += vn_sizeof_VkClearDepthStencilValue(&val->depthStencil);600break;601default:602assert(false);603break;604}605return size;606}607608static inline size_t609vn_sizeof_VkClearValue(const VkClearValue *val)610{611return vn_sizeof_VkClearValue_tag(val, 0);612}613614static inline void615vn_encode_VkClearValue_tag(struct vn_cs_encoder *enc, const VkClearValue *val, uint32_t tag)616{617vn_encode_uint32_t(enc, &tag);618switch (tag) {619case 0:620vn_encode_VkClearColorValue(enc, &val->color);621break;622case 1:623vn_encode_VkClearDepthStencilValue(enc, &val->depthStencil);624break;625default:626assert(false);627break;628}629}630631static inline void632vn_encode_VkClearValue(struct vn_cs_encoder *enc, const VkClearValue *val)633{634vn_encode_VkClearValue_tag(enc, val, 0); /* union with default tag */635}636637/* struct VkClearAttachment */638639static inline size_t640vn_sizeof_VkClearAttachment(const VkClearAttachment *val)641{642size_t size = 0;643size += vn_sizeof_VkFlags(&val->aspectMask);644size += vn_sizeof_uint32_t(&val->colorAttachment);645size += vn_sizeof_VkClearValue(&val->clearValue);646return size;647}648649static inline void650vn_encode_VkClearAttachment(struct vn_cs_encoder *enc, const VkClearAttachment *val)651{652vn_encode_VkFlags(enc, &val->aspectMask);653vn_encode_uint32_t(enc, &val->colorAttachment);654vn_encode_VkClearValue(enc, &val->clearValue);655}656657/* struct VkClearRect */658659static inline size_t660vn_sizeof_VkClearRect(const VkClearRect *val)661{662size_t size = 0;663size += vn_sizeof_VkRect2D(&val->rect);664size += vn_sizeof_uint32_t(&val->baseArrayLayer);665size += vn_sizeof_uint32_t(&val->layerCount);666return size;667}668669static inline void670vn_encode_VkClearRect(struct vn_cs_encoder *enc, const VkClearRect *val)671{672vn_encode_VkRect2D(enc, &val->rect);673vn_encode_uint32_t(enc, &val->baseArrayLayer);674vn_encode_uint32_t(enc, &val->layerCount);675}676677/* struct VkImageResolve */678679static inline size_t680vn_sizeof_VkImageResolve(const VkImageResolve *val)681{682size_t size = 0;683size += vn_sizeof_VkImageSubresourceLayers(&val->srcSubresource);684size += vn_sizeof_VkOffset3D(&val->srcOffset);685size += vn_sizeof_VkImageSubresourceLayers(&val->dstSubresource);686size += vn_sizeof_VkOffset3D(&val->dstOffset);687size += vn_sizeof_VkExtent3D(&val->extent);688return size;689}690691static inline void692vn_encode_VkImageResolve(struct vn_cs_encoder *enc, const VkImageResolve *val)693{694vn_encode_VkImageSubresourceLayers(enc, &val->srcSubresource);695vn_encode_VkOffset3D(enc, &val->srcOffset);696vn_encode_VkImageSubresourceLayers(enc, &val->dstSubresource);697vn_encode_VkOffset3D(enc, &val->dstOffset);698vn_encode_VkExtent3D(enc, &val->extent);699}700701/* struct VkMemoryBarrier chain */702703static inline size_t704vn_sizeof_VkMemoryBarrier_pnext(const void *val)705{706/* no known/supported struct */707return vn_sizeof_simple_pointer(NULL);708}709710static inline size_t711vn_sizeof_VkMemoryBarrier_self(const VkMemoryBarrier *val)712{713size_t size = 0;714/* skip val->{sType,pNext} */715size += vn_sizeof_VkFlags(&val->srcAccessMask);716size += vn_sizeof_VkFlags(&val->dstAccessMask);717return size;718}719720static inline size_t721vn_sizeof_VkMemoryBarrier(const VkMemoryBarrier *val)722{723size_t size = 0;724725size += vn_sizeof_VkStructureType(&val->sType);726size += vn_sizeof_VkMemoryBarrier_pnext(val->pNext);727size += vn_sizeof_VkMemoryBarrier_self(val);728729return size;730}731732static inline void733vn_encode_VkMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)734{735/* no known/supported struct */736vn_encode_simple_pointer(enc, NULL);737}738739static inline void740vn_encode_VkMemoryBarrier_self(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)741{742/* skip val->{sType,pNext} */743vn_encode_VkFlags(enc, &val->srcAccessMask);744vn_encode_VkFlags(enc, &val->dstAccessMask);745}746747static inline void748vn_encode_VkMemoryBarrier(struct vn_cs_encoder *enc, const VkMemoryBarrier *val)749{750assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_BARRIER);751vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_BARRIER });752vn_encode_VkMemoryBarrier_pnext(enc, val->pNext);753vn_encode_VkMemoryBarrier_self(enc, val);754}755756/* struct VkBufferMemoryBarrier chain */757758static inline size_t759vn_sizeof_VkBufferMemoryBarrier_pnext(const void *val)760{761/* no known/supported struct */762return vn_sizeof_simple_pointer(NULL);763}764765static inline size_t766vn_sizeof_VkBufferMemoryBarrier_self(const VkBufferMemoryBarrier *val)767{768size_t size = 0;769/* skip val->{sType,pNext} */770size += vn_sizeof_VkFlags(&val->srcAccessMask);771size += vn_sizeof_VkFlags(&val->dstAccessMask);772size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);773size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);774size += vn_sizeof_VkBuffer(&val->buffer);775size += vn_sizeof_VkDeviceSize(&val->offset);776size += vn_sizeof_VkDeviceSize(&val->size);777return size;778}779780static inline size_t781vn_sizeof_VkBufferMemoryBarrier(const VkBufferMemoryBarrier *val)782{783size_t size = 0;784785size += vn_sizeof_VkStructureType(&val->sType);786size += vn_sizeof_VkBufferMemoryBarrier_pnext(val->pNext);787size += vn_sizeof_VkBufferMemoryBarrier_self(val);788789return size;790}791792static inline void793vn_encode_VkBufferMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)794{795/* no known/supported struct */796vn_encode_simple_pointer(enc, NULL);797}798799static inline void800vn_encode_VkBufferMemoryBarrier_self(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)801{802/* skip val->{sType,pNext} */803vn_encode_VkFlags(enc, &val->srcAccessMask);804vn_encode_VkFlags(enc, &val->dstAccessMask);805vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);806vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);807vn_encode_VkBuffer(enc, &val->buffer);808vn_encode_VkDeviceSize(enc, &val->offset);809vn_encode_VkDeviceSize(enc, &val->size);810}811812static inline void813vn_encode_VkBufferMemoryBarrier(struct vn_cs_encoder *enc, const VkBufferMemoryBarrier *val)814{815assert(val->sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER);816vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER });817vn_encode_VkBufferMemoryBarrier_pnext(enc, val->pNext);818vn_encode_VkBufferMemoryBarrier_self(enc, val);819}820821/* struct VkImageMemoryBarrier chain */822823static inline size_t824vn_sizeof_VkImageMemoryBarrier_pnext(const void *val)825{826/* no known/supported struct */827return vn_sizeof_simple_pointer(NULL);828}829830static inline size_t831vn_sizeof_VkImageMemoryBarrier_self(const VkImageMemoryBarrier *val)832{833size_t size = 0;834/* skip val->{sType,pNext} */835size += vn_sizeof_VkFlags(&val->srcAccessMask);836size += vn_sizeof_VkFlags(&val->dstAccessMask);837size += vn_sizeof_VkImageLayout(&val->oldLayout);838size += vn_sizeof_VkImageLayout(&val->newLayout);839size += vn_sizeof_uint32_t(&val->srcQueueFamilyIndex);840size += vn_sizeof_uint32_t(&val->dstQueueFamilyIndex);841size += vn_sizeof_VkImage(&val->image);842size += vn_sizeof_VkImageSubresourceRange(&val->subresourceRange);843return size;844}845846static inline size_t847vn_sizeof_VkImageMemoryBarrier(const VkImageMemoryBarrier *val)848{849size_t size = 0;850851size += vn_sizeof_VkStructureType(&val->sType);852size += vn_sizeof_VkImageMemoryBarrier_pnext(val->pNext);853size += vn_sizeof_VkImageMemoryBarrier_self(val);854855return size;856}857858static inline void859vn_encode_VkImageMemoryBarrier_pnext(struct vn_cs_encoder *enc, const void *val)860{861/* no known/supported struct */862vn_encode_simple_pointer(enc, NULL);863}864865static inline void866vn_encode_VkImageMemoryBarrier_self(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)867{868/* skip val->{sType,pNext} */869vn_encode_VkFlags(enc, &val->srcAccessMask);870vn_encode_VkFlags(enc, &val->dstAccessMask);871vn_encode_VkImageLayout(enc, &val->oldLayout);872vn_encode_VkImageLayout(enc, &val->newLayout);873vn_encode_uint32_t(enc, &val->srcQueueFamilyIndex);874vn_encode_uint32_t(enc, &val->dstQueueFamilyIndex);875vn_encode_VkImage(enc, &val->image);876vn_encode_VkImageSubresourceRange(enc, &val->subresourceRange);877}878879static inline void880vn_encode_VkImageMemoryBarrier(struct vn_cs_encoder *enc, const VkImageMemoryBarrier *val)881{882assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER);883vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER });884vn_encode_VkImageMemoryBarrier_pnext(enc, val->pNext);885vn_encode_VkImageMemoryBarrier_self(enc, val);886}887888/* struct VkDeviceGroupRenderPassBeginInfo chain */889890static inline size_t891vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(const void *val)892{893/* no known/supported struct */894return vn_sizeof_simple_pointer(NULL);895}896897static inline size_t898vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(const VkDeviceGroupRenderPassBeginInfo *val)899{900size_t size = 0;901/* skip val->{sType,pNext} */902size += vn_sizeof_uint32_t(&val->deviceMask);903size += vn_sizeof_uint32_t(&val->deviceRenderAreaCount);904if (val->pDeviceRenderAreas) {905size += vn_sizeof_array_size(val->deviceRenderAreaCount);906for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)907size += vn_sizeof_VkRect2D(&val->pDeviceRenderAreas[i]);908} else {909size += vn_sizeof_array_size(0);910}911return size;912}913914static inline size_t915vn_sizeof_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo *val)916{917size_t size = 0;918919size += vn_sizeof_VkStructureType(&val->sType);920size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_pnext(val->pNext);921size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self(val);922923return size;924}925926static inline void927vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)928{929/* no known/supported struct */930vn_encode_simple_pointer(enc, NULL);931}932933static inline void934vn_encode_VkDeviceGroupRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)935{936/* skip val->{sType,pNext} */937vn_encode_uint32_t(enc, &val->deviceMask);938vn_encode_uint32_t(enc, &val->deviceRenderAreaCount);939if (val->pDeviceRenderAreas) {940vn_encode_array_size(enc, val->deviceRenderAreaCount);941for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)942vn_encode_VkRect2D(enc, &val->pDeviceRenderAreas[i]);943} else {944vn_encode_array_size(enc, 0);945}946}947948static inline void949vn_encode_VkDeviceGroupRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupRenderPassBeginInfo *val)950{951assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO);952vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO });953vn_encode_VkDeviceGroupRenderPassBeginInfo_pnext(enc, val->pNext);954vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, val);955}956957/* struct VkRenderPassAttachmentBeginInfo chain */958959static inline size_t960vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(const void *val)961{962/* no known/supported struct */963return vn_sizeof_simple_pointer(NULL);964}965966static inline size_t967vn_sizeof_VkRenderPassAttachmentBeginInfo_self(const VkRenderPassAttachmentBeginInfo *val)968{969size_t size = 0;970/* skip val->{sType,pNext} */971size += vn_sizeof_uint32_t(&val->attachmentCount);972if (val->pAttachments) {973size += vn_sizeof_array_size(val->attachmentCount);974for (uint32_t i = 0; i < val->attachmentCount; i++)975size += vn_sizeof_VkImageView(&val->pAttachments[i]);976} else {977size += vn_sizeof_array_size(0);978}979return size;980}981982static inline size_t983vn_sizeof_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo *val)984{985size_t size = 0;986987size += vn_sizeof_VkStructureType(&val->sType);988size += vn_sizeof_VkRenderPassAttachmentBeginInfo_pnext(val->pNext);989size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self(val);990991return size;992}993994static inline void995vn_encode_VkRenderPassAttachmentBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)996{997/* no known/supported struct */998vn_encode_simple_pointer(enc, NULL);999}10001001static inline void1002vn_encode_VkRenderPassAttachmentBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)1003{1004/* skip val->{sType,pNext} */1005vn_encode_uint32_t(enc, &val->attachmentCount);1006if (val->pAttachments) {1007vn_encode_array_size(enc, val->attachmentCount);1008for (uint32_t i = 0; i < val->attachmentCount; i++)1009vn_encode_VkImageView(enc, &val->pAttachments[i]);1010} else {1011vn_encode_array_size(enc, 0);1012}1013}10141015static inline void1016vn_encode_VkRenderPassAttachmentBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassAttachmentBeginInfo *val)1017{1018assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO);1019vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO });1020vn_encode_VkRenderPassAttachmentBeginInfo_pnext(enc, val->pNext);1021vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, val);1022}10231024/* struct VkRenderPassBeginInfo chain */10251026static inline size_t1027vn_sizeof_VkRenderPassBeginInfo_pnext(const void *val)1028{1029const VkBaseInStructure *pnext = val;1030size_t size = 0;10311032while (pnext) {1033switch ((int32_t)pnext->sType) {1034case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:1035size += vn_sizeof_simple_pointer(pnext);1036size += vn_sizeof_VkStructureType(&pnext->sType);1037size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);1038size += vn_sizeof_VkDeviceGroupRenderPassBeginInfo_self((const VkDeviceGroupRenderPassBeginInfo *)pnext);1039return size;1040case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:1041size += vn_sizeof_simple_pointer(pnext);1042size += vn_sizeof_VkStructureType(&pnext->sType);1043size += vn_sizeof_VkRenderPassBeginInfo_pnext(pnext->pNext);1044size += vn_sizeof_VkRenderPassAttachmentBeginInfo_self((const VkRenderPassAttachmentBeginInfo *)pnext);1045return size;1046default:1047/* ignore unknown/unsupported struct */1048break;1049}1050pnext = pnext->pNext;1051}10521053return vn_sizeof_simple_pointer(NULL);1054}10551056static inline size_t1057vn_sizeof_VkRenderPassBeginInfo_self(const VkRenderPassBeginInfo *val)1058{1059size_t size = 0;1060/* skip val->{sType,pNext} */1061size += vn_sizeof_VkRenderPass(&val->renderPass);1062size += vn_sizeof_VkFramebuffer(&val->framebuffer);1063size += vn_sizeof_VkRect2D(&val->renderArea);1064size += vn_sizeof_uint32_t(&val->clearValueCount);1065if (val->pClearValues) {1066size += vn_sizeof_array_size(val->clearValueCount);1067for (uint32_t i = 0; i < val->clearValueCount; i++)1068size += vn_sizeof_VkClearValue(&val->pClearValues[i]);1069} else {1070size += vn_sizeof_array_size(0);1071}1072return size;1073}10741075static inline size_t1076vn_sizeof_VkRenderPassBeginInfo(const VkRenderPassBeginInfo *val)1077{1078size_t size = 0;10791080size += vn_sizeof_VkStructureType(&val->sType);1081size += vn_sizeof_VkRenderPassBeginInfo_pnext(val->pNext);1082size += vn_sizeof_VkRenderPassBeginInfo_self(val);10831084return size;1085}10861087static inline void1088vn_encode_VkRenderPassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)1089{1090const VkBaseInStructure *pnext = val;10911092while (pnext) {1093switch ((int32_t)pnext->sType) {1094case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:1095vn_encode_simple_pointer(enc, pnext);1096vn_encode_VkStructureType(enc, &pnext->sType);1097vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);1098vn_encode_VkDeviceGroupRenderPassBeginInfo_self(enc, (const VkDeviceGroupRenderPassBeginInfo *)pnext);1099return;1100case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:1101vn_encode_simple_pointer(enc, pnext);1102vn_encode_VkStructureType(enc, &pnext->sType);1103vn_encode_VkRenderPassBeginInfo_pnext(enc, pnext->pNext);1104vn_encode_VkRenderPassAttachmentBeginInfo_self(enc, (const VkRenderPassAttachmentBeginInfo *)pnext);1105return;1106default:1107/* ignore unknown/unsupported struct */1108break;1109}1110pnext = pnext->pNext;1111}11121113vn_encode_simple_pointer(enc, NULL);1114}11151116static inline void1117vn_encode_VkRenderPassBeginInfo_self(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)1118{1119/* skip val->{sType,pNext} */1120vn_encode_VkRenderPass(enc, &val->renderPass);1121vn_encode_VkFramebuffer(enc, &val->framebuffer);1122vn_encode_VkRect2D(enc, &val->renderArea);1123vn_encode_uint32_t(enc, &val->clearValueCount);1124if (val->pClearValues) {1125vn_encode_array_size(enc, val->clearValueCount);1126for (uint32_t i = 0; i < val->clearValueCount; i++)1127vn_encode_VkClearValue(enc, &val->pClearValues[i]);1128} else {1129vn_encode_array_size(enc, 0);1130}1131}11321133static inline void1134vn_encode_VkRenderPassBeginInfo(struct vn_cs_encoder *enc, const VkRenderPassBeginInfo *val)1135{1136assert(val->sType == VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO);1137vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO });1138vn_encode_VkRenderPassBeginInfo_pnext(enc, val->pNext);1139vn_encode_VkRenderPassBeginInfo_self(enc, val);1140}11411142/* struct VkSubpassBeginInfo chain */11431144static inline size_t1145vn_sizeof_VkSubpassBeginInfo_pnext(const void *val)1146{1147/* no known/supported struct */1148return vn_sizeof_simple_pointer(NULL);1149}11501151static inline size_t1152vn_sizeof_VkSubpassBeginInfo_self(const VkSubpassBeginInfo *val)1153{1154size_t size = 0;1155/* skip val->{sType,pNext} */1156size += vn_sizeof_VkSubpassContents(&val->contents);1157return size;1158}11591160static inline size_t1161vn_sizeof_VkSubpassBeginInfo(const VkSubpassBeginInfo *val)1162{1163size_t size = 0;11641165size += vn_sizeof_VkStructureType(&val->sType);1166size += vn_sizeof_VkSubpassBeginInfo_pnext(val->pNext);1167size += vn_sizeof_VkSubpassBeginInfo_self(val);11681169return size;1170}11711172static inline void1173vn_encode_VkSubpassBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)1174{1175/* no known/supported struct */1176vn_encode_simple_pointer(enc, NULL);1177}11781179static inline void1180vn_encode_VkSubpassBeginInfo_self(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)1181{1182/* skip val->{sType,pNext} */1183vn_encode_VkSubpassContents(enc, &val->contents);1184}11851186static inline void1187vn_encode_VkSubpassBeginInfo(struct vn_cs_encoder *enc, const VkSubpassBeginInfo *val)1188{1189assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO);1190vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO });1191vn_encode_VkSubpassBeginInfo_pnext(enc, val->pNext);1192vn_encode_VkSubpassBeginInfo_self(enc, val);1193}11941195/* struct VkSubpassEndInfo chain */11961197static inline size_t1198vn_sizeof_VkSubpassEndInfo_pnext(const void *val)1199{1200/* no known/supported struct */1201return vn_sizeof_simple_pointer(NULL);1202}12031204static inline size_t1205vn_sizeof_VkSubpassEndInfo_self(const VkSubpassEndInfo *val)1206{1207size_t size = 0;1208/* skip val->{sType,pNext} */1209return size;1210}12111212static inline size_t1213vn_sizeof_VkSubpassEndInfo(const VkSubpassEndInfo *val)1214{1215size_t size = 0;12161217size += vn_sizeof_VkStructureType(&val->sType);1218size += vn_sizeof_VkSubpassEndInfo_pnext(val->pNext);1219size += vn_sizeof_VkSubpassEndInfo_self(val);12201221return size;1222}12231224static inline void1225vn_encode_VkSubpassEndInfo_pnext(struct vn_cs_encoder *enc, const void *val)1226{1227/* no known/supported struct */1228vn_encode_simple_pointer(enc, NULL);1229}12301231static inline void1232vn_encode_VkSubpassEndInfo_self(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)1233{1234/* skip val->{sType,pNext} */1235}12361237static inline void1238vn_encode_VkSubpassEndInfo(struct vn_cs_encoder *enc, const VkSubpassEndInfo *val)1239{1240assert(val->sType == VK_STRUCTURE_TYPE_SUBPASS_END_INFO);1241vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SUBPASS_END_INFO });1242vn_encode_VkSubpassEndInfo_pnext(enc, val->pNext);1243vn_encode_VkSubpassEndInfo_self(enc, val);1244}12451246static inline size_t vn_sizeof_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)1247{1248const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;1249const VkFlags cmd_flags = 0;1250size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);12511252cmd_size += vn_sizeof_VkDevice(&device);1253cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);1254if (pAllocateInfo)1255cmd_size += vn_sizeof_VkCommandBufferAllocateInfo(pAllocateInfo);1256if (pCommandBuffers) {1257cmd_size += vn_sizeof_array_size(pAllocateInfo->commandBufferCount);1258for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++)1259cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);1260} else {1261cmd_size += vn_sizeof_array_size(0);1262}12631264return cmd_size;1265}12661267static inline void vn_encode_vkAllocateCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)1268{1269const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;12701271vn_encode_VkCommandTypeEXT(enc, &cmd_type);1272vn_encode_VkFlags(enc, &cmd_flags);12731274vn_encode_VkDevice(enc, &device);1275if (vn_encode_simple_pointer(enc, pAllocateInfo))1276vn_encode_VkCommandBufferAllocateInfo(enc, pAllocateInfo);1277if (pCommandBuffers) {1278vn_encode_array_size(enc, pAllocateInfo->commandBufferCount);1279for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++)1280vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);1281} else {1282vn_encode_array_size(enc, 0);1283}1284}12851286static inline size_t vn_sizeof_vkAllocateCommandBuffers_reply(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)1287{1288const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT;1289size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);12901291VkResult ret;1292cmd_size += vn_sizeof_VkResult(&ret);1293/* skip device */1294/* skip pAllocateInfo */1295if (pCommandBuffers) {1296cmd_size += vn_sizeof_array_size(pAllocateInfo->commandBufferCount);1297for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++)1298cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);1299} else {1300cmd_size += vn_sizeof_array_size(0);1301}13021303return cmd_size;1304}13051306static inline VkResult vn_decode_vkAllocateCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)1307{1308VkCommandTypeEXT command_type;1309vn_decode_VkCommandTypeEXT(dec, &command_type);1310assert(command_type == VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT);13111312VkResult ret;1313vn_decode_VkResult(dec, &ret);1314/* skip device */1315/* skip pAllocateInfo */1316if (vn_peek_array_size(dec)) {1317vn_decode_array_size(dec, pAllocateInfo->commandBufferCount);1318for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++)1319vn_decode_VkCommandBuffer(dec, &pCommandBuffers[i]);1320} else {1321vn_decode_array_size(dec, 0);1322pCommandBuffers = NULL;1323}13241325return ret;1326}13271328static inline size_t vn_sizeof_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)1329{1330const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;1331const VkFlags cmd_flags = 0;1332size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);13331334cmd_size += vn_sizeof_VkDevice(&device);1335cmd_size += vn_sizeof_VkCommandPool(&commandPool);1336cmd_size += vn_sizeof_uint32_t(&commandBufferCount);1337if (pCommandBuffers) {1338cmd_size += vn_sizeof_array_size(commandBufferCount);1339for (uint32_t i = 0; i < commandBufferCount; i++)1340cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);1341} else {1342cmd_size += vn_sizeof_array_size(0);1343}13441345return cmd_size;1346}13471348static inline void vn_encode_vkFreeCommandBuffers(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)1349{1350const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;13511352vn_encode_VkCommandTypeEXT(enc, &cmd_type);1353vn_encode_VkFlags(enc, &cmd_flags);13541355vn_encode_VkDevice(enc, &device);1356vn_encode_VkCommandPool(enc, &commandPool);1357vn_encode_uint32_t(enc, &commandBufferCount);1358if (pCommandBuffers) {1359vn_encode_array_size(enc, commandBufferCount);1360for (uint32_t i = 0; i < commandBufferCount; i++)1361vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);1362} else {1363vn_encode_array_size(enc, 0);1364}1365}13661367static inline size_t vn_sizeof_vkFreeCommandBuffers_reply(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)1368{1369const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT;1370size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);13711372/* skip device */1373/* skip commandPool */1374/* skip commandBufferCount */1375/* skip pCommandBuffers */13761377return cmd_size;1378}13791380static inline void vn_decode_vkFreeCommandBuffers_reply(struct vn_cs_decoder *dec, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)1381{1382VkCommandTypeEXT command_type;1383vn_decode_VkCommandTypeEXT(dec, &command_type);1384assert(command_type == VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT);13851386/* skip device */1387/* skip commandPool */1388/* skip commandBufferCount */1389/* skip pCommandBuffers */1390}13911392static inline size_t vn_sizeof_vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)1393{1394const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;1395const VkFlags cmd_flags = 0;1396size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);13971398cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1399cmd_size += vn_sizeof_simple_pointer(pBeginInfo);1400if (pBeginInfo)1401cmd_size += vn_sizeof_VkCommandBufferBeginInfo(pBeginInfo);14021403return cmd_size;1404}14051406static inline void vn_encode_vkBeginCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)1407{1408const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;14091410vn_encode_VkCommandTypeEXT(enc, &cmd_type);1411vn_encode_VkFlags(enc, &cmd_flags);14121413vn_encode_VkCommandBuffer(enc, &commandBuffer);1414if (vn_encode_simple_pointer(enc, pBeginInfo))1415vn_encode_VkCommandBufferBeginInfo(enc, pBeginInfo);1416}14171418static inline size_t vn_sizeof_vkBeginCommandBuffer_reply(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)1419{1420const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT;1421size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);14221423VkResult ret;1424cmd_size += vn_sizeof_VkResult(&ret);1425/* skip commandBuffer */1426/* skip pBeginInfo */14271428return cmd_size;1429}14301431static inline VkResult vn_decode_vkBeginCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)1432{1433VkCommandTypeEXT command_type;1434vn_decode_VkCommandTypeEXT(dec, &command_type);1435assert(command_type == VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT);14361437VkResult ret;1438vn_decode_VkResult(dec, &ret);1439/* skip commandBuffer */1440/* skip pBeginInfo */14411442return ret;1443}14441445static inline size_t vn_sizeof_vkEndCommandBuffer(VkCommandBuffer commandBuffer)1446{1447const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;1448const VkFlags cmd_flags = 0;1449size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);14501451cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);14521453return cmd_size;1454}14551456static inline void vn_encode_vkEndCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)1457{1458const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;14591460vn_encode_VkCommandTypeEXT(enc, &cmd_type);1461vn_encode_VkFlags(enc, &cmd_flags);14621463vn_encode_VkCommandBuffer(enc, &commandBuffer);1464}14651466static inline size_t vn_sizeof_vkEndCommandBuffer_reply(VkCommandBuffer commandBuffer)1467{1468const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEndCommandBuffer_EXT;1469size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);14701471VkResult ret;1472cmd_size += vn_sizeof_VkResult(&ret);1473/* skip commandBuffer */14741475return cmd_size;1476}14771478static inline VkResult vn_decode_vkEndCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)1479{1480VkCommandTypeEXT command_type;1481vn_decode_VkCommandTypeEXT(dec, &command_type);1482assert(command_type == VK_COMMAND_TYPE_vkEndCommandBuffer_EXT);14831484VkResult ret;1485vn_decode_VkResult(dec, &ret);1486/* skip commandBuffer */14871488return ret;1489}14901491static inline size_t vn_sizeof_vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)1492{1493const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;1494const VkFlags cmd_flags = 0;1495size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);14961497cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1498cmd_size += vn_sizeof_VkFlags(&flags);14991500return cmd_size;1501}15021503static inline void vn_encode_vkResetCommandBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)1504{1505const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;15061507vn_encode_VkCommandTypeEXT(enc, &cmd_type);1508vn_encode_VkFlags(enc, &cmd_flags);15091510vn_encode_VkCommandBuffer(enc, &commandBuffer);1511vn_encode_VkFlags(enc, &flags);1512}15131514static inline size_t vn_sizeof_vkResetCommandBuffer_reply(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)1515{1516const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkResetCommandBuffer_EXT;1517size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);15181519VkResult ret;1520cmd_size += vn_sizeof_VkResult(&ret);1521/* skip commandBuffer */1522/* skip flags */15231524return cmd_size;1525}15261527static inline VkResult vn_decode_vkResetCommandBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)1528{1529VkCommandTypeEXT command_type;1530vn_decode_VkCommandTypeEXT(dec, &command_type);1531assert(command_type == VK_COMMAND_TYPE_vkResetCommandBuffer_EXT);15321533VkResult ret;1534vn_decode_VkResult(dec, &ret);1535/* skip commandBuffer */1536/* skip flags */15371538return ret;1539}15401541static inline size_t vn_sizeof_vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)1542{1543const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;1544const VkFlags cmd_flags = 0;1545size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);15461547cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1548cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);1549cmd_size += vn_sizeof_VkPipeline(&pipeline);15501551return cmd_size;1552}15531554static inline void vn_encode_vkCmdBindPipeline(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)1555{1556const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;15571558vn_encode_VkCommandTypeEXT(enc, &cmd_type);1559vn_encode_VkFlags(enc, &cmd_flags);15601561vn_encode_VkCommandBuffer(enc, &commandBuffer);1562vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);1563vn_encode_VkPipeline(enc, &pipeline);1564}15651566static inline size_t vn_sizeof_vkCmdBindPipeline_reply(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)1567{1568const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindPipeline_EXT;1569size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);15701571/* skip commandBuffer */1572/* skip pipelineBindPoint */1573/* skip pipeline */15741575return cmd_size;1576}15771578static inline void vn_decode_vkCmdBindPipeline_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)1579{1580VkCommandTypeEXT command_type;1581vn_decode_VkCommandTypeEXT(dec, &command_type);1582assert(command_type == VK_COMMAND_TYPE_vkCmdBindPipeline_EXT);15831584/* skip commandBuffer */1585/* skip pipelineBindPoint */1586/* skip pipeline */1587}15881589static inline size_t vn_sizeof_vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)1590{1591const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;1592const VkFlags cmd_flags = 0;1593size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);15941595cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1596cmd_size += vn_sizeof_uint32_t(&firstViewport);1597cmd_size += vn_sizeof_uint32_t(&viewportCount);1598if (pViewports) {1599cmd_size += vn_sizeof_array_size(viewportCount);1600for (uint32_t i = 0; i < viewportCount; i++)1601cmd_size += vn_sizeof_VkViewport(&pViewports[i]);1602} else {1603cmd_size += vn_sizeof_array_size(0);1604}16051606return cmd_size;1607}16081609static inline void vn_encode_vkCmdSetViewport(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)1610{1611const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;16121613vn_encode_VkCommandTypeEXT(enc, &cmd_type);1614vn_encode_VkFlags(enc, &cmd_flags);16151616vn_encode_VkCommandBuffer(enc, &commandBuffer);1617vn_encode_uint32_t(enc, &firstViewport);1618vn_encode_uint32_t(enc, &viewportCount);1619if (pViewports) {1620vn_encode_array_size(enc, viewportCount);1621for (uint32_t i = 0; i < viewportCount; i++)1622vn_encode_VkViewport(enc, &pViewports[i]);1623} else {1624vn_encode_array_size(enc, 0);1625}1626}16271628static inline size_t vn_sizeof_vkCmdSetViewport_reply(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)1629{1630const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetViewport_EXT;1631size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);16321633/* skip commandBuffer */1634/* skip firstViewport */1635/* skip viewportCount */1636/* skip pViewports */16371638return cmd_size;1639}16401641static inline void vn_decode_vkCmdSetViewport_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)1642{1643VkCommandTypeEXT command_type;1644vn_decode_VkCommandTypeEXT(dec, &command_type);1645assert(command_type == VK_COMMAND_TYPE_vkCmdSetViewport_EXT);16461647/* skip commandBuffer */1648/* skip firstViewport */1649/* skip viewportCount */1650/* skip pViewports */1651}16521653static inline size_t vn_sizeof_vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)1654{1655const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;1656const VkFlags cmd_flags = 0;1657size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);16581659cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1660cmd_size += vn_sizeof_uint32_t(&firstScissor);1661cmd_size += vn_sizeof_uint32_t(&scissorCount);1662if (pScissors) {1663cmd_size += vn_sizeof_array_size(scissorCount);1664for (uint32_t i = 0; i < scissorCount; i++)1665cmd_size += vn_sizeof_VkRect2D(&pScissors[i]);1666} else {1667cmd_size += vn_sizeof_array_size(0);1668}16691670return cmd_size;1671}16721673static inline void vn_encode_vkCmdSetScissor(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)1674{1675const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;16761677vn_encode_VkCommandTypeEXT(enc, &cmd_type);1678vn_encode_VkFlags(enc, &cmd_flags);16791680vn_encode_VkCommandBuffer(enc, &commandBuffer);1681vn_encode_uint32_t(enc, &firstScissor);1682vn_encode_uint32_t(enc, &scissorCount);1683if (pScissors) {1684vn_encode_array_size(enc, scissorCount);1685for (uint32_t i = 0; i < scissorCount; i++)1686vn_encode_VkRect2D(enc, &pScissors[i]);1687} else {1688vn_encode_array_size(enc, 0);1689}1690}16911692static inline size_t vn_sizeof_vkCmdSetScissor_reply(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)1693{1694const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetScissor_EXT;1695size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);16961697/* skip commandBuffer */1698/* skip firstScissor */1699/* skip scissorCount */1700/* skip pScissors */17011702return cmd_size;1703}17041705static inline void vn_decode_vkCmdSetScissor_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)1706{1707VkCommandTypeEXT command_type;1708vn_decode_VkCommandTypeEXT(dec, &command_type);1709assert(command_type == VK_COMMAND_TYPE_vkCmdSetScissor_EXT);17101711/* skip commandBuffer */1712/* skip firstScissor */1713/* skip scissorCount */1714/* skip pScissors */1715}17161717static inline size_t vn_sizeof_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)1718{1719const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;1720const VkFlags cmd_flags = 0;1721size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);17221723cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1724cmd_size += vn_sizeof_float(&lineWidth);17251726return cmd_size;1727}17281729static inline void vn_encode_vkCmdSetLineWidth(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth)1730{1731const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;17321733vn_encode_VkCommandTypeEXT(enc, &cmd_type);1734vn_encode_VkFlags(enc, &cmd_flags);17351736vn_encode_VkCommandBuffer(enc, &commandBuffer);1737vn_encode_float(enc, &lineWidth);1738}17391740static inline size_t vn_sizeof_vkCmdSetLineWidth_reply(VkCommandBuffer commandBuffer, float lineWidth)1741{1742const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT;1743size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);17441745/* skip commandBuffer */1746/* skip lineWidth */17471748return cmd_size;1749}17501751static inline void vn_decode_vkCmdSetLineWidth_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float lineWidth)1752{1753VkCommandTypeEXT command_type;1754vn_decode_VkCommandTypeEXT(dec, &command_type);1755assert(command_type == VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT);17561757/* skip commandBuffer */1758/* skip lineWidth */1759}17601761static inline size_t vn_sizeof_vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)1762{1763const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;1764const VkFlags cmd_flags = 0;1765size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);17661767cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1768cmd_size += vn_sizeof_float(&depthBiasConstantFactor);1769cmd_size += vn_sizeof_float(&depthBiasClamp);1770cmd_size += vn_sizeof_float(&depthBiasSlopeFactor);17711772return cmd_size;1773}17741775static inline void vn_encode_vkCmdSetDepthBias(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)1776{1777const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;17781779vn_encode_VkCommandTypeEXT(enc, &cmd_type);1780vn_encode_VkFlags(enc, &cmd_flags);17811782vn_encode_VkCommandBuffer(enc, &commandBuffer);1783vn_encode_float(enc, &depthBiasConstantFactor);1784vn_encode_float(enc, &depthBiasClamp);1785vn_encode_float(enc, &depthBiasSlopeFactor);1786}17871788static inline size_t vn_sizeof_vkCmdSetDepthBias_reply(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)1789{1790const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT;1791size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);17921793/* skip commandBuffer */1794/* skip depthBiasConstantFactor */1795/* skip depthBiasClamp */1796/* skip depthBiasSlopeFactor */17971798return cmd_size;1799}18001801static inline void vn_decode_vkCmdSetDepthBias_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)1802{1803VkCommandTypeEXT command_type;1804vn_decode_VkCommandTypeEXT(dec, &command_type);1805assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT);18061807/* skip commandBuffer */1808/* skip depthBiasConstantFactor */1809/* skip depthBiasClamp */1810/* skip depthBiasSlopeFactor */1811}18121813static inline size_t vn_sizeof_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])1814{1815const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;1816const VkFlags cmd_flags = 0;1817size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);18181819cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1820cmd_size += vn_sizeof_array_size(4);1821cmd_size += vn_sizeof_float_array(blendConstants, 4);18221823return cmd_size;1824}18251826static inline void vn_encode_vkCmdSetBlendConstants(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const float blendConstants[4])1827{1828const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;18291830vn_encode_VkCommandTypeEXT(enc, &cmd_type);1831vn_encode_VkFlags(enc, &cmd_flags);18321833vn_encode_VkCommandBuffer(enc, &commandBuffer);1834vn_encode_array_size(enc, 4);1835vn_encode_float_array(enc, blendConstants, 4);1836}18371838static inline size_t vn_sizeof_vkCmdSetBlendConstants_reply(VkCommandBuffer commandBuffer, const float blendConstants[4])1839{1840const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT;1841size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);18421843/* skip commandBuffer */1844/* skip blendConstants */18451846return cmd_size;1847}18481849static inline void vn_decode_vkCmdSetBlendConstants_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const float blendConstants[4])1850{1851VkCommandTypeEXT command_type;1852vn_decode_VkCommandTypeEXT(dec, &command_type);1853assert(command_type == VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT);18541855/* skip commandBuffer */1856/* skip blendConstants */1857}18581859static inline size_t vn_sizeof_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)1860{1861const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;1862const VkFlags cmd_flags = 0;1863size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);18641865cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1866cmd_size += vn_sizeof_float(&minDepthBounds);1867cmd_size += vn_sizeof_float(&maxDepthBounds);18681869return cmd_size;1870}18711872static inline void vn_encode_vkCmdSetDepthBounds(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)1873{1874const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;18751876vn_encode_VkCommandTypeEXT(enc, &cmd_type);1877vn_encode_VkFlags(enc, &cmd_flags);18781879vn_encode_VkCommandBuffer(enc, &commandBuffer);1880vn_encode_float(enc, &minDepthBounds);1881vn_encode_float(enc, &maxDepthBounds);1882}18831884static inline size_t vn_sizeof_vkCmdSetDepthBounds_reply(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)1885{1886const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT;1887size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);18881889/* skip commandBuffer */1890/* skip minDepthBounds */1891/* skip maxDepthBounds */18921893return cmd_size;1894}18951896static inline void vn_decode_vkCmdSetDepthBounds_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)1897{1898VkCommandTypeEXT command_type;1899vn_decode_VkCommandTypeEXT(dec, &command_type);1900assert(command_type == VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT);19011902/* skip commandBuffer */1903/* skip minDepthBounds */1904/* skip maxDepthBounds */1905}19061907static inline size_t vn_sizeof_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)1908{1909const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;1910const VkFlags cmd_flags = 0;1911size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);19121913cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1914cmd_size += vn_sizeof_VkFlags(&faceMask);1915cmd_size += vn_sizeof_uint32_t(&compareMask);19161917return cmd_size;1918}19191920static inline void vn_encode_vkCmdSetStencilCompareMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)1921{1922const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;19231924vn_encode_VkCommandTypeEXT(enc, &cmd_type);1925vn_encode_VkFlags(enc, &cmd_flags);19261927vn_encode_VkCommandBuffer(enc, &commandBuffer);1928vn_encode_VkFlags(enc, &faceMask);1929vn_encode_uint32_t(enc, &compareMask);1930}19311932static inline size_t vn_sizeof_vkCmdSetStencilCompareMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)1933{1934const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT;1935size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);19361937/* skip commandBuffer */1938/* skip faceMask */1939/* skip compareMask */19401941return cmd_size;1942}19431944static inline void vn_decode_vkCmdSetStencilCompareMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)1945{1946VkCommandTypeEXT command_type;1947vn_decode_VkCommandTypeEXT(dec, &command_type);1948assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT);19491950/* skip commandBuffer */1951/* skip faceMask */1952/* skip compareMask */1953}19541955static inline size_t vn_sizeof_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)1956{1957const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;1958const VkFlags cmd_flags = 0;1959size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);19601961cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);1962cmd_size += vn_sizeof_VkFlags(&faceMask);1963cmd_size += vn_sizeof_uint32_t(&writeMask);19641965return cmd_size;1966}19671968static inline void vn_encode_vkCmdSetStencilWriteMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)1969{1970const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;19711972vn_encode_VkCommandTypeEXT(enc, &cmd_type);1973vn_encode_VkFlags(enc, &cmd_flags);19741975vn_encode_VkCommandBuffer(enc, &commandBuffer);1976vn_encode_VkFlags(enc, &faceMask);1977vn_encode_uint32_t(enc, &writeMask);1978}19791980static inline size_t vn_sizeof_vkCmdSetStencilWriteMask_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)1981{1982const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT;1983size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);19841985/* skip commandBuffer */1986/* skip faceMask */1987/* skip writeMask */19881989return cmd_size;1990}19911992static inline void vn_decode_vkCmdSetStencilWriteMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)1993{1994VkCommandTypeEXT command_type;1995vn_decode_VkCommandTypeEXT(dec, &command_type);1996assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT);19971998/* skip commandBuffer */1999/* skip faceMask */2000/* skip writeMask */2001}20022003static inline size_t vn_sizeof_vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)2004{2005const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;2006const VkFlags cmd_flags = 0;2007size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);20082009cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2010cmd_size += vn_sizeof_VkFlags(&faceMask);2011cmd_size += vn_sizeof_uint32_t(&reference);20122013return cmd_size;2014}20152016static inline void vn_encode_vkCmdSetStencilReference(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)2017{2018const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;20192020vn_encode_VkCommandTypeEXT(enc, &cmd_type);2021vn_encode_VkFlags(enc, &cmd_flags);20222023vn_encode_VkCommandBuffer(enc, &commandBuffer);2024vn_encode_VkFlags(enc, &faceMask);2025vn_encode_uint32_t(enc, &reference);2026}20272028static inline size_t vn_sizeof_vkCmdSetStencilReference_reply(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)2029{2030const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT;2031size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);20322033/* skip commandBuffer */2034/* skip faceMask */2035/* skip reference */20362037return cmd_size;2038}20392040static inline void vn_decode_vkCmdSetStencilReference_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)2041{2042VkCommandTypeEXT command_type;2043vn_decode_VkCommandTypeEXT(dec, &command_type);2044assert(command_type == VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT);20452046/* skip commandBuffer */2047/* skip faceMask */2048/* skip reference */2049}20502051static 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)2052{2053const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;2054const VkFlags cmd_flags = 0;2055size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);20562057cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2058cmd_size += vn_sizeof_VkPipelineBindPoint(&pipelineBindPoint);2059cmd_size += vn_sizeof_VkPipelineLayout(&layout);2060cmd_size += vn_sizeof_uint32_t(&firstSet);2061cmd_size += vn_sizeof_uint32_t(&descriptorSetCount);2062if (pDescriptorSets) {2063cmd_size += vn_sizeof_array_size(descriptorSetCount);2064for (uint32_t i = 0; i < descriptorSetCount; i++)2065cmd_size += vn_sizeof_VkDescriptorSet(&pDescriptorSets[i]);2066} else {2067cmd_size += vn_sizeof_array_size(0);2068}2069cmd_size += vn_sizeof_uint32_t(&dynamicOffsetCount);2070if (pDynamicOffsets) {2071cmd_size += vn_sizeof_array_size(dynamicOffsetCount);2072cmd_size += vn_sizeof_uint32_t_array(pDynamicOffsets, dynamicOffsetCount);2073} else {2074cmd_size += vn_sizeof_array_size(0);2075}20762077return cmd_size;2078}20792080static 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)2081{2082const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;20832084vn_encode_VkCommandTypeEXT(enc, &cmd_type);2085vn_encode_VkFlags(enc, &cmd_flags);20862087vn_encode_VkCommandBuffer(enc, &commandBuffer);2088vn_encode_VkPipelineBindPoint(enc, &pipelineBindPoint);2089vn_encode_VkPipelineLayout(enc, &layout);2090vn_encode_uint32_t(enc, &firstSet);2091vn_encode_uint32_t(enc, &descriptorSetCount);2092if (pDescriptorSets) {2093vn_encode_array_size(enc, descriptorSetCount);2094for (uint32_t i = 0; i < descriptorSetCount; i++)2095vn_encode_VkDescriptorSet(enc, &pDescriptorSets[i]);2096} else {2097vn_encode_array_size(enc, 0);2098}2099vn_encode_uint32_t(enc, &dynamicOffsetCount);2100if (pDynamicOffsets) {2101vn_encode_array_size(enc, dynamicOffsetCount);2102vn_encode_uint32_t_array(enc, pDynamicOffsets, dynamicOffsetCount);2103} else {2104vn_encode_array_size(enc, 0);2105}2106}21072108static 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)2109{2110const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT;2111size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);21122113/* skip commandBuffer */2114/* skip pipelineBindPoint */2115/* skip layout */2116/* skip firstSet */2117/* skip descriptorSetCount */2118/* skip pDescriptorSets */2119/* skip dynamicOffsetCount */2120/* skip pDynamicOffsets */21212122return cmd_size;2123}21242125static 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)2126{2127VkCommandTypeEXT command_type;2128vn_decode_VkCommandTypeEXT(dec, &command_type);2129assert(command_type == VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT);21302131/* skip commandBuffer */2132/* skip pipelineBindPoint */2133/* skip layout */2134/* skip firstSet */2135/* skip descriptorSetCount */2136/* skip pDescriptorSets */2137/* skip dynamicOffsetCount */2138/* skip pDynamicOffsets */2139}21402141static inline size_t vn_sizeof_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)2142{2143const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;2144const VkFlags cmd_flags = 0;2145size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);21462147cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2148cmd_size += vn_sizeof_VkBuffer(&buffer);2149cmd_size += vn_sizeof_VkDeviceSize(&offset);2150cmd_size += vn_sizeof_VkIndexType(&indexType);21512152return cmd_size;2153}21542155static inline void vn_encode_vkCmdBindIndexBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)2156{2157const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;21582159vn_encode_VkCommandTypeEXT(enc, &cmd_type);2160vn_encode_VkFlags(enc, &cmd_flags);21612162vn_encode_VkCommandBuffer(enc, &commandBuffer);2163vn_encode_VkBuffer(enc, &buffer);2164vn_encode_VkDeviceSize(enc, &offset);2165vn_encode_VkIndexType(enc, &indexType);2166}21672168static inline size_t vn_sizeof_vkCmdBindIndexBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)2169{2170const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT;2171size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);21722173/* skip commandBuffer */2174/* skip buffer */2175/* skip offset */2176/* skip indexType */21772178return cmd_size;2179}21802181static inline void vn_decode_vkCmdBindIndexBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)2182{2183VkCommandTypeEXT command_type;2184vn_decode_VkCommandTypeEXT(dec, &command_type);2185assert(command_type == VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT);21862187/* skip commandBuffer */2188/* skip buffer */2189/* skip offset */2190/* skip indexType */2191}21922193static inline size_t vn_sizeof_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)2194{2195const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;2196const VkFlags cmd_flags = 0;2197size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);21982199cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2200cmd_size += vn_sizeof_uint32_t(&firstBinding);2201cmd_size += vn_sizeof_uint32_t(&bindingCount);2202if (pBuffers) {2203cmd_size += vn_sizeof_array_size(bindingCount);2204for (uint32_t i = 0; i < bindingCount; i++)2205cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);2206} else {2207cmd_size += vn_sizeof_array_size(0);2208}2209if (pOffsets) {2210cmd_size += vn_sizeof_array_size(bindingCount);2211cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);2212} else {2213cmd_size += vn_sizeof_array_size(0);2214}22152216return cmd_size;2217}22182219static 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)2220{2221const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;22222223vn_encode_VkCommandTypeEXT(enc, &cmd_type);2224vn_encode_VkFlags(enc, &cmd_flags);22252226vn_encode_VkCommandBuffer(enc, &commandBuffer);2227vn_encode_uint32_t(enc, &firstBinding);2228vn_encode_uint32_t(enc, &bindingCount);2229if (pBuffers) {2230vn_encode_array_size(enc, bindingCount);2231for (uint32_t i = 0; i < bindingCount; i++)2232vn_encode_VkBuffer(enc, &pBuffers[i]);2233} else {2234vn_encode_array_size(enc, 0);2235}2236if (pOffsets) {2237vn_encode_array_size(enc, bindingCount);2238vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);2239} else {2240vn_encode_array_size(enc, 0);2241}2242}22432244static inline size_t vn_sizeof_vkCmdBindVertexBuffers_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)2245{2246const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT;2247size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);22482249/* skip commandBuffer */2250/* skip firstBinding */2251/* skip bindingCount */2252/* skip pBuffers */2253/* skip pOffsets */22542255return cmd_size;2256}22572258static 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)2259{2260VkCommandTypeEXT command_type;2261vn_decode_VkCommandTypeEXT(dec, &command_type);2262assert(command_type == VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT);22632264/* skip commandBuffer */2265/* skip firstBinding */2266/* skip bindingCount */2267/* skip pBuffers */2268/* skip pOffsets */2269}22702271static inline size_t vn_sizeof_vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)2272{2273const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;2274const VkFlags cmd_flags = 0;2275size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);22762277cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2278cmd_size += vn_sizeof_uint32_t(&vertexCount);2279cmd_size += vn_sizeof_uint32_t(&instanceCount);2280cmd_size += vn_sizeof_uint32_t(&firstVertex);2281cmd_size += vn_sizeof_uint32_t(&firstInstance);22822283return cmd_size;2284}22852286static 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)2287{2288const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;22892290vn_encode_VkCommandTypeEXT(enc, &cmd_type);2291vn_encode_VkFlags(enc, &cmd_flags);22922293vn_encode_VkCommandBuffer(enc, &commandBuffer);2294vn_encode_uint32_t(enc, &vertexCount);2295vn_encode_uint32_t(enc, &instanceCount);2296vn_encode_uint32_t(enc, &firstVertex);2297vn_encode_uint32_t(enc, &firstInstance);2298}22992300static inline size_t vn_sizeof_vkCmdDraw_reply(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)2301{2302const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDraw_EXT;2303size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);23042305/* skip commandBuffer */2306/* skip vertexCount */2307/* skip instanceCount */2308/* skip firstVertex */2309/* skip firstInstance */23102311return cmd_size;2312}23132314static 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)2315{2316VkCommandTypeEXT command_type;2317vn_decode_VkCommandTypeEXT(dec, &command_type);2318assert(command_type == VK_COMMAND_TYPE_vkCmdDraw_EXT);23192320/* skip commandBuffer */2321/* skip vertexCount */2322/* skip instanceCount */2323/* skip firstVertex */2324/* skip firstInstance */2325}23262327static inline size_t vn_sizeof_vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)2328{2329const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;2330const VkFlags cmd_flags = 0;2331size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);23322333cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2334cmd_size += vn_sizeof_uint32_t(&indexCount);2335cmd_size += vn_sizeof_uint32_t(&instanceCount);2336cmd_size += vn_sizeof_uint32_t(&firstIndex);2337cmd_size += vn_sizeof_int32_t(&vertexOffset);2338cmd_size += vn_sizeof_uint32_t(&firstInstance);23392340return cmd_size;2341}23422343static 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)2344{2345const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;23462347vn_encode_VkCommandTypeEXT(enc, &cmd_type);2348vn_encode_VkFlags(enc, &cmd_flags);23492350vn_encode_VkCommandBuffer(enc, &commandBuffer);2351vn_encode_uint32_t(enc, &indexCount);2352vn_encode_uint32_t(enc, &instanceCount);2353vn_encode_uint32_t(enc, &firstIndex);2354vn_encode_int32_t(enc, &vertexOffset);2355vn_encode_uint32_t(enc, &firstInstance);2356}23572358static inline size_t vn_sizeof_vkCmdDrawIndexed_reply(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)2359{2360const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT;2361size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);23622363/* skip commandBuffer */2364/* skip indexCount */2365/* skip instanceCount */2366/* skip firstIndex */2367/* skip vertexOffset */2368/* skip firstInstance */23692370return cmd_size;2371}23722373static 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)2374{2375VkCommandTypeEXT command_type;2376vn_decode_VkCommandTypeEXT(dec, &command_type);2377assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT);23782379/* skip commandBuffer */2380/* skip indexCount */2381/* skip instanceCount */2382/* skip firstIndex */2383/* skip vertexOffset */2384/* skip firstInstance */2385}23862387static inline size_t vn_sizeof_vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2388{2389const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;2390const VkFlags cmd_flags = 0;2391size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);23922393cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2394cmd_size += vn_sizeof_VkBuffer(&buffer);2395cmd_size += vn_sizeof_VkDeviceSize(&offset);2396cmd_size += vn_sizeof_uint32_t(&drawCount);2397cmd_size += vn_sizeof_uint32_t(&stride);23982399return cmd_size;2400}24012402static 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)2403{2404const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;24052406vn_encode_VkCommandTypeEXT(enc, &cmd_type);2407vn_encode_VkFlags(enc, &cmd_flags);24082409vn_encode_VkCommandBuffer(enc, &commandBuffer);2410vn_encode_VkBuffer(enc, &buffer);2411vn_encode_VkDeviceSize(enc, &offset);2412vn_encode_uint32_t(enc, &drawCount);2413vn_encode_uint32_t(enc, &stride);2414}24152416static inline size_t vn_sizeof_vkCmdDrawIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2417{2418const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT;2419size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);24202421/* skip commandBuffer */2422/* skip buffer */2423/* skip offset */2424/* skip drawCount */2425/* skip stride */24262427return cmd_size;2428}24292430static inline void vn_decode_vkCmdDrawIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2431{2432VkCommandTypeEXT command_type;2433vn_decode_VkCommandTypeEXT(dec, &command_type);2434assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT);24352436/* skip commandBuffer */2437/* skip buffer */2438/* skip offset */2439/* skip drawCount */2440/* skip stride */2441}24422443static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2444{2445const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;2446const VkFlags cmd_flags = 0;2447size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);24482449cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2450cmd_size += vn_sizeof_VkBuffer(&buffer);2451cmd_size += vn_sizeof_VkDeviceSize(&offset);2452cmd_size += vn_sizeof_uint32_t(&drawCount);2453cmd_size += vn_sizeof_uint32_t(&stride);24542455return cmd_size;2456}24572458static 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)2459{2460const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;24612462vn_encode_VkCommandTypeEXT(enc, &cmd_type);2463vn_encode_VkFlags(enc, &cmd_flags);24642465vn_encode_VkCommandBuffer(enc, &commandBuffer);2466vn_encode_VkBuffer(enc, &buffer);2467vn_encode_VkDeviceSize(enc, &offset);2468vn_encode_uint32_t(enc, &drawCount);2469vn_encode_uint32_t(enc, &stride);2470}24712472static inline size_t vn_sizeof_vkCmdDrawIndexedIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2473{2474const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT;2475size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);24762477/* skip commandBuffer */2478/* skip buffer */2479/* skip offset */2480/* skip drawCount */2481/* skip stride */24822483return cmd_size;2484}24852486static inline void vn_decode_vkCmdDrawIndexedIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)2487{2488VkCommandTypeEXT command_type;2489vn_decode_VkCommandTypeEXT(dec, &command_type);2490assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT);24912492/* skip commandBuffer */2493/* skip buffer */2494/* skip offset */2495/* skip drawCount */2496/* skip stride */2497}24982499static inline size_t vn_sizeof_vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)2500{2501const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;2502const VkFlags cmd_flags = 0;2503size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);25042505cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2506cmd_size += vn_sizeof_uint32_t(&groupCountX);2507cmd_size += vn_sizeof_uint32_t(&groupCountY);2508cmd_size += vn_sizeof_uint32_t(&groupCountZ);25092510return cmd_size;2511}25122513static inline void vn_encode_vkCmdDispatch(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)2514{2515const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;25162517vn_encode_VkCommandTypeEXT(enc, &cmd_type);2518vn_encode_VkFlags(enc, &cmd_flags);25192520vn_encode_VkCommandBuffer(enc, &commandBuffer);2521vn_encode_uint32_t(enc, &groupCountX);2522vn_encode_uint32_t(enc, &groupCountY);2523vn_encode_uint32_t(enc, &groupCountZ);2524}25252526static inline size_t vn_sizeof_vkCmdDispatch_reply(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)2527{2528const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatch_EXT;2529size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);25302531/* skip commandBuffer */2532/* skip groupCountX */2533/* skip groupCountY */2534/* skip groupCountZ */25352536return cmd_size;2537}25382539static inline void vn_decode_vkCmdDispatch_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)2540{2541VkCommandTypeEXT command_type;2542vn_decode_VkCommandTypeEXT(dec, &command_type);2543assert(command_type == VK_COMMAND_TYPE_vkCmdDispatch_EXT);25442545/* skip commandBuffer */2546/* skip groupCountX */2547/* skip groupCountY */2548/* skip groupCountZ */2549}25502551static inline size_t vn_sizeof_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)2552{2553const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;2554const VkFlags cmd_flags = 0;2555size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);25562557cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2558cmd_size += vn_sizeof_VkBuffer(&buffer);2559cmd_size += vn_sizeof_VkDeviceSize(&offset);25602561return cmd_size;2562}25632564static inline void vn_encode_vkCmdDispatchIndirect(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)2565{2566const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;25672568vn_encode_VkCommandTypeEXT(enc, &cmd_type);2569vn_encode_VkFlags(enc, &cmd_flags);25702571vn_encode_VkCommandBuffer(enc, &commandBuffer);2572vn_encode_VkBuffer(enc, &buffer);2573vn_encode_VkDeviceSize(enc, &offset);2574}25752576static inline size_t vn_sizeof_vkCmdDispatchIndirect_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)2577{2578const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT;2579size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);25802581/* skip commandBuffer */2582/* skip buffer */2583/* skip offset */25842585return cmd_size;2586}25872588static inline void vn_decode_vkCmdDispatchIndirect_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)2589{2590VkCommandTypeEXT command_type;2591vn_decode_VkCommandTypeEXT(dec, &command_type);2592assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT);25932594/* skip commandBuffer */2595/* skip buffer */2596/* skip offset */2597}25982599static inline size_t vn_sizeof_vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)2600{2601const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;2602const VkFlags cmd_flags = 0;2603size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);26042605cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2606cmd_size += vn_sizeof_VkBuffer(&srcBuffer);2607cmd_size += vn_sizeof_VkBuffer(&dstBuffer);2608cmd_size += vn_sizeof_uint32_t(®ionCount);2609if (pRegions) {2610cmd_size += vn_sizeof_array_size(regionCount);2611for (uint32_t i = 0; i < regionCount; i++)2612cmd_size += vn_sizeof_VkBufferCopy(&pRegions[i]);2613} else {2614cmd_size += vn_sizeof_array_size(0);2615}26162617return cmd_size;2618}26192620static 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)2621{2622const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;26232624vn_encode_VkCommandTypeEXT(enc, &cmd_type);2625vn_encode_VkFlags(enc, &cmd_flags);26262627vn_encode_VkCommandBuffer(enc, &commandBuffer);2628vn_encode_VkBuffer(enc, &srcBuffer);2629vn_encode_VkBuffer(enc, &dstBuffer);2630vn_encode_uint32_t(enc, ®ionCount);2631if (pRegions) {2632vn_encode_array_size(enc, regionCount);2633for (uint32_t i = 0; i < regionCount; i++)2634vn_encode_VkBufferCopy(enc, &pRegions[i]);2635} else {2636vn_encode_array_size(enc, 0);2637}2638}26392640static inline size_t vn_sizeof_vkCmdCopyBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)2641{2642const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT;2643size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);26442645/* skip commandBuffer */2646/* skip srcBuffer */2647/* skip dstBuffer */2648/* skip regionCount */2649/* skip pRegions */26502651return cmd_size;2652}26532654static inline void vn_decode_vkCmdCopyBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)2655{2656VkCommandTypeEXT command_type;2657vn_decode_VkCommandTypeEXT(dec, &command_type);2658assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT);26592660/* skip commandBuffer */2661/* skip srcBuffer */2662/* skip dstBuffer */2663/* skip regionCount */2664/* skip pRegions */2665}26662667static inline size_t vn_sizeof_vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)2668{2669const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;2670const VkFlags cmd_flags = 0;2671size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);26722673cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2674cmd_size += vn_sizeof_VkImage(&srcImage);2675cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);2676cmd_size += vn_sizeof_VkImage(&dstImage);2677cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);2678cmd_size += vn_sizeof_uint32_t(®ionCount);2679if (pRegions) {2680cmd_size += vn_sizeof_array_size(regionCount);2681for (uint32_t i = 0; i < regionCount; i++)2682cmd_size += vn_sizeof_VkImageCopy(&pRegions[i]);2683} else {2684cmd_size += vn_sizeof_array_size(0);2685}26862687return cmd_size;2688}26892690static 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)2691{2692const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;26932694vn_encode_VkCommandTypeEXT(enc, &cmd_type);2695vn_encode_VkFlags(enc, &cmd_flags);26962697vn_encode_VkCommandBuffer(enc, &commandBuffer);2698vn_encode_VkImage(enc, &srcImage);2699vn_encode_VkImageLayout(enc, &srcImageLayout);2700vn_encode_VkImage(enc, &dstImage);2701vn_encode_VkImageLayout(enc, &dstImageLayout);2702vn_encode_uint32_t(enc, ®ionCount);2703if (pRegions) {2704vn_encode_array_size(enc, regionCount);2705for (uint32_t i = 0; i < regionCount; i++)2706vn_encode_VkImageCopy(enc, &pRegions[i]);2707} else {2708vn_encode_array_size(enc, 0);2709}2710}27112712static inline size_t vn_sizeof_vkCmdCopyImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)2713{2714const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImage_EXT;2715size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);27162717/* skip commandBuffer */2718/* skip srcImage */2719/* skip srcImageLayout */2720/* skip dstImage */2721/* skip dstImageLayout */2722/* skip regionCount */2723/* skip pRegions */27242725return cmd_size;2726}27272728static 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)2729{2730VkCommandTypeEXT command_type;2731vn_decode_VkCommandTypeEXT(dec, &command_type);2732assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImage_EXT);27332734/* skip commandBuffer */2735/* skip srcImage */2736/* skip srcImageLayout */2737/* skip dstImage */2738/* skip dstImageLayout */2739/* skip regionCount */2740/* skip pRegions */2741}27422743static inline size_t vn_sizeof_vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)2744{2745const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;2746const VkFlags cmd_flags = 0;2747size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);27482749cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2750cmd_size += vn_sizeof_VkImage(&srcImage);2751cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);2752cmd_size += vn_sizeof_VkImage(&dstImage);2753cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);2754cmd_size += vn_sizeof_uint32_t(®ionCount);2755if (pRegions) {2756cmd_size += vn_sizeof_array_size(regionCount);2757for (uint32_t i = 0; i < regionCount; i++)2758cmd_size += vn_sizeof_VkImageBlit(&pRegions[i]);2759} else {2760cmd_size += vn_sizeof_array_size(0);2761}2762cmd_size += vn_sizeof_VkFilter(&filter);27632764return cmd_size;2765}27662767static 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)2768{2769const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;27702771vn_encode_VkCommandTypeEXT(enc, &cmd_type);2772vn_encode_VkFlags(enc, &cmd_flags);27732774vn_encode_VkCommandBuffer(enc, &commandBuffer);2775vn_encode_VkImage(enc, &srcImage);2776vn_encode_VkImageLayout(enc, &srcImageLayout);2777vn_encode_VkImage(enc, &dstImage);2778vn_encode_VkImageLayout(enc, &dstImageLayout);2779vn_encode_uint32_t(enc, ®ionCount);2780if (pRegions) {2781vn_encode_array_size(enc, regionCount);2782for (uint32_t i = 0; i < regionCount; i++)2783vn_encode_VkImageBlit(enc, &pRegions[i]);2784} else {2785vn_encode_array_size(enc, 0);2786}2787vn_encode_VkFilter(enc, &filter);2788}27892790static 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)2791{2792const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBlitImage_EXT;2793size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);27942795/* skip commandBuffer */2796/* skip srcImage */2797/* skip srcImageLayout */2798/* skip dstImage */2799/* skip dstImageLayout */2800/* skip regionCount */2801/* skip pRegions */2802/* skip filter */28032804return cmd_size;2805}28062807static 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)2808{2809VkCommandTypeEXT command_type;2810vn_decode_VkCommandTypeEXT(dec, &command_type);2811assert(command_type == VK_COMMAND_TYPE_vkCmdBlitImage_EXT);28122813/* skip commandBuffer */2814/* skip srcImage */2815/* skip srcImageLayout */2816/* skip dstImage */2817/* skip dstImageLayout */2818/* skip regionCount */2819/* skip pRegions */2820/* skip filter */2821}28222823static inline size_t vn_sizeof_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)2824{2825const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;2826const VkFlags cmd_flags = 0;2827size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);28282829cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2830cmd_size += vn_sizeof_VkBuffer(&srcBuffer);2831cmd_size += vn_sizeof_VkImage(&dstImage);2832cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);2833cmd_size += vn_sizeof_uint32_t(®ionCount);2834if (pRegions) {2835cmd_size += vn_sizeof_array_size(regionCount);2836for (uint32_t i = 0; i < regionCount; i++)2837cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);2838} else {2839cmd_size += vn_sizeof_array_size(0);2840}28412842return cmd_size;2843}28442845static 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)2846{2847const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;28482849vn_encode_VkCommandTypeEXT(enc, &cmd_type);2850vn_encode_VkFlags(enc, &cmd_flags);28512852vn_encode_VkCommandBuffer(enc, &commandBuffer);2853vn_encode_VkBuffer(enc, &srcBuffer);2854vn_encode_VkImage(enc, &dstImage);2855vn_encode_VkImageLayout(enc, &dstImageLayout);2856vn_encode_uint32_t(enc, ®ionCount);2857if (pRegions) {2858vn_encode_array_size(enc, regionCount);2859for (uint32_t i = 0; i < regionCount; i++)2860vn_encode_VkBufferImageCopy(enc, &pRegions[i]);2861} else {2862vn_encode_array_size(enc, 0);2863}2864}28652866static inline size_t vn_sizeof_vkCmdCopyBufferToImage_reply(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)2867{2868const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT;2869size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);28702871/* skip commandBuffer */2872/* skip srcBuffer */2873/* skip dstImage */2874/* skip dstImageLayout */2875/* skip regionCount */2876/* skip pRegions */28772878return cmd_size;2879}28802881static 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)2882{2883VkCommandTypeEXT command_type;2884vn_decode_VkCommandTypeEXT(dec, &command_type);2885assert(command_type == VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT);28862887/* skip commandBuffer */2888/* skip srcBuffer */2889/* skip dstImage */2890/* skip dstImageLayout */2891/* skip regionCount */2892/* skip pRegions */2893}28942895static inline size_t vn_sizeof_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)2896{2897const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;2898const VkFlags cmd_flags = 0;2899size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);29002901cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2902cmd_size += vn_sizeof_VkImage(&srcImage);2903cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);2904cmd_size += vn_sizeof_VkBuffer(&dstBuffer);2905cmd_size += vn_sizeof_uint32_t(®ionCount);2906if (pRegions) {2907cmd_size += vn_sizeof_array_size(regionCount);2908for (uint32_t i = 0; i < regionCount; i++)2909cmd_size += vn_sizeof_VkBufferImageCopy(&pRegions[i]);2910} else {2911cmd_size += vn_sizeof_array_size(0);2912}29132914return cmd_size;2915}29162917static 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)2918{2919const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;29202921vn_encode_VkCommandTypeEXT(enc, &cmd_type);2922vn_encode_VkFlags(enc, &cmd_flags);29232924vn_encode_VkCommandBuffer(enc, &commandBuffer);2925vn_encode_VkImage(enc, &srcImage);2926vn_encode_VkImageLayout(enc, &srcImageLayout);2927vn_encode_VkBuffer(enc, &dstBuffer);2928vn_encode_uint32_t(enc, ®ionCount);2929if (pRegions) {2930vn_encode_array_size(enc, regionCount);2931for (uint32_t i = 0; i < regionCount; i++)2932vn_encode_VkBufferImageCopy(enc, &pRegions[i]);2933} else {2934vn_encode_array_size(enc, 0);2935}2936}29372938static inline size_t vn_sizeof_vkCmdCopyImageToBuffer_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)2939{2940const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT;2941size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);29422943/* skip commandBuffer */2944/* skip srcImage */2945/* skip srcImageLayout */2946/* skip dstBuffer */2947/* skip regionCount */2948/* skip pRegions */29492950return cmd_size;2951}29522953static 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)2954{2955VkCommandTypeEXT command_type;2956vn_decode_VkCommandTypeEXT(dec, &command_type);2957assert(command_type == VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT);29582959/* skip commandBuffer */2960/* skip srcImage */2961/* skip srcImageLayout */2962/* skip dstBuffer */2963/* skip regionCount */2964/* skip pRegions */2965}29662967static inline size_t vn_sizeof_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)2968{2969const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;2970const VkFlags cmd_flags = 0;2971size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);29722973cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);2974cmd_size += vn_sizeof_VkBuffer(&dstBuffer);2975cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);2976cmd_size += vn_sizeof_VkDeviceSize(&dataSize);2977if (pData) {2978cmd_size += vn_sizeof_array_size(dataSize);2979cmd_size += vn_sizeof_blob_array(pData, dataSize);2980} else {2981cmd_size += vn_sizeof_array_size(0);2982}29832984return cmd_size;2985}29862987static inline void vn_encode_vkCmdUpdateBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)2988{2989const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;29902991vn_encode_VkCommandTypeEXT(enc, &cmd_type);2992vn_encode_VkFlags(enc, &cmd_flags);29932994vn_encode_VkCommandBuffer(enc, &commandBuffer);2995vn_encode_VkBuffer(enc, &dstBuffer);2996vn_encode_VkDeviceSize(enc, &dstOffset);2997vn_encode_VkDeviceSize(enc, &dataSize);2998if (pData) {2999vn_encode_array_size(enc, dataSize);3000vn_encode_blob_array(enc, pData, dataSize);3001} else {3002vn_encode_array_size(enc, 0);3003}3004}30053006static inline size_t vn_sizeof_vkCmdUpdateBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)3007{3008const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT;3009size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);30103011/* skip commandBuffer */3012/* skip dstBuffer */3013/* skip dstOffset */3014/* skip dataSize */3015/* skip pData */30163017return cmd_size;3018}30193020static inline void vn_decode_vkCmdUpdateBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)3021{3022VkCommandTypeEXT command_type;3023vn_decode_VkCommandTypeEXT(dec, &command_type);3024assert(command_type == VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT);30253026/* skip commandBuffer */3027/* skip dstBuffer */3028/* skip dstOffset */3029/* skip dataSize */3030/* skip pData */3031}30323033static inline size_t vn_sizeof_vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)3034{3035const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;3036const VkFlags cmd_flags = 0;3037size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);30383039cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3040cmd_size += vn_sizeof_VkBuffer(&dstBuffer);3041cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);3042cmd_size += vn_sizeof_VkDeviceSize(&size);3043cmd_size += vn_sizeof_uint32_t(&data);30443045return cmd_size;3046}30473048static inline void vn_encode_vkCmdFillBuffer(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)3049{3050const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;30513052vn_encode_VkCommandTypeEXT(enc, &cmd_type);3053vn_encode_VkFlags(enc, &cmd_flags);30543055vn_encode_VkCommandBuffer(enc, &commandBuffer);3056vn_encode_VkBuffer(enc, &dstBuffer);3057vn_encode_VkDeviceSize(enc, &dstOffset);3058vn_encode_VkDeviceSize(enc, &size);3059vn_encode_uint32_t(enc, &data);3060}30613062static inline size_t vn_sizeof_vkCmdFillBuffer_reply(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)3063{3064const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdFillBuffer_EXT;3065size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);30663067/* skip commandBuffer */3068/* skip dstBuffer */3069/* skip dstOffset */3070/* skip size */3071/* skip data */30723073return cmd_size;3074}30753076static inline void vn_decode_vkCmdFillBuffer_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)3077{3078VkCommandTypeEXT command_type;3079vn_decode_VkCommandTypeEXT(dec, &command_type);3080assert(command_type == VK_COMMAND_TYPE_vkCmdFillBuffer_EXT);30813082/* skip commandBuffer */3083/* skip dstBuffer */3084/* skip dstOffset */3085/* skip size */3086/* skip data */3087}30883089static inline size_t vn_sizeof_vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)3090{3091const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;3092const VkFlags cmd_flags = 0;3093size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);30943095cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3096cmd_size += vn_sizeof_VkImage(&image);3097cmd_size += vn_sizeof_VkImageLayout(&imageLayout);3098cmd_size += vn_sizeof_simple_pointer(pColor);3099if (pColor)3100cmd_size += vn_sizeof_VkClearColorValue(pColor);3101cmd_size += vn_sizeof_uint32_t(&rangeCount);3102if (pRanges) {3103cmd_size += vn_sizeof_array_size(rangeCount);3104for (uint32_t i = 0; i < rangeCount; i++)3105cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);3106} else {3107cmd_size += vn_sizeof_array_size(0);3108}31093110return cmd_size;3111}31123113static 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)3114{3115const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;31163117vn_encode_VkCommandTypeEXT(enc, &cmd_type);3118vn_encode_VkFlags(enc, &cmd_flags);31193120vn_encode_VkCommandBuffer(enc, &commandBuffer);3121vn_encode_VkImage(enc, &image);3122vn_encode_VkImageLayout(enc, &imageLayout);3123if (vn_encode_simple_pointer(enc, pColor))3124vn_encode_VkClearColorValue(enc, pColor);3125vn_encode_uint32_t(enc, &rangeCount);3126if (pRanges) {3127vn_encode_array_size(enc, rangeCount);3128for (uint32_t i = 0; i < rangeCount; i++)3129vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);3130} else {3131vn_encode_array_size(enc, 0);3132}3133}31343135static inline size_t vn_sizeof_vkCmdClearColorImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)3136{3137const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearColorImage_EXT;3138size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);31393140/* skip commandBuffer */3141/* skip image */3142/* skip imageLayout */3143/* skip pColor */3144/* skip rangeCount */3145/* skip pRanges */31463147return cmd_size;3148}31493150static 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)3151{3152VkCommandTypeEXT command_type;3153vn_decode_VkCommandTypeEXT(dec, &command_type);3154assert(command_type == VK_COMMAND_TYPE_vkCmdClearColorImage_EXT);31553156/* skip commandBuffer */3157/* skip image */3158/* skip imageLayout */3159/* skip pColor */3160/* skip rangeCount */3161/* skip pRanges */3162}31633164static inline size_t vn_sizeof_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)3165{3166const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;3167const VkFlags cmd_flags = 0;3168size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);31693170cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3171cmd_size += vn_sizeof_VkImage(&image);3172cmd_size += vn_sizeof_VkImageLayout(&imageLayout);3173cmd_size += vn_sizeof_simple_pointer(pDepthStencil);3174if (pDepthStencil)3175cmd_size += vn_sizeof_VkClearDepthStencilValue(pDepthStencil);3176cmd_size += vn_sizeof_uint32_t(&rangeCount);3177if (pRanges) {3178cmd_size += vn_sizeof_array_size(rangeCount);3179for (uint32_t i = 0; i < rangeCount; i++)3180cmd_size += vn_sizeof_VkImageSubresourceRange(&pRanges[i]);3181} else {3182cmd_size += vn_sizeof_array_size(0);3183}31843185return cmd_size;3186}31873188static 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)3189{3190const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;31913192vn_encode_VkCommandTypeEXT(enc, &cmd_type);3193vn_encode_VkFlags(enc, &cmd_flags);31943195vn_encode_VkCommandBuffer(enc, &commandBuffer);3196vn_encode_VkImage(enc, &image);3197vn_encode_VkImageLayout(enc, &imageLayout);3198if (vn_encode_simple_pointer(enc, pDepthStencil))3199vn_encode_VkClearDepthStencilValue(enc, pDepthStencil);3200vn_encode_uint32_t(enc, &rangeCount);3201if (pRanges) {3202vn_encode_array_size(enc, rangeCount);3203for (uint32_t i = 0; i < rangeCount; i++)3204vn_encode_VkImageSubresourceRange(enc, &pRanges[i]);3205} else {3206vn_encode_array_size(enc, 0);3207}3208}32093210static inline size_t vn_sizeof_vkCmdClearDepthStencilImage_reply(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)3211{3212const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT;3213size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);32143215/* skip commandBuffer */3216/* skip image */3217/* skip imageLayout */3218/* skip pDepthStencil */3219/* skip rangeCount */3220/* skip pRanges */32213222return cmd_size;3223}32243225static 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)3226{3227VkCommandTypeEXT command_type;3228vn_decode_VkCommandTypeEXT(dec, &command_type);3229assert(command_type == VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT);32303231/* skip commandBuffer */3232/* skip image */3233/* skip imageLayout */3234/* skip pDepthStencil */3235/* skip rangeCount */3236/* skip pRanges */3237}32383239static inline size_t vn_sizeof_vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)3240{3241const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;3242const VkFlags cmd_flags = 0;3243size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);32443245cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3246cmd_size += vn_sizeof_uint32_t(&attachmentCount);3247if (pAttachments) {3248cmd_size += vn_sizeof_array_size(attachmentCount);3249for (uint32_t i = 0; i < attachmentCount; i++)3250cmd_size += vn_sizeof_VkClearAttachment(&pAttachments[i]);3251} else {3252cmd_size += vn_sizeof_array_size(0);3253}3254cmd_size += vn_sizeof_uint32_t(&rectCount);3255if (pRects) {3256cmd_size += vn_sizeof_array_size(rectCount);3257for (uint32_t i = 0; i < rectCount; i++)3258cmd_size += vn_sizeof_VkClearRect(&pRects[i]);3259} else {3260cmd_size += vn_sizeof_array_size(0);3261}32623263return cmd_size;3264}32653266static 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)3267{3268const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;32693270vn_encode_VkCommandTypeEXT(enc, &cmd_type);3271vn_encode_VkFlags(enc, &cmd_flags);32723273vn_encode_VkCommandBuffer(enc, &commandBuffer);3274vn_encode_uint32_t(enc, &attachmentCount);3275if (pAttachments) {3276vn_encode_array_size(enc, attachmentCount);3277for (uint32_t i = 0; i < attachmentCount; i++)3278vn_encode_VkClearAttachment(enc, &pAttachments[i]);3279} else {3280vn_encode_array_size(enc, 0);3281}3282vn_encode_uint32_t(enc, &rectCount);3283if (pRects) {3284vn_encode_array_size(enc, rectCount);3285for (uint32_t i = 0; i < rectCount; i++)3286vn_encode_VkClearRect(enc, &pRects[i]);3287} else {3288vn_encode_array_size(enc, 0);3289}3290}32913292static inline size_t vn_sizeof_vkCmdClearAttachments_reply(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)3293{3294const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdClearAttachments_EXT;3295size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);32963297/* skip commandBuffer */3298/* skip attachmentCount */3299/* skip pAttachments */3300/* skip rectCount */3301/* skip pRects */33023303return cmd_size;3304}33053306static 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)3307{3308VkCommandTypeEXT command_type;3309vn_decode_VkCommandTypeEXT(dec, &command_type);3310assert(command_type == VK_COMMAND_TYPE_vkCmdClearAttachments_EXT);33113312/* skip commandBuffer */3313/* skip attachmentCount */3314/* skip pAttachments */3315/* skip rectCount */3316/* skip pRects */3317}33183319static inline size_t vn_sizeof_vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)3320{3321const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;3322const VkFlags cmd_flags = 0;3323size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);33243325cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3326cmd_size += vn_sizeof_VkImage(&srcImage);3327cmd_size += vn_sizeof_VkImageLayout(&srcImageLayout);3328cmd_size += vn_sizeof_VkImage(&dstImage);3329cmd_size += vn_sizeof_VkImageLayout(&dstImageLayout);3330cmd_size += vn_sizeof_uint32_t(®ionCount);3331if (pRegions) {3332cmd_size += vn_sizeof_array_size(regionCount);3333for (uint32_t i = 0; i < regionCount; i++)3334cmd_size += vn_sizeof_VkImageResolve(&pRegions[i]);3335} else {3336cmd_size += vn_sizeof_array_size(0);3337}33383339return cmd_size;3340}33413342static 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)3343{3344const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;33453346vn_encode_VkCommandTypeEXT(enc, &cmd_type);3347vn_encode_VkFlags(enc, &cmd_flags);33483349vn_encode_VkCommandBuffer(enc, &commandBuffer);3350vn_encode_VkImage(enc, &srcImage);3351vn_encode_VkImageLayout(enc, &srcImageLayout);3352vn_encode_VkImage(enc, &dstImage);3353vn_encode_VkImageLayout(enc, &dstImageLayout);3354vn_encode_uint32_t(enc, ®ionCount);3355if (pRegions) {3356vn_encode_array_size(enc, regionCount);3357for (uint32_t i = 0; i < regionCount; i++)3358vn_encode_VkImageResolve(enc, &pRegions[i]);3359} else {3360vn_encode_array_size(enc, 0);3361}3362}33633364static inline size_t vn_sizeof_vkCmdResolveImage_reply(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)3365{3366const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResolveImage_EXT;3367size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);33683369/* skip commandBuffer */3370/* skip srcImage */3371/* skip srcImageLayout */3372/* skip dstImage */3373/* skip dstImageLayout */3374/* skip regionCount */3375/* skip pRegions */33763377return cmd_size;3378}33793380static 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)3381{3382VkCommandTypeEXT command_type;3383vn_decode_VkCommandTypeEXT(dec, &command_type);3384assert(command_type == VK_COMMAND_TYPE_vkCmdResolveImage_EXT);33853386/* skip commandBuffer */3387/* skip srcImage */3388/* skip srcImageLayout */3389/* skip dstImage */3390/* skip dstImageLayout */3391/* skip regionCount */3392/* skip pRegions */3393}33943395static inline size_t vn_sizeof_vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3396{3397const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;3398const VkFlags cmd_flags = 0;3399size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);34003401cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3402cmd_size += vn_sizeof_VkEvent(&event);3403cmd_size += vn_sizeof_VkFlags(&stageMask);34043405return cmd_size;3406}34073408static inline void vn_encode_vkCmdSetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3409{3410const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;34113412vn_encode_VkCommandTypeEXT(enc, &cmd_type);3413vn_encode_VkFlags(enc, &cmd_flags);34143415vn_encode_VkCommandBuffer(enc, &commandBuffer);3416vn_encode_VkEvent(enc, &event);3417vn_encode_VkFlags(enc, &stageMask);3418}34193420static inline size_t vn_sizeof_vkCmdSetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3421{3422const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetEvent_EXT;3423size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);34243425/* skip commandBuffer */3426/* skip event */3427/* skip stageMask */34283429return cmd_size;3430}34313432static inline void vn_decode_vkCmdSetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3433{3434VkCommandTypeEXT command_type;3435vn_decode_VkCommandTypeEXT(dec, &command_type);3436assert(command_type == VK_COMMAND_TYPE_vkCmdSetEvent_EXT);34373438/* skip commandBuffer */3439/* skip event */3440/* skip stageMask */3441}34423443static inline size_t vn_sizeof_vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3444{3445const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;3446const VkFlags cmd_flags = 0;3447size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);34483449cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3450cmd_size += vn_sizeof_VkEvent(&event);3451cmd_size += vn_sizeof_VkFlags(&stageMask);34523453return cmd_size;3454}34553456static inline void vn_encode_vkCmdResetEvent(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3457{3458const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;34593460vn_encode_VkCommandTypeEXT(enc, &cmd_type);3461vn_encode_VkFlags(enc, &cmd_flags);34623463vn_encode_VkCommandBuffer(enc, &commandBuffer);3464vn_encode_VkEvent(enc, &event);3465vn_encode_VkFlags(enc, &stageMask);3466}34673468static inline size_t vn_sizeof_vkCmdResetEvent_reply(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3469{3470const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetEvent_EXT;3471size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);34723473/* skip commandBuffer */3474/* skip event */3475/* skip stageMask */34763477return cmd_size;3478}34793480static inline void vn_decode_vkCmdResetEvent_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)3481{3482VkCommandTypeEXT command_type;3483vn_decode_VkCommandTypeEXT(dec, &command_type);3484assert(command_type == VK_COMMAND_TYPE_vkCmdResetEvent_EXT);34853486/* skip commandBuffer */3487/* skip event */3488/* skip stageMask */3489}34903491static 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)3492{3493const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;3494const VkFlags cmd_flags = 0;3495size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);34963497cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3498cmd_size += vn_sizeof_uint32_t(&eventCount);3499if (pEvents) {3500cmd_size += vn_sizeof_array_size(eventCount);3501for (uint32_t i = 0; i < eventCount; i++)3502cmd_size += vn_sizeof_VkEvent(&pEvents[i]);3503} else {3504cmd_size += vn_sizeof_array_size(0);3505}3506cmd_size += vn_sizeof_VkFlags(&srcStageMask);3507cmd_size += vn_sizeof_VkFlags(&dstStageMask);3508cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);3509if (pMemoryBarriers) {3510cmd_size += vn_sizeof_array_size(memoryBarrierCount);3511for (uint32_t i = 0; i < memoryBarrierCount; i++)3512cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);3513} else {3514cmd_size += vn_sizeof_array_size(0);3515}3516cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);3517if (pBufferMemoryBarriers) {3518cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);3519for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)3520cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);3521} else {3522cmd_size += vn_sizeof_array_size(0);3523}3524cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);3525if (pImageMemoryBarriers) {3526cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);3527for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)3528cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);3529} else {3530cmd_size += vn_sizeof_array_size(0);3531}35323533return cmd_size;3534}35353536static 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)3537{3538const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;35393540vn_encode_VkCommandTypeEXT(enc, &cmd_type);3541vn_encode_VkFlags(enc, &cmd_flags);35423543vn_encode_VkCommandBuffer(enc, &commandBuffer);3544vn_encode_uint32_t(enc, &eventCount);3545if (pEvents) {3546vn_encode_array_size(enc, eventCount);3547for (uint32_t i = 0; i < eventCount; i++)3548vn_encode_VkEvent(enc, &pEvents[i]);3549} else {3550vn_encode_array_size(enc, 0);3551}3552vn_encode_VkFlags(enc, &srcStageMask);3553vn_encode_VkFlags(enc, &dstStageMask);3554vn_encode_uint32_t(enc, &memoryBarrierCount);3555if (pMemoryBarriers) {3556vn_encode_array_size(enc, memoryBarrierCount);3557for (uint32_t i = 0; i < memoryBarrierCount; i++)3558vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);3559} else {3560vn_encode_array_size(enc, 0);3561}3562vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);3563if (pBufferMemoryBarriers) {3564vn_encode_array_size(enc, bufferMemoryBarrierCount);3565for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)3566vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);3567} else {3568vn_encode_array_size(enc, 0);3569}3570vn_encode_uint32_t(enc, &imageMemoryBarrierCount);3571if (pImageMemoryBarriers) {3572vn_encode_array_size(enc, imageMemoryBarrierCount);3573for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)3574vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);3575} else {3576vn_encode_array_size(enc, 0);3577}3578}35793580static 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)3581{3582const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWaitEvents_EXT;3583size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);35843585/* skip commandBuffer */3586/* skip eventCount */3587/* skip pEvents */3588/* skip srcStageMask */3589/* skip dstStageMask */3590/* skip memoryBarrierCount */3591/* skip pMemoryBarriers */3592/* skip bufferMemoryBarrierCount */3593/* skip pBufferMemoryBarriers */3594/* skip imageMemoryBarrierCount */3595/* skip pImageMemoryBarriers */35963597return cmd_size;3598}35993600static 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)3601{3602VkCommandTypeEXT command_type;3603vn_decode_VkCommandTypeEXT(dec, &command_type);3604assert(command_type == VK_COMMAND_TYPE_vkCmdWaitEvents_EXT);36053606/* skip commandBuffer */3607/* skip eventCount */3608/* skip pEvents */3609/* skip srcStageMask */3610/* skip dstStageMask */3611/* skip memoryBarrierCount */3612/* skip pMemoryBarriers */3613/* skip bufferMemoryBarrierCount */3614/* skip pBufferMemoryBarriers */3615/* skip imageMemoryBarrierCount */3616/* skip pImageMemoryBarriers */3617}36183619static 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)3620{3621const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;3622const VkFlags cmd_flags = 0;3623size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);36243625cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3626cmd_size += vn_sizeof_VkFlags(&srcStageMask);3627cmd_size += vn_sizeof_VkFlags(&dstStageMask);3628cmd_size += vn_sizeof_VkFlags(&dependencyFlags);3629cmd_size += vn_sizeof_uint32_t(&memoryBarrierCount);3630if (pMemoryBarriers) {3631cmd_size += vn_sizeof_array_size(memoryBarrierCount);3632for (uint32_t i = 0; i < memoryBarrierCount; i++)3633cmd_size += vn_sizeof_VkMemoryBarrier(&pMemoryBarriers[i]);3634} else {3635cmd_size += vn_sizeof_array_size(0);3636}3637cmd_size += vn_sizeof_uint32_t(&bufferMemoryBarrierCount);3638if (pBufferMemoryBarriers) {3639cmd_size += vn_sizeof_array_size(bufferMemoryBarrierCount);3640for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)3641cmd_size += vn_sizeof_VkBufferMemoryBarrier(&pBufferMemoryBarriers[i]);3642} else {3643cmd_size += vn_sizeof_array_size(0);3644}3645cmd_size += vn_sizeof_uint32_t(&imageMemoryBarrierCount);3646if (pImageMemoryBarriers) {3647cmd_size += vn_sizeof_array_size(imageMemoryBarrierCount);3648for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)3649cmd_size += vn_sizeof_VkImageMemoryBarrier(&pImageMemoryBarriers[i]);3650} else {3651cmd_size += vn_sizeof_array_size(0);3652}36533654return cmd_size;3655}36563657static 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)3658{3659const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;36603661vn_encode_VkCommandTypeEXT(enc, &cmd_type);3662vn_encode_VkFlags(enc, &cmd_flags);36633664vn_encode_VkCommandBuffer(enc, &commandBuffer);3665vn_encode_VkFlags(enc, &srcStageMask);3666vn_encode_VkFlags(enc, &dstStageMask);3667vn_encode_VkFlags(enc, &dependencyFlags);3668vn_encode_uint32_t(enc, &memoryBarrierCount);3669if (pMemoryBarriers) {3670vn_encode_array_size(enc, memoryBarrierCount);3671for (uint32_t i = 0; i < memoryBarrierCount; i++)3672vn_encode_VkMemoryBarrier(enc, &pMemoryBarriers[i]);3673} else {3674vn_encode_array_size(enc, 0);3675}3676vn_encode_uint32_t(enc, &bufferMemoryBarrierCount);3677if (pBufferMemoryBarriers) {3678vn_encode_array_size(enc, bufferMemoryBarrierCount);3679for (uint32_t i = 0; i < bufferMemoryBarrierCount; i++)3680vn_encode_VkBufferMemoryBarrier(enc, &pBufferMemoryBarriers[i]);3681} else {3682vn_encode_array_size(enc, 0);3683}3684vn_encode_uint32_t(enc, &imageMemoryBarrierCount);3685if (pImageMemoryBarriers) {3686vn_encode_array_size(enc, imageMemoryBarrierCount);3687for (uint32_t i = 0; i < imageMemoryBarrierCount; i++)3688vn_encode_VkImageMemoryBarrier(enc, &pImageMemoryBarriers[i]);3689} else {3690vn_encode_array_size(enc, 0);3691}3692}36933694static 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)3695{3696const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT;3697size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);36983699/* skip commandBuffer */3700/* skip srcStageMask */3701/* skip dstStageMask */3702/* skip dependencyFlags */3703/* skip memoryBarrierCount */3704/* skip pMemoryBarriers */3705/* skip bufferMemoryBarrierCount */3706/* skip pBufferMemoryBarriers */3707/* skip imageMemoryBarrierCount */3708/* skip pImageMemoryBarriers */37093710return cmd_size;3711}37123713static 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)3714{3715VkCommandTypeEXT command_type;3716vn_decode_VkCommandTypeEXT(dec, &command_type);3717assert(command_type == VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT);37183719/* skip commandBuffer */3720/* skip srcStageMask */3721/* skip dstStageMask */3722/* skip dependencyFlags */3723/* skip memoryBarrierCount */3724/* skip pMemoryBarriers */3725/* skip bufferMemoryBarrierCount */3726/* skip pBufferMemoryBarriers */3727/* skip imageMemoryBarrierCount */3728/* skip pImageMemoryBarriers */3729}37303731static inline size_t vn_sizeof_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)3732{3733const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;3734const VkFlags cmd_flags = 0;3735size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);37363737cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3738cmd_size += vn_sizeof_VkQueryPool(&queryPool);3739cmd_size += vn_sizeof_uint32_t(&query);3740cmd_size += vn_sizeof_VkFlags(&flags);37413742return cmd_size;3743}37443745static inline void vn_encode_vkCmdBeginQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)3746{3747const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;37483749vn_encode_VkCommandTypeEXT(enc, &cmd_type);3750vn_encode_VkFlags(enc, &cmd_flags);37513752vn_encode_VkCommandBuffer(enc, &commandBuffer);3753vn_encode_VkQueryPool(enc, &queryPool);3754vn_encode_uint32_t(enc, &query);3755vn_encode_VkFlags(enc, &flags);3756}37573758static inline size_t vn_sizeof_vkCmdBeginQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)3759{3760const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQuery_EXT;3761size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);37623763/* skip commandBuffer */3764/* skip queryPool */3765/* skip query */3766/* skip flags */37673768return cmd_size;3769}37703771static inline void vn_decode_vkCmdBeginQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)3772{3773VkCommandTypeEXT command_type;3774vn_decode_VkCommandTypeEXT(dec, &command_type);3775assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQuery_EXT);37763777/* skip commandBuffer */3778/* skip queryPool */3779/* skip query */3780/* skip flags */3781}37823783static inline size_t vn_sizeof_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)3784{3785const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;3786const VkFlags cmd_flags = 0;3787size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);37883789cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3790cmd_size += vn_sizeof_VkQueryPool(&queryPool);3791cmd_size += vn_sizeof_uint32_t(&query);37923793return cmd_size;3794}37953796static inline void vn_encode_vkCmdEndQuery(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)3797{3798const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;37993800vn_encode_VkCommandTypeEXT(enc, &cmd_type);3801vn_encode_VkFlags(enc, &cmd_flags);38023803vn_encode_VkCommandBuffer(enc, &commandBuffer);3804vn_encode_VkQueryPool(enc, &queryPool);3805vn_encode_uint32_t(enc, &query);3806}38073808static inline size_t vn_sizeof_vkCmdEndQuery_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)3809{3810const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQuery_EXT;3811size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);38123813/* skip commandBuffer */3814/* skip queryPool */3815/* skip query */38163817return cmd_size;3818}38193820static inline void vn_decode_vkCmdEndQuery_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)3821{3822VkCommandTypeEXT command_type;3823vn_decode_VkCommandTypeEXT(dec, &command_type);3824assert(command_type == VK_COMMAND_TYPE_vkCmdEndQuery_EXT);38253826/* skip commandBuffer */3827/* skip queryPool */3828/* skip query */3829}38303831static inline size_t vn_sizeof_vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)3832{3833const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;3834const VkFlags cmd_flags = 0;3835size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);38363837cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3838cmd_size += vn_sizeof_VkQueryPool(&queryPool);3839cmd_size += vn_sizeof_uint32_t(&firstQuery);3840cmd_size += vn_sizeof_uint32_t(&queryCount);38413842return cmd_size;3843}38443845static inline void vn_encode_vkCmdResetQueryPool(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)3846{3847const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;38483849vn_encode_VkCommandTypeEXT(enc, &cmd_type);3850vn_encode_VkFlags(enc, &cmd_flags);38513852vn_encode_VkCommandBuffer(enc, &commandBuffer);3853vn_encode_VkQueryPool(enc, &queryPool);3854vn_encode_uint32_t(enc, &firstQuery);3855vn_encode_uint32_t(enc, &queryCount);3856}38573858static inline size_t vn_sizeof_vkCmdResetQueryPool_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)3859{3860const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT;3861size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);38623863/* skip commandBuffer */3864/* skip queryPool */3865/* skip firstQuery */3866/* skip queryCount */38673868return cmd_size;3869}38703871static inline void vn_decode_vkCmdResetQueryPool_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)3872{3873VkCommandTypeEXT command_type;3874vn_decode_VkCommandTypeEXT(dec, &command_type);3875assert(command_type == VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT);38763877/* skip commandBuffer */3878/* skip queryPool */3879/* skip firstQuery */3880/* skip queryCount */3881}38823883static inline size_t vn_sizeof_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)3884{3885const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;3886const VkFlags cmd_flags = 0;3887size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);38883889cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3890cmd_size += vn_sizeof_VkPipelineStageFlagBits(&pipelineStage);3891cmd_size += vn_sizeof_VkQueryPool(&queryPool);3892cmd_size += vn_sizeof_uint32_t(&query);38933894return cmd_size;3895}38963897static inline void vn_encode_vkCmdWriteTimestamp(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)3898{3899const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;39003901vn_encode_VkCommandTypeEXT(enc, &cmd_type);3902vn_encode_VkFlags(enc, &cmd_flags);39033904vn_encode_VkCommandBuffer(enc, &commandBuffer);3905vn_encode_VkPipelineStageFlagBits(enc, &pipelineStage);3906vn_encode_VkQueryPool(enc, &queryPool);3907vn_encode_uint32_t(enc, &query);3908}39093910static inline size_t vn_sizeof_vkCmdWriteTimestamp_reply(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)3911{3912const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT;3913size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);39143915/* skip commandBuffer */3916/* skip pipelineStage */3917/* skip queryPool */3918/* skip query */39193920return cmd_size;3921}39223923static inline void vn_decode_vkCmdWriteTimestamp_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)3924{3925VkCommandTypeEXT command_type;3926vn_decode_VkCommandTypeEXT(dec, &command_type);3927assert(command_type == VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT);39283929/* skip commandBuffer */3930/* skip pipelineStage */3931/* skip queryPool */3932/* skip query */3933}39343935static inline size_t vn_sizeof_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)3936{3937const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;3938const VkFlags cmd_flags = 0;3939size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);39403941cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);3942cmd_size += vn_sizeof_VkQueryPool(&queryPool);3943cmd_size += vn_sizeof_uint32_t(&firstQuery);3944cmd_size += vn_sizeof_uint32_t(&queryCount);3945cmd_size += vn_sizeof_VkBuffer(&dstBuffer);3946cmd_size += vn_sizeof_VkDeviceSize(&dstOffset);3947cmd_size += vn_sizeof_VkDeviceSize(&stride);3948cmd_size += vn_sizeof_VkFlags(&flags);39493950return cmd_size;3951}39523953static 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)3954{3955const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;39563957vn_encode_VkCommandTypeEXT(enc, &cmd_type);3958vn_encode_VkFlags(enc, &cmd_flags);39593960vn_encode_VkCommandBuffer(enc, &commandBuffer);3961vn_encode_VkQueryPool(enc, &queryPool);3962vn_encode_uint32_t(enc, &firstQuery);3963vn_encode_uint32_t(enc, &queryCount);3964vn_encode_VkBuffer(enc, &dstBuffer);3965vn_encode_VkDeviceSize(enc, &dstOffset);3966vn_encode_VkDeviceSize(enc, &stride);3967vn_encode_VkFlags(enc, &flags);3968}39693970static 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)3971{3972const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT;3973size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);39743975/* skip commandBuffer */3976/* skip queryPool */3977/* skip firstQuery */3978/* skip queryCount */3979/* skip dstBuffer */3980/* skip dstOffset */3981/* skip stride */3982/* skip flags */39833984return cmd_size;3985}39863987static 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)3988{3989VkCommandTypeEXT command_type;3990vn_decode_VkCommandTypeEXT(dec, &command_type);3991assert(command_type == VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT);39923993/* skip commandBuffer */3994/* skip queryPool */3995/* skip firstQuery */3996/* skip queryCount */3997/* skip dstBuffer */3998/* skip dstOffset */3999/* skip stride */4000/* skip flags */4001}40024003static inline size_t vn_sizeof_vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)4004{4005const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;4006const VkFlags cmd_flags = 0;4007size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);40084009cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4010cmd_size += vn_sizeof_VkPipelineLayout(&layout);4011cmd_size += vn_sizeof_VkFlags(&stageFlags);4012cmd_size += vn_sizeof_uint32_t(&offset);4013cmd_size += vn_sizeof_uint32_t(&size);4014if (pValues) {4015cmd_size += vn_sizeof_array_size(size);4016cmd_size += vn_sizeof_blob_array(pValues, size);4017} else {4018cmd_size += vn_sizeof_array_size(0);4019}40204021return cmd_size;4022}40234024static 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)4025{4026const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;40274028vn_encode_VkCommandTypeEXT(enc, &cmd_type);4029vn_encode_VkFlags(enc, &cmd_flags);40304031vn_encode_VkCommandBuffer(enc, &commandBuffer);4032vn_encode_VkPipelineLayout(enc, &layout);4033vn_encode_VkFlags(enc, &stageFlags);4034vn_encode_uint32_t(enc, &offset);4035vn_encode_uint32_t(enc, &size);4036if (pValues) {4037vn_encode_array_size(enc, size);4038vn_encode_blob_array(enc, pValues, size);4039} else {4040vn_encode_array_size(enc, 0);4041}4042}40434044static inline size_t vn_sizeof_vkCmdPushConstants_reply(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)4045{4046const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdPushConstants_EXT;4047size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);40484049/* skip commandBuffer */4050/* skip layout */4051/* skip stageFlags */4052/* skip offset */4053/* skip size */4054/* skip pValues */40554056return cmd_size;4057}40584059static 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)4060{4061VkCommandTypeEXT command_type;4062vn_decode_VkCommandTypeEXT(dec, &command_type);4063assert(command_type == VK_COMMAND_TYPE_vkCmdPushConstants_EXT);40644065/* skip commandBuffer */4066/* skip layout */4067/* skip stageFlags */4068/* skip offset */4069/* skip size */4070/* skip pValues */4071}40724073static inline size_t vn_sizeof_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)4074{4075const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;4076const VkFlags cmd_flags = 0;4077size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);40784079cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4080cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);4081if (pRenderPassBegin)4082cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);4083cmd_size += vn_sizeof_VkSubpassContents(&contents);40844085return cmd_size;4086}40874088static inline void vn_encode_vkCmdBeginRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)4089{4090const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;40914092vn_encode_VkCommandTypeEXT(enc, &cmd_type);4093vn_encode_VkFlags(enc, &cmd_flags);40944095vn_encode_VkCommandBuffer(enc, &commandBuffer);4096if (vn_encode_simple_pointer(enc, pRenderPassBegin))4097vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);4098vn_encode_VkSubpassContents(enc, &contents);4099}41004101static inline size_t vn_sizeof_vkCmdBeginRenderPass_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)4102{4103const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT;4104size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);41054106/* skip commandBuffer */4107/* skip pRenderPassBegin */4108/* skip contents */41094110return cmd_size;4111}41124113static inline void vn_decode_vkCmdBeginRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)4114{4115VkCommandTypeEXT command_type;4116vn_decode_VkCommandTypeEXT(dec, &command_type);4117assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT);41184119/* skip commandBuffer */4120/* skip pRenderPassBegin */4121/* skip contents */4122}41234124static inline size_t vn_sizeof_vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)4125{4126const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;4127const VkFlags cmd_flags = 0;4128size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);41294130cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4131cmd_size += vn_sizeof_VkSubpassContents(&contents);41324133return cmd_size;4134}41354136static inline void vn_encode_vkCmdNextSubpass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents)4137{4138const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;41394140vn_encode_VkCommandTypeEXT(enc, &cmd_type);4141vn_encode_VkFlags(enc, &cmd_flags);41424143vn_encode_VkCommandBuffer(enc, &commandBuffer);4144vn_encode_VkSubpassContents(enc, &contents);4145}41464147static inline size_t vn_sizeof_vkCmdNextSubpass_reply(VkCommandBuffer commandBuffer, VkSubpassContents contents)4148{4149const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass_EXT;4150size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);41514152/* skip commandBuffer */4153/* skip contents */41544155return cmd_size;4156}41574158static inline void vn_decode_vkCmdNextSubpass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkSubpassContents contents)4159{4160VkCommandTypeEXT command_type;4161vn_decode_VkCommandTypeEXT(dec, &command_type);4162assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass_EXT);41634164/* skip commandBuffer */4165/* skip contents */4166}41674168static inline size_t vn_sizeof_vkCmdEndRenderPass(VkCommandBuffer commandBuffer)4169{4170const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;4171const VkFlags cmd_flags = 0;4172size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);41734174cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);41754176return cmd_size;4177}41784179static inline void vn_encode_vkCmdEndRenderPass(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer)4180{4181const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;41824183vn_encode_VkCommandTypeEXT(enc, &cmd_type);4184vn_encode_VkFlags(enc, &cmd_flags);41854186vn_encode_VkCommandBuffer(enc, &commandBuffer);4187}41884189static inline size_t vn_sizeof_vkCmdEndRenderPass_reply(VkCommandBuffer commandBuffer)4190{4191const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT;4192size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);41934194/* skip commandBuffer */41954196return cmd_size;4197}41984199static inline void vn_decode_vkCmdEndRenderPass_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer)4200{4201VkCommandTypeEXT command_type;4202vn_decode_VkCommandTypeEXT(dec, &command_type);4203assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT);42044205/* skip commandBuffer */4206}42074208static inline size_t vn_sizeof_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)4209{4210const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;4211const VkFlags cmd_flags = 0;4212size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);42134214cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4215cmd_size += vn_sizeof_uint32_t(&commandBufferCount);4216if (pCommandBuffers) {4217cmd_size += vn_sizeof_array_size(commandBufferCount);4218for (uint32_t i = 0; i < commandBufferCount; i++)4219cmd_size += vn_sizeof_VkCommandBuffer(&pCommandBuffers[i]);4220} else {4221cmd_size += vn_sizeof_array_size(0);4222}42234224return cmd_size;4225}42264227static inline void vn_encode_vkCmdExecuteCommands(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)4228{4229const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;42304231vn_encode_VkCommandTypeEXT(enc, &cmd_type);4232vn_encode_VkFlags(enc, &cmd_flags);42334234vn_encode_VkCommandBuffer(enc, &commandBuffer);4235vn_encode_uint32_t(enc, &commandBufferCount);4236if (pCommandBuffers) {4237vn_encode_array_size(enc, commandBufferCount);4238for (uint32_t i = 0; i < commandBufferCount; i++)4239vn_encode_VkCommandBuffer(enc, &pCommandBuffers[i]);4240} else {4241vn_encode_array_size(enc, 0);4242}4243}42444245static inline size_t vn_sizeof_vkCmdExecuteCommands_reply(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)4246{4247const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT;4248size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);42494250/* skip commandBuffer */4251/* skip commandBufferCount */4252/* skip pCommandBuffers */42534254return cmd_size;4255}42564257static inline void vn_decode_vkCmdExecuteCommands_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)4258{4259VkCommandTypeEXT command_type;4260vn_decode_VkCommandTypeEXT(dec, &command_type);4261assert(command_type == VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT);42624263/* skip commandBuffer */4264/* skip commandBufferCount */4265/* skip pCommandBuffers */4266}42674268static inline size_t vn_sizeof_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask)4269{4270const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;4271const VkFlags cmd_flags = 0;4272size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);42734274cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4275cmd_size += vn_sizeof_uint32_t(&deviceMask);42764277return cmd_size;4278}42794280static inline void vn_encode_vkCmdSetDeviceMask(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask)4281{4282const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;42834284vn_encode_VkCommandTypeEXT(enc, &cmd_type);4285vn_encode_VkFlags(enc, &cmd_flags);42864287vn_encode_VkCommandBuffer(enc, &commandBuffer);4288vn_encode_uint32_t(enc, &deviceMask);4289}42904291static inline size_t vn_sizeof_vkCmdSetDeviceMask_reply(VkCommandBuffer commandBuffer, uint32_t deviceMask)4292{4293const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT;4294size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);42954296/* skip commandBuffer */4297/* skip deviceMask */42984299return cmd_size;4300}43014302static inline void vn_decode_vkCmdSetDeviceMask_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, uint32_t deviceMask)4303{4304VkCommandTypeEXT command_type;4305vn_decode_VkCommandTypeEXT(dec, &command_type);4306assert(command_type == VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT);43074308/* skip commandBuffer */4309/* skip deviceMask */4310}43114312static 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)4313{4314const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;4315const VkFlags cmd_flags = 0;4316size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);43174318cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4319cmd_size += vn_sizeof_uint32_t(&baseGroupX);4320cmd_size += vn_sizeof_uint32_t(&baseGroupY);4321cmd_size += vn_sizeof_uint32_t(&baseGroupZ);4322cmd_size += vn_sizeof_uint32_t(&groupCountX);4323cmd_size += vn_sizeof_uint32_t(&groupCountY);4324cmd_size += vn_sizeof_uint32_t(&groupCountZ);43254326return cmd_size;4327}43284329static 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)4330{4331const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;43324333vn_encode_VkCommandTypeEXT(enc, &cmd_type);4334vn_encode_VkFlags(enc, &cmd_flags);43354336vn_encode_VkCommandBuffer(enc, &commandBuffer);4337vn_encode_uint32_t(enc, &baseGroupX);4338vn_encode_uint32_t(enc, &baseGroupY);4339vn_encode_uint32_t(enc, &baseGroupZ);4340vn_encode_uint32_t(enc, &groupCountX);4341vn_encode_uint32_t(enc, &groupCountY);4342vn_encode_uint32_t(enc, &groupCountZ);4343}43444345static 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)4346{4347const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDispatchBase_EXT;4348size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);43494350/* skip commandBuffer */4351/* skip baseGroupX */4352/* skip baseGroupY */4353/* skip baseGroupZ */4354/* skip groupCountX */4355/* skip groupCountY */4356/* skip groupCountZ */43574358return cmd_size;4359}43604361static 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)4362{4363VkCommandTypeEXT command_type;4364vn_decode_VkCommandTypeEXT(dec, &command_type);4365assert(command_type == VK_COMMAND_TYPE_vkCmdDispatchBase_EXT);43664367/* skip commandBuffer */4368/* skip baseGroupX */4369/* skip baseGroupY */4370/* skip baseGroupZ */4371/* skip groupCountX */4372/* skip groupCountY */4373/* skip groupCountZ */4374}43754376static inline size_t vn_sizeof_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)4377{4378const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;4379const VkFlags cmd_flags = 0;4380size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);43814382cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4383cmd_size += vn_sizeof_simple_pointer(pRenderPassBegin);4384if (pRenderPassBegin)4385cmd_size += vn_sizeof_VkRenderPassBeginInfo(pRenderPassBegin);4386cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);4387if (pSubpassBeginInfo)4388cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);43894390return cmd_size;4391}43924393static inline void vn_encode_vkCmdBeginRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)4394{4395const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;43964397vn_encode_VkCommandTypeEXT(enc, &cmd_type);4398vn_encode_VkFlags(enc, &cmd_flags);43994400vn_encode_VkCommandBuffer(enc, &commandBuffer);4401if (vn_encode_simple_pointer(enc, pRenderPassBegin))4402vn_encode_VkRenderPassBeginInfo(enc, pRenderPassBegin);4403if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))4404vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);4405}44064407static inline size_t vn_sizeof_vkCmdBeginRenderPass2_reply(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)4408{4409const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT;4410size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);44114412/* skip commandBuffer */4413/* skip pRenderPassBegin */4414/* skip pSubpassBeginInfo */44154416return cmd_size;4417}44184419static inline void vn_decode_vkCmdBeginRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)4420{4421VkCommandTypeEXT command_type;4422vn_decode_VkCommandTypeEXT(dec, &command_type);4423assert(command_type == VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT);44244425/* skip commandBuffer */4426/* skip pRenderPassBegin */4427/* skip pSubpassBeginInfo */4428}44294430static inline size_t vn_sizeof_vkCmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)4431{4432const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;4433const VkFlags cmd_flags = 0;4434size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);44354436cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4437cmd_size += vn_sizeof_simple_pointer(pSubpassBeginInfo);4438if (pSubpassBeginInfo)4439cmd_size += vn_sizeof_VkSubpassBeginInfo(pSubpassBeginInfo);4440cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);4441if (pSubpassEndInfo)4442cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);44434444return cmd_size;4445}44464447static inline void vn_encode_vkCmdNextSubpass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)4448{4449const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;44504451vn_encode_VkCommandTypeEXT(enc, &cmd_type);4452vn_encode_VkFlags(enc, &cmd_flags);44534454vn_encode_VkCommandBuffer(enc, &commandBuffer);4455if (vn_encode_simple_pointer(enc, pSubpassBeginInfo))4456vn_encode_VkSubpassBeginInfo(enc, pSubpassBeginInfo);4457if (vn_encode_simple_pointer(enc, pSubpassEndInfo))4458vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);4459}44604461static inline size_t vn_sizeof_vkCmdNextSubpass2_reply(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)4462{4463const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT;4464size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);44654466/* skip commandBuffer */4467/* skip pSubpassBeginInfo */4468/* skip pSubpassEndInfo */44694470return cmd_size;4471}44724473static inline void vn_decode_vkCmdNextSubpass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)4474{4475VkCommandTypeEXT command_type;4476vn_decode_VkCommandTypeEXT(dec, &command_type);4477assert(command_type == VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT);44784479/* skip commandBuffer */4480/* skip pSubpassBeginInfo */4481/* skip pSubpassEndInfo */4482}44834484static inline size_t vn_sizeof_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)4485{4486const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;4487const VkFlags cmd_flags = 0;4488size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);44894490cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4491cmd_size += vn_sizeof_simple_pointer(pSubpassEndInfo);4492if (pSubpassEndInfo)4493cmd_size += vn_sizeof_VkSubpassEndInfo(pSubpassEndInfo);44944495return cmd_size;4496}44974498static inline void vn_encode_vkCmdEndRenderPass2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)4499{4500const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;45014502vn_encode_VkCommandTypeEXT(enc, &cmd_type);4503vn_encode_VkFlags(enc, &cmd_flags);45044505vn_encode_VkCommandBuffer(enc, &commandBuffer);4506if (vn_encode_simple_pointer(enc, pSubpassEndInfo))4507vn_encode_VkSubpassEndInfo(enc, pSubpassEndInfo);4508}45094510static inline size_t vn_sizeof_vkCmdEndRenderPass2_reply(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)4511{4512const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT;4513size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);45144515/* skip commandBuffer */4516/* skip pSubpassEndInfo */45174518return cmd_size;4519}45204521static inline void vn_decode_vkCmdEndRenderPass2_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)4522{4523VkCommandTypeEXT command_type;4524vn_decode_VkCommandTypeEXT(dec, &command_type);4525assert(command_type == VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT);45264527/* skip commandBuffer */4528/* skip pSubpassEndInfo */4529}45304531static inline size_t vn_sizeof_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)4532{4533const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;4534const VkFlags cmd_flags = 0;4535size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);45364537cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4538cmd_size += vn_sizeof_VkBuffer(&buffer);4539cmd_size += vn_sizeof_VkDeviceSize(&offset);4540cmd_size += vn_sizeof_VkBuffer(&countBuffer);4541cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);4542cmd_size += vn_sizeof_uint32_t(&maxDrawCount);4543cmd_size += vn_sizeof_uint32_t(&stride);45444545return cmd_size;4546}45474548static 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)4549{4550const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;45514552vn_encode_VkCommandTypeEXT(enc, &cmd_type);4553vn_encode_VkFlags(enc, &cmd_flags);45544555vn_encode_VkCommandBuffer(enc, &commandBuffer);4556vn_encode_VkBuffer(enc, &buffer);4557vn_encode_VkDeviceSize(enc, &offset);4558vn_encode_VkBuffer(enc, &countBuffer);4559vn_encode_VkDeviceSize(enc, &countBufferOffset);4560vn_encode_uint32_t(enc, &maxDrawCount);4561vn_encode_uint32_t(enc, &stride);4562}45634564static inline size_t vn_sizeof_vkCmdDrawIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)4565{4566const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT;4567size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);45684569/* skip commandBuffer */4570/* skip buffer */4571/* skip offset */4572/* skip countBuffer */4573/* skip countBufferOffset */4574/* skip maxDrawCount */4575/* skip stride */45764577return cmd_size;4578}45794580static 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)4581{4582VkCommandTypeEXT command_type;4583vn_decode_VkCommandTypeEXT(dec, &command_type);4584assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT);45854586/* skip commandBuffer */4587/* skip buffer */4588/* skip offset */4589/* skip countBuffer */4590/* skip countBufferOffset */4591/* skip maxDrawCount */4592/* skip stride */4593}45944595static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)4596{4597const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;4598const VkFlags cmd_flags = 0;4599size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);46004601cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4602cmd_size += vn_sizeof_VkBuffer(&buffer);4603cmd_size += vn_sizeof_VkDeviceSize(&offset);4604cmd_size += vn_sizeof_VkBuffer(&countBuffer);4605cmd_size += vn_sizeof_VkDeviceSize(&countBufferOffset);4606cmd_size += vn_sizeof_uint32_t(&maxDrawCount);4607cmd_size += vn_sizeof_uint32_t(&stride);46084609return cmd_size;4610}46114612static 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)4613{4614const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;46154616vn_encode_VkCommandTypeEXT(enc, &cmd_type);4617vn_encode_VkFlags(enc, &cmd_flags);46184619vn_encode_VkCommandBuffer(enc, &commandBuffer);4620vn_encode_VkBuffer(enc, &buffer);4621vn_encode_VkDeviceSize(enc, &offset);4622vn_encode_VkBuffer(enc, &countBuffer);4623vn_encode_VkDeviceSize(enc, &countBufferOffset);4624vn_encode_uint32_t(enc, &maxDrawCount);4625vn_encode_uint32_t(enc, &stride);4626}46274628static inline size_t vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)4629{4630const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT;4631size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);46324633/* skip commandBuffer */4634/* skip buffer */4635/* skip offset */4636/* skip countBuffer */4637/* skip countBufferOffset */4638/* skip maxDrawCount */4639/* skip stride */46404641return cmd_size;4642}46434644static 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)4645{4646VkCommandTypeEXT command_type;4647vn_decode_VkCommandTypeEXT(dec, &command_type);4648assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT);46494650/* skip commandBuffer */4651/* skip buffer */4652/* skip offset */4653/* skip countBuffer */4654/* skip countBufferOffset */4655/* skip maxDrawCount */4656/* skip stride */4657}46584659static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)4660{4661const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;4662const VkFlags cmd_flags = 0;4663size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);46644665cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4666cmd_size += vn_sizeof_uint32_t(&firstBinding);4667cmd_size += vn_sizeof_uint32_t(&bindingCount);4668if (pBuffers) {4669cmd_size += vn_sizeof_array_size(bindingCount);4670for (uint32_t i = 0; i < bindingCount; i++)4671cmd_size += vn_sizeof_VkBuffer(&pBuffers[i]);4672} else {4673cmd_size += vn_sizeof_array_size(0);4674}4675if (pOffsets) {4676cmd_size += vn_sizeof_array_size(bindingCount);4677cmd_size += vn_sizeof_VkDeviceSize_array(pOffsets, bindingCount);4678} else {4679cmd_size += vn_sizeof_array_size(0);4680}4681if (pSizes) {4682cmd_size += vn_sizeof_array_size(bindingCount);4683cmd_size += vn_sizeof_VkDeviceSize_array(pSizes, bindingCount);4684} else {4685cmd_size += vn_sizeof_array_size(0);4686}46874688return cmd_size;4689}46904691static 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)4692{4693const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;46944695vn_encode_VkCommandTypeEXT(enc, &cmd_type);4696vn_encode_VkFlags(enc, &cmd_flags);46974698vn_encode_VkCommandBuffer(enc, &commandBuffer);4699vn_encode_uint32_t(enc, &firstBinding);4700vn_encode_uint32_t(enc, &bindingCount);4701if (pBuffers) {4702vn_encode_array_size(enc, bindingCount);4703for (uint32_t i = 0; i < bindingCount; i++)4704vn_encode_VkBuffer(enc, &pBuffers[i]);4705} else {4706vn_encode_array_size(enc, 0);4707}4708if (pOffsets) {4709vn_encode_array_size(enc, bindingCount);4710vn_encode_VkDeviceSize_array(enc, pOffsets, bindingCount);4711} else {4712vn_encode_array_size(enc, 0);4713}4714if (pSizes) {4715vn_encode_array_size(enc, bindingCount);4716vn_encode_VkDeviceSize_array(enc, pSizes, bindingCount);4717} else {4718vn_encode_array_size(enc, 0);4719}4720}47214722static inline size_t vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)4723{4724const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT;4725size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);47264727/* skip commandBuffer */4728/* skip firstBinding */4729/* skip bindingCount */4730/* skip pBuffers */4731/* skip pOffsets */4732/* skip pSizes */47334734return cmd_size;4735}47364737static 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)4738{4739VkCommandTypeEXT command_type;4740vn_decode_VkCommandTypeEXT(dec, &command_type);4741assert(command_type == VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT);47424743/* skip commandBuffer */4744/* skip firstBinding */4745/* skip bindingCount */4746/* skip pBuffers */4747/* skip pOffsets */4748/* skip pSizes */4749}47504751static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)4752{4753const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;4754const VkFlags cmd_flags = 0;4755size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);47564757cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4758cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);4759cmd_size += vn_sizeof_uint32_t(&counterBufferCount);4760if (pCounterBuffers) {4761cmd_size += vn_sizeof_array_size(counterBufferCount);4762for (uint32_t i = 0; i < counterBufferCount; i++)4763cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);4764} else {4765cmd_size += vn_sizeof_array_size(0);4766}4767if (pCounterBufferOffsets) {4768cmd_size += vn_sizeof_array_size(counterBufferCount);4769cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);4770} else {4771cmd_size += vn_sizeof_array_size(0);4772}47734774return cmd_size;4775}47764777static 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)4778{4779const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;47804781vn_encode_VkCommandTypeEXT(enc, &cmd_type);4782vn_encode_VkFlags(enc, &cmd_flags);47834784vn_encode_VkCommandBuffer(enc, &commandBuffer);4785vn_encode_uint32_t(enc, &firstCounterBuffer);4786vn_encode_uint32_t(enc, &counterBufferCount);4787if (pCounterBuffers) {4788vn_encode_array_size(enc, counterBufferCount);4789for (uint32_t i = 0; i < counterBufferCount; i++)4790vn_encode_VkBuffer(enc, &pCounterBuffers[i]);4791} else {4792vn_encode_array_size(enc, 0);4793}4794if (pCounterBufferOffsets) {4795vn_encode_array_size(enc, counterBufferCount);4796vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);4797} else {4798vn_encode_array_size(enc, 0);4799}4800}48014802static inline size_t vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)4803{4804const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT;4805size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);48064807/* skip commandBuffer */4808/* skip firstCounterBuffer */4809/* skip counterBufferCount */4810/* skip pCounterBuffers */4811/* skip pCounterBufferOffsets */48124813return cmd_size;4814}48154816static 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)4817{4818VkCommandTypeEXT command_type;4819vn_decode_VkCommandTypeEXT(dec, &command_type);4820assert(command_type == VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT);48214822/* skip commandBuffer */4823/* skip firstCounterBuffer */4824/* skip counterBufferCount */4825/* skip pCounterBuffers */4826/* skip pCounterBufferOffsets */4827}48284829static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)4830{4831const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;4832const VkFlags cmd_flags = 0;4833size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);48344835cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4836cmd_size += vn_sizeof_uint32_t(&firstCounterBuffer);4837cmd_size += vn_sizeof_uint32_t(&counterBufferCount);4838if (pCounterBuffers) {4839cmd_size += vn_sizeof_array_size(counterBufferCount);4840for (uint32_t i = 0; i < counterBufferCount; i++)4841cmd_size += vn_sizeof_VkBuffer(&pCounterBuffers[i]);4842} else {4843cmd_size += vn_sizeof_array_size(0);4844}4845if (pCounterBufferOffsets) {4846cmd_size += vn_sizeof_array_size(counterBufferCount);4847cmd_size += vn_sizeof_VkDeviceSize_array(pCounterBufferOffsets, counterBufferCount);4848} else {4849cmd_size += vn_sizeof_array_size(0);4850}48514852return cmd_size;4853}48544855static 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)4856{4857const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;48584859vn_encode_VkCommandTypeEXT(enc, &cmd_type);4860vn_encode_VkFlags(enc, &cmd_flags);48614862vn_encode_VkCommandBuffer(enc, &commandBuffer);4863vn_encode_uint32_t(enc, &firstCounterBuffer);4864vn_encode_uint32_t(enc, &counterBufferCount);4865if (pCounterBuffers) {4866vn_encode_array_size(enc, counterBufferCount);4867for (uint32_t i = 0; i < counterBufferCount; i++)4868vn_encode_VkBuffer(enc, &pCounterBuffers[i]);4869} else {4870vn_encode_array_size(enc, 0);4871}4872if (pCounterBufferOffsets) {4873vn_encode_array_size(enc, counterBufferCount);4874vn_encode_VkDeviceSize_array(enc, pCounterBufferOffsets, counterBufferCount);4875} else {4876vn_encode_array_size(enc, 0);4877}4878}48794880static inline size_t vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)4881{4882const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT;4883size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);48844885/* skip commandBuffer */4886/* skip firstCounterBuffer */4887/* skip counterBufferCount */4888/* skip pCounterBuffers */4889/* skip pCounterBufferOffsets */48904891return cmd_size;4892}48934894static 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)4895{4896VkCommandTypeEXT command_type;4897vn_decode_VkCommandTypeEXT(dec, &command_type);4898assert(command_type == VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT);48994900/* skip commandBuffer */4901/* skip firstCounterBuffer */4902/* skip counterBufferCount */4903/* skip pCounterBuffers */4904/* skip pCounterBufferOffsets */4905}49064907static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)4908{4909const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;4910const VkFlags cmd_flags = 0;4911size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);49124913cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4914cmd_size += vn_sizeof_VkQueryPool(&queryPool);4915cmd_size += vn_sizeof_uint32_t(&query);4916cmd_size += vn_sizeof_VkFlags(&flags);4917cmd_size += vn_sizeof_uint32_t(&index);49184919return cmd_size;4920}49214922static 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)4923{4924const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;49254926vn_encode_VkCommandTypeEXT(enc, &cmd_type);4927vn_encode_VkFlags(enc, &cmd_flags);49284929vn_encode_VkCommandBuffer(enc, &commandBuffer);4930vn_encode_VkQueryPool(enc, &queryPool);4931vn_encode_uint32_t(enc, &query);4932vn_encode_VkFlags(enc, &flags);4933vn_encode_uint32_t(enc, &index);4934}49354936static inline size_t vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)4937{4938const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT;4939size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);49404941/* skip commandBuffer */4942/* skip queryPool */4943/* skip query */4944/* skip flags */4945/* skip index */49464947return cmd_size;4948}49494950static inline void vn_decode_vkCmdBeginQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)4951{4952VkCommandTypeEXT command_type;4953vn_decode_VkCommandTypeEXT(dec, &command_type);4954assert(command_type == VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT);49554956/* skip commandBuffer */4957/* skip queryPool */4958/* skip query */4959/* skip flags */4960/* skip index */4961}49624963static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)4964{4965const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;4966const VkFlags cmd_flags = 0;4967size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);49684969cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);4970cmd_size += vn_sizeof_VkQueryPool(&queryPool);4971cmd_size += vn_sizeof_uint32_t(&query);4972cmd_size += vn_sizeof_uint32_t(&index);49734974return cmd_size;4975}49764977static inline void vn_encode_vkCmdEndQueryIndexedEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)4978{4979const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;49804981vn_encode_VkCommandTypeEXT(enc, &cmd_type);4982vn_encode_VkFlags(enc, &cmd_flags);49834984vn_encode_VkCommandBuffer(enc, &commandBuffer);4985vn_encode_VkQueryPool(enc, &queryPool);4986vn_encode_uint32_t(enc, &query);4987vn_encode_uint32_t(enc, &index);4988}49894990static inline size_t vn_sizeof_vkCmdEndQueryIndexedEXT_reply(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)4991{4992const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT;4993size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);49944995/* skip commandBuffer */4996/* skip queryPool */4997/* skip query */4998/* skip index */49995000return cmd_size;5001}50025003static inline void vn_decode_vkCmdEndQueryIndexedEXT_reply(struct vn_cs_decoder *dec, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)5004{5005VkCommandTypeEXT command_type;5006vn_decode_VkCommandTypeEXT(dec, &command_type);5007assert(command_type == VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT);50085009/* skip commandBuffer */5010/* skip queryPool */5011/* skip query */5012/* skip index */5013}50145015static inline size_t vn_sizeof_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)5016{5017const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;5018const VkFlags cmd_flags = 0;5019size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);50205021cmd_size += vn_sizeof_VkCommandBuffer(&commandBuffer);5022cmd_size += vn_sizeof_uint32_t(&instanceCount);5023cmd_size += vn_sizeof_uint32_t(&firstInstance);5024cmd_size += vn_sizeof_VkBuffer(&counterBuffer);5025cmd_size += vn_sizeof_VkDeviceSize(&counterBufferOffset);5026cmd_size += vn_sizeof_uint32_t(&counterOffset);5027cmd_size += vn_sizeof_uint32_t(&vertexStride);50285029return cmd_size;5030}50315032static 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)5033{5034const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;50355036vn_encode_VkCommandTypeEXT(enc, &cmd_type);5037vn_encode_VkFlags(enc, &cmd_flags);50385039vn_encode_VkCommandBuffer(enc, &commandBuffer);5040vn_encode_uint32_t(enc, &instanceCount);5041vn_encode_uint32_t(enc, &firstInstance);5042vn_encode_VkBuffer(enc, &counterBuffer);5043vn_encode_VkDeviceSize(enc, &counterBufferOffset);5044vn_encode_uint32_t(enc, &counterOffset);5045vn_encode_uint32_t(enc, &vertexStride);5046}50475048static 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)5049{5050const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT;5051size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);50525053/* skip commandBuffer */5054/* skip instanceCount */5055/* skip firstInstance */5056/* skip counterBuffer */5057/* skip counterBufferOffset */5058/* skip counterOffset */5059/* skip vertexStride */50605061return cmd_size;5062}50635064static 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)5065{5066VkCommandTypeEXT command_type;5067vn_decode_VkCommandTypeEXT(dec, &command_type);5068assert(command_type == VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT);50695070/* skip commandBuffer */5071/* skip instanceCount */5072/* skip firstInstance */5073/* skip counterBuffer */5074/* skip counterBufferOffset */5075/* skip counterOffset */5076/* skip vertexStride */5077}50785079static 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)5080{5081uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5082void *cmd_data = local_cmd_data;5083size_t cmd_size = vn_sizeof_vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);5084if (cmd_size > sizeof(local_cmd_data)) {5085cmd_data = malloc(cmd_size);5086if (!cmd_data)5087cmd_size = 0;5088}5089const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateCommandBuffers_reply(device, pAllocateInfo, pCommandBuffers) : 0;50905091struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5092if (cmd_size) {5093vn_encode_vkAllocateCommandBuffers(enc, cmd_flags, device, pAllocateInfo, pCommandBuffers);5094vn_instance_submit_command(vn_instance, submit);5095if (cmd_data != local_cmd_data)5096free(cmd_data);5097}5098}50995100static 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)5101{5102uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5103void *cmd_data = local_cmd_data;5104size_t cmd_size = vn_sizeof_vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);5105if (cmd_size > sizeof(local_cmd_data)) {5106cmd_data = malloc(cmd_size);5107if (!cmd_data)5108cmd_size = 0;5109}5110const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeCommandBuffers_reply(device, commandPool, commandBufferCount, pCommandBuffers) : 0;51115112struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5113if (cmd_size) {5114vn_encode_vkFreeCommandBuffers(enc, cmd_flags, device, commandPool, commandBufferCount, pCommandBuffers);5115vn_instance_submit_command(vn_instance, submit);5116if (cmd_data != local_cmd_data)5117free(cmd_data);5118}5119}51205121static inline void vn_submit_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo, struct vn_instance_submit_command *submit)5122{5123uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5124void *cmd_data = local_cmd_data;5125size_t cmd_size = vn_sizeof_vkBeginCommandBuffer(commandBuffer, pBeginInfo);5126if (cmd_size > sizeof(local_cmd_data)) {5127cmd_data = malloc(cmd_size);5128if (!cmd_data)5129cmd_size = 0;5130}5131const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBeginCommandBuffer_reply(commandBuffer, pBeginInfo) : 0;51325133struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5134if (cmd_size) {5135vn_encode_vkBeginCommandBuffer(enc, cmd_flags, commandBuffer, pBeginInfo);5136vn_instance_submit_command(vn_instance, submit);5137if (cmd_data != local_cmd_data)5138free(cmd_data);5139}5140}51415142static inline void vn_submit_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)5143{5144uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5145void *cmd_data = local_cmd_data;5146size_t cmd_size = vn_sizeof_vkEndCommandBuffer(commandBuffer);5147if (cmd_size > sizeof(local_cmd_data)) {5148cmd_data = malloc(cmd_size);5149if (!cmd_data)5150cmd_size = 0;5151}5152const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEndCommandBuffer_reply(commandBuffer) : 0;51535154struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5155if (cmd_size) {5156vn_encode_vkEndCommandBuffer(enc, cmd_flags, commandBuffer);5157vn_instance_submit_command(vn_instance, submit);5158if (cmd_data != local_cmd_data)5159free(cmd_data);5160}5161}51625163static inline void vn_submit_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags, struct vn_instance_submit_command *submit)5164{5165uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5166void *cmd_data = local_cmd_data;5167size_t cmd_size = vn_sizeof_vkResetCommandBuffer(commandBuffer, flags);5168if (cmd_size > sizeof(local_cmd_data)) {5169cmd_data = malloc(cmd_size);5170if (!cmd_data)5171cmd_size = 0;5172}5173const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkResetCommandBuffer_reply(commandBuffer, flags) : 0;51745175struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5176if (cmd_size) {5177vn_encode_vkResetCommandBuffer(enc, cmd_flags, commandBuffer, flags);5178vn_instance_submit_command(vn_instance, submit);5179if (cmd_data != local_cmd_data)5180free(cmd_data);5181}5182}51835184static 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)5185{5186uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5187void *cmd_data = local_cmd_data;5188size_t cmd_size = vn_sizeof_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);5189if (cmd_size > sizeof(local_cmd_data)) {5190cmd_data = malloc(cmd_size);5191if (!cmd_data)5192cmd_size = 0;5193}5194const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindPipeline_reply(commandBuffer, pipelineBindPoint, pipeline) : 0;51955196struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5197if (cmd_size) {5198vn_encode_vkCmdBindPipeline(enc, cmd_flags, commandBuffer, pipelineBindPoint, pipeline);5199vn_instance_submit_command(vn_instance, submit);5200if (cmd_data != local_cmd_data)5201free(cmd_data);5202}5203}52045205static 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)5206{5207uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5208void *cmd_data = local_cmd_data;5209size_t cmd_size = vn_sizeof_vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);5210if (cmd_size > sizeof(local_cmd_data)) {5211cmd_data = malloc(cmd_size);5212if (!cmd_data)5213cmd_size = 0;5214}5215const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetViewport_reply(commandBuffer, firstViewport, viewportCount, pViewports) : 0;52165217struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5218if (cmd_size) {5219vn_encode_vkCmdSetViewport(enc, cmd_flags, commandBuffer, firstViewport, viewportCount, pViewports);5220vn_instance_submit_command(vn_instance, submit);5221if (cmd_data != local_cmd_data)5222free(cmd_data);5223}5224}52255226static 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)5227{5228uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5229void *cmd_data = local_cmd_data;5230size_t cmd_size = vn_sizeof_vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);5231if (cmd_size > sizeof(local_cmd_data)) {5232cmd_data = malloc(cmd_size);5233if (!cmd_data)5234cmd_size = 0;5235}5236const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetScissor_reply(commandBuffer, firstScissor, scissorCount, pScissors) : 0;52375238struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5239if (cmd_size) {5240vn_encode_vkCmdSetScissor(enc, cmd_flags, commandBuffer, firstScissor, scissorCount, pScissors);5241vn_instance_submit_command(vn_instance, submit);5242if (cmd_data != local_cmd_data)5243free(cmd_data);5244}5245}52465247static inline void vn_submit_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, float lineWidth, struct vn_instance_submit_command *submit)5248{5249uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5250void *cmd_data = local_cmd_data;5251size_t cmd_size = vn_sizeof_vkCmdSetLineWidth(commandBuffer, lineWidth);5252if (cmd_size > sizeof(local_cmd_data)) {5253cmd_data = malloc(cmd_size);5254if (!cmd_data)5255cmd_size = 0;5256}5257const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetLineWidth_reply(commandBuffer, lineWidth) : 0;52585259struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5260if (cmd_size) {5261vn_encode_vkCmdSetLineWidth(enc, cmd_flags, commandBuffer, lineWidth);5262vn_instance_submit_command(vn_instance, submit);5263if (cmd_data != local_cmd_data)5264free(cmd_data);5265}5266}52675268static 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)5269{5270uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5271void *cmd_data = local_cmd_data;5272size_t cmd_size = vn_sizeof_vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);5273if (cmd_size > sizeof(local_cmd_data)) {5274cmd_data = malloc(cmd_size);5275if (!cmd_data)5276cmd_size = 0;5277}5278const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBias_reply(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor) : 0;52795280struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5281if (cmd_size) {5282vn_encode_vkCmdSetDepthBias(enc, cmd_flags, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);5283vn_instance_submit_command(vn_instance, submit);5284if (cmd_data != local_cmd_data)5285free(cmd_data);5286}5287}52885289static 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)5290{5291uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5292void *cmd_data = local_cmd_data;5293size_t cmd_size = vn_sizeof_vkCmdSetBlendConstants(commandBuffer, blendConstants);5294if (cmd_size > sizeof(local_cmd_data)) {5295cmd_data = malloc(cmd_size);5296if (!cmd_data)5297cmd_size = 0;5298}5299const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetBlendConstants_reply(commandBuffer, blendConstants) : 0;53005301struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5302if (cmd_size) {5303vn_encode_vkCmdSetBlendConstants(enc, cmd_flags, commandBuffer, blendConstants);5304vn_instance_submit_command(vn_instance, submit);5305if (cmd_data != local_cmd_data)5306free(cmd_data);5307}5308}53095310static 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)5311{5312uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5313void *cmd_data = local_cmd_data;5314size_t cmd_size = vn_sizeof_vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);5315if (cmd_size > sizeof(local_cmd_data)) {5316cmd_data = malloc(cmd_size);5317if (!cmd_data)5318cmd_size = 0;5319}5320const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDepthBounds_reply(commandBuffer, minDepthBounds, maxDepthBounds) : 0;53215322struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5323if (cmd_size) {5324vn_encode_vkCmdSetDepthBounds(enc, cmd_flags, commandBuffer, minDepthBounds, maxDepthBounds);5325vn_instance_submit_command(vn_instance, submit);5326if (cmd_data != local_cmd_data)5327free(cmd_data);5328}5329}53305331static 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)5332{5333uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5334void *cmd_data = local_cmd_data;5335size_t cmd_size = vn_sizeof_vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);5336if (cmd_size > sizeof(local_cmd_data)) {5337cmd_data = malloc(cmd_size);5338if (!cmd_data)5339cmd_size = 0;5340}5341const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilCompareMask_reply(commandBuffer, faceMask, compareMask) : 0;53425343struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5344if (cmd_size) {5345vn_encode_vkCmdSetStencilCompareMask(enc, cmd_flags, commandBuffer, faceMask, compareMask);5346vn_instance_submit_command(vn_instance, submit);5347if (cmd_data != local_cmd_data)5348free(cmd_data);5349}5350}53515352static 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)5353{5354uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5355void *cmd_data = local_cmd_data;5356size_t cmd_size = vn_sizeof_vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);5357if (cmd_size > sizeof(local_cmd_data)) {5358cmd_data = malloc(cmd_size);5359if (!cmd_data)5360cmd_size = 0;5361}5362const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilWriteMask_reply(commandBuffer, faceMask, writeMask) : 0;53635364struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5365if (cmd_size) {5366vn_encode_vkCmdSetStencilWriteMask(enc, cmd_flags, commandBuffer, faceMask, writeMask);5367vn_instance_submit_command(vn_instance, submit);5368if (cmd_data != local_cmd_data)5369free(cmd_data);5370}5371}53725373static 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)5374{5375uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5376void *cmd_data = local_cmd_data;5377size_t cmd_size = vn_sizeof_vkCmdSetStencilReference(commandBuffer, faceMask, reference);5378if (cmd_size > sizeof(local_cmd_data)) {5379cmd_data = malloc(cmd_size);5380if (!cmd_data)5381cmd_size = 0;5382}5383const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetStencilReference_reply(commandBuffer, faceMask, reference) : 0;53845385struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5386if (cmd_size) {5387vn_encode_vkCmdSetStencilReference(enc, cmd_flags, commandBuffer, faceMask, reference);5388vn_instance_submit_command(vn_instance, submit);5389if (cmd_data != local_cmd_data)5390free(cmd_data);5391}5392}53935394static 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)5395{5396uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5397void *cmd_data = local_cmd_data;5398size_t cmd_size = vn_sizeof_vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);5399if (cmd_size > sizeof(local_cmd_data)) {5400cmd_data = malloc(cmd_size);5401if (!cmd_data)5402cmd_size = 0;5403}5404const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindDescriptorSets_reply(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets) : 0;54055406struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5407if (cmd_size) {5408vn_encode_vkCmdBindDescriptorSets(enc, cmd_flags, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);5409vn_instance_submit_command(vn_instance, submit);5410if (cmd_data != local_cmd_data)5411free(cmd_data);5412}5413}54145415static 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)5416{5417uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5418void *cmd_data = local_cmd_data;5419size_t cmd_size = vn_sizeof_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);5420if (cmd_size > sizeof(local_cmd_data)) {5421cmd_data = malloc(cmd_size);5422if (!cmd_data)5423cmd_size = 0;5424}5425const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindIndexBuffer_reply(commandBuffer, buffer, offset, indexType) : 0;54265427struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5428if (cmd_size) {5429vn_encode_vkCmdBindIndexBuffer(enc, cmd_flags, commandBuffer, buffer, offset, indexType);5430vn_instance_submit_command(vn_instance, submit);5431if (cmd_data != local_cmd_data)5432free(cmd_data);5433}5434}54355436static 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)5437{5438uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5439void *cmd_data = local_cmd_data;5440size_t cmd_size = vn_sizeof_vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);5441if (cmd_size > sizeof(local_cmd_data)) {5442cmd_data = malloc(cmd_size);5443if (!cmd_data)5444cmd_size = 0;5445}5446const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindVertexBuffers_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets) : 0;54475448struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5449if (cmd_size) {5450vn_encode_vkCmdBindVertexBuffers(enc, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);5451vn_instance_submit_command(vn_instance, submit);5452if (cmd_data != local_cmd_data)5453free(cmd_data);5454}5455}54565457static 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)5458{5459uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5460void *cmd_data = local_cmd_data;5461size_t cmd_size = vn_sizeof_vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);5462if (cmd_size > sizeof(local_cmd_data)) {5463cmd_data = malloc(cmd_size);5464if (!cmd_data)5465cmd_size = 0;5466}5467const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDraw_reply(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance) : 0;54685469struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5470if (cmd_size) {5471vn_encode_vkCmdDraw(enc, cmd_flags, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);5472vn_instance_submit_command(vn_instance, submit);5473if (cmd_data != local_cmd_data)5474free(cmd_data);5475}5476}54775478static 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)5479{5480uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5481void *cmd_data = local_cmd_data;5482size_t cmd_size = vn_sizeof_vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);5483if (cmd_size > sizeof(local_cmd_data)) {5484cmd_data = malloc(cmd_size);5485if (!cmd_data)5486cmd_size = 0;5487}5488const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexed_reply(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance) : 0;54895490struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5491if (cmd_size) {5492vn_encode_vkCmdDrawIndexed(enc, cmd_flags, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);5493vn_instance_submit_command(vn_instance, submit);5494if (cmd_data != local_cmd_data)5495free(cmd_data);5496}5497}54985499static 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)5500{5501uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5502void *cmd_data = local_cmd_data;5503size_t cmd_size = vn_sizeof_vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);5504if (cmd_size > sizeof(local_cmd_data)) {5505cmd_data = malloc(cmd_size);5506if (!cmd_data)5507cmd_size = 0;5508}5509const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;55105511struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5512if (cmd_size) {5513vn_encode_vkCmdDrawIndirect(enc, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);5514vn_instance_submit_command(vn_instance, submit);5515if (cmd_data != local_cmd_data)5516free(cmd_data);5517}5518}55195520static 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)5521{5522uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5523void *cmd_data = local_cmd_data;5524size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);5525if (cmd_size > sizeof(local_cmd_data)) {5526cmd_data = malloc(cmd_size);5527if (!cmd_data)5528cmd_size = 0;5529}5530const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirect_reply(commandBuffer, buffer, offset, drawCount, stride) : 0;55315532struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5533if (cmd_size) {5534vn_encode_vkCmdDrawIndexedIndirect(enc, cmd_flags, commandBuffer, buffer, offset, drawCount, stride);5535vn_instance_submit_command(vn_instance, submit);5536if (cmd_data != local_cmd_data)5537free(cmd_data);5538}5539}55405541static 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)5542{5543uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5544void *cmd_data = local_cmd_data;5545size_t cmd_size = vn_sizeof_vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);5546if (cmd_size > sizeof(local_cmd_data)) {5547cmd_data = malloc(cmd_size);5548if (!cmd_data)5549cmd_size = 0;5550}5551const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatch_reply(commandBuffer, groupCountX, groupCountY, groupCountZ) : 0;55525553struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5554if (cmd_size) {5555vn_encode_vkCmdDispatch(enc, cmd_flags, commandBuffer, groupCountX, groupCountY, groupCountZ);5556vn_instance_submit_command(vn_instance, submit);5557if (cmd_data != local_cmd_data)5558free(cmd_data);5559}5560}55615562static 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)5563{5564uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5565void *cmd_data = local_cmd_data;5566size_t cmd_size = vn_sizeof_vkCmdDispatchIndirect(commandBuffer, buffer, offset);5567if (cmd_size > sizeof(local_cmd_data)) {5568cmd_data = malloc(cmd_size);5569if (!cmd_data)5570cmd_size = 0;5571}5572const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchIndirect_reply(commandBuffer, buffer, offset) : 0;55735574struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5575if (cmd_size) {5576vn_encode_vkCmdDispatchIndirect(enc, cmd_flags, commandBuffer, buffer, offset);5577vn_instance_submit_command(vn_instance, submit);5578if (cmd_data != local_cmd_data)5579free(cmd_data);5580}5581}55825583static 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)5584{5585uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5586void *cmd_data = local_cmd_data;5587size_t cmd_size = vn_sizeof_vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);5588if (cmd_size > sizeof(local_cmd_data)) {5589cmd_data = malloc(cmd_size);5590if (!cmd_data)5591cmd_size = 0;5592}5593const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBuffer_reply(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions) : 0;55945595struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5596if (cmd_size) {5597vn_encode_vkCmdCopyBuffer(enc, cmd_flags, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);5598vn_instance_submit_command(vn_instance, submit);5599if (cmd_data != local_cmd_data)5600free(cmd_data);5601}5602}56035604static 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)5605{5606uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5607void *cmd_data = local_cmd_data;5608size_t cmd_size = vn_sizeof_vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);5609if (cmd_size > sizeof(local_cmd_data)) {5610cmd_data = malloc(cmd_size);5611if (!cmd_data)5612cmd_size = 0;5613}5614const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;56155616struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5617if (cmd_size) {5618vn_encode_vkCmdCopyImage(enc, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);5619vn_instance_submit_command(vn_instance, submit);5620if (cmd_data != local_cmd_data)5621free(cmd_data);5622}5623}56245625static 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)5626{5627uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5628void *cmd_data = local_cmd_data;5629size_t cmd_size = vn_sizeof_vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);5630if (cmd_size > sizeof(local_cmd_data)) {5631cmd_data = malloc(cmd_size);5632if (!cmd_data)5633cmd_size = 0;5634}5635const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBlitImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter) : 0;56365637struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5638if (cmd_size) {5639vn_encode_vkCmdBlitImage(enc, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);5640vn_instance_submit_command(vn_instance, submit);5641if (cmd_data != local_cmd_data)5642free(cmd_data);5643}5644}56455646static 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)5647{5648uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5649void *cmd_data = local_cmd_data;5650size_t cmd_size = vn_sizeof_vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);5651if (cmd_size > sizeof(local_cmd_data)) {5652cmd_data = malloc(cmd_size);5653if (!cmd_data)5654cmd_size = 0;5655}5656const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyBufferToImage_reply(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions) : 0;56575658struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5659if (cmd_size) {5660vn_encode_vkCmdCopyBufferToImage(enc, cmd_flags, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);5661vn_instance_submit_command(vn_instance, submit);5662if (cmd_data != local_cmd_data)5663free(cmd_data);5664}5665}56665667static 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)5668{5669uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5670void *cmd_data = local_cmd_data;5671size_t cmd_size = vn_sizeof_vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);5672if (cmd_size > sizeof(local_cmd_data)) {5673cmd_data = malloc(cmd_size);5674if (!cmd_data)5675cmd_size = 0;5676}5677const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyImageToBuffer_reply(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions) : 0;56785679struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5680if (cmd_size) {5681vn_encode_vkCmdCopyImageToBuffer(enc, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);5682vn_instance_submit_command(vn_instance, submit);5683if (cmd_data != local_cmd_data)5684free(cmd_data);5685}5686}56875688static 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)5689{5690uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5691void *cmd_data = local_cmd_data;5692size_t cmd_size = vn_sizeof_vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);5693if (cmd_size > sizeof(local_cmd_data)) {5694cmd_data = malloc(cmd_size);5695if (!cmd_data)5696cmd_size = 0;5697}5698const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdUpdateBuffer_reply(commandBuffer, dstBuffer, dstOffset, dataSize, pData) : 0;56995700struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5701if (cmd_size) {5702vn_encode_vkCmdUpdateBuffer(enc, cmd_flags, commandBuffer, dstBuffer, dstOffset, dataSize, pData);5703vn_instance_submit_command(vn_instance, submit);5704if (cmd_data != local_cmd_data)5705free(cmd_data);5706}5707}57085709static 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)5710{5711uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5712void *cmd_data = local_cmd_data;5713size_t cmd_size = vn_sizeof_vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);5714if (cmd_size > sizeof(local_cmd_data)) {5715cmd_data = malloc(cmd_size);5716if (!cmd_data)5717cmd_size = 0;5718}5719const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdFillBuffer_reply(commandBuffer, dstBuffer, dstOffset, size, data) : 0;57205721struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5722if (cmd_size) {5723vn_encode_vkCmdFillBuffer(enc, cmd_flags, commandBuffer, dstBuffer, dstOffset, size, data);5724vn_instance_submit_command(vn_instance, submit);5725if (cmd_data != local_cmd_data)5726free(cmd_data);5727}5728}57295730static 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)5731{5732uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5733void *cmd_data = local_cmd_data;5734size_t cmd_size = vn_sizeof_vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);5735if (cmd_size > sizeof(local_cmd_data)) {5736cmd_data = malloc(cmd_size);5737if (!cmd_data)5738cmd_size = 0;5739}5740const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearColorImage_reply(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges) : 0;57415742struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5743if (cmd_size) {5744vn_encode_vkCmdClearColorImage(enc, cmd_flags, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);5745vn_instance_submit_command(vn_instance, submit);5746if (cmd_data != local_cmd_data)5747free(cmd_data);5748}5749}57505751static 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)5752{5753uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5754void *cmd_data = local_cmd_data;5755size_t cmd_size = vn_sizeof_vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);5756if (cmd_size > sizeof(local_cmd_data)) {5757cmd_data = malloc(cmd_size);5758if (!cmd_data)5759cmd_size = 0;5760}5761const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearDepthStencilImage_reply(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges) : 0;57625763struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5764if (cmd_size) {5765vn_encode_vkCmdClearDepthStencilImage(enc, cmd_flags, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);5766vn_instance_submit_command(vn_instance, submit);5767if (cmd_data != local_cmd_data)5768free(cmd_data);5769}5770}57715772static 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)5773{5774uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5775void *cmd_data = local_cmd_data;5776size_t cmd_size = vn_sizeof_vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);5777if (cmd_size > sizeof(local_cmd_data)) {5778cmd_data = malloc(cmd_size);5779if (!cmd_data)5780cmd_size = 0;5781}5782const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdClearAttachments_reply(commandBuffer, attachmentCount, pAttachments, rectCount, pRects) : 0;57835784struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5785if (cmd_size) {5786vn_encode_vkCmdClearAttachments(enc, cmd_flags, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);5787vn_instance_submit_command(vn_instance, submit);5788if (cmd_data != local_cmd_data)5789free(cmd_data);5790}5791}57925793static 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)5794{5795uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5796void *cmd_data = local_cmd_data;5797size_t cmd_size = vn_sizeof_vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);5798if (cmd_size > sizeof(local_cmd_data)) {5799cmd_data = malloc(cmd_size);5800if (!cmd_data)5801cmd_size = 0;5802}5803const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResolveImage_reply(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions) : 0;58045805struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5806if (cmd_size) {5807vn_encode_vkCmdResolveImage(enc, cmd_flags, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);5808vn_instance_submit_command(vn_instance, submit);5809if (cmd_data != local_cmd_data)5810free(cmd_data);5811}5812}58135814static 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)5815{5816uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5817void *cmd_data = local_cmd_data;5818size_t cmd_size = vn_sizeof_vkCmdSetEvent(commandBuffer, event, stageMask);5819if (cmd_size > sizeof(local_cmd_data)) {5820cmd_data = malloc(cmd_size);5821if (!cmd_data)5822cmd_size = 0;5823}5824const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetEvent_reply(commandBuffer, event, stageMask) : 0;58255826struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5827if (cmd_size) {5828vn_encode_vkCmdSetEvent(enc, cmd_flags, commandBuffer, event, stageMask);5829vn_instance_submit_command(vn_instance, submit);5830if (cmd_data != local_cmd_data)5831free(cmd_data);5832}5833}58345835static 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)5836{5837uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5838void *cmd_data = local_cmd_data;5839size_t cmd_size = vn_sizeof_vkCmdResetEvent(commandBuffer, event, stageMask);5840if (cmd_size > sizeof(local_cmd_data)) {5841cmd_data = malloc(cmd_size);5842if (!cmd_data)5843cmd_size = 0;5844}5845const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetEvent_reply(commandBuffer, event, stageMask) : 0;58465847struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5848if (cmd_size) {5849vn_encode_vkCmdResetEvent(enc, cmd_flags, commandBuffer, event, stageMask);5850vn_instance_submit_command(vn_instance, submit);5851if (cmd_data != local_cmd_data)5852free(cmd_data);5853}5854}58555856static 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)5857{5858uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5859void *cmd_data = local_cmd_data;5860size_t cmd_size = vn_sizeof_vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);5861if (cmd_size > sizeof(local_cmd_data)) {5862cmd_data = malloc(cmd_size);5863if (!cmd_data)5864cmd_size = 0;5865}5866const size_t 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;58675868struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5869if (cmd_size) {5870vn_encode_vkCmdWaitEvents(enc, cmd_flags, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);5871vn_instance_submit_command(vn_instance, submit);5872if (cmd_data != local_cmd_data)5873free(cmd_data);5874}5875}58765877static 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)5878{5879uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5880void *cmd_data = local_cmd_data;5881size_t cmd_size = vn_sizeof_vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);5882if (cmd_size > sizeof(local_cmd_data)) {5883cmd_data = malloc(cmd_size);5884if (!cmd_data)5885cmd_size = 0;5886}5887const size_t 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;58885889struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5890if (cmd_size) {5891vn_encode_vkCmdPipelineBarrier(enc, cmd_flags, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);5892vn_instance_submit_command(vn_instance, submit);5893if (cmd_data != local_cmd_data)5894free(cmd_data);5895}5896}58975898static 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)5899{5900uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5901void *cmd_data = local_cmd_data;5902size_t cmd_size = vn_sizeof_vkCmdBeginQuery(commandBuffer, queryPool, query, flags);5903if (cmd_size > sizeof(local_cmd_data)) {5904cmd_data = malloc(cmd_size);5905if (!cmd_data)5906cmd_size = 0;5907}5908const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQuery_reply(commandBuffer, queryPool, query, flags) : 0;59095910struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5911if (cmd_size) {5912vn_encode_vkCmdBeginQuery(enc, cmd_flags, commandBuffer, queryPool, query, flags);5913vn_instance_submit_command(vn_instance, submit);5914if (cmd_data != local_cmd_data)5915free(cmd_data);5916}5917}59185919static 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)5920{5921uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5922void *cmd_data = local_cmd_data;5923size_t cmd_size = vn_sizeof_vkCmdEndQuery(commandBuffer, queryPool, query);5924if (cmd_size > sizeof(local_cmd_data)) {5925cmd_data = malloc(cmd_size);5926if (!cmd_data)5927cmd_size = 0;5928}5929const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQuery_reply(commandBuffer, queryPool, query) : 0;59305931struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5932if (cmd_size) {5933vn_encode_vkCmdEndQuery(enc, cmd_flags, commandBuffer, queryPool, query);5934vn_instance_submit_command(vn_instance, submit);5935if (cmd_data != local_cmd_data)5936free(cmd_data);5937}5938}59395940static 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)5941{5942uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5943void *cmd_data = local_cmd_data;5944size_t cmd_size = vn_sizeof_vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);5945if (cmd_size > sizeof(local_cmd_data)) {5946cmd_data = malloc(cmd_size);5947if (!cmd_data)5948cmd_size = 0;5949}5950const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdResetQueryPool_reply(commandBuffer, queryPool, firstQuery, queryCount) : 0;59515952struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5953if (cmd_size) {5954vn_encode_vkCmdResetQueryPool(enc, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount);5955vn_instance_submit_command(vn_instance, submit);5956if (cmd_data != local_cmd_data)5957free(cmd_data);5958}5959}59605961static 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)5962{5963uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5964void *cmd_data = local_cmd_data;5965size_t cmd_size = vn_sizeof_vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);5966if (cmd_size > sizeof(local_cmd_data)) {5967cmd_data = malloc(cmd_size);5968if (!cmd_data)5969cmd_size = 0;5970}5971const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdWriteTimestamp_reply(commandBuffer, pipelineStage, queryPool, query) : 0;59725973struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5974if (cmd_size) {5975vn_encode_vkCmdWriteTimestamp(enc, cmd_flags, commandBuffer, pipelineStage, queryPool, query);5976vn_instance_submit_command(vn_instance, submit);5977if (cmd_data != local_cmd_data)5978free(cmd_data);5979}5980}59815982static 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)5983{5984uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];5985void *cmd_data = local_cmd_data;5986size_t cmd_size = vn_sizeof_vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);5987if (cmd_size > sizeof(local_cmd_data)) {5988cmd_data = malloc(cmd_size);5989if (!cmd_data)5990cmd_size = 0;5991}5992const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdCopyQueryPoolResults_reply(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags) : 0;59935994struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);5995if (cmd_size) {5996vn_encode_vkCmdCopyQueryPoolResults(enc, cmd_flags, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);5997vn_instance_submit_command(vn_instance, submit);5998if (cmd_data != local_cmd_data)5999free(cmd_data);6000}6001}60026003static 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)6004{6005uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6006void *cmd_data = local_cmd_data;6007size_t cmd_size = vn_sizeof_vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);6008if (cmd_size > sizeof(local_cmd_data)) {6009cmd_data = malloc(cmd_size);6010if (!cmd_data)6011cmd_size = 0;6012}6013const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdPushConstants_reply(commandBuffer, layout, stageFlags, offset, size, pValues) : 0;60146015struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6016if (cmd_size) {6017vn_encode_vkCmdPushConstants(enc, cmd_flags, commandBuffer, layout, stageFlags, offset, size, pValues);6018vn_instance_submit_command(vn_instance, submit);6019if (cmd_data != local_cmd_data)6020free(cmd_data);6021}6022}60236024static 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)6025{6026uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6027void *cmd_data = local_cmd_data;6028size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);6029if (cmd_size > sizeof(local_cmd_data)) {6030cmd_data = malloc(cmd_size);6031if (!cmd_data)6032cmd_size = 0;6033}6034const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass_reply(commandBuffer, pRenderPassBegin, contents) : 0;60356036struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6037if (cmd_size) {6038vn_encode_vkCmdBeginRenderPass(enc, cmd_flags, commandBuffer, pRenderPassBegin, contents);6039vn_instance_submit_command(vn_instance, submit);6040if (cmd_data != local_cmd_data)6041free(cmd_data);6042}6043}60446045static inline void vn_submit_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, VkSubpassContents contents, struct vn_instance_submit_command *submit)6046{6047uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6048void *cmd_data = local_cmd_data;6049size_t cmd_size = vn_sizeof_vkCmdNextSubpass(commandBuffer, contents);6050if (cmd_size > sizeof(local_cmd_data)) {6051cmd_data = malloc(cmd_size);6052if (!cmd_data)6053cmd_size = 0;6054}6055const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass_reply(commandBuffer, contents) : 0;60566057struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6058if (cmd_size) {6059vn_encode_vkCmdNextSubpass(enc, cmd_flags, commandBuffer, contents);6060vn_instance_submit_command(vn_instance, submit);6061if (cmd_data != local_cmd_data)6062free(cmd_data);6063}6064}60656066static inline void vn_submit_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, struct vn_instance_submit_command *submit)6067{6068uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6069void *cmd_data = local_cmd_data;6070size_t cmd_size = vn_sizeof_vkCmdEndRenderPass(commandBuffer);6071if (cmd_size > sizeof(local_cmd_data)) {6072cmd_data = malloc(cmd_size);6073if (!cmd_data)6074cmd_size = 0;6075}6076const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass_reply(commandBuffer) : 0;60776078struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6079if (cmd_size) {6080vn_encode_vkCmdEndRenderPass(enc, cmd_flags, commandBuffer);6081vn_instance_submit_command(vn_instance, submit);6082if (cmd_data != local_cmd_data)6083free(cmd_data);6084}6085}60866087static 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)6088{6089uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6090void *cmd_data = local_cmd_data;6091size_t cmd_size = vn_sizeof_vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);6092if (cmd_size > sizeof(local_cmd_data)) {6093cmd_data = malloc(cmd_size);6094if (!cmd_data)6095cmd_size = 0;6096}6097const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdExecuteCommands_reply(commandBuffer, commandBufferCount, pCommandBuffers) : 0;60986099struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6100if (cmd_size) {6101vn_encode_vkCmdExecuteCommands(enc, cmd_flags, commandBuffer, commandBufferCount, pCommandBuffers);6102vn_instance_submit_command(vn_instance, submit);6103if (cmd_data != local_cmd_data)6104free(cmd_data);6105}6106}61076108static inline void vn_submit_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, uint32_t deviceMask, struct vn_instance_submit_command *submit)6109{6110uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6111void *cmd_data = local_cmd_data;6112size_t cmd_size = vn_sizeof_vkCmdSetDeviceMask(commandBuffer, deviceMask);6113if (cmd_size > sizeof(local_cmd_data)) {6114cmd_data = malloc(cmd_size);6115if (!cmd_data)6116cmd_size = 0;6117}6118const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdSetDeviceMask_reply(commandBuffer, deviceMask) : 0;61196120struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6121if (cmd_size) {6122vn_encode_vkCmdSetDeviceMask(enc, cmd_flags, commandBuffer, deviceMask);6123vn_instance_submit_command(vn_instance, submit);6124if (cmd_data != local_cmd_data)6125free(cmd_data);6126}6127}61286129static 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)6130{6131uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6132void *cmd_data = local_cmd_data;6133size_t cmd_size = vn_sizeof_vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);6134if (cmd_size > sizeof(local_cmd_data)) {6135cmd_data = malloc(cmd_size);6136if (!cmd_data)6137cmd_size = 0;6138}6139const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDispatchBase_reply(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ) : 0;61406141struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6142if (cmd_size) {6143vn_encode_vkCmdDispatchBase(enc, cmd_flags, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);6144vn_instance_submit_command(vn_instance, submit);6145if (cmd_data != local_cmd_data)6146free(cmd_data);6147}6148}61496150static 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)6151{6152uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6153void *cmd_data = local_cmd_data;6154size_t cmd_size = vn_sizeof_vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);6155if (cmd_size > sizeof(local_cmd_data)) {6156cmd_data = malloc(cmd_size);6157if (!cmd_data)6158cmd_size = 0;6159}6160const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginRenderPass2_reply(commandBuffer, pRenderPassBegin, pSubpassBeginInfo) : 0;61616162struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6163if (cmd_size) {6164vn_encode_vkCmdBeginRenderPass2(enc, cmd_flags, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);6165vn_instance_submit_command(vn_instance, submit);6166if (cmd_data != local_cmd_data)6167free(cmd_data);6168}6169}61706171static 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)6172{6173uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6174void *cmd_data = local_cmd_data;6175size_t cmd_size = vn_sizeof_vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);6176if (cmd_size > sizeof(local_cmd_data)) {6177cmd_data = malloc(cmd_size);6178if (!cmd_data)6179cmd_size = 0;6180}6181const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdNextSubpass2_reply(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo) : 0;61826183struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6184if (cmd_size) {6185vn_encode_vkCmdNextSubpass2(enc, cmd_flags, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);6186vn_instance_submit_command(vn_instance, submit);6187if (cmd_data != local_cmd_data)6188free(cmd_data);6189}6190}61916192static inline void vn_submit_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo, struct vn_instance_submit_command *submit)6193{6194uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6195void *cmd_data = local_cmd_data;6196size_t cmd_size = vn_sizeof_vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);6197if (cmd_size > sizeof(local_cmd_data)) {6198cmd_data = malloc(cmd_size);6199if (!cmd_data)6200cmd_size = 0;6201}6202const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndRenderPass2_reply(commandBuffer, pSubpassEndInfo) : 0;62036204struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6205if (cmd_size) {6206vn_encode_vkCmdEndRenderPass2(enc, cmd_flags, commandBuffer, pSubpassEndInfo);6207vn_instance_submit_command(vn_instance, submit);6208if (cmd_data != local_cmd_data)6209free(cmd_data);6210}6211}62126213static 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)6214{6215uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6216void *cmd_data = local_cmd_data;6217size_t cmd_size = vn_sizeof_vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);6218if (cmd_size > sizeof(local_cmd_data)) {6219cmd_data = malloc(cmd_size);6220if (!cmd_data)6221cmd_size = 0;6222}6223const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;62246225struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6226if (cmd_size) {6227vn_encode_vkCmdDrawIndirectCount(enc, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);6228vn_instance_submit_command(vn_instance, submit);6229if (cmd_data != local_cmd_data)6230free(cmd_data);6231}6232}62336234static 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)6235{6236uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6237void *cmd_data = local_cmd_data;6238size_t cmd_size = vn_sizeof_vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);6239if (cmd_size > sizeof(local_cmd_data)) {6240cmd_data = malloc(cmd_size);6241if (!cmd_data)6242cmd_size = 0;6243}6244const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndexedIndirectCount_reply(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride) : 0;62456246struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6247if (cmd_size) {6248vn_encode_vkCmdDrawIndexedIndirectCount(enc, cmd_flags, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);6249vn_instance_submit_command(vn_instance, submit);6250if (cmd_data != local_cmd_data)6251free(cmd_data);6252}6253}62546255static 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)6256{6257uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6258void *cmd_data = local_cmd_data;6259size_t cmd_size = vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);6260if (cmd_size > sizeof(local_cmd_data)) {6261cmd_data = malloc(cmd_size);6262if (!cmd_data)6263cmd_size = 0;6264}6265const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBindTransformFeedbackBuffersEXT_reply(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes) : 0;62666267struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6268if (cmd_size) {6269vn_encode_vkCmdBindTransformFeedbackBuffersEXT(enc, cmd_flags, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);6270vn_instance_submit_command(vn_instance, submit);6271if (cmd_data != local_cmd_data)6272free(cmd_data);6273}6274}62756276static 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)6277{6278uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6279void *cmd_data = local_cmd_data;6280size_t cmd_size = vn_sizeof_vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);6281if (cmd_size > sizeof(local_cmd_data)) {6282cmd_data = malloc(cmd_size);6283if (!cmd_data)6284cmd_size = 0;6285}6286const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;62876288struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6289if (cmd_size) {6290vn_encode_vkCmdBeginTransformFeedbackEXT(enc, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);6291vn_instance_submit_command(vn_instance, submit);6292if (cmd_data != local_cmd_data)6293free(cmd_data);6294}6295}62966297static 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)6298{6299uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6300void *cmd_data = local_cmd_data;6301size_t cmd_size = vn_sizeof_vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);6302if (cmd_size > sizeof(local_cmd_data)) {6303cmd_data = malloc(cmd_size);6304if (!cmd_data)6305cmd_size = 0;6306}6307const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndTransformFeedbackEXT_reply(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets) : 0;63086309struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6310if (cmd_size) {6311vn_encode_vkCmdEndTransformFeedbackEXT(enc, cmd_flags, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);6312vn_instance_submit_command(vn_instance, submit);6313if (cmd_data != local_cmd_data)6314free(cmd_data);6315}6316}63176318static 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)6319{6320uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6321void *cmd_data = local_cmd_data;6322size_t cmd_size = vn_sizeof_vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);6323if (cmd_size > sizeof(local_cmd_data)) {6324cmd_data = malloc(cmd_size);6325if (!cmd_data)6326cmd_size = 0;6327}6328const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdBeginQueryIndexedEXT_reply(commandBuffer, queryPool, query, flags, index) : 0;63296330struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6331if (cmd_size) {6332vn_encode_vkCmdBeginQueryIndexedEXT(enc, cmd_flags, commandBuffer, queryPool, query, flags, index);6333vn_instance_submit_command(vn_instance, submit);6334if (cmd_data != local_cmd_data)6335free(cmd_data);6336}6337}63386339static 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)6340{6341uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6342void *cmd_data = local_cmd_data;6343size_t cmd_size = vn_sizeof_vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);6344if (cmd_size > sizeof(local_cmd_data)) {6345cmd_data = malloc(cmd_size);6346if (!cmd_data)6347cmd_size = 0;6348}6349const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdEndQueryIndexedEXT_reply(commandBuffer, queryPool, query, index) : 0;63506351struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6352if (cmd_size) {6353vn_encode_vkCmdEndQueryIndexedEXT(enc, cmd_flags, commandBuffer, queryPool, query, index);6354vn_instance_submit_command(vn_instance, submit);6355if (cmd_data != local_cmd_data)6356free(cmd_data);6357}6358}63596360static 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)6361{6362uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];6363void *cmd_data = local_cmd_data;6364size_t cmd_size = vn_sizeof_vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);6365if (cmd_size > sizeof(local_cmd_data)) {6366cmd_data = malloc(cmd_size);6367if (!cmd_data)6368cmd_size = 0;6369}6370const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCmdDrawIndirectByteCountEXT_reply(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) : 0;63716372struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);6373if (cmd_size) {6374vn_encode_vkCmdDrawIndirectByteCountEXT(enc, cmd_flags, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);6375vn_instance_submit_command(vn_instance, submit);6376if (cmd_data != local_cmd_data)6377free(cmd_data);6378}6379}63806381static inline VkResult vn_call_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)6382{6383struct vn_instance_submit_command submit;6384vn_submit_vkAllocateCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pCommandBuffers, &submit);6385struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6386if (dec) {6387const VkResult ret = vn_decode_vkAllocateCommandBuffers_reply(dec, device, pAllocateInfo, pCommandBuffers);6388vn_instance_free_command_reply(vn_instance, &submit);6389return ret;6390} else {6391return VK_ERROR_OUT_OF_HOST_MEMORY;6392}6393}63946395static inline void vn_async_vkAllocateCommandBuffers(struct vn_instance *vn_instance, VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)6396{6397struct vn_instance_submit_command submit;6398vn_submit_vkAllocateCommandBuffers(vn_instance, 0, device, pAllocateInfo, pCommandBuffers, &submit);6399}64006401static inline void vn_call_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)6402{6403struct vn_instance_submit_command submit;6404vn_submit_vkFreeCommandBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, commandPool, commandBufferCount, pCommandBuffers, &submit);6405struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6406if (dec) {6407vn_decode_vkFreeCommandBuffers_reply(dec, device, commandPool, commandBufferCount, pCommandBuffers);6408vn_instance_free_command_reply(vn_instance, &submit);6409}6410}64116412static inline void vn_async_vkFreeCommandBuffers(struct vn_instance *vn_instance, VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)6413{6414struct vn_instance_submit_command submit;6415vn_submit_vkFreeCommandBuffers(vn_instance, 0, device, commandPool, commandBufferCount, pCommandBuffers, &submit);6416}64176418static inline VkResult vn_call_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)6419{6420struct vn_instance_submit_command submit;6421vn_submit_vkBeginCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pBeginInfo, &submit);6422struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6423if (dec) {6424const VkResult ret = vn_decode_vkBeginCommandBuffer_reply(dec, commandBuffer, pBeginInfo);6425vn_instance_free_command_reply(vn_instance, &submit);6426return ret;6427} else {6428return VK_ERROR_OUT_OF_HOST_MEMORY;6429}6430}64316432static inline void vn_async_vkBeginCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)6433{6434struct vn_instance_submit_command submit;6435vn_submit_vkBeginCommandBuffer(vn_instance, 0, commandBuffer, pBeginInfo, &submit);6436}64376438static inline VkResult vn_call_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)6439{6440struct vn_instance_submit_command submit;6441vn_submit_vkEndCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);6442struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6443if (dec) {6444const VkResult ret = vn_decode_vkEndCommandBuffer_reply(dec, commandBuffer);6445vn_instance_free_command_reply(vn_instance, &submit);6446return ret;6447} else {6448return VK_ERROR_OUT_OF_HOST_MEMORY;6449}6450}64516452static inline void vn_async_vkEndCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)6453{6454struct vn_instance_submit_command submit;6455vn_submit_vkEndCommandBuffer(vn_instance, 0, commandBuffer, &submit);6456}64576458static inline VkResult vn_call_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)6459{6460struct vn_instance_submit_command submit;6461vn_submit_vkResetCommandBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, flags, &submit);6462struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6463if (dec) {6464const VkResult ret = vn_decode_vkResetCommandBuffer_reply(dec, commandBuffer, flags);6465vn_instance_free_command_reply(vn_instance, &submit);6466return ret;6467} else {6468return VK_ERROR_OUT_OF_HOST_MEMORY;6469}6470}64716472static inline void vn_async_vkResetCommandBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)6473{6474struct vn_instance_submit_command submit;6475vn_submit_vkResetCommandBuffer(vn_instance, 0, commandBuffer, flags, &submit);6476}64776478static inline void vn_call_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)6479{6480struct vn_instance_submit_command submit;6481vn_submit_vkCmdBindPipeline(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, pipeline, &submit);6482struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6483if (dec) {6484vn_decode_vkCmdBindPipeline_reply(dec, commandBuffer, pipelineBindPoint, pipeline);6485vn_instance_free_command_reply(vn_instance, &submit);6486}6487}64886489static inline void vn_async_vkCmdBindPipeline(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)6490{6491struct vn_instance_submit_command submit;6492vn_submit_vkCmdBindPipeline(vn_instance, 0, commandBuffer, pipelineBindPoint, pipeline, &submit);6493}64946495static inline void vn_call_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)6496{6497struct vn_instance_submit_command submit;6498vn_submit_vkCmdSetViewport(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstViewport, viewportCount, pViewports, &submit);6499struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6500if (dec) {6501vn_decode_vkCmdSetViewport_reply(dec, commandBuffer, firstViewport, viewportCount, pViewports);6502vn_instance_free_command_reply(vn_instance, &submit);6503}6504}65056506static inline void vn_async_vkCmdSetViewport(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)6507{6508struct vn_instance_submit_command submit;6509vn_submit_vkCmdSetViewport(vn_instance, 0, commandBuffer, firstViewport, viewportCount, pViewports, &submit);6510}65116512static inline void vn_call_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)6513{6514struct vn_instance_submit_command submit;6515vn_submit_vkCmdSetScissor(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstScissor, scissorCount, pScissors, &submit);6516struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6517if (dec) {6518vn_decode_vkCmdSetScissor_reply(dec, commandBuffer, firstScissor, scissorCount, pScissors);6519vn_instance_free_command_reply(vn_instance, &submit);6520}6521}65226523static inline void vn_async_vkCmdSetScissor(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)6524{6525struct vn_instance_submit_command submit;6526vn_submit_vkCmdSetScissor(vn_instance, 0, commandBuffer, firstScissor, scissorCount, pScissors, &submit);6527}65286529static inline void vn_call_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)6530{6531struct vn_instance_submit_command submit;6532vn_submit_vkCmdSetLineWidth(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, lineWidth, &submit);6533struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6534if (dec) {6535vn_decode_vkCmdSetLineWidth_reply(dec, commandBuffer, lineWidth);6536vn_instance_free_command_reply(vn_instance, &submit);6537}6538}65396540static inline void vn_async_vkCmdSetLineWidth(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float lineWidth)6541{6542struct vn_instance_submit_command submit;6543vn_submit_vkCmdSetLineWidth(vn_instance, 0, commandBuffer, lineWidth, &submit);6544}65456546static inline void vn_call_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)6547{6548struct vn_instance_submit_command submit;6549vn_submit_vkCmdSetDepthBias(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);6550struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6551if (dec) {6552vn_decode_vkCmdSetDepthBias_reply(dec, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);6553vn_instance_free_command_reply(vn_instance, &submit);6554}6555}65566557static inline void vn_async_vkCmdSetDepthBias(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)6558{6559struct vn_instance_submit_command submit;6560vn_submit_vkCmdSetDepthBias(vn_instance, 0, commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor, &submit);6561}65626563static inline void vn_call_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])6564{6565struct vn_instance_submit_command submit;6566vn_submit_vkCmdSetBlendConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, blendConstants, &submit);6567struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6568if (dec) {6569vn_decode_vkCmdSetBlendConstants_reply(dec, commandBuffer, blendConstants);6570vn_instance_free_command_reply(vn_instance, &submit);6571}6572}65736574static inline void vn_async_vkCmdSetBlendConstants(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const float blendConstants[4])6575{6576struct vn_instance_submit_command submit;6577vn_submit_vkCmdSetBlendConstants(vn_instance, 0, commandBuffer, blendConstants, &submit);6578}65796580static inline void vn_call_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)6581{6582struct vn_instance_submit_command submit;6583vn_submit_vkCmdSetDepthBounds(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, minDepthBounds, maxDepthBounds, &submit);6584struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6585if (dec) {6586vn_decode_vkCmdSetDepthBounds_reply(dec, commandBuffer, minDepthBounds, maxDepthBounds);6587vn_instance_free_command_reply(vn_instance, &submit);6588}6589}65906591static inline void vn_async_vkCmdSetDepthBounds(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)6592{6593struct vn_instance_submit_command submit;6594vn_submit_vkCmdSetDepthBounds(vn_instance, 0, commandBuffer, minDepthBounds, maxDepthBounds, &submit);6595}65966597static inline void vn_call_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)6598{6599struct vn_instance_submit_command submit;6600vn_submit_vkCmdSetStencilCompareMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, compareMask, &submit);6601struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6602if (dec) {6603vn_decode_vkCmdSetStencilCompareMask_reply(dec, commandBuffer, faceMask, compareMask);6604vn_instance_free_command_reply(vn_instance, &submit);6605}6606}66076608static inline void vn_async_vkCmdSetStencilCompareMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)6609{6610struct vn_instance_submit_command submit;6611vn_submit_vkCmdSetStencilCompareMask(vn_instance, 0, commandBuffer, faceMask, compareMask, &submit);6612}66136614static inline void vn_call_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)6615{6616struct vn_instance_submit_command submit;6617vn_submit_vkCmdSetStencilWriteMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, writeMask, &submit);6618struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6619if (dec) {6620vn_decode_vkCmdSetStencilWriteMask_reply(dec, commandBuffer, faceMask, writeMask);6621vn_instance_free_command_reply(vn_instance, &submit);6622}6623}66246625static inline void vn_async_vkCmdSetStencilWriteMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)6626{6627struct vn_instance_submit_command submit;6628vn_submit_vkCmdSetStencilWriteMask(vn_instance, 0, commandBuffer, faceMask, writeMask, &submit);6629}66306631static inline void vn_call_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)6632{6633struct vn_instance_submit_command submit;6634vn_submit_vkCmdSetStencilReference(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, faceMask, reference, &submit);6635struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6636if (dec) {6637vn_decode_vkCmdSetStencilReference_reply(dec, commandBuffer, faceMask, reference);6638vn_instance_free_command_reply(vn_instance, &submit);6639}6640}66416642static inline void vn_async_vkCmdSetStencilReference(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)6643{6644struct vn_instance_submit_command submit;6645vn_submit_vkCmdSetStencilReference(vn_instance, 0, commandBuffer, faceMask, reference, &submit);6646}66476648static 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)6649{6650struct vn_instance_submit_command submit;6651vn_submit_vkCmdBindDescriptorSets(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);6652struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6653if (dec) {6654vn_decode_vkCmdBindDescriptorSets_reply(dec, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);6655vn_instance_free_command_reply(vn_instance, &submit);6656}6657}66586659static 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)6660{6661struct vn_instance_submit_command submit;6662vn_submit_vkCmdBindDescriptorSets(vn_instance, 0, commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets, &submit);6663}66646665static inline void vn_call_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)6666{6667struct vn_instance_submit_command submit;6668vn_submit_vkCmdBindIndexBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, indexType, &submit);6669struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6670if (dec) {6671vn_decode_vkCmdBindIndexBuffer_reply(dec, commandBuffer, buffer, offset, indexType);6672vn_instance_free_command_reply(vn_instance, &submit);6673}6674}66756676static inline void vn_async_vkCmdBindIndexBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)6677{6678struct vn_instance_submit_command submit;6679vn_submit_vkCmdBindIndexBuffer(vn_instance, 0, commandBuffer, buffer, offset, indexType, &submit);6680}66816682static inline void vn_call_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)6683{6684struct vn_instance_submit_command submit;6685vn_submit_vkCmdBindVertexBuffers(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);6686struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6687if (dec) {6688vn_decode_vkCmdBindVertexBuffers_reply(dec, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);6689vn_instance_free_command_reply(vn_instance, &submit);6690}6691}66926693static inline void vn_async_vkCmdBindVertexBuffers(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)6694{6695struct vn_instance_submit_command submit;6696vn_submit_vkCmdBindVertexBuffers(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, &submit);6697}66986699static inline void vn_call_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)6700{6701struct vn_instance_submit_command submit;6702vn_submit_vkCmdDraw(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);6703struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6704if (dec) {6705vn_decode_vkCmdDraw_reply(dec, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);6706vn_instance_free_command_reply(vn_instance, &submit);6707}6708}67096710static inline void vn_async_vkCmdDraw(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)6711{6712struct vn_instance_submit_command submit;6713vn_submit_vkCmdDraw(vn_instance, 0, commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance, &submit);6714}67156716static 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)6717{6718struct vn_instance_submit_command submit;6719vn_submit_vkCmdDrawIndexed(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);6720struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6721if (dec) {6722vn_decode_vkCmdDrawIndexed_reply(dec, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);6723vn_instance_free_command_reply(vn_instance, &submit);6724}6725}67266727static 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)6728{6729struct vn_instance_submit_command submit;6730vn_submit_vkCmdDrawIndexed(vn_instance, 0, commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance, &submit);6731}67326733static inline void vn_call_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)6734{6735struct vn_instance_submit_command submit;6736vn_submit_vkCmdDrawIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);6737struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6738if (dec) {6739vn_decode_vkCmdDrawIndirect_reply(dec, commandBuffer, buffer, offset, drawCount, stride);6740vn_instance_free_command_reply(vn_instance, &submit);6741}6742}67436744static inline void vn_async_vkCmdDrawIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)6745{6746struct vn_instance_submit_command submit;6747vn_submit_vkCmdDrawIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);6748}67496750static inline void vn_call_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)6751{6752struct vn_instance_submit_command submit;6753vn_submit_vkCmdDrawIndexedIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, drawCount, stride, &submit);6754struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6755if (dec) {6756vn_decode_vkCmdDrawIndexedIndirect_reply(dec, commandBuffer, buffer, offset, drawCount, stride);6757vn_instance_free_command_reply(vn_instance, &submit);6758}6759}67606761static inline void vn_async_vkCmdDrawIndexedIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)6762{6763struct vn_instance_submit_command submit;6764vn_submit_vkCmdDrawIndexedIndirect(vn_instance, 0, commandBuffer, buffer, offset, drawCount, stride, &submit);6765}67666767static inline void vn_call_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)6768{6769struct vn_instance_submit_command submit;6770vn_submit_vkCmdDispatch(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);6771struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6772if (dec) {6773vn_decode_vkCmdDispatch_reply(dec, commandBuffer, groupCountX, groupCountY, groupCountZ);6774vn_instance_free_command_reply(vn_instance, &submit);6775}6776}67776778static inline void vn_async_vkCmdDispatch(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)6779{6780struct vn_instance_submit_command submit;6781vn_submit_vkCmdDispatch(vn_instance, 0, commandBuffer, groupCountX, groupCountY, groupCountZ, &submit);6782}67836784static inline void vn_call_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)6785{6786struct vn_instance_submit_command submit;6787vn_submit_vkCmdDispatchIndirect(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, &submit);6788struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6789if (dec) {6790vn_decode_vkCmdDispatchIndirect_reply(dec, commandBuffer, buffer, offset);6791vn_instance_free_command_reply(vn_instance, &submit);6792}6793}67946795static inline void vn_async_vkCmdDispatchIndirect(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)6796{6797struct vn_instance_submit_command submit;6798vn_submit_vkCmdDispatchIndirect(vn_instance, 0, commandBuffer, buffer, offset, &submit);6799}68006801static inline void vn_call_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)6802{6803struct vn_instance_submit_command submit;6804vn_submit_vkCmdCopyBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);6805struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6806if (dec) {6807vn_decode_vkCmdCopyBuffer_reply(dec, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);6808vn_instance_free_command_reply(vn_instance, &submit);6809}6810}68116812static inline void vn_async_vkCmdCopyBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)6813{6814struct vn_instance_submit_command submit;6815vn_submit_vkCmdCopyBuffer(vn_instance, 0, commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions, &submit);6816}68176818static 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)6819{6820struct vn_instance_submit_command submit;6821vn_submit_vkCmdCopyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);6822struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6823if (dec) {6824vn_decode_vkCmdCopyImage_reply(dec, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);6825vn_instance_free_command_reply(vn_instance, &submit);6826}6827}68286829static 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)6830{6831struct vn_instance_submit_command submit;6832vn_submit_vkCmdCopyImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);6833}68346835static 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)6836{6837struct vn_instance_submit_command submit;6838vn_submit_vkCmdBlitImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);6839struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6840if (dec) {6841vn_decode_vkCmdBlitImage_reply(dec, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);6842vn_instance_free_command_reply(vn_instance, &submit);6843}6844}68456846static 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)6847{6848struct vn_instance_submit_command submit;6849vn_submit_vkCmdBlitImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter, &submit);6850}68516852static inline void vn_call_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)6853{6854struct vn_instance_submit_command submit;6855vn_submit_vkCmdCopyBufferToImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);6856struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6857if (dec) {6858vn_decode_vkCmdCopyBufferToImage_reply(dec, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);6859vn_instance_free_command_reply(vn_instance, &submit);6860}6861}68626863static inline void vn_async_vkCmdCopyBufferToImage(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)6864{6865struct vn_instance_submit_command submit;6866vn_submit_vkCmdCopyBufferToImage(vn_instance, 0, commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions, &submit);6867}68686869static inline void vn_call_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)6870{6871struct vn_instance_submit_command submit;6872vn_submit_vkCmdCopyImageToBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);6873struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6874if (dec) {6875vn_decode_vkCmdCopyImageToBuffer_reply(dec, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);6876vn_instance_free_command_reply(vn_instance, &submit);6877}6878}68796880static inline void vn_async_vkCmdCopyImageToBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)6881{6882struct vn_instance_submit_command submit;6883vn_submit_vkCmdCopyImageToBuffer(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions, &submit);6884}68856886static inline void vn_call_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)6887{6888struct vn_instance_submit_command submit;6889vn_submit_vkCmdUpdateBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);6890struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6891if (dec) {6892vn_decode_vkCmdUpdateBuffer_reply(dec, commandBuffer, dstBuffer, dstOffset, dataSize, pData);6893vn_instance_free_command_reply(vn_instance, &submit);6894}6895}68966897static inline void vn_async_vkCmdUpdateBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)6898{6899struct vn_instance_submit_command submit;6900vn_submit_vkCmdUpdateBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, dataSize, pData, &submit);6901}69026903static inline void vn_call_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)6904{6905struct vn_instance_submit_command submit;6906vn_submit_vkCmdFillBuffer(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, dstBuffer, dstOffset, size, data, &submit);6907struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6908if (dec) {6909vn_decode_vkCmdFillBuffer_reply(dec, commandBuffer, dstBuffer, dstOffset, size, data);6910vn_instance_free_command_reply(vn_instance, &submit);6911}6912}69136914static inline void vn_async_vkCmdFillBuffer(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)6915{6916struct vn_instance_submit_command submit;6917vn_submit_vkCmdFillBuffer(vn_instance, 0, commandBuffer, dstBuffer, dstOffset, size, data, &submit);6918}69196920static 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)6921{6922struct vn_instance_submit_command submit;6923vn_submit_vkCmdClearColorImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);6924struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6925if (dec) {6926vn_decode_vkCmdClearColorImage_reply(dec, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);6927vn_instance_free_command_reply(vn_instance, &submit);6928}6929}69306931static 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)6932{6933struct vn_instance_submit_command submit;6934vn_submit_vkCmdClearColorImage(vn_instance, 0, commandBuffer, image, imageLayout, pColor, rangeCount, pRanges, &submit);6935}69366937static 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)6938{6939struct vn_instance_submit_command submit;6940vn_submit_vkCmdClearDepthStencilImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);6941struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6942if (dec) {6943vn_decode_vkCmdClearDepthStencilImage_reply(dec, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);6944vn_instance_free_command_reply(vn_instance, &submit);6945}6946}69476948static 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)6949{6950struct vn_instance_submit_command submit;6951vn_submit_vkCmdClearDepthStencilImage(vn_instance, 0, commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges, &submit);6952}69536954static inline void vn_call_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)6955{6956struct vn_instance_submit_command submit;6957vn_submit_vkCmdClearAttachments(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);6958struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6959if (dec) {6960vn_decode_vkCmdClearAttachments_reply(dec, commandBuffer, attachmentCount, pAttachments, rectCount, pRects);6961vn_instance_free_command_reply(vn_instance, &submit);6962}6963}69646965static inline void vn_async_vkCmdClearAttachments(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)6966{6967struct vn_instance_submit_command submit;6968vn_submit_vkCmdClearAttachments(vn_instance, 0, commandBuffer, attachmentCount, pAttachments, rectCount, pRects, &submit);6969}69706971static 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)6972{6973struct vn_instance_submit_command submit;6974vn_submit_vkCmdResolveImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);6975struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6976if (dec) {6977vn_decode_vkCmdResolveImage_reply(dec, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);6978vn_instance_free_command_reply(vn_instance, &submit);6979}6980}69816982static 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)6983{6984struct vn_instance_submit_command submit;6985vn_submit_vkCmdResolveImage(vn_instance, 0, commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, &submit);6986}69876988static inline void vn_call_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)6989{6990struct vn_instance_submit_command submit;6991vn_submit_vkCmdSetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);6992struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);6993if (dec) {6994vn_decode_vkCmdSetEvent_reply(dec, commandBuffer, event, stageMask);6995vn_instance_free_command_reply(vn_instance, &submit);6996}6997}69986999static inline void vn_async_vkCmdSetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)7000{7001struct vn_instance_submit_command submit;7002vn_submit_vkCmdSetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);7003}70047005static inline void vn_call_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)7006{7007struct vn_instance_submit_command submit;7008vn_submit_vkCmdResetEvent(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, event, stageMask, &submit);7009struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7010if (dec) {7011vn_decode_vkCmdResetEvent_reply(dec, commandBuffer, event, stageMask);7012vn_instance_free_command_reply(vn_instance, &submit);7013}7014}70157016static inline void vn_async_vkCmdResetEvent(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)7017{7018struct vn_instance_submit_command submit;7019vn_submit_vkCmdResetEvent(vn_instance, 0, commandBuffer, event, stageMask, &submit);7020}70217022static 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)7023{7024struct vn_instance_submit_command submit;7025vn_submit_vkCmdWaitEvents(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);7026struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7027if (dec) {7028vn_decode_vkCmdWaitEvents_reply(dec, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);7029vn_instance_free_command_reply(vn_instance, &submit);7030}7031}70327033static 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)7034{7035struct vn_instance_submit_command submit;7036vn_submit_vkCmdWaitEvents(vn_instance, 0, commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);7037}70387039static 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)7040{7041struct vn_instance_submit_command submit;7042vn_submit_vkCmdPipelineBarrier(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);7043struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7044if (dec) {7045vn_decode_vkCmdPipelineBarrier_reply(dec, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);7046vn_instance_free_command_reply(vn_instance, &submit);7047}7048}70497050static 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)7051{7052struct vn_instance_submit_command submit;7053vn_submit_vkCmdPipelineBarrier(vn_instance, 0, commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers, &submit);7054}70557056static inline void vn_call_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)7057{7058struct vn_instance_submit_command submit;7059vn_submit_vkCmdBeginQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, &submit);7060struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7061if (dec) {7062vn_decode_vkCmdBeginQuery_reply(dec, commandBuffer, queryPool, query, flags);7063vn_instance_free_command_reply(vn_instance, &submit);7064}7065}70667067static inline void vn_async_vkCmdBeginQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)7068{7069struct vn_instance_submit_command submit;7070vn_submit_vkCmdBeginQuery(vn_instance, 0, commandBuffer, queryPool, query, flags, &submit);7071}70727073static inline void vn_call_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)7074{7075struct vn_instance_submit_command submit;7076vn_submit_vkCmdEndQuery(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, &submit);7077struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7078if (dec) {7079vn_decode_vkCmdEndQuery_reply(dec, commandBuffer, queryPool, query);7080vn_instance_free_command_reply(vn_instance, &submit);7081}7082}70837084static inline void vn_async_vkCmdEndQuery(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)7085{7086struct vn_instance_submit_command submit;7087vn_submit_vkCmdEndQuery(vn_instance, 0, commandBuffer, queryPool, query, &submit);7088}70897090static inline void vn_call_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)7091{7092struct vn_instance_submit_command submit;7093vn_submit_vkCmdResetQueryPool(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, &submit);7094struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7095if (dec) {7096vn_decode_vkCmdResetQueryPool_reply(dec, commandBuffer, queryPool, firstQuery, queryCount);7097vn_instance_free_command_reply(vn_instance, &submit);7098}7099}71007101static inline void vn_async_vkCmdResetQueryPool(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)7102{7103struct vn_instance_submit_command submit;7104vn_submit_vkCmdResetQueryPool(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, &submit);7105}71067107static inline void vn_call_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)7108{7109struct vn_instance_submit_command submit;7110vn_submit_vkCmdWriteTimestamp(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pipelineStage, queryPool, query, &submit);7111struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7112if (dec) {7113vn_decode_vkCmdWriteTimestamp_reply(dec, commandBuffer, pipelineStage, queryPool, query);7114vn_instance_free_command_reply(vn_instance, &submit);7115}7116}71177118static inline void vn_async_vkCmdWriteTimestamp(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)7119{7120struct vn_instance_submit_command submit;7121vn_submit_vkCmdWriteTimestamp(vn_instance, 0, commandBuffer, pipelineStage, queryPool, query, &submit);7122}71237124static 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)7125{7126struct vn_instance_submit_command submit;7127vn_submit_vkCmdCopyQueryPoolResults(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);7128struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7129if (dec) {7130vn_decode_vkCmdCopyQueryPoolResults_reply(dec, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);7131vn_instance_free_command_reply(vn_instance, &submit);7132}7133}71347135static 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)7136{7137struct vn_instance_submit_command submit;7138vn_submit_vkCmdCopyQueryPoolResults(vn_instance, 0, commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags, &submit);7139}71407141static 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)7142{7143struct vn_instance_submit_command submit;7144vn_submit_vkCmdPushConstants(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);7145struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7146if (dec) {7147vn_decode_vkCmdPushConstants_reply(dec, commandBuffer, layout, stageFlags, offset, size, pValues);7148vn_instance_free_command_reply(vn_instance, &submit);7149}7150}71517152static 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)7153{7154struct vn_instance_submit_command submit;7155vn_submit_vkCmdPushConstants(vn_instance, 0, commandBuffer, layout, stageFlags, offset, size, pValues, &submit);7156}71577158static inline void vn_call_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)7159{7160struct vn_instance_submit_command submit;7161vn_submit_vkCmdBeginRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, contents, &submit);7162struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7163if (dec) {7164vn_decode_vkCmdBeginRenderPass_reply(dec, commandBuffer, pRenderPassBegin, contents);7165vn_instance_free_command_reply(vn_instance, &submit);7166}7167}71687169static inline void vn_async_vkCmdBeginRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)7170{7171struct vn_instance_submit_command submit;7172vn_submit_vkCmdBeginRenderPass(vn_instance, 0, commandBuffer, pRenderPassBegin, contents, &submit);7173}71747175static inline void vn_call_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)7176{7177struct vn_instance_submit_command submit;7178vn_submit_vkCmdNextSubpass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, contents, &submit);7179struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7180if (dec) {7181vn_decode_vkCmdNextSubpass_reply(dec, commandBuffer, contents);7182vn_instance_free_command_reply(vn_instance, &submit);7183}7184}71857186static inline void vn_async_vkCmdNextSubpass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkSubpassContents contents)7187{7188struct vn_instance_submit_command submit;7189vn_submit_vkCmdNextSubpass(vn_instance, 0, commandBuffer, contents, &submit);7190}71917192static inline void vn_call_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)7193{7194struct vn_instance_submit_command submit;7195vn_submit_vkCmdEndRenderPass(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, &submit);7196struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7197if (dec) {7198vn_decode_vkCmdEndRenderPass_reply(dec, commandBuffer);7199vn_instance_free_command_reply(vn_instance, &submit);7200}7201}72027203static inline void vn_async_vkCmdEndRenderPass(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer)7204{7205struct vn_instance_submit_command submit;7206vn_submit_vkCmdEndRenderPass(vn_instance, 0, commandBuffer, &submit);7207}72087209static inline void vn_call_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)7210{7211struct vn_instance_submit_command submit;7212vn_submit_vkCmdExecuteCommands(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, commandBufferCount, pCommandBuffers, &submit);7213struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7214if (dec) {7215vn_decode_vkCmdExecuteCommands_reply(dec, commandBuffer, commandBufferCount, pCommandBuffers);7216vn_instance_free_command_reply(vn_instance, &submit);7217}7218}72197220static inline void vn_async_vkCmdExecuteCommands(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)7221{7222struct vn_instance_submit_command submit;7223vn_submit_vkCmdExecuteCommands(vn_instance, 0, commandBuffer, commandBufferCount, pCommandBuffers, &submit);7224}72257226static inline void vn_call_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)7227{7228struct vn_instance_submit_command submit;7229vn_submit_vkCmdSetDeviceMask(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, deviceMask, &submit);7230struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7231if (dec) {7232vn_decode_vkCmdSetDeviceMask_reply(dec, commandBuffer, deviceMask);7233vn_instance_free_command_reply(vn_instance, &submit);7234}7235}72367237static inline void vn_async_vkCmdSetDeviceMask(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t deviceMask)7238{7239struct vn_instance_submit_command submit;7240vn_submit_vkCmdSetDeviceMask(vn_instance, 0, commandBuffer, deviceMask, &submit);7241}72427243static 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)7244{7245struct vn_instance_submit_command submit;7246vn_submit_vkCmdDispatchBase(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);7247struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7248if (dec) {7249vn_decode_vkCmdDispatchBase_reply(dec, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);7250vn_instance_free_command_reply(vn_instance, &submit);7251}7252}72537254static 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)7255{7256struct vn_instance_submit_command submit;7257vn_submit_vkCmdDispatchBase(vn_instance, 0, commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ, &submit);7258}72597260static inline void vn_call_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)7261{7262struct vn_instance_submit_command submit;7263vn_submit_vkCmdBeginRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);7264struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7265if (dec) {7266vn_decode_vkCmdBeginRenderPass2_reply(dec, commandBuffer, pRenderPassBegin, pSubpassBeginInfo);7267vn_instance_free_command_reply(vn_instance, &submit);7268}7269}72707271static inline void vn_async_vkCmdBeginRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo)7272{7273struct vn_instance_submit_command submit;7274vn_submit_vkCmdBeginRenderPass2(vn_instance, 0, commandBuffer, pRenderPassBegin, pSubpassBeginInfo, &submit);7275}72767277static inline void vn_call_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)7278{7279struct vn_instance_submit_command submit;7280vn_submit_vkCmdNextSubpass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);7281struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7282if (dec) {7283vn_decode_vkCmdNextSubpass2_reply(dec, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);7284vn_instance_free_command_reply(vn_instance, &submit);7285}7286}72877288static inline void vn_async_vkCmdNextSubpass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo)7289{7290struct vn_instance_submit_command submit;7291vn_submit_vkCmdNextSubpass2(vn_instance, 0, commandBuffer, pSubpassBeginInfo, pSubpassEndInfo, &submit);7292}72937294static inline void vn_call_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)7295{7296struct vn_instance_submit_command submit;7297vn_submit_vkCmdEndRenderPass2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, pSubpassEndInfo, &submit);7298struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7299if (dec) {7300vn_decode_vkCmdEndRenderPass2_reply(dec, commandBuffer, pSubpassEndInfo);7301vn_instance_free_command_reply(vn_instance, &submit);7302}7303}73047305static inline void vn_async_vkCmdEndRenderPass2(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo)7306{7307struct vn_instance_submit_command submit;7308vn_submit_vkCmdEndRenderPass2(vn_instance, 0, commandBuffer, pSubpassEndInfo, &submit);7309}73107311static 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)7312{7313struct vn_instance_submit_command submit;7314vn_submit_vkCmdDrawIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);7315struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7316if (dec) {7317vn_decode_vkCmdDrawIndirectCount_reply(dec, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);7318vn_instance_free_command_reply(vn_instance, &submit);7319}7320}73217322static 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)7323{7324struct vn_instance_submit_command submit;7325vn_submit_vkCmdDrawIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);7326}73277328static 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)7329{7330struct vn_instance_submit_command submit;7331vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);7332struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7333if (dec) {7334vn_decode_vkCmdDrawIndexedIndirectCount_reply(dec, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);7335vn_instance_free_command_reply(vn_instance, &submit);7336}7337}73387339static 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)7340{7341struct vn_instance_submit_command submit;7342vn_submit_vkCmdDrawIndexedIndirectCount(vn_instance, 0, commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride, &submit);7343}73447345static 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)7346{7347struct vn_instance_submit_command submit;7348vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);7349struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7350if (dec) {7351vn_decode_vkCmdBindTransformFeedbackBuffersEXT_reply(dec, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);7352vn_instance_free_command_reply(vn_instance, &submit);7353}7354}73557356static 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)7357{7358struct vn_instance_submit_command submit;7359vn_submit_vkCmdBindTransformFeedbackBuffersEXT(vn_instance, 0, commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, &submit);7360}73617362static inline void vn_call_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)7363{7364struct vn_instance_submit_command submit;7365vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);7366struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7367if (dec) {7368vn_decode_vkCmdBeginTransformFeedbackEXT_reply(dec, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);7369vn_instance_free_command_reply(vn_instance, &submit);7370}7371}73727373static inline void vn_async_vkCmdBeginTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)7374{7375struct vn_instance_submit_command submit;7376vn_submit_vkCmdBeginTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);7377}73787379static inline void vn_call_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)7380{7381struct vn_instance_submit_command submit;7382vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);7383struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7384if (dec) {7385vn_decode_vkCmdEndTransformFeedbackEXT_reply(dec, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);7386vn_instance_free_command_reply(vn_instance, &submit);7387}7388}73897390static inline void vn_async_vkCmdEndTransformFeedbackEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)7391{7392struct vn_instance_submit_command submit;7393vn_submit_vkCmdEndTransformFeedbackEXT(vn_instance, 0, commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets, &submit);7394}73957396static inline void vn_call_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)7397{7398struct vn_instance_submit_command submit;7399vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, flags, index, &submit);7400struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7401if (dec) {7402vn_decode_vkCmdBeginQueryIndexedEXT_reply(dec, commandBuffer, queryPool, query, flags, index);7403vn_instance_free_command_reply(vn_instance, &submit);7404}7405}74067407static inline void vn_async_vkCmdBeginQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)7408{7409struct vn_instance_submit_command submit;7410vn_submit_vkCmdBeginQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, flags, index, &submit);7411}74127413static inline void vn_call_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)7414{7415struct vn_instance_submit_command submit;7416vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, queryPool, query, index, &submit);7417struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7418if (dec) {7419vn_decode_vkCmdEndQueryIndexedEXT_reply(dec, commandBuffer, queryPool, query, index);7420vn_instance_free_command_reply(vn_instance, &submit);7421}7422}74237424static inline void vn_async_vkCmdEndQueryIndexedEXT(struct vn_instance *vn_instance, VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)7425{7426struct vn_instance_submit_command submit;7427vn_submit_vkCmdEndQueryIndexedEXT(vn_instance, 0, commandBuffer, queryPool, query, index, &submit);7428}74297430static 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)7431{7432struct vn_instance_submit_command submit;7433vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);7434struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);7435if (dec) {7436vn_decode_vkCmdDrawIndirectByteCountEXT_reply(dec, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);7437vn_instance_free_command_reply(vn_instance, &submit);7438}7439}74407441static 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)7442{7443struct vn_instance_submit_command submit;7444vn_submit_vkCmdDrawIndirectByteCountEXT(vn_instance, 0, commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride, &submit);7445}74467447#endif /* VN_PROTOCOL_DRIVER_COMMAND_BUFFER_H */744874497450