xref: /aosp_15_r20/external/virglrenderer/src/venus/venus-protocol/vn_protocol_renderer_handles.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1 /* This file is generated by venus-protocol.  See vn_protocol_renderer.h. */
2 
3 /*
4  * Copyright 2020 Google LLC
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef VN_PROTOCOL_RENDERER_HANDLES_H
9 #define VN_PROTOCOL_RENDERER_HANDLES_H
10 
11 #include "vn_protocol_renderer_types.h"
12 
13 /* VK_DEFINE_HANDLE(VkInstance) */
14 
15 static inline void
vn_encode_VkInstance(struct vn_cs_encoder * enc,const VkInstance * val)16 vn_encode_VkInstance(struct vn_cs_encoder *enc, const VkInstance *val)
17 {
18     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_INSTANCE);
19     vn_encode_uint64_t(enc, &id);
20 }
21 
22 static inline void
vn_decode_VkInstance_temp(struct vn_cs_decoder * dec,VkInstance * val)23 vn_decode_VkInstance_temp(struct vn_cs_decoder *dec, VkInstance *val)
24 {
25     uint64_t id;
26     vn_decode_uint64_t(dec, &id);
27     if (vn_cs_handle_indirect_id(VK_OBJECT_TYPE_INSTANCE)) {
28         *val = vn_cs_decoder_alloc_temp(dec, sizeof(vn_object_id));
29         if (!*val)
30             return;
31     }
32     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_INSTANCE);
33 }
34 
35 static inline void
vn_decode_VkInstance_lookup(struct vn_cs_decoder * dec,VkInstance * val)36 vn_decode_VkInstance_lookup(struct vn_cs_decoder *dec, VkInstance *val)
37 {
38     uint64_t id;
39     vn_decode_uint64_t(dec, &id);
40     *val = (VkInstance)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_INSTANCE);
41 }
42 
43 static inline void
vn_replace_VkInstance_handle(VkInstance * val)44 vn_replace_VkInstance_handle(VkInstance *val)
45 {
46     *val = (VkInstance)(uintptr_t)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_INSTANCE);
47 }
48 
49 /* VK_DEFINE_HANDLE(VkPhysicalDevice) */
50 
51 static inline void
vn_encode_VkPhysicalDevice(struct vn_cs_encoder * enc,const VkPhysicalDevice * val)52 vn_encode_VkPhysicalDevice(struct vn_cs_encoder *enc, const VkPhysicalDevice *val)
53 {
54     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
55     vn_encode_uint64_t(enc, &id);
56 }
57 
58 static inline void
vn_decode_VkPhysicalDevice_temp(struct vn_cs_decoder * dec,VkPhysicalDevice * val)59 vn_decode_VkPhysicalDevice_temp(struct vn_cs_decoder *dec, VkPhysicalDevice *val)
60 {
61     uint64_t id;
62     vn_decode_uint64_t(dec, &id);
63     if (vn_cs_handle_indirect_id(VK_OBJECT_TYPE_PHYSICAL_DEVICE)) {
64         *val = vn_cs_decoder_alloc_temp(dec, sizeof(vn_object_id));
65         if (!*val)
66             return;
67     }
68     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
69 }
70 
71 static inline void
vn_decode_VkPhysicalDevice_lookup(struct vn_cs_decoder * dec,VkPhysicalDevice * val)72 vn_decode_VkPhysicalDevice_lookup(struct vn_cs_decoder *dec, VkPhysicalDevice *val)
73 {
74     uint64_t id;
75     vn_decode_uint64_t(dec, &id);
76     *val = (VkPhysicalDevice)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
77 }
78 
79 static inline void
vn_replace_VkPhysicalDevice_handle(VkPhysicalDevice * val)80 vn_replace_VkPhysicalDevice_handle(VkPhysicalDevice *val)
81 {
82     *val = (VkPhysicalDevice)(uintptr_t)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_PHYSICAL_DEVICE);
83 }
84 
85 /* VK_DEFINE_HANDLE(VkDevice) */
86 
87 static inline void
vn_encode_VkDevice(struct vn_cs_encoder * enc,const VkDevice * val)88 vn_encode_VkDevice(struct vn_cs_encoder *enc, const VkDevice *val)
89 {
90     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE);
91     vn_encode_uint64_t(enc, &id);
92 }
93 
94 static inline void
vn_decode_VkDevice_temp(struct vn_cs_decoder * dec,VkDevice * val)95 vn_decode_VkDevice_temp(struct vn_cs_decoder *dec, VkDevice *val)
96 {
97     uint64_t id;
98     vn_decode_uint64_t(dec, &id);
99     if (vn_cs_handle_indirect_id(VK_OBJECT_TYPE_DEVICE)) {
100         *val = vn_cs_decoder_alloc_temp(dec, sizeof(vn_object_id));
101         if (!*val)
102             return;
103     }
104     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE);
105 }
106 
107 static inline void
vn_decode_VkDevice_lookup(struct vn_cs_decoder * dec,VkDevice * val)108 vn_decode_VkDevice_lookup(struct vn_cs_decoder *dec, VkDevice *val)
109 {
110     uint64_t id;
111     vn_decode_uint64_t(dec, &id);
112     *val = (VkDevice)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DEVICE);
113 }
114 
115 static inline void
vn_replace_VkDevice_handle(VkDevice * val)116 vn_replace_VkDevice_handle(VkDevice *val)
117 {
118     *val = (VkDevice)(uintptr_t)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DEVICE);
119 }
120 
121 /* VK_DEFINE_HANDLE(VkQueue) */
122 
123 static inline void
vn_encode_VkQueue(struct vn_cs_encoder * enc,const VkQueue * val)124 vn_encode_VkQueue(struct vn_cs_encoder *enc, const VkQueue *val)
125 {
126     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUEUE);
127     vn_encode_uint64_t(enc, &id);
128 }
129 
130 static inline void
vn_decode_VkQueue_temp(struct vn_cs_decoder * dec,VkQueue * val)131 vn_decode_VkQueue_temp(struct vn_cs_decoder *dec, VkQueue *val)
132 {
133     uint64_t id;
134     vn_decode_uint64_t(dec, &id);
135     if (vn_cs_handle_indirect_id(VK_OBJECT_TYPE_QUEUE)) {
136         *val = vn_cs_decoder_alloc_temp(dec, sizeof(vn_object_id));
137         if (!*val)
138             return;
139     }
140     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUEUE);
141 }
142 
143 static inline void
vn_decode_VkQueue_lookup(struct vn_cs_decoder * dec,VkQueue * val)144 vn_decode_VkQueue_lookup(struct vn_cs_decoder *dec, VkQueue *val)
145 {
146     uint64_t id;
147     vn_decode_uint64_t(dec, &id);
148     *val = (VkQueue)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_QUEUE);
149 }
150 
151 static inline void
vn_replace_VkQueue_handle(VkQueue * val)152 vn_replace_VkQueue_handle(VkQueue *val)
153 {
154     *val = (VkQueue)(uintptr_t)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_QUEUE);
155 }
156 
157 /* VK_DEFINE_HANDLE(VkCommandBuffer) */
158 
159 static inline void
vn_encode_VkCommandBuffer(struct vn_cs_encoder * enc,const VkCommandBuffer * val)160 vn_encode_VkCommandBuffer(struct vn_cs_encoder *enc, const VkCommandBuffer *val)
161 {
162     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_BUFFER);
163     vn_encode_uint64_t(enc, &id);
164 }
165 
166 static inline void
vn_decode_VkCommandBuffer_temp(struct vn_cs_decoder * dec,VkCommandBuffer * val)167 vn_decode_VkCommandBuffer_temp(struct vn_cs_decoder *dec, VkCommandBuffer *val)
168 {
169     uint64_t id;
170     vn_decode_uint64_t(dec, &id);
171     if (vn_cs_handle_indirect_id(VK_OBJECT_TYPE_COMMAND_BUFFER)) {
172         *val = vn_cs_decoder_alloc_temp(dec, sizeof(vn_object_id));
173         if (!*val)
174             return;
175     }
176     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_BUFFER);
177 }
178 
179 static inline void
vn_decode_VkCommandBuffer_lookup(struct vn_cs_decoder * dec,VkCommandBuffer * val)180 vn_decode_VkCommandBuffer_lookup(struct vn_cs_decoder *dec, VkCommandBuffer *val)
181 {
182     uint64_t id;
183     vn_decode_uint64_t(dec, &id);
184     *val = (VkCommandBuffer)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_COMMAND_BUFFER);
185 }
186 
187 static inline void
vn_replace_VkCommandBuffer_handle(VkCommandBuffer * val)188 vn_replace_VkCommandBuffer_handle(VkCommandBuffer *val)
189 {
190     *val = (VkCommandBuffer)(uintptr_t)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_COMMAND_BUFFER);
191 }
192 
193 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) */
194 
195 static inline void
vn_encode_VkDeviceMemory(struct vn_cs_encoder * enc,const VkDeviceMemory * val)196 vn_encode_VkDeviceMemory(struct vn_cs_encoder *enc, const VkDeviceMemory *val)
197 {
198     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DEVICE_MEMORY);
199     vn_encode_uint64_t(enc, &id);
200 }
201 
202 static inline void
vn_decode_VkDeviceMemory(struct vn_cs_decoder * dec,VkDeviceMemory * val)203 vn_decode_VkDeviceMemory(struct vn_cs_decoder *dec, VkDeviceMemory *val)
204 {
205     uint64_t id;
206     vn_decode_uint64_t(dec, &id);
207     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DEVICE_MEMORY);
208 }
209 
210 static inline void
vn_decode_VkDeviceMemory_lookup(struct vn_cs_decoder * dec,VkDeviceMemory * val)211 vn_decode_VkDeviceMemory_lookup(struct vn_cs_decoder *dec, VkDeviceMemory *val)
212 {
213     uint64_t id;
214     vn_decode_uint64_t(dec, &id);
215     *val = (VkDeviceMemory)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DEVICE_MEMORY);
216 }
217 
218 static inline void
vn_replace_VkDeviceMemory_handle(VkDeviceMemory * val)219 vn_replace_VkDeviceMemory_handle(VkDeviceMemory *val)
220 {
221     *val = (VkDeviceMemory)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DEVICE_MEMORY);
222 }
223 
224 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) */
225 
226 static inline void
vn_encode_VkCommandPool(struct vn_cs_encoder * enc,const VkCommandPool * val)227 vn_encode_VkCommandPool(struct vn_cs_encoder *enc, const VkCommandPool *val)
228 {
229     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_COMMAND_POOL);
230     vn_encode_uint64_t(enc, &id);
231 }
232 
233 static inline void
vn_decode_VkCommandPool(struct vn_cs_decoder * dec,VkCommandPool * val)234 vn_decode_VkCommandPool(struct vn_cs_decoder *dec, VkCommandPool *val)
235 {
236     uint64_t id;
237     vn_decode_uint64_t(dec, &id);
238     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_COMMAND_POOL);
239 }
240 
241 static inline void
vn_decode_VkCommandPool_lookup(struct vn_cs_decoder * dec,VkCommandPool * val)242 vn_decode_VkCommandPool_lookup(struct vn_cs_decoder *dec, VkCommandPool *val)
243 {
244     uint64_t id;
245     vn_decode_uint64_t(dec, &id);
246     *val = (VkCommandPool)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_COMMAND_POOL);
247 }
248 
249 static inline void
vn_replace_VkCommandPool_handle(VkCommandPool * val)250 vn_replace_VkCommandPool_handle(VkCommandPool *val)
251 {
252     *val = (VkCommandPool)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_COMMAND_POOL);
253 }
254 
255 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) */
256 
257 static inline void
vn_encode_VkBuffer(struct vn_cs_encoder * enc,const VkBuffer * val)258 vn_encode_VkBuffer(struct vn_cs_encoder *enc, const VkBuffer *val)
259 {
260     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER);
261     vn_encode_uint64_t(enc, &id);
262 }
263 
264 static inline void
vn_decode_VkBuffer(struct vn_cs_decoder * dec,VkBuffer * val)265 vn_decode_VkBuffer(struct vn_cs_decoder *dec, VkBuffer *val)
266 {
267     uint64_t id;
268     vn_decode_uint64_t(dec, &id);
269     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER);
270 }
271 
272 static inline void
vn_decode_VkBuffer_lookup(struct vn_cs_decoder * dec,VkBuffer * val)273 vn_decode_VkBuffer_lookup(struct vn_cs_decoder *dec, VkBuffer *val)
274 {
275     uint64_t id;
276     vn_decode_uint64_t(dec, &id);
277     *val = (VkBuffer)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_BUFFER);
278 }
279 
280 static inline void
vn_replace_VkBuffer_handle(VkBuffer * val)281 vn_replace_VkBuffer_handle(VkBuffer *val)
282 {
283     *val = (VkBuffer)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_BUFFER);
284 }
285 
286 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) */
287 
288 static inline void
vn_encode_VkBufferView(struct vn_cs_encoder * enc,const VkBufferView * val)289 vn_encode_VkBufferView(struct vn_cs_encoder *enc, const VkBufferView *val)
290 {
291     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_BUFFER_VIEW);
292     vn_encode_uint64_t(enc, &id);
293 }
294 
295 static inline void
vn_decode_VkBufferView(struct vn_cs_decoder * dec,VkBufferView * val)296 vn_decode_VkBufferView(struct vn_cs_decoder *dec, VkBufferView *val)
297 {
298     uint64_t id;
299     vn_decode_uint64_t(dec, &id);
300     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_BUFFER_VIEW);
301 }
302 
303 static inline void
vn_decode_VkBufferView_lookup(struct vn_cs_decoder * dec,VkBufferView * val)304 vn_decode_VkBufferView_lookup(struct vn_cs_decoder *dec, VkBufferView *val)
305 {
306     uint64_t id;
307     vn_decode_uint64_t(dec, &id);
308     *val = (VkBufferView)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_BUFFER_VIEW);
309 }
310 
311 static inline void
vn_replace_VkBufferView_handle(VkBufferView * val)312 vn_replace_VkBufferView_handle(VkBufferView *val)
313 {
314     *val = (VkBufferView)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_BUFFER_VIEW);
315 }
316 
317 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) */
318 
319 static inline void
vn_encode_VkImage(struct vn_cs_encoder * enc,const VkImage * val)320 vn_encode_VkImage(struct vn_cs_encoder *enc, const VkImage *val)
321 {
322     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE);
323     vn_encode_uint64_t(enc, &id);
324 }
325 
326 static inline void
vn_decode_VkImage(struct vn_cs_decoder * dec,VkImage * val)327 vn_decode_VkImage(struct vn_cs_decoder *dec, VkImage *val)
328 {
329     uint64_t id;
330     vn_decode_uint64_t(dec, &id);
331     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE);
332 }
333 
334 static inline void
vn_decode_VkImage_lookup(struct vn_cs_decoder * dec,VkImage * val)335 vn_decode_VkImage_lookup(struct vn_cs_decoder *dec, VkImage *val)
336 {
337     uint64_t id;
338     vn_decode_uint64_t(dec, &id);
339     *val = (VkImage)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_IMAGE);
340 }
341 
342 static inline void
vn_replace_VkImage_handle(VkImage * val)343 vn_replace_VkImage_handle(VkImage *val)
344 {
345     *val = (VkImage)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_IMAGE);
346 }
347 
348 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) */
349 
350 static inline void
vn_encode_VkImageView(struct vn_cs_encoder * enc,const VkImageView * val)351 vn_encode_VkImageView(struct vn_cs_encoder *enc, const VkImageView *val)
352 {
353     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_IMAGE_VIEW);
354     vn_encode_uint64_t(enc, &id);
355 }
356 
357 static inline void
vn_decode_VkImageView(struct vn_cs_decoder * dec,VkImageView * val)358 vn_decode_VkImageView(struct vn_cs_decoder *dec, VkImageView *val)
359 {
360     uint64_t id;
361     vn_decode_uint64_t(dec, &id);
362     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_IMAGE_VIEW);
363 }
364 
365 static inline void
vn_decode_VkImageView_lookup(struct vn_cs_decoder * dec,VkImageView * val)366 vn_decode_VkImageView_lookup(struct vn_cs_decoder *dec, VkImageView *val)
367 {
368     uint64_t id;
369     vn_decode_uint64_t(dec, &id);
370     *val = (VkImageView)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_IMAGE_VIEW);
371 }
372 
373 static inline void
vn_replace_VkImageView_handle(VkImageView * val)374 vn_replace_VkImageView_handle(VkImageView *val)
375 {
376     *val = (VkImageView)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_IMAGE_VIEW);
377 }
378 
379 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) */
380 
381 static inline void
vn_encode_VkShaderModule(struct vn_cs_encoder * enc,const VkShaderModule * val)382 vn_encode_VkShaderModule(struct vn_cs_encoder *enc, const VkShaderModule *val)
383 {
384     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SHADER_MODULE);
385     vn_encode_uint64_t(enc, &id);
386 }
387 
388 static inline void
vn_decode_VkShaderModule(struct vn_cs_decoder * dec,VkShaderModule * val)389 vn_decode_VkShaderModule(struct vn_cs_decoder *dec, VkShaderModule *val)
390 {
391     uint64_t id;
392     vn_decode_uint64_t(dec, &id);
393     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SHADER_MODULE);
394 }
395 
396 static inline void
vn_decode_VkShaderModule_lookup(struct vn_cs_decoder * dec,VkShaderModule * val)397 vn_decode_VkShaderModule_lookup(struct vn_cs_decoder *dec, VkShaderModule *val)
398 {
399     uint64_t id;
400     vn_decode_uint64_t(dec, &id);
401     *val = (VkShaderModule)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_SHADER_MODULE);
402 }
403 
404 static inline void
vn_replace_VkShaderModule_handle(VkShaderModule * val)405 vn_replace_VkShaderModule_handle(VkShaderModule *val)
406 {
407     *val = (VkShaderModule)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_SHADER_MODULE);
408 }
409 
410 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) */
411 
412 static inline void
vn_encode_VkPipeline(struct vn_cs_encoder * enc,const VkPipeline * val)413 vn_encode_VkPipeline(struct vn_cs_encoder *enc, const VkPipeline *val)
414 {
415     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE);
416     vn_encode_uint64_t(enc, &id);
417 }
418 
419 static inline void
vn_decode_VkPipeline(struct vn_cs_decoder * dec,VkPipeline * val)420 vn_decode_VkPipeline(struct vn_cs_decoder *dec, VkPipeline *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_PIPELINE);
425 }
426 
427 static inline void
vn_decode_VkPipeline_lookup(struct vn_cs_decoder * dec,VkPipeline * val)428 vn_decode_VkPipeline_lookup(struct vn_cs_decoder *dec, VkPipeline *val)
429 {
430     uint64_t id;
431     vn_decode_uint64_t(dec, &id);
432     *val = (VkPipeline)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_PIPELINE);
433 }
434 
435 static inline void
vn_replace_VkPipeline_handle(VkPipeline * val)436 vn_replace_VkPipeline_handle(VkPipeline *val)
437 {
438     *val = (VkPipeline)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_PIPELINE);
439 }
440 
441 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) */
442 
443 static inline void
vn_encode_VkPipelineLayout(struct vn_cs_encoder * enc,const VkPipelineLayout * val)444 vn_encode_VkPipelineLayout(struct vn_cs_encoder *enc, const VkPipelineLayout *val)
445 {
446     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
447     vn_encode_uint64_t(enc, &id);
448 }
449 
450 static inline void
vn_decode_VkPipelineLayout(struct vn_cs_decoder * dec,VkPipelineLayout * val)451 vn_decode_VkPipelineLayout(struct vn_cs_decoder *dec, VkPipelineLayout *val)
452 {
453     uint64_t id;
454     vn_decode_uint64_t(dec, &id);
455     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
456 }
457 
458 static inline void
vn_decode_VkPipelineLayout_lookup(struct vn_cs_decoder * dec,VkPipelineLayout * val)459 vn_decode_VkPipelineLayout_lookup(struct vn_cs_decoder *dec, VkPipelineLayout *val)
460 {
461     uint64_t id;
462     vn_decode_uint64_t(dec, &id);
463     *val = (VkPipelineLayout)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
464 }
465 
466 static inline void
vn_replace_VkPipelineLayout_handle(VkPipelineLayout * val)467 vn_replace_VkPipelineLayout_handle(VkPipelineLayout *val)
468 {
469     *val = (VkPipelineLayout)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_PIPELINE_LAYOUT);
470 }
471 
472 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) */
473 
474 static inline void
vn_encode_VkSampler(struct vn_cs_encoder * enc,const VkSampler * val)475 vn_encode_VkSampler(struct vn_cs_encoder *enc, const VkSampler *val)
476 {
477     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER);
478     vn_encode_uint64_t(enc, &id);
479 }
480 
481 static inline void
vn_decode_VkSampler(struct vn_cs_decoder * dec,VkSampler * val)482 vn_decode_VkSampler(struct vn_cs_decoder *dec, VkSampler *val)
483 {
484     uint64_t id;
485     vn_decode_uint64_t(dec, &id);
486     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER);
487 }
488 
489 static inline void
vn_decode_VkSampler_lookup(struct vn_cs_decoder * dec,VkSampler * val)490 vn_decode_VkSampler_lookup(struct vn_cs_decoder *dec, VkSampler *val)
491 {
492     uint64_t id;
493     vn_decode_uint64_t(dec, &id);
494     *val = (VkSampler)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_SAMPLER);
495 }
496 
497 static inline void
vn_replace_VkSampler_handle(VkSampler * val)498 vn_replace_VkSampler_handle(VkSampler *val)
499 {
500     *val = (VkSampler)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_SAMPLER);
501 }
502 
503 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) */
504 
505 static inline void
vn_encode_VkDescriptorSet(struct vn_cs_encoder * enc,const VkDescriptorSet * val)506 vn_encode_VkDescriptorSet(struct vn_cs_encoder *enc, const VkDescriptorSet *val)
507 {
508     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET);
509     vn_encode_uint64_t(enc, &id);
510 }
511 
512 static inline void
vn_decode_VkDescriptorSet(struct vn_cs_decoder * dec,VkDescriptorSet * val)513 vn_decode_VkDescriptorSet(struct vn_cs_decoder *dec, VkDescriptorSet *val)
514 {
515     uint64_t id;
516     vn_decode_uint64_t(dec, &id);
517     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET);
518 }
519 
520 static inline void
vn_decode_VkDescriptorSet_lookup(struct vn_cs_decoder * dec,VkDescriptorSet * val)521 vn_decode_VkDescriptorSet_lookup(struct vn_cs_decoder *dec, VkDescriptorSet *val)
522 {
523     uint64_t id;
524     vn_decode_uint64_t(dec, &id);
525     *val = (VkDescriptorSet)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DESCRIPTOR_SET);
526 }
527 
528 static inline void
vn_replace_VkDescriptorSet_handle(VkDescriptorSet * val)529 vn_replace_VkDescriptorSet_handle(VkDescriptorSet *val)
530 {
531     *val = (VkDescriptorSet)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET);
532 }
533 
534 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) */
535 
536 static inline void
vn_encode_VkDescriptorSetLayout(struct vn_cs_encoder * enc,const VkDescriptorSetLayout * val)537 vn_encode_VkDescriptorSetLayout(struct vn_cs_encoder *enc, const VkDescriptorSetLayout *val)
538 {
539     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
540     vn_encode_uint64_t(enc, &id);
541 }
542 
543 static inline void
vn_decode_VkDescriptorSetLayout(struct vn_cs_decoder * dec,VkDescriptorSetLayout * val)544 vn_decode_VkDescriptorSetLayout(struct vn_cs_decoder *dec, VkDescriptorSetLayout *val)
545 {
546     uint64_t id;
547     vn_decode_uint64_t(dec, &id);
548     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
549 }
550 
551 static inline void
vn_decode_VkDescriptorSetLayout_lookup(struct vn_cs_decoder * dec,VkDescriptorSetLayout * val)552 vn_decode_VkDescriptorSetLayout_lookup(struct vn_cs_decoder *dec, VkDescriptorSetLayout *val)
553 {
554     uint64_t id;
555     vn_decode_uint64_t(dec, &id);
556     *val = (VkDescriptorSetLayout)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
557 }
558 
559 static inline void
vn_replace_VkDescriptorSetLayout_handle(VkDescriptorSetLayout * val)560 vn_replace_VkDescriptorSetLayout_handle(VkDescriptorSetLayout *val)
561 {
562     *val = (VkDescriptorSetLayout)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
563 }
564 
565 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) */
566 
567 static inline void
vn_encode_VkDescriptorPool(struct vn_cs_encoder * enc,const VkDescriptorPool * val)568 vn_encode_VkDescriptorPool(struct vn_cs_encoder *enc, const VkDescriptorPool *val)
569 {
570     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
571     vn_encode_uint64_t(enc, &id);
572 }
573 
574 static inline void
vn_decode_VkDescriptorPool(struct vn_cs_decoder * dec,VkDescriptorPool * val)575 vn_decode_VkDescriptorPool(struct vn_cs_decoder *dec, VkDescriptorPool *val)
576 {
577     uint64_t id;
578     vn_decode_uint64_t(dec, &id);
579     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
580 }
581 
582 static inline void
vn_decode_VkDescriptorPool_lookup(struct vn_cs_decoder * dec,VkDescriptorPool * val)583 vn_decode_VkDescriptorPool_lookup(struct vn_cs_decoder *dec, VkDescriptorPool *val)
584 {
585     uint64_t id;
586     vn_decode_uint64_t(dec, &id);
587     *val = (VkDescriptorPool)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
588 }
589 
590 static inline void
vn_replace_VkDescriptorPool_handle(VkDescriptorPool * val)591 vn_replace_VkDescriptorPool_handle(VkDescriptorPool *val)
592 {
593     *val = (VkDescriptorPool)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_POOL);
594 }
595 
596 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) */
597 
598 static inline void
vn_encode_VkFence(struct vn_cs_encoder * enc,const VkFence * val)599 vn_encode_VkFence(struct vn_cs_encoder *enc, const VkFence *val)
600 {
601     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FENCE);
602     vn_encode_uint64_t(enc, &id);
603 }
604 
605 static inline void
vn_decode_VkFence(struct vn_cs_decoder * dec,VkFence * val)606 vn_decode_VkFence(struct vn_cs_decoder *dec, VkFence *val)
607 {
608     uint64_t id;
609     vn_decode_uint64_t(dec, &id);
610     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FENCE);
611 }
612 
613 static inline void
vn_decode_VkFence_lookup(struct vn_cs_decoder * dec,VkFence * val)614 vn_decode_VkFence_lookup(struct vn_cs_decoder *dec, VkFence *val)
615 {
616     uint64_t id;
617     vn_decode_uint64_t(dec, &id);
618     *val = (VkFence)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_FENCE);
619 }
620 
621 static inline void
vn_replace_VkFence_handle(VkFence * val)622 vn_replace_VkFence_handle(VkFence *val)
623 {
624     *val = (VkFence)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_FENCE);
625 }
626 
627 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) */
628 
629 static inline void
vn_encode_VkSemaphore(struct vn_cs_encoder * enc,const VkSemaphore * val)630 vn_encode_VkSemaphore(struct vn_cs_encoder *enc, const VkSemaphore *val)
631 {
632     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SEMAPHORE);
633     vn_encode_uint64_t(enc, &id);
634 }
635 
636 static inline void
vn_decode_VkSemaphore(struct vn_cs_decoder * dec,VkSemaphore * val)637 vn_decode_VkSemaphore(struct vn_cs_decoder *dec, VkSemaphore *val)
638 {
639     uint64_t id;
640     vn_decode_uint64_t(dec, &id);
641     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SEMAPHORE);
642 }
643 
644 static inline void
vn_decode_VkSemaphore_lookup(struct vn_cs_decoder * dec,VkSemaphore * val)645 vn_decode_VkSemaphore_lookup(struct vn_cs_decoder *dec, VkSemaphore *val)
646 {
647     uint64_t id;
648     vn_decode_uint64_t(dec, &id);
649     *val = (VkSemaphore)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_SEMAPHORE);
650 }
651 
652 static inline void
vn_replace_VkSemaphore_handle(VkSemaphore * val)653 vn_replace_VkSemaphore_handle(VkSemaphore *val)
654 {
655     *val = (VkSemaphore)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_SEMAPHORE);
656 }
657 
658 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) */
659 
660 static inline void
vn_encode_VkEvent(struct vn_cs_encoder * enc,const VkEvent * val)661 vn_encode_VkEvent(struct vn_cs_encoder *enc, const VkEvent *val)
662 {
663     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_EVENT);
664     vn_encode_uint64_t(enc, &id);
665 }
666 
667 static inline void
vn_decode_VkEvent(struct vn_cs_decoder * dec,VkEvent * val)668 vn_decode_VkEvent(struct vn_cs_decoder *dec, VkEvent *val)
669 {
670     uint64_t id;
671     vn_decode_uint64_t(dec, &id);
672     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_EVENT);
673 }
674 
675 static inline void
vn_decode_VkEvent_lookup(struct vn_cs_decoder * dec,VkEvent * val)676 vn_decode_VkEvent_lookup(struct vn_cs_decoder *dec, VkEvent *val)
677 {
678     uint64_t id;
679     vn_decode_uint64_t(dec, &id);
680     *val = (VkEvent)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_EVENT);
681 }
682 
683 static inline void
vn_replace_VkEvent_handle(VkEvent * val)684 vn_replace_VkEvent_handle(VkEvent *val)
685 {
686     *val = (VkEvent)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_EVENT);
687 }
688 
689 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) */
690 
691 static inline void
vn_encode_VkQueryPool(struct vn_cs_encoder * enc,const VkQueryPool * val)692 vn_encode_VkQueryPool(struct vn_cs_encoder *enc, const VkQueryPool *val)
693 {
694     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_QUERY_POOL);
695     vn_encode_uint64_t(enc, &id);
696 }
697 
698 static inline void
vn_decode_VkQueryPool(struct vn_cs_decoder * dec,VkQueryPool * val)699 vn_decode_VkQueryPool(struct vn_cs_decoder *dec, VkQueryPool *val)
700 {
701     uint64_t id;
702     vn_decode_uint64_t(dec, &id);
703     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_QUERY_POOL);
704 }
705 
706 static inline void
vn_decode_VkQueryPool_lookup(struct vn_cs_decoder * dec,VkQueryPool * val)707 vn_decode_VkQueryPool_lookup(struct vn_cs_decoder *dec, VkQueryPool *val)
708 {
709     uint64_t id;
710     vn_decode_uint64_t(dec, &id);
711     *val = (VkQueryPool)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_QUERY_POOL);
712 }
713 
714 static inline void
vn_replace_VkQueryPool_handle(VkQueryPool * val)715 vn_replace_VkQueryPool_handle(VkQueryPool *val)
716 {
717     *val = (VkQueryPool)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_QUERY_POOL);
718 }
719 
720 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) */
721 
722 static inline void
vn_encode_VkFramebuffer(struct vn_cs_encoder * enc,const VkFramebuffer * val)723 vn_encode_VkFramebuffer(struct vn_cs_encoder *enc, const VkFramebuffer *val)
724 {
725     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_FRAMEBUFFER);
726     vn_encode_uint64_t(enc, &id);
727 }
728 
729 static inline void
vn_decode_VkFramebuffer(struct vn_cs_decoder * dec,VkFramebuffer * val)730 vn_decode_VkFramebuffer(struct vn_cs_decoder *dec, VkFramebuffer *val)
731 {
732     uint64_t id;
733     vn_decode_uint64_t(dec, &id);
734     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_FRAMEBUFFER);
735 }
736 
737 static inline void
vn_decode_VkFramebuffer_lookup(struct vn_cs_decoder * dec,VkFramebuffer * val)738 vn_decode_VkFramebuffer_lookup(struct vn_cs_decoder *dec, VkFramebuffer *val)
739 {
740     uint64_t id;
741     vn_decode_uint64_t(dec, &id);
742     *val = (VkFramebuffer)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_FRAMEBUFFER);
743 }
744 
745 static inline void
vn_replace_VkFramebuffer_handle(VkFramebuffer * val)746 vn_replace_VkFramebuffer_handle(VkFramebuffer *val)
747 {
748     *val = (VkFramebuffer)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_FRAMEBUFFER);
749 }
750 
751 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) */
752 
753 static inline void
vn_encode_VkRenderPass(struct vn_cs_encoder * enc,const VkRenderPass * val)754 vn_encode_VkRenderPass(struct vn_cs_encoder *enc, const VkRenderPass *val)
755 {
756     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_RENDER_PASS);
757     vn_encode_uint64_t(enc, &id);
758 }
759 
760 static inline void
vn_decode_VkRenderPass(struct vn_cs_decoder * dec,VkRenderPass * val)761 vn_decode_VkRenderPass(struct vn_cs_decoder *dec, VkRenderPass *val)
762 {
763     uint64_t id;
764     vn_decode_uint64_t(dec, &id);
765     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_RENDER_PASS);
766 }
767 
768 static inline void
vn_decode_VkRenderPass_lookup(struct vn_cs_decoder * dec,VkRenderPass * val)769 vn_decode_VkRenderPass_lookup(struct vn_cs_decoder *dec, VkRenderPass *val)
770 {
771     uint64_t id;
772     vn_decode_uint64_t(dec, &id);
773     *val = (VkRenderPass)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_RENDER_PASS);
774 }
775 
776 static inline void
vn_replace_VkRenderPass_handle(VkRenderPass * val)777 vn_replace_VkRenderPass_handle(VkRenderPass *val)
778 {
779     *val = (VkRenderPass)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_RENDER_PASS);
780 }
781 
782 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) */
783 
784 static inline void
vn_encode_VkPipelineCache(struct vn_cs_encoder * enc,const VkPipelineCache * val)785 vn_encode_VkPipelineCache(struct vn_cs_encoder *enc, const VkPipelineCache *val)
786 {
787     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PIPELINE_CACHE);
788     vn_encode_uint64_t(enc, &id);
789 }
790 
791 static inline void
vn_decode_VkPipelineCache(struct vn_cs_decoder * dec,VkPipelineCache * val)792 vn_decode_VkPipelineCache(struct vn_cs_decoder *dec, VkPipelineCache *val)
793 {
794     uint64_t id;
795     vn_decode_uint64_t(dec, &id);
796     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PIPELINE_CACHE);
797 }
798 
799 static inline void
vn_decode_VkPipelineCache_lookup(struct vn_cs_decoder * dec,VkPipelineCache * val)800 vn_decode_VkPipelineCache_lookup(struct vn_cs_decoder *dec, VkPipelineCache *val)
801 {
802     uint64_t id;
803     vn_decode_uint64_t(dec, &id);
804     *val = (VkPipelineCache)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_PIPELINE_CACHE);
805 }
806 
807 static inline void
vn_replace_VkPipelineCache_handle(VkPipelineCache * val)808 vn_replace_VkPipelineCache_handle(VkPipelineCache *val)
809 {
810     *val = (VkPipelineCache)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_PIPELINE_CACHE);
811 }
812 
813 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) */
814 
815 static inline void
vn_encode_VkDescriptorUpdateTemplate(struct vn_cs_encoder * enc,const VkDescriptorUpdateTemplate * val)816 vn_encode_VkDescriptorUpdateTemplate(struct vn_cs_encoder *enc, const VkDescriptorUpdateTemplate *val)
817 {
818     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
819     vn_encode_uint64_t(enc, &id);
820 }
821 
822 static inline void
vn_decode_VkDescriptorUpdateTemplate(struct vn_cs_decoder * dec,VkDescriptorUpdateTemplate * val)823 vn_decode_VkDescriptorUpdateTemplate(struct vn_cs_decoder *dec, VkDescriptorUpdateTemplate *val)
824 {
825     uint64_t id;
826     vn_decode_uint64_t(dec, &id);
827     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
828 }
829 
830 static inline void
vn_decode_VkDescriptorUpdateTemplate_lookup(struct vn_cs_decoder * dec,VkDescriptorUpdateTemplate * val)831 vn_decode_VkDescriptorUpdateTemplate_lookup(struct vn_cs_decoder *dec, VkDescriptorUpdateTemplate *val)
832 {
833     uint64_t id;
834     vn_decode_uint64_t(dec, &id);
835     *val = (VkDescriptorUpdateTemplate)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
836 }
837 
838 static inline void
vn_replace_VkDescriptorUpdateTemplate_handle(VkDescriptorUpdateTemplate * val)839 vn_replace_VkDescriptorUpdateTemplate_handle(VkDescriptorUpdateTemplate *val)
840 {
841     *val = (VkDescriptorUpdateTemplate)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
842 }
843 
844 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) */
845 
846 static inline void
vn_encode_VkSamplerYcbcrConversion(struct vn_cs_encoder * enc,const VkSamplerYcbcrConversion * val)847 vn_encode_VkSamplerYcbcrConversion(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversion *val)
848 {
849     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
850     vn_encode_uint64_t(enc, &id);
851 }
852 
853 static inline void
vn_decode_VkSamplerYcbcrConversion(struct vn_cs_decoder * dec,VkSamplerYcbcrConversion * val)854 vn_decode_VkSamplerYcbcrConversion(struct vn_cs_decoder *dec, VkSamplerYcbcrConversion *val)
855 {
856     uint64_t id;
857     vn_decode_uint64_t(dec, &id);
858     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
859 }
860 
861 static inline void
vn_decode_VkSamplerYcbcrConversion_lookup(struct vn_cs_decoder * dec,VkSamplerYcbcrConversion * val)862 vn_decode_VkSamplerYcbcrConversion_lookup(struct vn_cs_decoder *dec, VkSamplerYcbcrConversion *val)
863 {
864     uint64_t id;
865     vn_decode_uint64_t(dec, &id);
866     *val = (VkSamplerYcbcrConversion)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
867 }
868 
869 static inline void
vn_replace_VkSamplerYcbcrConversion_handle(VkSamplerYcbcrConversion * val)870 vn_replace_VkSamplerYcbcrConversion_handle(VkSamplerYcbcrConversion *val)
871 {
872     *val = (VkSamplerYcbcrConversion)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION);
873 }
874 
875 /* VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) */
876 
877 static inline void
vn_encode_VkPrivateDataSlot(struct vn_cs_encoder * enc,const VkPrivateDataSlot * val)878 vn_encode_VkPrivateDataSlot(struct vn_cs_encoder *enc, const VkPrivateDataSlot *val)
879 {
880     const uint64_t id = vn_cs_handle_load_id((const void **)val, VK_OBJECT_TYPE_PRIVATE_DATA_SLOT);
881     vn_encode_uint64_t(enc, &id);
882 }
883 
884 static inline void
vn_decode_VkPrivateDataSlot(struct vn_cs_decoder * dec,VkPrivateDataSlot * val)885 vn_decode_VkPrivateDataSlot(struct vn_cs_decoder *dec, VkPrivateDataSlot *val)
886 {
887     uint64_t id;
888     vn_decode_uint64_t(dec, &id);
889     vn_cs_handle_store_id((void **)val, id, VK_OBJECT_TYPE_PRIVATE_DATA_SLOT);
890 }
891 
892 static inline void
vn_decode_VkPrivateDataSlot_lookup(struct vn_cs_decoder * dec,VkPrivateDataSlot * val)893 vn_decode_VkPrivateDataSlot_lookup(struct vn_cs_decoder *dec, VkPrivateDataSlot *val)
894 {
895     uint64_t id;
896     vn_decode_uint64_t(dec, &id);
897     *val = (VkPrivateDataSlot)(uintptr_t)vn_cs_decoder_lookup_object(dec, id, VK_OBJECT_TYPE_PRIVATE_DATA_SLOT);
898 }
899 
900 static inline void
vn_replace_VkPrivateDataSlot_handle(VkPrivateDataSlot * val)901 vn_replace_VkPrivateDataSlot_handle(VkPrivateDataSlot *val)
902 {
903     *val = (VkPrivateDataSlot)vn_cs_get_object_handle((const void **)val, VK_OBJECT_TYPE_PRIVATE_DATA_SLOT);
904 }
905 
906 #endif /* VN_PROTOCOL_RENDERER_HANDLES_H */
907