Path: blob/21.2-virgl/src/virtio/venus-protocol/vn_protocol_driver_handles.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_HANDLES_H8#define VN_PROTOCOL_DRIVER_HANDLES_H910#include "vn_protocol_driver_types.h"1112/* VK_DEFINE_HANDLE(VkInstance) */1314static inline size_t15vn_sizeof_VkInstance(const VkInstance *val)16{17return sizeof(uint64_t);18}1920static inline void21vn_encode_VkInstance(struct vn_cs_encoder *enc, const VkInstance *val)22{23const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_INSTANCE);24vn_encode_uint64_t(enc, &id);25}2627static inline void28vn_decode_VkInstance(struct vn_cs_decoder *dec, VkInstance *val)29{30uint64_t id;31vn_decode_uint64_t(dec, &id);32vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_INSTANCE);33}3435/* VK_DEFINE_HANDLE(VkPhysicalDevice) */3637static inline size_t38vn_sizeof_VkPhysicalDevice(const VkPhysicalDevice *val)39{40return sizeof(uint64_t);41}4243static inline void44vn_encode_VkPhysicalDevice(struct vn_cs_encoder *enc, const VkPhysicalDevice *val)45{46const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PHYSICAL_DEVICE);47vn_encode_uint64_t(enc, &id);48}4950static inline void51vn_decode_VkPhysicalDevice(struct vn_cs_decoder *dec, VkPhysicalDevice *val)52{53uint64_t id;54vn_decode_uint64_t(dec, &id);55vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PHYSICAL_DEVICE);56}5758/* VK_DEFINE_HANDLE(VkDevice) */5960static inline size_t61vn_sizeof_VkDevice(const VkDevice *val)62{63return sizeof(uint64_t);64}6566static inline void67vn_encode_VkDevice(struct vn_cs_encoder *enc, const VkDevice *val)68{69const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE);70vn_encode_uint64_t(enc, &id);71}7273static inline void74vn_decode_VkDevice(struct vn_cs_decoder *dec, VkDevice *val)75{76uint64_t id;77vn_decode_uint64_t(dec, &id);78vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE);79}8081/* VK_DEFINE_HANDLE(VkQueue) */8283static inline size_t84vn_sizeof_VkQueue(const VkQueue *val)85{86return sizeof(uint64_t);87}8889static inline void90vn_encode_VkQueue(struct vn_cs_encoder *enc, const VkQueue *val)91{92const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUEUE);93vn_encode_uint64_t(enc, &id);94}9596static inline void97vn_decode_VkQueue(struct vn_cs_decoder *dec, VkQueue *val)98{99uint64_t id;100vn_decode_uint64_t(dec, &id);101vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUEUE);102}103104/* VK_DEFINE_HANDLE(VkCommandBuffer) */105106static inline size_t107vn_sizeof_VkCommandBuffer(const VkCommandBuffer *val)108{109return sizeof(uint64_t);110}111112static inline void113vn_encode_VkCommandBuffer(struct vn_cs_encoder *enc, const VkCommandBuffer *val)114{115const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_BUFFER);116vn_encode_uint64_t(enc, &id);117}118119static inline void120vn_decode_VkCommandBuffer(struct vn_cs_decoder *dec, VkCommandBuffer *val)121{122uint64_t id;123vn_decode_uint64_t(dec, &id);124vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_BUFFER);125}126127/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) */128129static inline size_t130vn_sizeof_VkDeviceMemory(const VkDeviceMemory *val)131{132return sizeof(uint64_t);133}134135static inline void136vn_encode_VkDeviceMemory(struct vn_cs_encoder *enc, const VkDeviceMemory *val)137{138const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE_MEMORY);139vn_encode_uint64_t(enc, &id);140}141142static inline void143vn_decode_VkDeviceMemory(struct vn_cs_decoder *dec, VkDeviceMemory *val)144{145uint64_t id;146vn_decode_uint64_t(dec, &id);147vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE_MEMORY);148}149150/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) */151152static inline size_t153vn_sizeof_VkCommandPool(const VkCommandPool *val)154{155return sizeof(uint64_t);156}157158static inline void159vn_encode_VkCommandPool(struct vn_cs_encoder *enc, const VkCommandPool *val)160{161const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_POOL);162vn_encode_uint64_t(enc, &id);163}164165static inline void166vn_decode_VkCommandPool(struct vn_cs_decoder *dec, VkCommandPool *val)167{168uint64_t id;169vn_decode_uint64_t(dec, &id);170vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_POOL);171}172173/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) */174175static inline size_t176vn_sizeof_VkBuffer(const VkBuffer *val)177{178return sizeof(uint64_t);179}180181static inline void182vn_encode_VkBuffer(struct vn_cs_encoder *enc, const VkBuffer *val)183{184const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER);185vn_encode_uint64_t(enc, &id);186}187188static inline void189vn_decode_VkBuffer(struct vn_cs_decoder *dec, VkBuffer *val)190{191uint64_t id;192vn_decode_uint64_t(dec, &id);193vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER);194}195196/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) */197198static inline size_t199vn_sizeof_VkBufferView(const VkBufferView *val)200{201return sizeof(uint64_t);202}203204static inline void205vn_encode_VkBufferView(struct vn_cs_encoder *enc, const VkBufferView *val)206{207const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER_VIEW);208vn_encode_uint64_t(enc, &id);209}210211static inline void212vn_decode_VkBufferView(struct vn_cs_decoder *dec, VkBufferView *val)213{214uint64_t id;215vn_decode_uint64_t(dec, &id);216vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER_VIEW);217}218219/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) */220221static inline size_t222vn_sizeof_VkImage(const VkImage *val)223{224return sizeof(uint64_t);225}226227static inline void228vn_encode_VkImage(struct vn_cs_encoder *enc, const VkImage *val)229{230const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE);231vn_encode_uint64_t(enc, &id);232}233234static inline void235vn_decode_VkImage(struct vn_cs_decoder *dec, VkImage *val)236{237uint64_t id;238vn_decode_uint64_t(dec, &id);239vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE);240}241242/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) */243244static inline size_t245vn_sizeof_VkImageView(const VkImageView *val)246{247return sizeof(uint64_t);248}249250static inline void251vn_encode_VkImageView(struct vn_cs_encoder *enc, const VkImageView *val)252{253const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE_VIEW);254vn_encode_uint64_t(enc, &id);255}256257static inline void258vn_decode_VkImageView(struct vn_cs_decoder *dec, VkImageView *val)259{260uint64_t id;261vn_decode_uint64_t(dec, &id);262vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE_VIEW);263}264265/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) */266267static inline size_t268vn_sizeof_VkShaderModule(const VkShaderModule *val)269{270return sizeof(uint64_t);271}272273static inline void274vn_encode_VkShaderModule(struct vn_cs_encoder *enc, const VkShaderModule *val)275{276const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SHADER_MODULE);277vn_encode_uint64_t(enc, &id);278}279280static inline void281vn_decode_VkShaderModule(struct vn_cs_decoder *dec, VkShaderModule *val)282{283uint64_t id;284vn_decode_uint64_t(dec, &id);285vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SHADER_MODULE);286}287288/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) */289290static inline size_t291vn_sizeof_VkPipeline(const VkPipeline *val)292{293return sizeof(uint64_t);294}295296static inline void297vn_encode_VkPipeline(struct vn_cs_encoder *enc, const VkPipeline *val)298{299const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE);300vn_encode_uint64_t(enc, &id);301}302303static inline void304vn_decode_VkPipeline(struct vn_cs_decoder *dec, VkPipeline *val)305{306uint64_t id;307vn_decode_uint64_t(dec, &id);308vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE);309}310311/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) */312313static inline size_t314vn_sizeof_VkPipelineLayout(const VkPipelineLayout *val)315{316return sizeof(uint64_t);317}318319static inline void320vn_encode_VkPipelineLayout(struct vn_cs_encoder *enc, const VkPipelineLayout *val)321{322const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_LAYOUT);323vn_encode_uint64_t(enc, &id);324}325326static inline void327vn_decode_VkPipelineLayout(struct vn_cs_decoder *dec, VkPipelineLayout *val)328{329uint64_t id;330vn_decode_uint64_t(dec, &id);331vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_LAYOUT);332}333334/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) */335336static inline size_t337vn_sizeof_VkSampler(const VkSampler *val)338{339return sizeof(uint64_t);340}341342static inline void343vn_encode_VkSampler(struct vn_cs_encoder *enc, const VkSampler *val)344{345const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER);346vn_encode_uint64_t(enc, &id);347}348349static inline void350vn_decode_VkSampler(struct vn_cs_decoder *dec, VkSampler *val)351{352uint64_t id;353vn_decode_uint64_t(dec, &id);354vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER);355}356357/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) */358359static inline size_t360vn_sizeof_VkDescriptorSet(const VkDescriptorSet *val)361{362return sizeof(uint64_t);363}364365static inline void366vn_encode_VkDescriptorSet(struct vn_cs_encoder *enc, const VkDescriptorSet *val)367{368const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET);369vn_encode_uint64_t(enc, &id);370}371372static inline void373vn_decode_VkDescriptorSet(struct vn_cs_decoder *dec, VkDescriptorSet *val)374{375uint64_t id;376vn_decode_uint64_t(dec, &id);377vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET);378}379380/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) */381382static inline size_t383vn_sizeof_VkDescriptorSetLayout(const VkDescriptorSetLayout *val)384{385return sizeof(uint64_t);386}387388static inline void389vn_encode_VkDescriptorSetLayout(struct vn_cs_encoder *enc, const VkDescriptorSetLayout *val)390{391const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);392vn_encode_uint64_t(enc, &id);393}394395static inline void396vn_decode_VkDescriptorSetLayout(struct vn_cs_decoder *dec, VkDescriptorSetLayout *val)397{398uint64_t id;399vn_decode_uint64_t(dec, &id);400vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);401}402403/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) */404405static inline size_t406vn_sizeof_VkDescriptorPool(const VkDescriptorPool *val)407{408return sizeof(uint64_t);409}410411static inline void412vn_encode_VkDescriptorPool(struct vn_cs_encoder *enc, const VkDescriptorPool *val)413{414const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_POOL);415vn_encode_uint64_t(enc, &id);416}417418static inline void419vn_decode_VkDescriptorPool(struct vn_cs_decoder *dec, VkDescriptorPool *val)420{421uint64_t id;422vn_decode_uint64_t(dec, &id);423vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_POOL);424}425426/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) */427428static inline size_t429vn_sizeof_VkFence(const VkFence *val)430{431return sizeof(uint64_t);432}433434static inline void435vn_encode_VkFence(struct vn_cs_encoder *enc, const VkFence *val)436{437const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FENCE);438vn_encode_uint64_t(enc, &id);439}440441static inline void442vn_decode_VkFence(struct vn_cs_decoder *dec, VkFence *val)443{444uint64_t id;445vn_decode_uint64_t(dec, &id);446vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FENCE);447}448449/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) */450451static inline size_t452vn_sizeof_VkSemaphore(const VkSemaphore *val)453{454return sizeof(uint64_t);455}456457static inline void458vn_encode_VkSemaphore(struct vn_cs_encoder *enc, const VkSemaphore *val)459{460const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SEMAPHORE);461vn_encode_uint64_t(enc, &id);462}463464static inline void465vn_decode_VkSemaphore(struct vn_cs_decoder *dec, VkSemaphore *val)466{467uint64_t id;468vn_decode_uint64_t(dec, &id);469vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SEMAPHORE);470}471472/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) */473474static inline size_t475vn_sizeof_VkEvent(const VkEvent *val)476{477return sizeof(uint64_t);478}479480static inline void481vn_encode_VkEvent(struct vn_cs_encoder *enc, const VkEvent *val)482{483const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_EVENT);484vn_encode_uint64_t(enc, &id);485}486487static inline void488vn_decode_VkEvent(struct vn_cs_decoder *dec, VkEvent *val)489{490uint64_t id;491vn_decode_uint64_t(dec, &id);492vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_EVENT);493}494495/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) */496497static inline size_t498vn_sizeof_VkQueryPool(const VkQueryPool *val)499{500return sizeof(uint64_t);501}502503static inline void504vn_encode_VkQueryPool(struct vn_cs_encoder *enc, const VkQueryPool *val)505{506const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUERY_POOL);507vn_encode_uint64_t(enc, &id);508}509510static inline void511vn_decode_VkQueryPool(struct vn_cs_decoder *dec, VkQueryPool *val)512{513uint64_t id;514vn_decode_uint64_t(dec, &id);515vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUERY_POOL);516}517518/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) */519520static inline size_t521vn_sizeof_VkFramebuffer(const VkFramebuffer *val)522{523return sizeof(uint64_t);524}525526static inline void527vn_encode_VkFramebuffer(struct vn_cs_encoder *enc, const VkFramebuffer *val)528{529const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FRAMEBUFFER);530vn_encode_uint64_t(enc, &id);531}532533static inline void534vn_decode_VkFramebuffer(struct vn_cs_decoder *dec, VkFramebuffer *val)535{536uint64_t id;537vn_decode_uint64_t(dec, &id);538vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FRAMEBUFFER);539}540541/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) */542543static inline size_t544vn_sizeof_VkRenderPass(const VkRenderPass *val)545{546return sizeof(uint64_t);547}548549static inline void550vn_encode_VkRenderPass(struct vn_cs_encoder *enc, const VkRenderPass *val)551{552const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_RENDER_PASS);553vn_encode_uint64_t(enc, &id);554}555556static inline void557vn_decode_VkRenderPass(struct vn_cs_decoder *dec, VkRenderPass *val)558{559uint64_t id;560vn_decode_uint64_t(dec, &id);561vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_RENDER_PASS);562}563564/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) */565566static inline size_t567vn_sizeof_VkPipelineCache(const VkPipelineCache *val)568{569return sizeof(uint64_t);570}571572static inline void573vn_encode_VkPipelineCache(struct vn_cs_encoder *enc, const VkPipelineCache *val)574{575const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_CACHE);576vn_encode_uint64_t(enc, &id);577}578579static inline void580vn_decode_VkPipelineCache(struct vn_cs_decoder *dec, VkPipelineCache *val)581{582uint64_t id;583vn_decode_uint64_t(dec, &id);584vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_CACHE);585}586587/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) */588589static inline size_t590vn_sizeof_VkDescriptorUpdateTemplate(const VkDescriptorUpdateTemplate *val)591{592return sizeof(uint64_t);593}594595static inline void596vn_encode_VkDescriptorUpdateTemplate(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplate *val)597{598const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);599vn_encode_uint64_t(enc, &id);600}601602static inline void603vn_decode_VkDescriptorUpdateTemplate(struct vn_cs_decoder *dec, VkDescriptorUpdateTemplate *val)604{605uint64_t id;606vn_decode_uint64_t(dec, &id);607vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);608}609610/* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) */611612static inline size_t613vn_sizeof_VkSamplerYcbcrConversion(const VkSamplerYcbcrConversion *val)614{615return sizeof(uint64_t);616}617618static inline void619vn_encode_VkSamplerYcbcrConversion(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversion *val)620{621const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);622vn_encode_uint64_t(enc, &id);623}624625static inline void626vn_decode_VkSamplerYcbcrConversion(struct vn_cs_decoder *dec, VkSamplerYcbcrConversion *val)627{628uint64_t id;629vn_decode_uint64_t(dec, &id);630vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);631}632633#endif /* VN_PROTOCOL_DRIVER_HANDLES_H */634635636