Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/virtio/venus-protocol/vn_protocol_driver_image.h
4560 views
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_IMAGE_H
9
#define VN_PROTOCOL_DRIVER_IMAGE_H
10
11
#include "vn_device.h"
12
#include "vn_protocol_driver_structs.h"
13
14
/* struct VkSparseImageMemoryRequirements */
15
16
static inline size_t
17
vn_sizeof_VkSparseImageMemoryRequirements(const VkSparseImageMemoryRequirements *val)
18
{
19
size_t size = 0;
20
size += vn_sizeof_VkSparseImageFormatProperties(&val->formatProperties);
21
size += vn_sizeof_uint32_t(&val->imageMipTailFirstLod);
22
size += vn_sizeof_VkDeviceSize(&val->imageMipTailSize);
23
size += vn_sizeof_VkDeviceSize(&val->imageMipTailOffset);
24
size += vn_sizeof_VkDeviceSize(&val->imageMipTailStride);
25
return size;
26
}
27
28
static inline void
29
vn_decode_VkSparseImageMemoryRequirements(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements *val)
30
{
31
vn_decode_VkSparseImageFormatProperties(dec, &val->formatProperties);
32
vn_decode_uint32_t(dec, &val->imageMipTailFirstLod);
33
vn_decode_VkDeviceSize(dec, &val->imageMipTailSize);
34
vn_decode_VkDeviceSize(dec, &val->imageMipTailOffset);
35
vn_decode_VkDeviceSize(dec, &val->imageMipTailStride);
36
}
37
38
static inline size_t
39
vn_sizeof_VkSparseImageMemoryRequirements_partial(const VkSparseImageMemoryRequirements *val)
40
{
41
size_t size = 0;
42
size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->formatProperties);
43
/* skip val->imageMipTailFirstLod */
44
/* skip val->imageMipTailSize */
45
/* skip val->imageMipTailOffset */
46
/* skip val->imageMipTailStride */
47
return size;
48
}
49
50
static inline void
51
vn_encode_VkSparseImageMemoryRequirements_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements *val)
52
{
53
vn_encode_VkSparseImageFormatProperties_partial(enc, &val->formatProperties);
54
/* skip val->imageMipTailFirstLod */
55
/* skip val->imageMipTailSize */
56
/* skip val->imageMipTailOffset */
57
/* skip val->imageMipTailStride */
58
}
59
60
/* struct VkExternalMemoryImageCreateInfo chain */
61
62
static inline size_t
63
vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(const void *val)
64
{
65
/* no known/supported struct */
66
return vn_sizeof_simple_pointer(NULL);
67
}
68
69
static inline size_t
70
vn_sizeof_VkExternalMemoryImageCreateInfo_self(const VkExternalMemoryImageCreateInfo *val)
71
{
72
size_t size = 0;
73
/* skip val->{sType,pNext} */
74
size += vn_sizeof_VkFlags(&val->handleTypes);
75
return size;
76
}
77
78
static inline size_t
79
vn_sizeof_VkExternalMemoryImageCreateInfo(const VkExternalMemoryImageCreateInfo *val)
80
{
81
size_t size = 0;
82
83
size += vn_sizeof_VkStructureType(&val->sType);
84
size += vn_sizeof_VkExternalMemoryImageCreateInfo_pnext(val->pNext);
85
size += vn_sizeof_VkExternalMemoryImageCreateInfo_self(val);
86
87
return size;
88
}
89
90
static inline void
91
vn_encode_VkExternalMemoryImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
92
{
93
/* no known/supported struct */
94
vn_encode_simple_pointer(enc, NULL);
95
}
96
97
static inline void
98
vn_encode_VkExternalMemoryImageCreateInfo_self(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
99
{
100
/* skip val->{sType,pNext} */
101
vn_encode_VkFlags(enc, &val->handleTypes);
102
}
103
104
static inline void
105
vn_encode_VkExternalMemoryImageCreateInfo(struct vn_cs_encoder *enc, const VkExternalMemoryImageCreateInfo *val)
106
{
107
assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO);
108
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO });
109
vn_encode_VkExternalMemoryImageCreateInfo_pnext(enc, val->pNext);
110
vn_encode_VkExternalMemoryImageCreateInfo_self(enc, val);
111
}
112
113
/* struct VkImageDrmFormatModifierListCreateInfoEXT chain */
114
115
static inline size_t
116
vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(const void *val)
117
{
118
/* no known/supported struct */
119
return vn_sizeof_simple_pointer(NULL);
120
}
121
122
static inline size_t
123
vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(const VkImageDrmFormatModifierListCreateInfoEXT *val)
124
{
125
size_t size = 0;
126
/* skip val->{sType,pNext} */
127
size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);
128
if (val->pDrmFormatModifiers) {
129
size += vn_sizeof_array_size(val->drmFormatModifierCount);
130
size += vn_sizeof_uint64_t_array(val->pDrmFormatModifiers, val->drmFormatModifierCount);
131
} else {
132
size += vn_sizeof_array_size(0);
133
}
134
return size;
135
}
136
137
static inline size_t
138
vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT(const VkImageDrmFormatModifierListCreateInfoEXT *val)
139
{
140
size_t size = 0;
141
142
size += vn_sizeof_VkStructureType(&val->sType);
143
size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_pnext(val->pNext);
144
size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self(val);
145
146
return size;
147
}
148
149
static inline void
150
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
151
{
152
/* no known/supported struct */
153
vn_encode_simple_pointer(enc, NULL);
154
}
155
156
static inline void
157
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
158
{
159
/* skip val->{sType,pNext} */
160
vn_encode_uint32_t(enc, &val->drmFormatModifierCount);
161
if (val->pDrmFormatModifiers) {
162
vn_encode_array_size(enc, val->drmFormatModifierCount);
163
vn_encode_uint64_t_array(enc, val->pDrmFormatModifiers, val->drmFormatModifierCount);
164
} else {
165
vn_encode_array_size(enc, 0);
166
}
167
}
168
169
static inline void
170
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierListCreateInfoEXT *val)
171
{
172
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT);
173
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT });
174
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_pnext(enc, val->pNext);
175
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, val);
176
}
177
178
/* struct VkSubresourceLayout */
179
180
static inline size_t
181
vn_sizeof_VkSubresourceLayout(const VkSubresourceLayout *val)
182
{
183
size_t size = 0;
184
size += vn_sizeof_VkDeviceSize(&val->offset);
185
size += vn_sizeof_VkDeviceSize(&val->size);
186
size += vn_sizeof_VkDeviceSize(&val->rowPitch);
187
size += vn_sizeof_VkDeviceSize(&val->arrayPitch);
188
size += vn_sizeof_VkDeviceSize(&val->depthPitch);
189
return size;
190
}
191
192
static inline void
193
vn_encode_VkSubresourceLayout(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
194
{
195
vn_encode_VkDeviceSize(enc, &val->offset);
196
vn_encode_VkDeviceSize(enc, &val->size);
197
vn_encode_VkDeviceSize(enc, &val->rowPitch);
198
vn_encode_VkDeviceSize(enc, &val->arrayPitch);
199
vn_encode_VkDeviceSize(enc, &val->depthPitch);
200
}
201
202
static inline void
203
vn_decode_VkSubresourceLayout(struct vn_cs_decoder *dec, VkSubresourceLayout *val)
204
{
205
vn_decode_VkDeviceSize(dec, &val->offset);
206
vn_decode_VkDeviceSize(dec, &val->size);
207
vn_decode_VkDeviceSize(dec, &val->rowPitch);
208
vn_decode_VkDeviceSize(dec, &val->arrayPitch);
209
vn_decode_VkDeviceSize(dec, &val->depthPitch);
210
}
211
212
static inline size_t
213
vn_sizeof_VkSubresourceLayout_partial(const VkSubresourceLayout *val)
214
{
215
size_t size = 0;
216
/* skip val->offset */
217
/* skip val->size */
218
/* skip val->rowPitch */
219
/* skip val->arrayPitch */
220
/* skip val->depthPitch */
221
return size;
222
}
223
224
static inline void
225
vn_encode_VkSubresourceLayout_partial(struct vn_cs_encoder *enc, const VkSubresourceLayout *val)
226
{
227
/* skip val->offset */
228
/* skip val->size */
229
/* skip val->rowPitch */
230
/* skip val->arrayPitch */
231
/* skip val->depthPitch */
232
}
233
234
/* struct VkImageDrmFormatModifierExplicitCreateInfoEXT chain */
235
236
static inline size_t
237
vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(const void *val)
238
{
239
/* no known/supported struct */
240
return vn_sizeof_simple_pointer(NULL);
241
}
242
243
static inline size_t
244
vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
245
{
246
size_t size = 0;
247
/* skip val->{sType,pNext} */
248
size += vn_sizeof_uint64_t(&val->drmFormatModifier);
249
size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);
250
if (val->pPlaneLayouts) {
251
size += vn_sizeof_array_size(val->drmFormatModifierPlaneCount);
252
for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
253
size += vn_sizeof_VkSubresourceLayout(&val->pPlaneLayouts[i]);
254
} else {
255
size += vn_sizeof_array_size(0);
256
}
257
return size;
258
}
259
260
static inline size_t
261
vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT(const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
262
{
263
size_t size = 0;
264
265
size += vn_sizeof_VkStructureType(&val->sType);
266
size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(val->pNext);
267
size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(val);
268
269
return size;
270
}
271
272
static inline void
273
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)
274
{
275
/* no known/supported struct */
276
vn_encode_simple_pointer(enc, NULL);
277
}
278
279
static inline void
280
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
281
{
282
/* skip val->{sType,pNext} */
283
vn_encode_uint64_t(enc, &val->drmFormatModifier);
284
vn_encode_uint32_t(enc, &val->drmFormatModifierPlaneCount);
285
if (val->pPlaneLayouts) {
286
vn_encode_array_size(enc, val->drmFormatModifierPlaneCount);
287
for (uint32_t i = 0; i < val->drmFormatModifierPlaneCount; i++)
288
vn_encode_VkSubresourceLayout(enc, &val->pPlaneLayouts[i]);
289
} else {
290
vn_encode_array_size(enc, 0);
291
}
292
}
293
294
static inline void
295
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierExplicitCreateInfoEXT *val)
296
{
297
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT);
298
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT });
299
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_pnext(enc, val->pNext);
300
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, val);
301
}
302
303
/* struct VkImageCreateInfo chain */
304
305
static inline size_t
306
vn_sizeof_VkImageCreateInfo_pnext(const void *val)
307
{
308
const VkBaseInStructure *pnext = val;
309
size_t size = 0;
310
311
while (pnext) {
312
switch ((int32_t)pnext->sType) {
313
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
314
size += vn_sizeof_simple_pointer(pnext);
315
size += vn_sizeof_VkStructureType(&pnext->sType);
316
size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
317
size += vn_sizeof_VkExternalMemoryImageCreateInfo_self((const VkExternalMemoryImageCreateInfo *)pnext);
318
return size;
319
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
320
size += vn_sizeof_simple_pointer(pnext);
321
size += vn_sizeof_VkStructureType(&pnext->sType);
322
size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
323
size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);
324
return size;
325
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
326
size += vn_sizeof_simple_pointer(pnext);
327
size += vn_sizeof_VkStructureType(&pnext->sType);
328
size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
329
size += vn_sizeof_VkImageDrmFormatModifierListCreateInfoEXT_self((const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
330
return size;
331
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
332
size += vn_sizeof_simple_pointer(pnext);
333
size += vn_sizeof_VkStructureType(&pnext->sType);
334
size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
335
size += vn_sizeof_VkImageDrmFormatModifierExplicitCreateInfoEXT_self((const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
336
return size;
337
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
338
size += vn_sizeof_simple_pointer(pnext);
339
size += vn_sizeof_VkStructureType(&pnext->sType);
340
size += vn_sizeof_VkImageCreateInfo_pnext(pnext->pNext);
341
size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);
342
return size;
343
default:
344
/* ignore unknown/unsupported struct */
345
break;
346
}
347
pnext = pnext->pNext;
348
}
349
350
return vn_sizeof_simple_pointer(NULL);
351
}
352
353
static inline size_t
354
vn_sizeof_VkImageCreateInfo_self(const VkImageCreateInfo *val)
355
{
356
size_t size = 0;
357
/* skip val->{sType,pNext} */
358
size += vn_sizeof_VkFlags(&val->flags);
359
size += vn_sizeof_VkImageType(&val->imageType);
360
size += vn_sizeof_VkFormat(&val->format);
361
size += vn_sizeof_VkExtent3D(&val->extent);
362
size += vn_sizeof_uint32_t(&val->mipLevels);
363
size += vn_sizeof_uint32_t(&val->arrayLayers);
364
size += vn_sizeof_VkSampleCountFlagBits(&val->samples);
365
size += vn_sizeof_VkImageTiling(&val->tiling);
366
size += vn_sizeof_VkFlags(&val->usage);
367
size += vn_sizeof_VkSharingMode(&val->sharingMode);
368
size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);
369
if (val->pQueueFamilyIndices) {
370
size += vn_sizeof_array_size(val->queueFamilyIndexCount);
371
size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);
372
} else {
373
size += vn_sizeof_array_size(0);
374
}
375
size += vn_sizeof_VkImageLayout(&val->initialLayout);
376
return size;
377
}
378
379
static inline size_t
380
vn_sizeof_VkImageCreateInfo(const VkImageCreateInfo *val)
381
{
382
size_t size = 0;
383
384
size += vn_sizeof_VkStructureType(&val->sType);
385
size += vn_sizeof_VkImageCreateInfo_pnext(val->pNext);
386
size += vn_sizeof_VkImageCreateInfo_self(val);
387
388
return size;
389
}
390
391
static inline void
392
vn_encode_VkImageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
393
{
394
const VkBaseInStructure *pnext = val;
395
396
while (pnext) {
397
switch ((int32_t)pnext->sType) {
398
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
399
vn_encode_simple_pointer(enc, pnext);
400
vn_encode_VkStructureType(enc, &pnext->sType);
401
vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
402
vn_encode_VkExternalMemoryImageCreateInfo_self(enc, (const VkExternalMemoryImageCreateInfo *)pnext);
403
return;
404
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
405
vn_encode_simple_pointer(enc, pnext);
406
vn_encode_VkStructureType(enc, &pnext->sType);
407
vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
408
vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);
409
return;
410
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT:
411
vn_encode_simple_pointer(enc, pnext);
412
vn_encode_VkStructureType(enc, &pnext->sType);
413
vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
414
vn_encode_VkImageDrmFormatModifierListCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierListCreateInfoEXT *)pnext);
415
return;
416
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
417
vn_encode_simple_pointer(enc, pnext);
418
vn_encode_VkStructureType(enc, &pnext->sType);
419
vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
420
vn_encode_VkImageDrmFormatModifierExplicitCreateInfoEXT_self(enc, (const VkImageDrmFormatModifierExplicitCreateInfoEXT *)pnext);
421
return;
422
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
423
vn_encode_simple_pointer(enc, pnext);
424
vn_encode_VkStructureType(enc, &pnext->sType);
425
vn_encode_VkImageCreateInfo_pnext(enc, pnext->pNext);
426
vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);
427
return;
428
default:
429
/* ignore unknown/unsupported struct */
430
break;
431
}
432
pnext = pnext->pNext;
433
}
434
435
vn_encode_simple_pointer(enc, NULL);
436
}
437
438
static inline void
439
vn_encode_VkImageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
440
{
441
/* skip val->{sType,pNext} */
442
vn_encode_VkFlags(enc, &val->flags);
443
vn_encode_VkImageType(enc, &val->imageType);
444
vn_encode_VkFormat(enc, &val->format);
445
vn_encode_VkExtent3D(enc, &val->extent);
446
vn_encode_uint32_t(enc, &val->mipLevels);
447
vn_encode_uint32_t(enc, &val->arrayLayers);
448
vn_encode_VkSampleCountFlagBits(enc, &val->samples);
449
vn_encode_VkImageTiling(enc, &val->tiling);
450
vn_encode_VkFlags(enc, &val->usage);
451
vn_encode_VkSharingMode(enc, &val->sharingMode);
452
vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);
453
if (val->pQueueFamilyIndices) {
454
vn_encode_array_size(enc, val->queueFamilyIndexCount);
455
vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);
456
} else {
457
vn_encode_array_size(enc, 0);
458
}
459
vn_encode_VkImageLayout(enc, &val->initialLayout);
460
}
461
462
static inline void
463
vn_encode_VkImageCreateInfo(struct vn_cs_encoder *enc, const VkImageCreateInfo *val)
464
{
465
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO);
466
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO });
467
vn_encode_VkImageCreateInfo_pnext(enc, val->pNext);
468
vn_encode_VkImageCreateInfo_self(enc, val);
469
}
470
471
/* struct VkBindImageMemoryDeviceGroupInfo chain */
472
473
static inline size_t
474
vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(const void *val)
475
{
476
/* no known/supported struct */
477
return vn_sizeof_simple_pointer(NULL);
478
}
479
480
static inline size_t
481
vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(const VkBindImageMemoryDeviceGroupInfo *val)
482
{
483
size_t size = 0;
484
/* skip val->{sType,pNext} */
485
size += vn_sizeof_uint32_t(&val->deviceIndexCount);
486
if (val->pDeviceIndices) {
487
size += vn_sizeof_array_size(val->deviceIndexCount);
488
size += vn_sizeof_uint32_t_array(val->pDeviceIndices, val->deviceIndexCount);
489
} else {
490
size += vn_sizeof_array_size(0);
491
}
492
size += vn_sizeof_uint32_t(&val->splitInstanceBindRegionCount);
493
if (val->pSplitInstanceBindRegions) {
494
size += vn_sizeof_array_size(val->splitInstanceBindRegionCount);
495
for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
496
size += vn_sizeof_VkRect2D(&val->pSplitInstanceBindRegions[i]);
497
} else {
498
size += vn_sizeof_array_size(0);
499
}
500
return size;
501
}
502
503
static inline size_t
504
vn_sizeof_VkBindImageMemoryDeviceGroupInfo(const VkBindImageMemoryDeviceGroupInfo *val)
505
{
506
size_t size = 0;
507
508
size += vn_sizeof_VkStructureType(&val->sType);
509
size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_pnext(val->pNext);
510
size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self(val);
511
512
return size;
513
}
514
515
static inline void
516
vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_encoder *enc, const void *val)
517
{
518
/* no known/supported struct */
519
vn_encode_simple_pointer(enc, NULL);
520
}
521
522
static inline void
523
vn_encode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
524
{
525
/* skip val->{sType,pNext} */
526
vn_encode_uint32_t(enc, &val->deviceIndexCount);
527
if (val->pDeviceIndices) {
528
vn_encode_array_size(enc, val->deviceIndexCount);
529
vn_encode_uint32_t_array(enc, val->pDeviceIndices, val->deviceIndexCount);
530
} else {
531
vn_encode_array_size(enc, 0);
532
}
533
vn_encode_uint32_t(enc, &val->splitInstanceBindRegionCount);
534
if (val->pSplitInstanceBindRegions) {
535
vn_encode_array_size(enc, val->splitInstanceBindRegionCount);
536
for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
537
vn_encode_VkRect2D(enc, &val->pSplitInstanceBindRegions[i]);
538
} else {
539
vn_encode_array_size(enc, 0);
540
}
541
}
542
543
static inline void
544
vn_encode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryDeviceGroupInfo *val)
545
{
546
assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
547
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO });
548
vn_encode_VkBindImageMemoryDeviceGroupInfo_pnext(enc, val->pNext);
549
vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, val);
550
}
551
552
static inline void
553
vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(struct vn_cs_decoder *dec, const void *val)
554
{
555
/* no known/supported struct */
556
if (vn_decode_simple_pointer(dec))
557
assert(false);
558
}
559
560
static inline void
561
vn_decode_VkBindImageMemoryDeviceGroupInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
562
{
563
/* skip val->{sType,pNext} */
564
vn_decode_uint32_t(dec, &val->deviceIndexCount);
565
if (vn_peek_array_size(dec)) {
566
const size_t array_size = vn_decode_array_size(dec, val->deviceIndexCount);
567
vn_decode_uint32_t_array(dec, (uint32_t *)val->pDeviceIndices, array_size);
568
} else {
569
vn_decode_array_size(dec, 0);
570
val->pDeviceIndices = NULL;
571
}
572
vn_decode_uint32_t(dec, &val->splitInstanceBindRegionCount);
573
if (vn_peek_array_size(dec)) {
574
vn_decode_array_size(dec, val->splitInstanceBindRegionCount);
575
for (uint32_t i = 0; i < val->splitInstanceBindRegionCount; i++)
576
vn_decode_VkRect2D(dec, &((VkRect2D *)val->pSplitInstanceBindRegions)[i]);
577
} else {
578
vn_decode_array_size(dec, 0);
579
val->pSplitInstanceBindRegions = NULL;
580
}
581
}
582
583
static inline void
584
vn_decode_VkBindImageMemoryDeviceGroupInfo(struct vn_cs_decoder *dec, VkBindImageMemoryDeviceGroupInfo *val)
585
{
586
VkStructureType stype;
587
vn_decode_VkStructureType(dec, &stype);
588
assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO);
589
590
assert(val->sType == stype);
591
vn_decode_VkBindImageMemoryDeviceGroupInfo_pnext(dec, val->pNext);
592
vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, val);
593
}
594
595
/* struct VkBindImagePlaneMemoryInfo chain */
596
597
static inline size_t
598
vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(const void *val)
599
{
600
/* no known/supported struct */
601
return vn_sizeof_simple_pointer(NULL);
602
}
603
604
static inline size_t
605
vn_sizeof_VkBindImagePlaneMemoryInfo_self(const VkBindImagePlaneMemoryInfo *val)
606
{
607
size_t size = 0;
608
/* skip val->{sType,pNext} */
609
size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
610
return size;
611
}
612
613
static inline size_t
614
vn_sizeof_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo *val)
615
{
616
size_t size = 0;
617
618
size += vn_sizeof_VkStructureType(&val->sType);
619
size += vn_sizeof_VkBindImagePlaneMemoryInfo_pnext(val->pNext);
620
size += vn_sizeof_VkBindImagePlaneMemoryInfo_self(val);
621
622
return size;
623
}
624
625
static inline void
626
vn_encode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
627
{
628
/* no known/supported struct */
629
vn_encode_simple_pointer(enc, NULL);
630
}
631
632
static inline void
633
vn_encode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
634
{
635
/* skip val->{sType,pNext} */
636
vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
637
}
638
639
static inline void
640
vn_encode_VkBindImagePlaneMemoryInfo(struct vn_cs_encoder *enc, const VkBindImagePlaneMemoryInfo *val)
641
{
642
assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
643
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO });
644
vn_encode_VkBindImagePlaneMemoryInfo_pnext(enc, val->pNext);
645
vn_encode_VkBindImagePlaneMemoryInfo_self(enc, val);
646
}
647
648
static inline void
649
vn_decode_VkBindImagePlaneMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
650
{
651
/* no known/supported struct */
652
if (vn_decode_simple_pointer(dec))
653
assert(false);
654
}
655
656
static inline void
657
vn_decode_VkBindImagePlaneMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
658
{
659
/* skip val->{sType,pNext} */
660
vn_decode_VkImageAspectFlagBits(dec, &val->planeAspect);
661
}
662
663
static inline void
664
vn_decode_VkBindImagePlaneMemoryInfo(struct vn_cs_decoder *dec, VkBindImagePlaneMemoryInfo *val)
665
{
666
VkStructureType stype;
667
vn_decode_VkStructureType(dec, &stype);
668
assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO);
669
670
assert(val->sType == stype);
671
vn_decode_VkBindImagePlaneMemoryInfo_pnext(dec, val->pNext);
672
vn_decode_VkBindImagePlaneMemoryInfo_self(dec, val);
673
}
674
675
/* struct VkBindImageMemoryInfo chain */
676
677
static inline size_t
678
vn_sizeof_VkBindImageMemoryInfo_pnext(const void *val)
679
{
680
const VkBaseInStructure *pnext = val;
681
size_t size = 0;
682
683
while (pnext) {
684
switch ((int32_t)pnext->sType) {
685
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
686
size += vn_sizeof_simple_pointer(pnext);
687
size += vn_sizeof_VkStructureType(&pnext->sType);
688
size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
689
size += vn_sizeof_VkBindImageMemoryDeviceGroupInfo_self((const VkBindImageMemoryDeviceGroupInfo *)pnext);
690
return size;
691
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
692
size += vn_sizeof_simple_pointer(pnext);
693
size += vn_sizeof_VkStructureType(&pnext->sType);
694
size += vn_sizeof_VkBindImageMemoryInfo_pnext(pnext->pNext);
695
size += vn_sizeof_VkBindImagePlaneMemoryInfo_self((const VkBindImagePlaneMemoryInfo *)pnext);
696
return size;
697
default:
698
/* ignore unknown/unsupported struct */
699
break;
700
}
701
pnext = pnext->pNext;
702
}
703
704
return vn_sizeof_simple_pointer(NULL);
705
}
706
707
static inline size_t
708
vn_sizeof_VkBindImageMemoryInfo_self(const VkBindImageMemoryInfo *val)
709
{
710
size_t size = 0;
711
/* skip val->{sType,pNext} */
712
size += vn_sizeof_VkImage(&val->image);
713
size += vn_sizeof_VkDeviceMemory(&val->memory);
714
size += vn_sizeof_VkDeviceSize(&val->memoryOffset);
715
return size;
716
}
717
718
static inline size_t
719
vn_sizeof_VkBindImageMemoryInfo(const VkBindImageMemoryInfo *val)
720
{
721
size_t size = 0;
722
723
size += vn_sizeof_VkStructureType(&val->sType);
724
size += vn_sizeof_VkBindImageMemoryInfo_pnext(val->pNext);
725
size += vn_sizeof_VkBindImageMemoryInfo_self(val);
726
727
return size;
728
}
729
730
static inline void
731
vn_encode_VkBindImageMemoryInfo_pnext(struct vn_cs_encoder *enc, const void *val)
732
{
733
const VkBaseInStructure *pnext = val;
734
735
while (pnext) {
736
switch ((int32_t)pnext->sType) {
737
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
738
vn_encode_simple_pointer(enc, pnext);
739
vn_encode_VkStructureType(enc, &pnext->sType);
740
vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
741
vn_encode_VkBindImageMemoryDeviceGroupInfo_self(enc, (const VkBindImageMemoryDeviceGroupInfo *)pnext);
742
return;
743
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
744
vn_encode_simple_pointer(enc, pnext);
745
vn_encode_VkStructureType(enc, &pnext->sType);
746
vn_encode_VkBindImageMemoryInfo_pnext(enc, pnext->pNext);
747
vn_encode_VkBindImagePlaneMemoryInfo_self(enc, (const VkBindImagePlaneMemoryInfo *)pnext);
748
return;
749
default:
750
/* ignore unknown/unsupported struct */
751
break;
752
}
753
pnext = pnext->pNext;
754
}
755
756
vn_encode_simple_pointer(enc, NULL);
757
}
758
759
static inline void
760
vn_encode_VkBindImageMemoryInfo_self(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
761
{
762
/* skip val->{sType,pNext} */
763
vn_encode_VkImage(enc, &val->image);
764
vn_encode_VkDeviceMemory(enc, &val->memory);
765
vn_encode_VkDeviceSize(enc, &val->memoryOffset);
766
}
767
768
static inline void
769
vn_encode_VkBindImageMemoryInfo(struct vn_cs_encoder *enc, const VkBindImageMemoryInfo *val)
770
{
771
assert(val->sType == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
772
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO });
773
vn_encode_VkBindImageMemoryInfo_pnext(enc, val->pNext);
774
vn_encode_VkBindImageMemoryInfo_self(enc, val);
775
}
776
777
static inline void
778
vn_decode_VkBindImageMemoryInfo_pnext(struct vn_cs_decoder *dec, const void *val)
779
{
780
VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
781
VkStructureType stype;
782
783
if (!vn_decode_simple_pointer(dec))
784
return;
785
786
vn_decode_VkStructureType(dec, &stype);
787
while (true) {
788
assert(pnext);
789
if (pnext->sType == stype)
790
break;
791
}
792
793
switch ((int32_t)pnext->sType) {
794
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
795
vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
796
vn_decode_VkBindImageMemoryDeviceGroupInfo_self(dec, (VkBindImageMemoryDeviceGroupInfo *)pnext);
797
break;
798
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
799
vn_decode_VkBindImageMemoryInfo_pnext(dec, pnext->pNext);
800
vn_decode_VkBindImagePlaneMemoryInfo_self(dec, (VkBindImagePlaneMemoryInfo *)pnext);
801
break;
802
default:
803
assert(false);
804
break;
805
}
806
}
807
808
static inline void
809
vn_decode_VkBindImageMemoryInfo_self(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
810
{
811
/* skip val->{sType,pNext} */
812
vn_decode_VkImage(dec, &val->image);
813
vn_decode_VkDeviceMemory(dec, &val->memory);
814
vn_decode_VkDeviceSize(dec, &val->memoryOffset);
815
}
816
817
static inline void
818
vn_decode_VkBindImageMemoryInfo(struct vn_cs_decoder *dec, VkBindImageMemoryInfo *val)
819
{
820
VkStructureType stype;
821
vn_decode_VkStructureType(dec, &stype);
822
assert(stype == VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO);
823
824
assert(val->sType == stype);
825
vn_decode_VkBindImageMemoryInfo_pnext(dec, val->pNext);
826
vn_decode_VkBindImageMemoryInfo_self(dec, val);
827
}
828
829
/* struct VkImagePlaneMemoryRequirementsInfo chain */
830
831
static inline size_t
832
vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(const void *val)
833
{
834
/* no known/supported struct */
835
return vn_sizeof_simple_pointer(NULL);
836
}
837
838
static inline size_t
839
vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(const VkImagePlaneMemoryRequirementsInfo *val)
840
{
841
size_t size = 0;
842
/* skip val->{sType,pNext} */
843
size += vn_sizeof_VkImageAspectFlagBits(&val->planeAspect);
844
return size;
845
}
846
847
static inline size_t
848
vn_sizeof_VkImagePlaneMemoryRequirementsInfo(const VkImagePlaneMemoryRequirementsInfo *val)
849
{
850
size_t size = 0;
851
852
size += vn_sizeof_VkStructureType(&val->sType);
853
size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_pnext(val->pNext);
854
size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self(val);
855
856
return size;
857
}
858
859
static inline void
860
vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
861
{
862
/* no known/supported struct */
863
vn_encode_simple_pointer(enc, NULL);
864
}
865
866
static inline void
867
vn_encode_VkImagePlaneMemoryRequirementsInfo_self(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
868
{
869
/* skip val->{sType,pNext} */
870
vn_encode_VkImageAspectFlagBits(enc, &val->planeAspect);
871
}
872
873
static inline void
874
vn_encode_VkImagePlaneMemoryRequirementsInfo(struct vn_cs_encoder *enc, const VkImagePlaneMemoryRequirementsInfo *val)
875
{
876
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO);
877
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO });
878
vn_encode_VkImagePlaneMemoryRequirementsInfo_pnext(enc, val->pNext);
879
vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, val);
880
}
881
882
/* struct VkImageMemoryRequirementsInfo2 chain */
883
884
static inline size_t
885
vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(const void *val)
886
{
887
const VkBaseInStructure *pnext = val;
888
size_t size = 0;
889
890
while (pnext) {
891
switch ((int32_t)pnext->sType) {
892
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
893
size += vn_sizeof_simple_pointer(pnext);
894
size += vn_sizeof_VkStructureType(&pnext->sType);
895
size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(pnext->pNext);
896
size += vn_sizeof_VkImagePlaneMemoryRequirementsInfo_self((const VkImagePlaneMemoryRequirementsInfo *)pnext);
897
return size;
898
default:
899
/* ignore unknown/unsupported struct */
900
break;
901
}
902
pnext = pnext->pNext;
903
}
904
905
return vn_sizeof_simple_pointer(NULL);
906
}
907
908
static inline size_t
909
vn_sizeof_VkImageMemoryRequirementsInfo2_self(const VkImageMemoryRequirementsInfo2 *val)
910
{
911
size_t size = 0;
912
/* skip val->{sType,pNext} */
913
size += vn_sizeof_VkImage(&val->image);
914
return size;
915
}
916
917
static inline size_t
918
vn_sizeof_VkImageMemoryRequirementsInfo2(const VkImageMemoryRequirementsInfo2 *val)
919
{
920
size_t size = 0;
921
922
size += vn_sizeof_VkStructureType(&val->sType);
923
size += vn_sizeof_VkImageMemoryRequirementsInfo2_pnext(val->pNext);
924
size += vn_sizeof_VkImageMemoryRequirementsInfo2_self(val);
925
926
return size;
927
}
928
929
static inline void
930
vn_encode_VkImageMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
931
{
932
const VkBaseInStructure *pnext = val;
933
934
while (pnext) {
935
switch ((int32_t)pnext->sType) {
936
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
937
vn_encode_simple_pointer(enc, pnext);
938
vn_encode_VkStructureType(enc, &pnext->sType);
939
vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, pnext->pNext);
940
vn_encode_VkImagePlaneMemoryRequirementsInfo_self(enc, (const VkImagePlaneMemoryRequirementsInfo *)pnext);
941
return;
942
default:
943
/* ignore unknown/unsupported struct */
944
break;
945
}
946
pnext = pnext->pNext;
947
}
948
949
vn_encode_simple_pointer(enc, NULL);
950
}
951
952
static inline void
953
vn_encode_VkImageMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
954
{
955
/* skip val->{sType,pNext} */
956
vn_encode_VkImage(enc, &val->image);
957
}
958
959
static inline void
960
vn_encode_VkImageMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageMemoryRequirementsInfo2 *val)
961
{
962
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2);
963
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 });
964
vn_encode_VkImageMemoryRequirementsInfo2_pnext(enc, val->pNext);
965
vn_encode_VkImageMemoryRequirementsInfo2_self(enc, val);
966
}
967
968
/* struct VkImageSparseMemoryRequirementsInfo2 chain */
969
970
static inline size_t
971
vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(const void *val)
972
{
973
/* no known/supported struct */
974
return vn_sizeof_simple_pointer(NULL);
975
}
976
977
static inline size_t
978
vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(const VkImageSparseMemoryRequirementsInfo2 *val)
979
{
980
size_t size = 0;
981
/* skip val->{sType,pNext} */
982
size += vn_sizeof_VkImage(&val->image);
983
return size;
984
}
985
986
static inline size_t
987
vn_sizeof_VkImageSparseMemoryRequirementsInfo2(const VkImageSparseMemoryRequirementsInfo2 *val)
988
{
989
size_t size = 0;
990
991
size += vn_sizeof_VkStructureType(&val->sType);
992
size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_pnext(val->pNext);
993
size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2_self(val);
994
995
return size;
996
}
997
998
static inline void
999
vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(struct vn_cs_encoder *enc, const void *val)
1000
{
1001
/* no known/supported struct */
1002
vn_encode_simple_pointer(enc, NULL);
1003
}
1004
1005
static inline void
1006
vn_encode_VkImageSparseMemoryRequirementsInfo2_self(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
1007
{
1008
/* skip val->{sType,pNext} */
1009
vn_encode_VkImage(enc, &val->image);
1010
}
1011
1012
static inline void
1013
vn_encode_VkImageSparseMemoryRequirementsInfo2(struct vn_cs_encoder *enc, const VkImageSparseMemoryRequirementsInfo2 *val)
1014
{
1015
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2);
1016
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 });
1017
vn_encode_VkImageSparseMemoryRequirementsInfo2_pnext(enc, val->pNext);
1018
vn_encode_VkImageSparseMemoryRequirementsInfo2_self(enc, val);
1019
}
1020
1021
/* struct VkSparseImageMemoryRequirements2 chain */
1022
1023
static inline size_t
1024
vn_sizeof_VkSparseImageMemoryRequirements2_pnext(const void *val)
1025
{
1026
/* no known/supported struct */
1027
return vn_sizeof_simple_pointer(NULL);
1028
}
1029
1030
static inline size_t
1031
vn_sizeof_VkSparseImageMemoryRequirements2_self(const VkSparseImageMemoryRequirements2 *val)
1032
{
1033
size_t size = 0;
1034
/* skip val->{sType,pNext} */
1035
size += vn_sizeof_VkSparseImageMemoryRequirements(&val->memoryRequirements);
1036
return size;
1037
}
1038
1039
static inline size_t
1040
vn_sizeof_VkSparseImageMemoryRequirements2(const VkSparseImageMemoryRequirements2 *val)
1041
{
1042
size_t size = 0;
1043
1044
size += vn_sizeof_VkStructureType(&val->sType);
1045
size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext(val->pNext);
1046
size += vn_sizeof_VkSparseImageMemoryRequirements2_self(val);
1047
1048
return size;
1049
}
1050
1051
static inline void
1052
vn_decode_VkSparseImageMemoryRequirements2_pnext(struct vn_cs_decoder *dec, const void *val)
1053
{
1054
/* no known/supported struct */
1055
if (vn_decode_simple_pointer(dec))
1056
assert(false);
1057
}
1058
1059
static inline void
1060
vn_decode_VkSparseImageMemoryRequirements2_self(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
1061
{
1062
/* skip val->{sType,pNext} */
1063
vn_decode_VkSparseImageMemoryRequirements(dec, &val->memoryRequirements);
1064
}
1065
1066
static inline void
1067
vn_decode_VkSparseImageMemoryRequirements2(struct vn_cs_decoder *dec, VkSparseImageMemoryRequirements2 *val)
1068
{
1069
VkStructureType stype;
1070
vn_decode_VkStructureType(dec, &stype);
1071
assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
1072
1073
assert(val->sType == stype);
1074
vn_decode_VkSparseImageMemoryRequirements2_pnext(dec, val->pNext);
1075
vn_decode_VkSparseImageMemoryRequirements2_self(dec, val);
1076
}
1077
1078
static inline size_t
1079
vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(const void *val)
1080
{
1081
/* no known/supported struct */
1082
return vn_sizeof_simple_pointer(NULL);
1083
}
1084
1085
static inline size_t
1086
vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(const VkSparseImageMemoryRequirements2 *val)
1087
{
1088
size_t size = 0;
1089
/* skip val->{sType,pNext} */
1090
size += vn_sizeof_VkSparseImageMemoryRequirements_partial(&val->memoryRequirements);
1091
return size;
1092
}
1093
1094
static inline size_t
1095
vn_sizeof_VkSparseImageMemoryRequirements2_partial(const VkSparseImageMemoryRequirements2 *val)
1096
{
1097
size_t size = 0;
1098
1099
size += vn_sizeof_VkStructureType(&val->sType);
1100
size += vn_sizeof_VkSparseImageMemoryRequirements2_pnext_partial(val->pNext);
1101
size += vn_sizeof_VkSparseImageMemoryRequirements2_self_partial(val);
1102
1103
return size;
1104
}
1105
1106
static inline void
1107
vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
1108
{
1109
/* no known/supported struct */
1110
vn_encode_simple_pointer(enc, NULL);
1111
}
1112
1113
static inline void
1114
vn_encode_VkSparseImageMemoryRequirements2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
1115
{
1116
/* skip val->{sType,pNext} */
1117
vn_encode_VkSparseImageMemoryRequirements_partial(enc, &val->memoryRequirements);
1118
}
1119
1120
static inline void
1121
vn_encode_VkSparseImageMemoryRequirements2_partial(struct vn_cs_encoder *enc, const VkSparseImageMemoryRequirements2 *val)
1122
{
1123
assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2);
1124
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 });
1125
vn_encode_VkSparseImageMemoryRequirements2_pnext_partial(enc, val->pNext);
1126
vn_encode_VkSparseImageMemoryRequirements2_self_partial(enc, val);
1127
}
1128
1129
/* struct VkImageDrmFormatModifierPropertiesEXT chain */
1130
1131
static inline size_t
1132
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(const void *val)
1133
{
1134
/* no known/supported struct */
1135
return vn_sizeof_simple_pointer(NULL);
1136
}
1137
1138
static inline size_t
1139
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(const VkImageDrmFormatModifierPropertiesEXT *val)
1140
{
1141
size_t size = 0;
1142
/* skip val->{sType,pNext} */
1143
size += vn_sizeof_uint64_t(&val->drmFormatModifier);
1144
return size;
1145
}
1146
1147
static inline size_t
1148
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(const VkImageDrmFormatModifierPropertiesEXT *val)
1149
{
1150
size_t size = 0;
1151
1152
size += vn_sizeof_VkStructureType(&val->sType);
1153
size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext(val->pNext);
1154
size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self(val);
1155
1156
return size;
1157
}
1158
1159
static inline void
1160
vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)
1161
{
1162
/* no known/supported struct */
1163
if (vn_decode_simple_pointer(dec))
1164
assert(false);
1165
}
1166
1167
static inline void
1168
vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
1169
{
1170
/* skip val->{sType,pNext} */
1171
vn_decode_uint64_t(dec, &val->drmFormatModifier);
1172
}
1173
1174
static inline void
1175
vn_decode_VkImageDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkImageDrmFormatModifierPropertiesEXT *val)
1176
{
1177
VkStructureType stype;
1178
vn_decode_VkStructureType(dec, &stype);
1179
assert(stype == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
1180
1181
assert(val->sType == stype);
1182
vn_decode_VkImageDrmFormatModifierPropertiesEXT_pnext(dec, val->pNext);
1183
vn_decode_VkImageDrmFormatModifierPropertiesEXT_self(dec, val);
1184
}
1185
1186
static inline size_t
1187
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(const void *val)
1188
{
1189
/* no known/supported struct */
1190
return vn_sizeof_simple_pointer(NULL);
1191
}
1192
1193
static inline size_t
1194
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
1195
{
1196
size_t size = 0;
1197
/* skip val->{sType,pNext} */
1198
/* skip val->drmFormatModifier */
1199
return size;
1200
}
1201
1202
static inline size_t
1203
vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(const VkImageDrmFormatModifierPropertiesEXT *val)
1204
{
1205
size_t size = 0;
1206
1207
size += vn_sizeof_VkStructureType(&val->sType);
1208
size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(val->pNext);
1209
size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_self_partial(val);
1210
1211
return size;
1212
}
1213
1214
static inline void
1215
vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)
1216
{
1217
/* no known/supported struct */
1218
vn_encode_simple_pointer(enc, NULL);
1219
}
1220
1221
static inline void
1222
vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
1223
{
1224
/* skip val->{sType,pNext} */
1225
/* skip val->drmFormatModifier */
1226
}
1227
1228
static inline void
1229
vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkImageDrmFormatModifierPropertiesEXT *val)
1230
{
1231
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT);
1232
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT });
1233
vn_encode_VkImageDrmFormatModifierPropertiesEXT_pnext_partial(enc, val->pNext);
1234
vn_encode_VkImageDrmFormatModifierPropertiesEXT_self_partial(enc, val);
1235
}
1236
1237
static inline size_t vn_sizeof_vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
1238
{
1239
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
1240
const VkFlags cmd_flags = 0;
1241
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1242
1243
cmd_size += vn_sizeof_VkDevice(&device);
1244
cmd_size += vn_sizeof_VkImage(&image);
1245
cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
1246
if (pMemoryRequirements)
1247
cmd_size += vn_sizeof_VkMemoryRequirements_partial(pMemoryRequirements);
1248
1249
return cmd_size;
1250
}
1251
1252
static inline void vn_encode_vkGetImageMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
1253
{
1254
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
1255
1256
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1257
vn_encode_VkFlags(enc, &cmd_flags);
1258
1259
vn_encode_VkDevice(enc, &device);
1260
vn_encode_VkImage(enc, &image);
1261
if (vn_encode_simple_pointer(enc, pMemoryRequirements))
1262
vn_encode_VkMemoryRequirements_partial(enc, pMemoryRequirements);
1263
}
1264
1265
static inline size_t vn_sizeof_vkGetImageMemoryRequirements_reply(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
1266
{
1267
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT;
1268
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1269
1270
/* skip device */
1271
/* skip image */
1272
cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
1273
if (pMemoryRequirements)
1274
cmd_size += vn_sizeof_VkMemoryRequirements(pMemoryRequirements);
1275
1276
return cmd_size;
1277
}
1278
1279
static inline void vn_decode_vkGetImageMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
1280
{
1281
VkCommandTypeEXT command_type;
1282
vn_decode_VkCommandTypeEXT(dec, &command_type);
1283
assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT);
1284
1285
/* skip device */
1286
/* skip image */
1287
if (vn_decode_simple_pointer(dec)) {
1288
vn_decode_VkMemoryRequirements(dec, pMemoryRequirements);
1289
} else {
1290
pMemoryRequirements = NULL;
1291
}
1292
}
1293
1294
static inline size_t vn_sizeof_vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1295
{
1296
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
1297
const VkFlags cmd_flags = 0;
1298
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1299
1300
cmd_size += vn_sizeof_VkDevice(&device);
1301
cmd_size += vn_sizeof_VkImage(&image);
1302
cmd_size += vn_sizeof_VkDeviceMemory(&memory);
1303
cmd_size += vn_sizeof_VkDeviceSize(&memoryOffset);
1304
1305
return cmd_size;
1306
}
1307
1308
static inline void vn_encode_vkBindImageMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1309
{
1310
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
1311
1312
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1313
vn_encode_VkFlags(enc, &cmd_flags);
1314
1315
vn_encode_VkDevice(enc, &device);
1316
vn_encode_VkImage(enc, &image);
1317
vn_encode_VkDeviceMemory(enc, &memory);
1318
vn_encode_VkDeviceSize(enc, &memoryOffset);
1319
}
1320
1321
static inline size_t vn_sizeof_vkBindImageMemory_reply(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1322
{
1323
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory_EXT;
1324
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1325
1326
VkResult ret;
1327
cmd_size += vn_sizeof_VkResult(&ret);
1328
/* skip device */
1329
/* skip image */
1330
/* skip memory */
1331
/* skip memoryOffset */
1332
1333
return cmd_size;
1334
}
1335
1336
static inline VkResult vn_decode_vkBindImageMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1337
{
1338
VkCommandTypeEXT command_type;
1339
vn_decode_VkCommandTypeEXT(dec, &command_type);
1340
assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory_EXT);
1341
1342
VkResult ret;
1343
vn_decode_VkResult(dec, &ret);
1344
/* skip device */
1345
/* skip image */
1346
/* skip memory */
1347
/* skip memoryOffset */
1348
1349
return ret;
1350
}
1351
1352
static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
1353
{
1354
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
1355
const VkFlags cmd_flags = 0;
1356
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1357
1358
cmd_size += vn_sizeof_VkDevice(&device);
1359
cmd_size += vn_sizeof_VkImage(&image);
1360
cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
1361
if (pSparseMemoryRequirementCount)
1362
cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount);
1363
if (pSparseMemoryRequirements) {
1364
cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount);
1365
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1366
cmd_size += vn_sizeof_VkSparseImageMemoryRequirements_partial(&pSparseMemoryRequirements[i]);
1367
} else {
1368
cmd_size += vn_sizeof_array_size(0);
1369
}
1370
1371
return cmd_size;
1372
}
1373
1374
static inline void vn_encode_vkGetImageSparseMemoryRequirements(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
1375
{
1376
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
1377
1378
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1379
vn_encode_VkFlags(enc, &cmd_flags);
1380
1381
vn_encode_VkDevice(enc, &device);
1382
vn_encode_VkImage(enc, &image);
1383
if (vn_encode_simple_pointer(enc, pSparseMemoryRequirementCount))
1384
vn_encode_uint32_t(enc, pSparseMemoryRequirementCount);
1385
if (pSparseMemoryRequirements) {
1386
vn_encode_array_size(enc, *pSparseMemoryRequirementCount);
1387
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1388
vn_encode_VkSparseImageMemoryRequirements_partial(enc, &pSparseMemoryRequirements[i]);
1389
} else {
1390
vn_encode_array_size(enc, 0);
1391
}
1392
}
1393
1394
static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements_reply(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
1395
{
1396
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT;
1397
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1398
1399
/* skip device */
1400
/* skip image */
1401
cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
1402
if (pSparseMemoryRequirementCount)
1403
cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount);
1404
if (pSparseMemoryRequirements) {
1405
cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount);
1406
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1407
cmd_size += vn_sizeof_VkSparseImageMemoryRequirements(&pSparseMemoryRequirements[i]);
1408
} else {
1409
cmd_size += vn_sizeof_array_size(0);
1410
}
1411
1412
return cmd_size;
1413
}
1414
1415
static inline void vn_decode_vkGetImageSparseMemoryRequirements_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
1416
{
1417
VkCommandTypeEXT command_type;
1418
vn_decode_VkCommandTypeEXT(dec, &command_type);
1419
assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT);
1420
1421
/* skip device */
1422
/* skip image */
1423
if (vn_decode_simple_pointer(dec)) {
1424
vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
1425
} else {
1426
pSparseMemoryRequirementCount = NULL;
1427
}
1428
if (vn_peek_array_size(dec)) {
1429
vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
1430
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1431
vn_decode_VkSparseImageMemoryRequirements(dec, &pSparseMemoryRequirements[i]);
1432
} else {
1433
vn_decode_array_size(dec, 0);
1434
pSparseMemoryRequirements = NULL;
1435
}
1436
}
1437
1438
static inline size_t vn_sizeof_vkCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
1439
{
1440
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
1441
const VkFlags cmd_flags = 0;
1442
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1443
1444
cmd_size += vn_sizeof_VkDevice(&device);
1445
cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
1446
if (pCreateInfo)
1447
cmd_size += vn_sizeof_VkImageCreateInfo(pCreateInfo);
1448
cmd_size += vn_sizeof_simple_pointer(pAllocator);
1449
if (pAllocator)
1450
assert(false);
1451
cmd_size += vn_sizeof_simple_pointer(pImage);
1452
if (pImage)
1453
cmd_size += vn_sizeof_VkImage(pImage);
1454
1455
return cmd_size;
1456
}
1457
1458
static inline void vn_encode_vkCreateImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
1459
{
1460
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
1461
1462
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1463
vn_encode_VkFlags(enc, &cmd_flags);
1464
1465
vn_encode_VkDevice(enc, &device);
1466
if (vn_encode_simple_pointer(enc, pCreateInfo))
1467
vn_encode_VkImageCreateInfo(enc, pCreateInfo);
1468
if (vn_encode_simple_pointer(enc, pAllocator))
1469
assert(false);
1470
if (vn_encode_simple_pointer(enc, pImage))
1471
vn_encode_VkImage(enc, pImage);
1472
}
1473
1474
static inline size_t vn_sizeof_vkCreateImage_reply(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
1475
{
1476
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateImage_EXT;
1477
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1478
1479
VkResult ret;
1480
cmd_size += vn_sizeof_VkResult(&ret);
1481
/* skip device */
1482
/* skip pCreateInfo */
1483
/* skip pAllocator */
1484
cmd_size += vn_sizeof_simple_pointer(pImage);
1485
if (pImage)
1486
cmd_size += vn_sizeof_VkImage(pImage);
1487
1488
return cmd_size;
1489
}
1490
1491
static inline VkResult vn_decode_vkCreateImage_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
1492
{
1493
VkCommandTypeEXT command_type;
1494
vn_decode_VkCommandTypeEXT(dec, &command_type);
1495
assert(command_type == VK_COMMAND_TYPE_vkCreateImage_EXT);
1496
1497
VkResult ret;
1498
vn_decode_VkResult(dec, &ret);
1499
/* skip device */
1500
/* skip pCreateInfo */
1501
/* skip pAllocator */
1502
if (vn_decode_simple_pointer(dec)) {
1503
vn_decode_VkImage(dec, pImage);
1504
} else {
1505
pImage = NULL;
1506
}
1507
1508
return ret;
1509
}
1510
1511
static inline size_t vn_sizeof_vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
1512
{
1513
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
1514
const VkFlags cmd_flags = 0;
1515
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1516
1517
cmd_size += vn_sizeof_VkDevice(&device);
1518
cmd_size += vn_sizeof_VkImage(&image);
1519
cmd_size += vn_sizeof_simple_pointer(pAllocator);
1520
if (pAllocator)
1521
assert(false);
1522
1523
return cmd_size;
1524
}
1525
1526
static inline void vn_encode_vkDestroyImage(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
1527
{
1528
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
1529
1530
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1531
vn_encode_VkFlags(enc, &cmd_flags);
1532
1533
vn_encode_VkDevice(enc, &device);
1534
vn_encode_VkImage(enc, &image);
1535
if (vn_encode_simple_pointer(enc, pAllocator))
1536
assert(false);
1537
}
1538
1539
static inline size_t vn_sizeof_vkDestroyImage_reply(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
1540
{
1541
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyImage_EXT;
1542
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1543
1544
/* skip device */
1545
/* skip image */
1546
/* skip pAllocator */
1547
1548
return cmd_size;
1549
}
1550
1551
static inline void vn_decode_vkDestroyImage_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
1552
{
1553
VkCommandTypeEXT command_type;
1554
vn_decode_VkCommandTypeEXT(dec, &command_type);
1555
assert(command_type == VK_COMMAND_TYPE_vkDestroyImage_EXT);
1556
1557
/* skip device */
1558
/* skip image */
1559
/* skip pAllocator */
1560
}
1561
1562
static inline size_t vn_sizeof_vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
1563
{
1564
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
1565
const VkFlags cmd_flags = 0;
1566
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1567
1568
cmd_size += vn_sizeof_VkDevice(&device);
1569
cmd_size += vn_sizeof_VkImage(&image);
1570
cmd_size += vn_sizeof_simple_pointer(pSubresource);
1571
if (pSubresource)
1572
cmd_size += vn_sizeof_VkImageSubresource(pSubresource);
1573
cmd_size += vn_sizeof_simple_pointer(pLayout);
1574
if (pLayout)
1575
cmd_size += vn_sizeof_VkSubresourceLayout_partial(pLayout);
1576
1577
return cmd_size;
1578
}
1579
1580
static inline void vn_encode_vkGetImageSubresourceLayout(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
1581
{
1582
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
1583
1584
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1585
vn_encode_VkFlags(enc, &cmd_flags);
1586
1587
vn_encode_VkDevice(enc, &device);
1588
vn_encode_VkImage(enc, &image);
1589
if (vn_encode_simple_pointer(enc, pSubresource))
1590
vn_encode_VkImageSubresource(enc, pSubresource);
1591
if (vn_encode_simple_pointer(enc, pLayout))
1592
vn_encode_VkSubresourceLayout_partial(enc, pLayout);
1593
}
1594
1595
static inline size_t vn_sizeof_vkGetImageSubresourceLayout_reply(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
1596
{
1597
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT;
1598
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1599
1600
/* skip device */
1601
/* skip image */
1602
/* skip pSubresource */
1603
cmd_size += vn_sizeof_simple_pointer(pLayout);
1604
if (pLayout)
1605
cmd_size += vn_sizeof_VkSubresourceLayout(pLayout);
1606
1607
return cmd_size;
1608
}
1609
1610
static inline void vn_decode_vkGetImageSubresourceLayout_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
1611
{
1612
VkCommandTypeEXT command_type;
1613
vn_decode_VkCommandTypeEXT(dec, &command_type);
1614
assert(command_type == VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT);
1615
1616
/* skip device */
1617
/* skip image */
1618
/* skip pSubresource */
1619
if (vn_decode_simple_pointer(dec)) {
1620
vn_decode_VkSubresourceLayout(dec, pLayout);
1621
} else {
1622
pLayout = NULL;
1623
}
1624
}
1625
1626
static inline size_t vn_sizeof_vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
1627
{
1628
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
1629
const VkFlags cmd_flags = 0;
1630
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1631
1632
cmd_size += vn_sizeof_VkDevice(&device);
1633
cmd_size += vn_sizeof_uint32_t(&bindInfoCount);
1634
if (pBindInfos) {
1635
cmd_size += vn_sizeof_array_size(bindInfoCount);
1636
for (uint32_t i = 0; i < bindInfoCount; i++)
1637
cmd_size += vn_sizeof_VkBindImageMemoryInfo(&pBindInfos[i]);
1638
} else {
1639
cmd_size += vn_sizeof_array_size(0);
1640
}
1641
1642
return cmd_size;
1643
}
1644
1645
static inline void vn_encode_vkBindImageMemory2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
1646
{
1647
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
1648
1649
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1650
vn_encode_VkFlags(enc, &cmd_flags);
1651
1652
vn_encode_VkDevice(enc, &device);
1653
vn_encode_uint32_t(enc, &bindInfoCount);
1654
if (pBindInfos) {
1655
vn_encode_array_size(enc, bindInfoCount);
1656
for (uint32_t i = 0; i < bindInfoCount; i++)
1657
vn_encode_VkBindImageMemoryInfo(enc, &pBindInfos[i]);
1658
} else {
1659
vn_encode_array_size(enc, 0);
1660
}
1661
}
1662
1663
static inline size_t vn_sizeof_vkBindImageMemory2_reply(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
1664
{
1665
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkBindImageMemory2_EXT;
1666
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1667
1668
VkResult ret;
1669
cmd_size += vn_sizeof_VkResult(&ret);
1670
/* skip device */
1671
/* skip bindInfoCount */
1672
/* skip pBindInfos */
1673
1674
return cmd_size;
1675
}
1676
1677
static inline VkResult vn_decode_vkBindImageMemory2_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
1678
{
1679
VkCommandTypeEXT command_type;
1680
vn_decode_VkCommandTypeEXT(dec, &command_type);
1681
assert(command_type == VK_COMMAND_TYPE_vkBindImageMemory2_EXT);
1682
1683
VkResult ret;
1684
vn_decode_VkResult(dec, &ret);
1685
/* skip device */
1686
/* skip bindInfoCount */
1687
/* skip pBindInfos */
1688
1689
return ret;
1690
}
1691
1692
static inline size_t vn_sizeof_vkGetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
1693
{
1694
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
1695
const VkFlags cmd_flags = 0;
1696
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1697
1698
cmd_size += vn_sizeof_VkDevice(&device);
1699
cmd_size += vn_sizeof_simple_pointer(pInfo);
1700
if (pInfo)
1701
cmd_size += vn_sizeof_VkImageMemoryRequirementsInfo2(pInfo);
1702
cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
1703
if (pMemoryRequirements)
1704
cmd_size += vn_sizeof_VkMemoryRequirements2_partial(pMemoryRequirements);
1705
1706
return cmd_size;
1707
}
1708
1709
static inline void vn_encode_vkGetImageMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
1710
{
1711
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
1712
1713
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1714
vn_encode_VkFlags(enc, &cmd_flags);
1715
1716
vn_encode_VkDevice(enc, &device);
1717
if (vn_encode_simple_pointer(enc, pInfo))
1718
vn_encode_VkImageMemoryRequirementsInfo2(enc, pInfo);
1719
if (vn_encode_simple_pointer(enc, pMemoryRequirements))
1720
vn_encode_VkMemoryRequirements2_partial(enc, pMemoryRequirements);
1721
}
1722
1723
static inline size_t vn_sizeof_vkGetImageMemoryRequirements2_reply(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
1724
{
1725
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT;
1726
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1727
1728
/* skip device */
1729
/* skip pInfo */
1730
cmd_size += vn_sizeof_simple_pointer(pMemoryRequirements);
1731
if (pMemoryRequirements)
1732
cmd_size += vn_sizeof_VkMemoryRequirements2(pMemoryRequirements);
1733
1734
return cmd_size;
1735
}
1736
1737
static inline void vn_decode_vkGetImageMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
1738
{
1739
VkCommandTypeEXT command_type;
1740
vn_decode_VkCommandTypeEXT(dec, &command_type);
1741
assert(command_type == VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT);
1742
1743
/* skip device */
1744
/* skip pInfo */
1745
if (vn_decode_simple_pointer(dec)) {
1746
vn_decode_VkMemoryRequirements2(dec, pMemoryRequirements);
1747
} else {
1748
pMemoryRequirements = NULL;
1749
}
1750
}
1751
1752
static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1753
{
1754
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
1755
const VkFlags cmd_flags = 0;
1756
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1757
1758
cmd_size += vn_sizeof_VkDevice(&device);
1759
cmd_size += vn_sizeof_simple_pointer(pInfo);
1760
if (pInfo)
1761
cmd_size += vn_sizeof_VkImageSparseMemoryRequirementsInfo2(pInfo);
1762
cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
1763
if (pSparseMemoryRequirementCount)
1764
cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount);
1765
if (pSparseMemoryRequirements) {
1766
cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount);
1767
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1768
cmd_size += vn_sizeof_VkSparseImageMemoryRequirements2_partial(&pSparseMemoryRequirements[i]);
1769
} else {
1770
cmd_size += vn_sizeof_array_size(0);
1771
}
1772
1773
return cmd_size;
1774
}
1775
1776
static inline void vn_encode_vkGetImageSparseMemoryRequirements2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1777
{
1778
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
1779
1780
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1781
vn_encode_VkFlags(enc, &cmd_flags);
1782
1783
vn_encode_VkDevice(enc, &device);
1784
if (vn_encode_simple_pointer(enc, pInfo))
1785
vn_encode_VkImageSparseMemoryRequirementsInfo2(enc, pInfo);
1786
if (vn_encode_simple_pointer(enc, pSparseMemoryRequirementCount))
1787
vn_encode_uint32_t(enc, pSparseMemoryRequirementCount);
1788
if (pSparseMemoryRequirements) {
1789
vn_encode_array_size(enc, *pSparseMemoryRequirementCount);
1790
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1791
vn_encode_VkSparseImageMemoryRequirements2_partial(enc, &pSparseMemoryRequirements[i]);
1792
} else {
1793
vn_encode_array_size(enc, 0);
1794
}
1795
}
1796
1797
static inline size_t vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1798
{
1799
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT;
1800
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1801
1802
/* skip device */
1803
/* skip pInfo */
1804
cmd_size += vn_sizeof_simple_pointer(pSparseMemoryRequirementCount);
1805
if (pSparseMemoryRequirementCount)
1806
cmd_size += vn_sizeof_uint32_t(pSparseMemoryRequirementCount);
1807
if (pSparseMemoryRequirements) {
1808
cmd_size += vn_sizeof_array_size(*pSparseMemoryRequirementCount);
1809
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1810
cmd_size += vn_sizeof_VkSparseImageMemoryRequirements2(&pSparseMemoryRequirements[i]);
1811
} else {
1812
cmd_size += vn_sizeof_array_size(0);
1813
}
1814
1815
return cmd_size;
1816
}
1817
1818
static inline void vn_decode_vkGetImageSparseMemoryRequirements2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1819
{
1820
VkCommandTypeEXT command_type;
1821
vn_decode_VkCommandTypeEXT(dec, &command_type);
1822
assert(command_type == VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT);
1823
1824
/* skip device */
1825
/* skip pInfo */
1826
if (vn_decode_simple_pointer(dec)) {
1827
vn_decode_uint32_t(dec, pSparseMemoryRequirementCount);
1828
} else {
1829
pSparseMemoryRequirementCount = NULL;
1830
}
1831
if (vn_peek_array_size(dec)) {
1832
vn_decode_array_size(dec, *pSparseMemoryRequirementCount);
1833
for (uint32_t i = 0; i < *pSparseMemoryRequirementCount; i++)
1834
vn_decode_VkSparseImageMemoryRequirements2(dec, &pSparseMemoryRequirements[i]);
1835
} else {
1836
vn_decode_array_size(dec, 0);
1837
pSparseMemoryRequirements = NULL;
1838
}
1839
}
1840
1841
static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
1842
{
1843
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
1844
const VkFlags cmd_flags = 0;
1845
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
1846
1847
cmd_size += vn_sizeof_VkDevice(&device);
1848
cmd_size += vn_sizeof_VkImage(&image);
1849
cmd_size += vn_sizeof_simple_pointer(pProperties);
1850
if (pProperties)
1851
cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT_partial(pProperties);
1852
1853
return cmd_size;
1854
}
1855
1856
static inline void vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
1857
{
1858
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
1859
1860
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
1861
vn_encode_VkFlags(enc, &cmd_flags);
1862
1863
vn_encode_VkDevice(enc, &device);
1864
vn_encode_VkImage(enc, &image);
1865
if (vn_encode_simple_pointer(enc, pProperties))
1866
vn_encode_VkImageDrmFormatModifierPropertiesEXT_partial(enc, pProperties);
1867
}
1868
1869
static inline size_t vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
1870
{
1871
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT;
1872
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
1873
1874
VkResult ret;
1875
cmd_size += vn_sizeof_VkResult(&ret);
1876
/* skip device */
1877
/* skip image */
1878
cmd_size += vn_sizeof_simple_pointer(pProperties);
1879
if (pProperties)
1880
cmd_size += vn_sizeof_VkImageDrmFormatModifierPropertiesEXT(pProperties);
1881
1882
return cmd_size;
1883
}
1884
1885
static inline VkResult vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(struct vn_cs_decoder *dec, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
1886
{
1887
VkCommandTypeEXT command_type;
1888
vn_decode_VkCommandTypeEXT(dec, &command_type);
1889
assert(command_type == VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT);
1890
1891
VkResult ret;
1892
vn_decode_VkResult(dec, &ret);
1893
/* skip device */
1894
/* skip image */
1895
if (vn_decode_simple_pointer(dec)) {
1896
vn_decode_VkImageDrmFormatModifierPropertiesEXT(dec, pProperties);
1897
} else {
1898
pProperties = NULL;
1899
}
1900
1901
return ret;
1902
}
1903
1904
static inline void vn_submit_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements, struct vn_instance_submit_command *submit)
1905
{
1906
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1907
void *cmd_data = local_cmd_data;
1908
size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
1909
if (cmd_size > sizeof(local_cmd_data)) {
1910
cmd_data = malloc(cmd_size);
1911
if (!cmd_data)
1912
cmd_size = 0;
1913
}
1914
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements_reply(device, image, pMemoryRequirements) : 0;
1915
1916
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1917
if (cmd_size) {
1918
vn_encode_vkGetImageMemoryRequirements(enc, cmd_flags, device, image, pMemoryRequirements);
1919
vn_instance_submit_command(vn_instance, submit);
1920
if (cmd_data != local_cmd_data)
1921
free(cmd_data);
1922
}
1923
}
1924
1925
static inline void vn_submit_vkBindImageMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset, struct vn_instance_submit_command *submit)
1926
{
1927
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1928
void *cmd_data = local_cmd_data;
1929
size_t cmd_size = vn_sizeof_vkBindImageMemory(device, image, memory, memoryOffset);
1930
if (cmd_size > sizeof(local_cmd_data)) {
1931
cmd_data = malloc(cmd_size);
1932
if (!cmd_data)
1933
cmd_size = 0;
1934
}
1935
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory_reply(device, image, memory, memoryOffset) : 0;
1936
1937
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1938
if (cmd_size) {
1939
vn_encode_vkBindImageMemory(enc, cmd_flags, device, image, memory, memoryOffset);
1940
vn_instance_submit_command(vn_instance, submit);
1941
if (cmd_data != local_cmd_data)
1942
free(cmd_data);
1943
}
1944
}
1945
1946
static inline void vn_submit_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
1947
{
1948
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1949
void *cmd_data = local_cmd_data;
1950
size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1951
if (cmd_size > sizeof(local_cmd_data)) {
1952
cmd_data = malloc(cmd_size);
1953
if (!cmd_data)
1954
cmd_size = 0;
1955
}
1956
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements_reply(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
1957
1958
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1959
if (cmd_size) {
1960
vn_encode_vkGetImageSparseMemoryRequirements(enc, cmd_flags, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1961
vn_instance_submit_command(vn_instance, submit);
1962
if (cmd_data != local_cmd_data)
1963
free(cmd_data);
1964
}
1965
}
1966
1967
static inline void vn_submit_vkCreateImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, struct vn_instance_submit_command *submit)
1968
{
1969
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1970
void *cmd_data = local_cmd_data;
1971
size_t cmd_size = vn_sizeof_vkCreateImage(device, pCreateInfo, pAllocator, pImage);
1972
if (cmd_size > sizeof(local_cmd_data)) {
1973
cmd_data = malloc(cmd_size);
1974
if (!cmd_data)
1975
cmd_size = 0;
1976
}
1977
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateImage_reply(device, pCreateInfo, pAllocator, pImage) : 0;
1978
1979
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1980
if (cmd_size) {
1981
vn_encode_vkCreateImage(enc, cmd_flags, device, pCreateInfo, pAllocator, pImage);
1982
vn_instance_submit_command(vn_instance, submit);
1983
if (cmd_data != local_cmd_data)
1984
free(cmd_data);
1985
}
1986
}
1987
1988
static inline void vn_submit_vkDestroyImage(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
1989
{
1990
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1991
void *cmd_data = local_cmd_data;
1992
size_t cmd_size = vn_sizeof_vkDestroyImage(device, image, pAllocator);
1993
if (cmd_size > sizeof(local_cmd_data)) {
1994
cmd_data = malloc(cmd_size);
1995
if (!cmd_data)
1996
cmd_size = 0;
1997
}
1998
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyImage_reply(device, image, pAllocator) : 0;
1999
2000
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2001
if (cmd_size) {
2002
vn_encode_vkDestroyImage(enc, cmd_flags, device, image, pAllocator);
2003
vn_instance_submit_command(vn_instance, submit);
2004
if (cmd_data != local_cmd_data)
2005
free(cmd_data);
2006
}
2007
}
2008
2009
static inline void vn_submit_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout, struct vn_instance_submit_command *submit)
2010
{
2011
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
2012
void *cmd_data = local_cmd_data;
2013
size_t cmd_size = vn_sizeof_vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
2014
if (cmd_size > sizeof(local_cmd_data)) {
2015
cmd_data = malloc(cmd_size);
2016
if (!cmd_data)
2017
cmd_size = 0;
2018
}
2019
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSubresourceLayout_reply(device, image, pSubresource, pLayout) : 0;
2020
2021
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2022
if (cmd_size) {
2023
vn_encode_vkGetImageSubresourceLayout(enc, cmd_flags, device, image, pSubresource, pLayout);
2024
vn_instance_submit_command(vn_instance, submit);
2025
if (cmd_data != local_cmd_data)
2026
free(cmd_data);
2027
}
2028
}
2029
2030
static inline void vn_submit_vkBindImageMemory2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos, struct vn_instance_submit_command *submit)
2031
{
2032
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
2033
void *cmd_data = local_cmd_data;
2034
size_t cmd_size = vn_sizeof_vkBindImageMemory2(device, bindInfoCount, pBindInfos);
2035
if (cmd_size > sizeof(local_cmd_data)) {
2036
cmd_data = malloc(cmd_size);
2037
if (!cmd_data)
2038
cmd_size = 0;
2039
}
2040
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkBindImageMemory2_reply(device, bindInfoCount, pBindInfos) : 0;
2041
2042
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2043
if (cmd_size) {
2044
vn_encode_vkBindImageMemory2(enc, cmd_flags, device, bindInfoCount, pBindInfos);
2045
vn_instance_submit_command(vn_instance, submit);
2046
if (cmd_data != local_cmd_data)
2047
free(cmd_data);
2048
}
2049
}
2050
2051
static inline void vn_submit_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements, struct vn_instance_submit_command *submit)
2052
{
2053
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
2054
void *cmd_data = local_cmd_data;
2055
size_t cmd_size = vn_sizeof_vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
2056
if (cmd_size > sizeof(local_cmd_data)) {
2057
cmd_data = malloc(cmd_size);
2058
if (!cmd_data)
2059
cmd_size = 0;
2060
}
2061
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageMemoryRequirements2_reply(device, pInfo, pMemoryRequirements) : 0;
2062
2063
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2064
if (cmd_size) {
2065
vn_encode_vkGetImageMemoryRequirements2(enc, cmd_flags, device, pInfo, pMemoryRequirements);
2066
vn_instance_submit_command(vn_instance, submit);
2067
if (cmd_data != local_cmd_data)
2068
free(cmd_data);
2069
}
2070
}
2071
2072
static inline void vn_submit_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements, struct vn_instance_submit_command *submit)
2073
{
2074
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
2075
void *cmd_data = local_cmd_data;
2076
size_t cmd_size = vn_sizeof_vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2077
if (cmd_size > sizeof(local_cmd_data)) {
2078
cmd_data = malloc(cmd_size);
2079
if (!cmd_data)
2080
cmd_size = 0;
2081
}
2082
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageSparseMemoryRequirements2_reply(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) : 0;
2083
2084
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2085
if (cmd_size) {
2086
vn_encode_vkGetImageSparseMemoryRequirements2(enc, cmd_flags, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2087
vn_instance_submit_command(vn_instance, submit);
2088
if (cmd_data != local_cmd_data)
2089
free(cmd_data);
2090
}
2091
}
2092
2093
static inline void vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties, struct vn_instance_submit_command *submit)
2094
{
2095
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
2096
void *cmd_data = local_cmd_data;
2097
size_t cmd_size = vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
2098
if (cmd_size > sizeof(local_cmd_data)) {
2099
cmd_data = malloc(cmd_size);
2100
if (!cmd_data)
2101
cmd_size = 0;
2102
}
2103
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetImageDrmFormatModifierPropertiesEXT_reply(device, image, pProperties) : 0;
2104
2105
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
2106
if (cmd_size) {
2107
vn_encode_vkGetImageDrmFormatModifierPropertiesEXT(enc, cmd_flags, device, image, pProperties);
2108
vn_instance_submit_command(vn_instance, submit);
2109
if (cmd_data != local_cmd_data)
2110
free(cmd_data);
2111
}
2112
}
2113
2114
static inline void vn_call_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
2115
{
2116
struct vn_instance_submit_command submit;
2117
vn_submit_vkGetImageMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pMemoryRequirements, &submit);
2118
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2119
if (dec) {
2120
vn_decode_vkGetImageMemoryRequirements_reply(dec, device, image, pMemoryRequirements);
2121
vn_instance_free_command_reply(vn_instance, &submit);
2122
}
2123
}
2124
2125
static inline void vn_async_vkGetImageMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
2126
{
2127
struct vn_instance_submit_command submit;
2128
vn_submit_vkGetImageMemoryRequirements(vn_instance, 0, device, image, pMemoryRequirements, &submit);
2129
}
2130
2131
static inline VkResult vn_call_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
2132
{
2133
struct vn_instance_submit_command submit;
2134
vn_submit_vkBindImageMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, memory, memoryOffset, &submit);
2135
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2136
if (dec) {
2137
const VkResult ret = vn_decode_vkBindImageMemory_reply(dec, device, image, memory, memoryOffset);
2138
vn_instance_free_command_reply(vn_instance, &submit);
2139
return ret;
2140
} else {
2141
return VK_ERROR_OUT_OF_HOST_MEMORY;
2142
}
2143
}
2144
2145
static inline void vn_async_vkBindImageMemory(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
2146
{
2147
struct vn_instance_submit_command submit;
2148
vn_submit_vkBindImageMemory(vn_instance, 0, device, image, memory, memoryOffset, &submit);
2149
}
2150
2151
static inline void vn_call_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
2152
{
2153
struct vn_instance_submit_command submit;
2154
vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
2155
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2156
if (dec) {
2157
vn_decode_vkGetImageSparseMemoryRequirements_reply(dec, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2158
vn_instance_free_command_reply(vn_instance, &submit);
2159
}
2160
}
2161
2162
static inline void vn_async_vkGetImageSparseMemoryRequirements(struct vn_instance *vn_instance, VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
2163
{
2164
struct vn_instance_submit_command submit;
2165
vn_submit_vkGetImageSparseMemoryRequirements(vn_instance, 0, device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
2166
}
2167
2168
static inline VkResult vn_call_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
2169
{
2170
struct vn_instance_submit_command submit;
2171
vn_submit_vkCreateImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pCreateInfo, pAllocator, pImage, &submit);
2172
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2173
if (dec) {
2174
const VkResult ret = vn_decode_vkCreateImage_reply(dec, device, pCreateInfo, pAllocator, pImage);
2175
vn_instance_free_command_reply(vn_instance, &submit);
2176
return ret;
2177
} else {
2178
return VK_ERROR_OUT_OF_HOST_MEMORY;
2179
}
2180
}
2181
2182
static inline void vn_async_vkCreateImage(struct vn_instance *vn_instance, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
2183
{
2184
struct vn_instance_submit_command submit;
2185
vn_submit_vkCreateImage(vn_instance, 0, device, pCreateInfo, pAllocator, pImage, &submit);
2186
}
2187
2188
static inline void vn_call_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
2189
{
2190
struct vn_instance_submit_command submit;
2191
vn_submit_vkDestroyImage(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pAllocator, &submit);
2192
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2193
if (dec) {
2194
vn_decode_vkDestroyImage_reply(dec, device, image, pAllocator);
2195
vn_instance_free_command_reply(vn_instance, &submit);
2196
}
2197
}
2198
2199
static inline void vn_async_vkDestroyImage(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
2200
{
2201
struct vn_instance_submit_command submit;
2202
vn_submit_vkDestroyImage(vn_instance, 0, device, image, pAllocator, &submit);
2203
}
2204
2205
static inline void vn_call_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
2206
{
2207
struct vn_instance_submit_command submit;
2208
vn_submit_vkGetImageSubresourceLayout(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pSubresource, pLayout, &submit);
2209
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2210
if (dec) {
2211
vn_decode_vkGetImageSubresourceLayout_reply(dec, device, image, pSubresource, pLayout);
2212
vn_instance_free_command_reply(vn_instance, &submit);
2213
}
2214
}
2215
2216
static inline void vn_async_vkGetImageSubresourceLayout(struct vn_instance *vn_instance, VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
2217
{
2218
struct vn_instance_submit_command submit;
2219
vn_submit_vkGetImageSubresourceLayout(vn_instance, 0, device, image, pSubresource, pLayout, &submit);
2220
}
2221
2222
static inline VkResult vn_call_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
2223
{
2224
struct vn_instance_submit_command submit;
2225
vn_submit_vkBindImageMemory2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, bindInfoCount, pBindInfos, &submit);
2226
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2227
if (dec) {
2228
const VkResult ret = vn_decode_vkBindImageMemory2_reply(dec, device, bindInfoCount, pBindInfos);
2229
vn_instance_free_command_reply(vn_instance, &submit);
2230
return ret;
2231
} else {
2232
return VK_ERROR_OUT_OF_HOST_MEMORY;
2233
}
2234
}
2235
2236
static inline void vn_async_vkBindImageMemory2(struct vn_instance *vn_instance, VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
2237
{
2238
struct vn_instance_submit_command submit;
2239
vn_submit_vkBindImageMemory2(vn_instance, 0, device, bindInfoCount, pBindInfos, &submit);
2240
}
2241
2242
static inline void vn_call_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
2243
{
2244
struct vn_instance_submit_command submit;
2245
vn_submit_vkGetImageMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pMemoryRequirements, &submit);
2246
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2247
if (dec) {
2248
vn_decode_vkGetImageMemoryRequirements2_reply(dec, device, pInfo, pMemoryRequirements);
2249
vn_instance_free_command_reply(vn_instance, &submit);
2250
}
2251
}
2252
2253
static inline void vn_async_vkGetImageMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
2254
{
2255
struct vn_instance_submit_command submit;
2256
vn_submit_vkGetImageMemoryRequirements2(vn_instance, 0, device, pInfo, pMemoryRequirements, &submit);
2257
}
2258
2259
static inline void vn_call_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
2260
{
2261
struct vn_instance_submit_command submit;
2262
vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
2263
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2264
if (dec) {
2265
vn_decode_vkGetImageSparseMemoryRequirements2_reply(dec, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2266
vn_instance_free_command_reply(vn_instance, &submit);
2267
}
2268
}
2269
2270
static inline void vn_async_vkGetImageSparseMemoryRequirements2(struct vn_instance *vn_instance, VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
2271
{
2272
struct vn_instance_submit_command submit;
2273
vn_submit_vkGetImageSparseMemoryRequirements2(vn_instance, 0, device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, &submit);
2274
}
2275
2276
static inline VkResult vn_call_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
2277
{
2278
struct vn_instance_submit_command submit;
2279
vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, image, pProperties, &submit);
2280
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
2281
if (dec) {
2282
const VkResult ret = vn_decode_vkGetImageDrmFormatModifierPropertiesEXT_reply(dec, device, image, pProperties);
2283
vn_instance_free_command_reply(vn_instance, &submit);
2284
return ret;
2285
} else {
2286
return VK_ERROR_OUT_OF_HOST_MEMORY;
2287
}
2288
}
2289
2290
static inline void vn_async_vkGetImageDrmFormatModifierPropertiesEXT(struct vn_instance *vn_instance, VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
2291
{
2292
struct vn_instance_submit_command submit;
2293
vn_submit_vkGetImageDrmFormatModifierPropertiesEXT(vn_instance, 0, device, image, pProperties, &submit);
2294
}
2295
2296
#endif /* VN_PROTOCOL_DRIVER_IMAGE_H */
2297
2298