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