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 16 vn_sizeof_VkInstance(const VkInstance *val) 17 { 18 return sizeof(uint64_t); 19 } 20 21 static inline void 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 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 39 vn_sizeof_VkPhysicalDevice(const VkPhysicalDevice *val) 40 { 41 return sizeof(uint64_t); 42 } 43 44 static inline void 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 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 62 vn_sizeof_VkDevice(const VkDevice *val) 63 { 64 return sizeof(uint64_t); 65 } 66 67 static inline void 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 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 85 vn_sizeof_VkQueue(const VkQueue *val) 86 { 87 return sizeof(uint64_t); 88 } 89 90 static inline void 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 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 108 vn_sizeof_VkCommandBuffer(const VkCommandBuffer *val) 109 { 110 return sizeof(uint64_t); 111 } 112 113 static inline void 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 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 131 vn_sizeof_VkDeviceMemory(const VkDeviceMemory *val) 132 { 133 return sizeof(uint64_t); 134 } 135 136 static inline void 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 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 154 vn_sizeof_VkCommandPool(const VkCommandPool *val) 155 { 156 return sizeof(uint64_t); 157 } 158 159 static inline void 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 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 177 vn_sizeof_VkBuffer(const VkBuffer *val) 178 { 179 return sizeof(uint64_t); 180 } 181 182 static inline void 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 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 200 vn_sizeof_VkBufferView(const VkBufferView *val) 201 { 202 return sizeof(uint64_t); 203 } 204 205 static inline void 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 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 223 vn_sizeof_VkImage(const VkImage *val) 224 { 225 return sizeof(uint64_t); 226 } 227 228 static inline void 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 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 246 vn_sizeof_VkImageView(const VkImageView *val) 247 { 248 return sizeof(uint64_t); 249 } 250 251 static inline void 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 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 269 vn_sizeof_VkShaderModule(const VkShaderModule *val) 270 { 271 return sizeof(uint64_t); 272 } 273 274 static inline void 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 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 292 vn_sizeof_VkPipeline(const VkPipeline *val) 293 { 294 return sizeof(uint64_t); 295 } 296 297 static inline void 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 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 315 vn_sizeof_VkPipelineLayout(const VkPipelineLayout *val) 316 { 317 return sizeof(uint64_t); 318 } 319 320 static inline void 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 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 338 vn_sizeof_VkSampler(const VkSampler *val) 339 { 340 return sizeof(uint64_t); 341 } 342 343 static inline void 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 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 361 vn_sizeof_VkDescriptorSet(const VkDescriptorSet *val) 362 { 363 return sizeof(uint64_t); 364 } 365 366 static inline void 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 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 384 vn_sizeof_VkDescriptorSetLayout(const VkDescriptorSetLayout *val) 385 { 386 return sizeof(uint64_t); 387 } 388 389 static inline void 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 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 407 vn_sizeof_VkDescriptorPool(const VkDescriptorPool *val) 408 { 409 return sizeof(uint64_t); 410 } 411 412 static inline void 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 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 430 vn_sizeof_VkFence(const VkFence *val) 431 { 432 return sizeof(uint64_t); 433 } 434 435 static inline void 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 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 453 vn_sizeof_VkSemaphore(const VkSemaphore *val) 454 { 455 return sizeof(uint64_t); 456 } 457 458 static inline void 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 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 476 vn_sizeof_VkEvent(const VkEvent *val) 477 { 478 return sizeof(uint64_t); 479 } 480 481 static inline void 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 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 499 vn_sizeof_VkQueryPool(const VkQueryPool *val) 500 { 501 return sizeof(uint64_t); 502 } 503 504 static inline void 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 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 522 vn_sizeof_VkFramebuffer(const VkFramebuffer *val) 523 { 524 return sizeof(uint64_t); 525 } 526 527 static inline void 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 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 545 vn_sizeof_VkRenderPass(const VkRenderPass *val) 546 { 547 return sizeof(uint64_t); 548 } 549 550 static inline void 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 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 568 vn_sizeof_VkPipelineCache(const VkPipelineCache *val) 569 { 570 return sizeof(uint64_t); 571 } 572 573 static inline void 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 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 591 vn_sizeof_VkDescriptorUpdateTemplate(const VkDescriptorUpdateTemplate *val) 592 { 593 return sizeof(uint64_t); 594 } 595 596 static inline void 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 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 614 vn_sizeof_VkSamplerYcbcrConversion(const VkSamplerYcbcrConversion *val) 615 { 616 return sizeof(uint64_t); 617 } 618 619 static inline void 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 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