1 /* This file is generated by venus-protocol.  See vn_protocol_driver.h. */
2 
3 /*
4  * Copyright 2020 Google LLC
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef VN_PROTOCOL_DRIVER_HANDLES_H
9 #define VN_PROTOCOL_DRIVER_HANDLES_H
10 
11 #include "vn_protocol_driver_types.h"
12 
13 /* VK_DEFINE_HANDLE(VkInstance) */
14 
15 static inline size_t
vn_sizeof_VkInstance(const VkInstance * val)16 vn_sizeof_VkInstance(const VkInstance *val)
17 {
18     return sizeof(uint64_t);
19 }
20 
21 static inline void
vn_encode_VkInstance(struct vn_cs_encoder * enc,const VkInstance * val)22 vn_encode_VkInstance(struct vn_cs_encoder *enc, const VkInstance *val)
23 {
24     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_INSTANCE);
25     vn_encode_uint64_t(enc, &id);
26 }
27 
28 static inline void
vn_decode_VkInstance(struct vn_cs_decoder * dec,VkInstance * val)29 vn_decode_VkInstance(struct vn_cs_decoder *dec, VkInstance *val)
30 {
31     uint64_t id;
32     vn_decode_uint64_t(dec, &id);
33     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_INSTANCE);
34 }
35 
36 /* VK_DEFINE_HANDLE(VkPhysicalDevice) */
37 
38 static inline size_t
vn_sizeof_VkPhysicalDevice(const VkPhysicalDevice * val)39 vn_sizeof_VkPhysicalDevice(const VkPhysicalDevice *val)
40 {
41     return sizeof(uint64_t);
42 }
43 
44 static inline void
vn_encode_VkPhysicalDevice(struct vn_cs_encoder * enc,const VkPhysicalDevice * val)45 vn_encode_VkPhysicalDevice(struct vn_cs_encoder *enc, const VkPhysicalDevice *val)
46 {
47     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
48     vn_encode_uint64_t(enc, &id);
49 }
50 
51 static inline void
vn_decode_VkPhysicalDevice(struct vn_cs_decoder * dec,VkPhysicalDevice * val)52 vn_decode_VkPhysicalDevice(struct vn_cs_decoder *dec, VkPhysicalDevice *val)
53 {
54     uint64_t id;
55     vn_decode_uint64_t(dec, &id);
56     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
57 }
58 
59 /* VK_DEFINE_HANDLE(VkDevice) */
60 
61 static inline size_t
vn_sizeof_VkDevice(const VkDevice * val)62 vn_sizeof_VkDevice(const VkDevice *val)
63 {
64     return sizeof(uint64_t);
65 }
66 
67 static inline void
vn_encode_VkDevice(struct vn_cs_encoder * enc,const VkDevice * val)68 vn_encode_VkDevice(struct vn_cs_encoder *enc, const VkDevice *val)
69 {
70     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE);
71     vn_encode_uint64_t(enc, &id);
72 }
73 
74 static inline void
vn_decode_VkDevice(struct vn_cs_decoder * dec,VkDevice * val)75 vn_decode_VkDevice(struct vn_cs_decoder *dec, VkDevice *val)
76 {
77     uint64_t id;
78     vn_decode_uint64_t(dec, &id);
79     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE);
80 }
81 
82 /* VK_DEFINE_HANDLE(VkQueue) */
83 
84 static inline size_t
vn_sizeof_VkQueue(const VkQueue * val)85 vn_sizeof_VkQueue(const VkQueue *val)
86 {
87     return sizeof(uint64_t);
88 }
89 
90 static inline void
vn_encode_VkQueue(struct vn_cs_encoder * enc,const VkQueue * val)91 vn_encode_VkQueue(struct vn_cs_encoder *enc, const VkQueue *val)
92 {
93     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUEUE);
94     vn_encode_uint64_t(enc, &id);
95 }
96 
97 static inline void
vn_decode_VkQueue(struct vn_cs_decoder * dec,VkQueue * val)98 vn_decode_VkQueue(struct vn_cs_decoder *dec, VkQueue *val)
99 {
100     uint64_t id;
101     vn_decode_uint64_t(dec, &id);
102     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUEUE);
103 }
104 
105 /* VK_DEFINE_HANDLE(VkCommandBuffer) */
106 
107 static inline size_t
vn_sizeof_VkCommandBuffer(const VkCommandBuffer * val)108 vn_sizeof_VkCommandBuffer(const VkCommandBuffer *val)
109 {
110     return sizeof(uint64_t);
111 }
112 
113 static inline void
vn_encode_VkCommandBuffer(struct vn_cs_encoder * enc,const VkCommandBuffer * val)114 vn_encode_VkCommandBuffer(struct vn_cs_encoder *enc, const VkCommandBuffer *val)
115 {
116     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_BUFFER);
117     vn_encode_uint64_t(enc, &id);
118 }
119 
120 static inline void
vn_decode_VkCommandBuffer(struct vn_cs_decoder * dec,VkCommandBuffer * val)121 vn_decode_VkCommandBuffer(struct vn_cs_decoder *dec, VkCommandBuffer *val)
122 {
123     uint64_t id;
124     vn_decode_uint64_t(dec, &id);
125     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_BUFFER);
126 }
127 
128 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) */
129 
130 static inline size_t
vn_sizeof_VkDeviceMemory(const VkDeviceMemory * val)131 vn_sizeof_VkDeviceMemory(const VkDeviceMemory *val)
132 {
133     return sizeof(uint64_t);
134 }
135 
136 static inline void
vn_encode_VkDeviceMemory(struct vn_cs_encoder * enc,const VkDeviceMemory * val)137 vn_encode_VkDeviceMemory(struct vn_cs_encoder *enc, const VkDeviceMemory *val)
138 {
139     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE_MEMORY);
140     vn_encode_uint64_t(enc, &id);
141 }
142 
143 static inline void
vn_decode_VkDeviceMemory(struct vn_cs_decoder * dec,VkDeviceMemory * val)144 vn_decode_VkDeviceMemory(struct vn_cs_decoder *dec, VkDeviceMemory *val)
145 {
146     uint64_t id;
147     vn_decode_uint64_t(dec, &id);
148     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE_MEMORY);
149 }
150 
151 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) */
152 
153 static inline size_t
vn_sizeof_VkCommandPool(const VkCommandPool * val)154 vn_sizeof_VkCommandPool(const VkCommandPool *val)
155 {
156     return sizeof(uint64_t);
157 }
158 
159 static inline void
vn_encode_VkCommandPool(struct vn_cs_encoder * enc,const VkCommandPool * val)160 vn_encode_VkCommandPool(struct vn_cs_encoder *enc, const VkCommandPool *val)
161 {
162     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_POOL);
163     vn_encode_uint64_t(enc, &id);
164 }
165 
166 static inline void
vn_decode_VkCommandPool(struct vn_cs_decoder * dec,VkCommandPool * val)167 vn_decode_VkCommandPool(struct vn_cs_decoder *dec, VkCommandPool *val)
168 {
169     uint64_t id;
170     vn_decode_uint64_t(dec, &id);
171     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_POOL);
172 }
173 
174 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) */
175 
176 static inline size_t
vn_sizeof_VkBuffer(const VkBuffer * val)177 vn_sizeof_VkBuffer(const VkBuffer *val)
178 {
179     return sizeof(uint64_t);
180 }
181 
182 static inline void
vn_encode_VkBuffer(struct vn_cs_encoder * enc,const VkBuffer * val)183 vn_encode_VkBuffer(struct vn_cs_encoder *enc, const VkBuffer *val)
184 {
185     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER);
186     vn_encode_uint64_t(enc, &id);
187 }
188 
189 static inline void
vn_decode_VkBuffer(struct vn_cs_decoder * dec,VkBuffer * val)190 vn_decode_VkBuffer(struct vn_cs_decoder *dec, VkBuffer *val)
191 {
192     uint64_t id;
193     vn_decode_uint64_t(dec, &id);
194     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER);
195 }
196 
197 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) */
198 
199 static inline size_t
vn_sizeof_VkBufferView(const VkBufferView * val)200 vn_sizeof_VkBufferView(const VkBufferView *val)
201 {
202     return sizeof(uint64_t);
203 }
204 
205 static inline void
vn_encode_VkBufferView(struct vn_cs_encoder * enc,const VkBufferView * val)206 vn_encode_VkBufferView(struct vn_cs_encoder *enc, const VkBufferView *val)
207 {
208     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER_VIEW);
209     vn_encode_uint64_t(enc, &id);
210 }
211 
212 static inline void
vn_decode_VkBufferView(struct vn_cs_decoder * dec,VkBufferView * val)213 vn_decode_VkBufferView(struct vn_cs_decoder *dec, VkBufferView *val)
214 {
215     uint64_t id;
216     vn_decode_uint64_t(dec, &id);
217     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER_VIEW);
218 }
219 
220 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) */
221 
222 static inline size_t
vn_sizeof_VkImage(const VkImage * val)223 vn_sizeof_VkImage(const VkImage *val)
224 {
225     return sizeof(uint64_t);
226 }
227 
228 static inline void
vn_encode_VkImage(struct vn_cs_encoder * enc,const VkImage * val)229 vn_encode_VkImage(struct vn_cs_encoder *enc, const VkImage *val)
230 {
231     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE);
232     vn_encode_uint64_t(enc, &id);
233 }
234 
235 static inline void
vn_decode_VkImage(struct vn_cs_decoder * dec,VkImage * val)236 vn_decode_VkImage(struct vn_cs_decoder *dec, VkImage *val)
237 {
238     uint64_t id;
239     vn_decode_uint64_t(dec, &id);
240     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE);
241 }
242 
243 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) */
244 
245 static inline size_t
vn_sizeof_VkImageView(const VkImageView * val)246 vn_sizeof_VkImageView(const VkImageView *val)
247 {
248     return sizeof(uint64_t);
249 }
250 
251 static inline void
vn_encode_VkImageView(struct vn_cs_encoder * enc,const VkImageView * val)252 vn_encode_VkImageView(struct vn_cs_encoder *enc, const VkImageView *val)
253 {
254     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE_VIEW);
255     vn_encode_uint64_t(enc, &id);
256 }
257 
258 static inline void
vn_decode_VkImageView(struct vn_cs_decoder * dec,VkImageView * val)259 vn_decode_VkImageView(struct vn_cs_decoder *dec, VkImageView *val)
260 {
261     uint64_t id;
262     vn_decode_uint64_t(dec, &id);
263     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE_VIEW);
264 }
265 
266 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) */
267 
268 static inline size_t
vn_sizeof_VkShaderModule(const VkShaderModule * val)269 vn_sizeof_VkShaderModule(const VkShaderModule *val)
270 {
271     return sizeof(uint64_t);
272 }
273 
274 static inline void
vn_encode_VkShaderModule(struct vn_cs_encoder * enc,const VkShaderModule * val)275 vn_encode_VkShaderModule(struct vn_cs_encoder *enc, const VkShaderModule *val)
276 {
277     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SHADER_MODULE);
278     vn_encode_uint64_t(enc, &id);
279 }
280 
281 static inline void
vn_decode_VkShaderModule(struct vn_cs_decoder * dec,VkShaderModule * val)282 vn_decode_VkShaderModule(struct vn_cs_decoder *dec, VkShaderModule *val)
283 {
284     uint64_t id;
285     vn_decode_uint64_t(dec, &id);
286     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SHADER_MODULE);
287 }
288 
289 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) */
290 
291 static inline size_t
vn_sizeof_VkPipeline(const VkPipeline * val)292 vn_sizeof_VkPipeline(const VkPipeline *val)
293 {
294     return sizeof(uint64_t);
295 }
296 
297 static inline void
vn_encode_VkPipeline(struct vn_cs_encoder * enc,const VkPipeline * val)298 vn_encode_VkPipeline(struct vn_cs_encoder *enc, const VkPipeline *val)
299 {
300     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE);
301     vn_encode_uint64_t(enc, &id);
302 }
303 
304 static inline void
vn_decode_VkPipeline(struct vn_cs_decoder * dec,VkPipeline * val)305 vn_decode_VkPipeline(struct vn_cs_decoder *dec, VkPipeline *val)
306 {
307     uint64_t id;
308     vn_decode_uint64_t(dec, &id);
309     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE);
310 }
311 
312 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) */
313 
314 static inline size_t
vn_sizeof_VkPipelineLayout(const VkPipelineLayout * val)315 vn_sizeof_VkPipelineLayout(const VkPipelineLayout *val)
316 {
317     return sizeof(uint64_t);
318 }
319 
320 static inline void
vn_encode_VkPipelineLayout(struct vn_cs_encoder * enc,const VkPipelineLayout * val)321 vn_encode_VkPipelineLayout(struct vn_cs_encoder *enc, const VkPipelineLayout *val)
322 {
323     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
324     vn_encode_uint64_t(enc, &id);
325 }
326 
327 static inline void
vn_decode_VkPipelineLayout(struct vn_cs_decoder * dec,VkPipelineLayout * val)328 vn_decode_VkPipelineLayout(struct vn_cs_decoder *dec, VkPipelineLayout *val)
329 {
330     uint64_t id;
331     vn_decode_uint64_t(dec, &id);
332     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
333 }
334 
335 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) */
336 
337 static inline size_t
vn_sizeof_VkSampler(const VkSampler * val)338 vn_sizeof_VkSampler(const VkSampler *val)
339 {
340     return sizeof(uint64_t);
341 }
342 
343 static inline void
vn_encode_VkSampler(struct vn_cs_encoder * enc,const VkSampler * val)344 vn_encode_VkSampler(struct vn_cs_encoder *enc, const VkSampler *val)
345 {
346     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER);
347     vn_encode_uint64_t(enc, &id);
348 }
349 
350 static inline void
vn_decode_VkSampler(struct vn_cs_decoder * dec,VkSampler * val)351 vn_decode_VkSampler(struct vn_cs_decoder *dec, VkSampler *val)
352 {
353     uint64_t id;
354     vn_decode_uint64_t(dec, &id);
355     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER);
356 }
357 
358 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) */
359 
360 static inline size_t
vn_sizeof_VkDescriptorSet(const VkDescriptorSet * val)361 vn_sizeof_VkDescriptorSet(const VkDescriptorSet *val)
362 {
363     return sizeof(uint64_t);
364 }
365 
366 static inline void
vn_encode_VkDescriptorSet(struct vn_cs_encoder * enc,const VkDescriptorSet * val)367 vn_encode_VkDescriptorSet(struct vn_cs_encoder *enc, const VkDescriptorSet *val)
368 {
369     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET);
370     vn_encode_uint64_t(enc, &id);
371 }
372 
373 static inline void
vn_decode_VkDescriptorSet(struct vn_cs_decoder * dec,VkDescriptorSet * val)374 vn_decode_VkDescriptorSet(struct vn_cs_decoder *dec, VkDescriptorSet *val)
375 {
376     uint64_t id;
377     vn_decode_uint64_t(dec, &id);
378     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET);
379 }
380 
381 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) */
382 
383 static inline size_t
vn_sizeof_VkDescriptorSetLayout(const VkDescriptorSetLayout * val)384 vn_sizeof_VkDescriptorSetLayout(const VkDescriptorSetLayout *val)
385 {
386     return sizeof(uint64_t);
387 }
388 
389 static inline void
vn_encode_VkDescriptorSetLayout(struct vn_cs_encoder * enc,const VkDescriptorSetLayout * val)390 vn_encode_VkDescriptorSetLayout(struct vn_cs_encoder *enc, const VkDescriptorSetLayout *val)
391 {
392     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
393     vn_encode_uint64_t(enc, &id);
394 }
395 
396 static inline void
vn_decode_VkDescriptorSetLayout(struct vn_cs_decoder * dec,VkDescriptorSetLayout * val)397 vn_decode_VkDescriptorSetLayout(struct vn_cs_decoder *dec, VkDescriptorSetLayout *val)
398 {
399     uint64_t id;
400     vn_decode_uint64_t(dec, &id);
401     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
402 }
403 
404 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) */
405 
406 static inline size_t
vn_sizeof_VkDescriptorPool(const VkDescriptorPool * val)407 vn_sizeof_VkDescriptorPool(const VkDescriptorPool *val)
408 {
409     return sizeof(uint64_t);
410 }
411 
412 static inline void
vn_encode_VkDescriptorPool(struct vn_cs_encoder * enc,const VkDescriptorPool * val)413 vn_encode_VkDescriptorPool(struct vn_cs_encoder *enc, const VkDescriptorPool *val)
414 {
415     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
416     vn_encode_uint64_t(enc, &id);
417 }
418 
419 static inline void
vn_decode_VkDescriptorPool(struct vn_cs_decoder * dec,VkDescriptorPool * val)420 vn_decode_VkDescriptorPool(struct vn_cs_decoder *dec, VkDescriptorPool *val)
421 {
422     uint64_t id;
423     vn_decode_uint64_t(dec, &id);
424     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
425 }
426 
427 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) */
428 
429 static inline size_t
vn_sizeof_VkFence(const VkFence * val)430 vn_sizeof_VkFence(const VkFence *val)
431 {
432     return sizeof(uint64_t);
433 }
434 
435 static inline void
vn_encode_VkFence(struct vn_cs_encoder * enc,const VkFence * val)436 vn_encode_VkFence(struct vn_cs_encoder *enc, const VkFence *val)
437 {
438     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FENCE);
439     vn_encode_uint64_t(enc, &id);
440 }
441 
442 static inline void
vn_decode_VkFence(struct vn_cs_decoder * dec,VkFence * val)443 vn_decode_VkFence(struct vn_cs_decoder *dec, VkFence *val)
444 {
445     uint64_t id;
446     vn_decode_uint64_t(dec, &id);
447     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FENCE);
448 }
449 
450 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) */
451 
452 static inline size_t
vn_sizeof_VkSemaphore(const VkSemaphore * val)453 vn_sizeof_VkSemaphore(const VkSemaphore *val)
454 {
455     return sizeof(uint64_t);
456 }
457 
458 static inline void
vn_encode_VkSemaphore(struct vn_cs_encoder * enc,const VkSemaphore * val)459 vn_encode_VkSemaphore(struct vn_cs_encoder *enc, const VkSemaphore *val)
460 {
461     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SEMAPHORE);
462     vn_encode_uint64_t(enc, &id);
463 }
464 
465 static inline void
vn_decode_VkSemaphore(struct vn_cs_decoder * dec,VkSemaphore * val)466 vn_decode_VkSemaphore(struct vn_cs_decoder *dec, VkSemaphore *val)
467 {
468     uint64_t id;
469     vn_decode_uint64_t(dec, &id);
470     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SEMAPHORE);
471 }
472 
473 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) */
474 
475 static inline size_t
vn_sizeof_VkEvent(const VkEvent * val)476 vn_sizeof_VkEvent(const VkEvent *val)
477 {
478     return sizeof(uint64_t);
479 }
480 
481 static inline void
vn_encode_VkEvent(struct vn_cs_encoder * enc,const VkEvent * val)482 vn_encode_VkEvent(struct vn_cs_encoder *enc, const VkEvent *val)
483 {
484     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_EVENT);
485     vn_encode_uint64_t(enc, &id);
486 }
487 
488 static inline void
vn_decode_VkEvent(struct vn_cs_decoder * dec,VkEvent * val)489 vn_decode_VkEvent(struct vn_cs_decoder *dec, VkEvent *val)
490 {
491     uint64_t id;
492     vn_decode_uint64_t(dec, &id);
493     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_EVENT);
494 }
495 
496 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) */
497 
498 static inline size_t
vn_sizeof_VkQueryPool(const VkQueryPool * val)499 vn_sizeof_VkQueryPool(const VkQueryPool *val)
500 {
501     return sizeof(uint64_t);
502 }
503 
504 static inline void
vn_encode_VkQueryPool(struct vn_cs_encoder * enc,const VkQueryPool * val)505 vn_encode_VkQueryPool(struct vn_cs_encoder *enc, const VkQueryPool *val)
506 {
507     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUERY_POOL);
508     vn_encode_uint64_t(enc, &id);
509 }
510 
511 static inline void
vn_decode_VkQueryPool(struct vn_cs_decoder * dec,VkQueryPool * val)512 vn_decode_VkQueryPool(struct vn_cs_decoder *dec, VkQueryPool *val)
513 {
514     uint64_t id;
515     vn_decode_uint64_t(dec, &id);
516     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUERY_POOL);
517 }
518 
519 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) */
520 
521 static inline size_t
vn_sizeof_VkFramebuffer(const VkFramebuffer * val)522 vn_sizeof_VkFramebuffer(const VkFramebuffer *val)
523 {
524     return sizeof(uint64_t);
525 }
526 
527 static inline void
vn_encode_VkFramebuffer(struct vn_cs_encoder * enc,const VkFramebuffer * val)528 vn_encode_VkFramebuffer(struct vn_cs_encoder *enc, const VkFramebuffer *val)
529 {
530     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FRAMEBUFFER);
531     vn_encode_uint64_t(enc, &id);
532 }
533 
534 static inline void
vn_decode_VkFramebuffer(struct vn_cs_decoder * dec,VkFramebuffer * val)535 vn_decode_VkFramebuffer(struct vn_cs_decoder *dec, VkFramebuffer *val)
536 {
537     uint64_t id;
538     vn_decode_uint64_t(dec, &id);
539     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FRAMEBUFFER);
540 }
541 
542 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) */
543 
544 static inline size_t
vn_sizeof_VkRenderPass(const VkRenderPass * val)545 vn_sizeof_VkRenderPass(const VkRenderPass *val)
546 {
547     return sizeof(uint64_t);
548 }
549 
550 static inline void
vn_encode_VkRenderPass(struct vn_cs_encoder * enc,const VkRenderPass * val)551 vn_encode_VkRenderPass(struct vn_cs_encoder *enc, const VkRenderPass *val)
552 {
553     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_RENDER_PASS);
554     vn_encode_uint64_t(enc, &id);
555 }
556 
557 static inline void
vn_decode_VkRenderPass(struct vn_cs_decoder * dec,VkRenderPass * val)558 vn_decode_VkRenderPass(struct vn_cs_decoder *dec, VkRenderPass *val)
559 {
560     uint64_t id;
561     vn_decode_uint64_t(dec, &id);
562     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_RENDER_PASS);
563 }
564 
565 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) */
566 
567 static inline size_t
vn_sizeof_VkPipelineCache(const VkPipelineCache * val)568 vn_sizeof_VkPipelineCache(const VkPipelineCache *val)
569 {
570     return sizeof(uint64_t);
571 }
572 
573 static inline void
vn_encode_VkPipelineCache(struct vn_cs_encoder * enc,const VkPipelineCache * val)574 vn_encode_VkPipelineCache(struct vn_cs_encoder *enc, const VkPipelineCache *val)
575 {
576     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_CACHE);
577     vn_encode_uint64_t(enc, &id);
578 }
579 
580 static inline void
vn_decode_VkPipelineCache(struct vn_cs_decoder * dec,VkPipelineCache * val)581 vn_decode_VkPipelineCache(struct vn_cs_decoder *dec, VkPipelineCache *val)
582 {
583     uint64_t id;
584     vn_decode_uint64_t(dec, &id);
585     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_CACHE);
586 }
587 
588 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) */
589 
590 static inline size_t
vn_sizeof_VkDescriptorUpdateTemplate(const VkDescriptorUpdateTemplate * val)591 vn_sizeof_VkDescriptorUpdateTemplate(const VkDescriptorUpdateTemplate *val)
592 {
593     return sizeof(uint64_t);
594 }
595 
596 static inline void
vn_encode_VkDescriptorUpdateTemplate(struct vn_cs_encoder * enc,const VkDescriptorUpdateTemplate * val)597 vn_encode_VkDescriptorUpdateTemplate(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplate *val)
598 {
599     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
600     vn_encode_uint64_t(enc, &id);
601 }
602 
603 static inline void
vn_decode_VkDescriptorUpdateTemplate(struct vn_cs_decoder * dec,VkDescriptorUpdateTemplate * val)604 vn_decode_VkDescriptorUpdateTemplate(struct vn_cs_decoder *dec, VkDescriptorUpdateTemplate *val)
605 {
606     uint64_t id;
607     vn_decode_uint64_t(dec, &id);
608     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
609 }
610 
611 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) */
612 
613 static inline size_t
vn_sizeof_VkSamplerYcbcrConversion(const VkSamplerYcbcrConversion * val)614 vn_sizeof_VkSamplerYcbcrConversion(const VkSamplerYcbcrConversion *val)
615 {
616     return sizeof(uint64_t);
617 }
618 
619 static inline void
vn_encode_VkSamplerYcbcrConversion(struct vn_cs_encoder * enc,const VkSamplerYcbcrConversion * val)620 vn_encode_VkSamplerYcbcrConversion(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversion *val)
621 {
622     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
623     vn_encode_uint64_t(enc, &id);
624 }
625 
626 static inline void
vn_decode_VkSamplerYcbcrConversion(struct vn_cs_decoder * dec,VkSamplerYcbcrConversion * val)627 vn_decode_VkSamplerYcbcrConversion(struct vn_cs_decoder *dec, VkSamplerYcbcrConversion *val)
628 {
629     uint64_t id;
630     vn_decode_uint64_t(dec, &id);
631     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
632 }
633 
634 #endif /* VN_PROTOCOL_DRIVER_HANDLES_H */
635