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_device_memory.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_DEVICE_MEMORY_H
9
#define VN_PROTOCOL_DRIVER_DEVICE_MEMORY_H
10
11
#include "vn_device.h"
12
#include "vn_protocol_driver_structs.h"
13
14
/*
15
* These structs/unions/commands are not included
16
*
17
* VkImportMemoryFdInfoKHR
18
* vkMapMemory
19
*/
20
21
/* struct VkExportMemoryAllocateInfo chain */
22
23
static inline size_t
24
vn_sizeof_VkExportMemoryAllocateInfo_pnext(const void *val)
25
{
26
/* no known/supported struct */
27
return vn_sizeof_simple_pointer(NULL);
28
}
29
30
static inline size_t
31
vn_sizeof_VkExportMemoryAllocateInfo_self(const VkExportMemoryAllocateInfo *val)
32
{
33
size_t size = 0;
34
/* skip val->{sType,pNext} */
35
size += vn_sizeof_VkFlags(&val->handleTypes);
36
return size;
37
}
38
39
static inline size_t
40
vn_sizeof_VkExportMemoryAllocateInfo(const VkExportMemoryAllocateInfo *val)
41
{
42
size_t size = 0;
43
44
size += vn_sizeof_VkStructureType(&val->sType);
45
size += vn_sizeof_VkExportMemoryAllocateInfo_pnext(val->pNext);
46
size += vn_sizeof_VkExportMemoryAllocateInfo_self(val);
47
48
return size;
49
}
50
51
static inline void
52
vn_encode_VkExportMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
53
{
54
/* no known/supported struct */
55
vn_encode_simple_pointer(enc, NULL);
56
}
57
58
static inline void
59
vn_encode_VkExportMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
60
{
61
/* skip val->{sType,pNext} */
62
vn_encode_VkFlags(enc, &val->handleTypes);
63
}
64
65
static inline void
66
vn_encode_VkExportMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkExportMemoryAllocateInfo *val)
67
{
68
assert(val->sType == VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO);
69
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO });
70
vn_encode_VkExportMemoryAllocateInfo_pnext(enc, val->pNext);
71
vn_encode_VkExportMemoryAllocateInfo_self(enc, val);
72
}
73
74
/* struct VkMemoryAllocateFlagsInfo chain */
75
76
static inline size_t
77
vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(const void *val)
78
{
79
/* no known/supported struct */
80
return vn_sizeof_simple_pointer(NULL);
81
}
82
83
static inline size_t
84
vn_sizeof_VkMemoryAllocateFlagsInfo_self(const VkMemoryAllocateFlagsInfo *val)
85
{
86
size_t size = 0;
87
/* skip val->{sType,pNext} */
88
size += vn_sizeof_VkFlags(&val->flags);
89
size += vn_sizeof_uint32_t(&val->deviceMask);
90
return size;
91
}
92
93
static inline size_t
94
vn_sizeof_VkMemoryAllocateFlagsInfo(const VkMemoryAllocateFlagsInfo *val)
95
{
96
size_t size = 0;
97
98
size += vn_sizeof_VkStructureType(&val->sType);
99
size += vn_sizeof_VkMemoryAllocateFlagsInfo_pnext(val->pNext);
100
size += vn_sizeof_VkMemoryAllocateFlagsInfo_self(val);
101
102
return size;
103
}
104
105
static inline void
106
vn_encode_VkMemoryAllocateFlagsInfo_pnext(struct vn_cs_encoder *enc, const void *val)
107
{
108
/* no known/supported struct */
109
vn_encode_simple_pointer(enc, NULL);
110
}
111
112
static inline void
113
vn_encode_VkMemoryAllocateFlagsInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
114
{
115
/* skip val->{sType,pNext} */
116
vn_encode_VkFlags(enc, &val->flags);
117
vn_encode_uint32_t(enc, &val->deviceMask);
118
}
119
120
static inline void
121
vn_encode_VkMemoryAllocateFlagsInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateFlagsInfo *val)
122
{
123
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO);
124
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO });
125
vn_encode_VkMemoryAllocateFlagsInfo_pnext(enc, val->pNext);
126
vn_encode_VkMemoryAllocateFlagsInfo_self(enc, val);
127
}
128
129
/* struct VkMemoryDedicatedAllocateInfo chain */
130
131
static inline size_t
132
vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(const void *val)
133
{
134
/* no known/supported struct */
135
return vn_sizeof_simple_pointer(NULL);
136
}
137
138
static inline size_t
139
vn_sizeof_VkMemoryDedicatedAllocateInfo_self(const VkMemoryDedicatedAllocateInfo *val)
140
{
141
size_t size = 0;
142
/* skip val->{sType,pNext} */
143
size += vn_sizeof_VkImage(&val->image);
144
size += vn_sizeof_VkBuffer(&val->buffer);
145
return size;
146
}
147
148
static inline size_t
149
vn_sizeof_VkMemoryDedicatedAllocateInfo(const VkMemoryDedicatedAllocateInfo *val)
150
{
151
size_t size = 0;
152
153
size += vn_sizeof_VkStructureType(&val->sType);
154
size += vn_sizeof_VkMemoryDedicatedAllocateInfo_pnext(val->pNext);
155
size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self(val);
156
157
return size;
158
}
159
160
static inline void
161
vn_encode_VkMemoryDedicatedAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
162
{
163
/* no known/supported struct */
164
vn_encode_simple_pointer(enc, NULL);
165
}
166
167
static inline void
168
vn_encode_VkMemoryDedicatedAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
169
{
170
/* skip val->{sType,pNext} */
171
vn_encode_VkImage(enc, &val->image);
172
vn_encode_VkBuffer(enc, &val->buffer);
173
}
174
175
static inline void
176
vn_encode_VkMemoryDedicatedAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryDedicatedAllocateInfo *val)
177
{
178
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO);
179
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO });
180
vn_encode_VkMemoryDedicatedAllocateInfo_pnext(enc, val->pNext);
181
vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, val);
182
}
183
184
/* struct VkMemoryOpaqueCaptureAddressAllocateInfo chain */
185
186
static inline size_t
187
vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(const void *val)
188
{
189
/* no known/supported struct */
190
return vn_sizeof_simple_pointer(NULL);
191
}
192
193
static inline size_t
194
vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
195
{
196
size_t size = 0;
197
/* skip val->{sType,pNext} */
198
size += vn_sizeof_uint64_t(&val->opaqueCaptureAddress);
199
return size;
200
}
201
202
static inline size_t
203
vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo(const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
204
{
205
size_t size = 0;
206
207
size += vn_sizeof_VkStructureType(&val->sType);
208
size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(val->pNext);
209
size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self(val);
210
211
return size;
212
}
213
214
static inline void
215
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
216
{
217
/* no known/supported struct */
218
vn_encode_simple_pointer(enc, NULL);
219
}
220
221
static inline void
222
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
223
{
224
/* skip val->{sType,pNext} */
225
vn_encode_uint64_t(enc, &val->opaqueCaptureAddress);
226
}
227
228
static inline void
229
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryOpaqueCaptureAddressAllocateInfo *val)
230
{
231
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO);
232
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO });
233
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_pnext(enc, val->pNext);
234
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, val);
235
}
236
237
/* struct VkImportMemoryResourceInfoMESA chain */
238
239
static inline size_t
240
vn_sizeof_VkImportMemoryResourceInfoMESA_pnext(const void *val)
241
{
242
/* no known/supported struct */
243
return vn_sizeof_simple_pointer(NULL);
244
}
245
246
static inline size_t
247
vn_sizeof_VkImportMemoryResourceInfoMESA_self(const VkImportMemoryResourceInfoMESA *val)
248
{
249
size_t size = 0;
250
/* skip val->{sType,pNext} */
251
size += vn_sizeof_uint32_t(&val->resourceId);
252
return size;
253
}
254
255
static inline size_t
256
vn_sizeof_VkImportMemoryResourceInfoMESA(const VkImportMemoryResourceInfoMESA *val)
257
{
258
size_t size = 0;
259
260
size += vn_sizeof_VkStructureType(&val->sType);
261
size += vn_sizeof_VkImportMemoryResourceInfoMESA_pnext(val->pNext);
262
size += vn_sizeof_VkImportMemoryResourceInfoMESA_self(val);
263
264
return size;
265
}
266
267
static inline void
268
vn_encode_VkImportMemoryResourceInfoMESA_pnext(struct vn_cs_encoder *enc, const void *val)
269
{
270
/* no known/supported struct */
271
vn_encode_simple_pointer(enc, NULL);
272
}
273
274
static inline void
275
vn_encode_VkImportMemoryResourceInfoMESA_self(struct vn_cs_encoder *enc, const VkImportMemoryResourceInfoMESA *val)
276
{
277
/* skip val->{sType,pNext} */
278
vn_encode_uint32_t(enc, &val->resourceId);
279
}
280
281
static inline void
282
vn_encode_VkImportMemoryResourceInfoMESA(struct vn_cs_encoder *enc, const VkImportMemoryResourceInfoMESA *val)
283
{
284
assert(val->sType == VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA);
285
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA });
286
vn_encode_VkImportMemoryResourceInfoMESA_pnext(enc, val->pNext);
287
vn_encode_VkImportMemoryResourceInfoMESA_self(enc, val);
288
}
289
290
/* struct VkMemoryAllocateInfo chain */
291
292
static inline size_t
293
vn_sizeof_VkMemoryAllocateInfo_pnext(const void *val)
294
{
295
const VkBaseInStructure *pnext = val;
296
size_t size = 0;
297
298
while (pnext) {
299
switch ((int32_t)pnext->sType) {
300
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
301
size += vn_sizeof_simple_pointer(pnext);
302
size += vn_sizeof_VkStructureType(&pnext->sType);
303
size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
304
size += vn_sizeof_VkExportMemoryAllocateInfo_self((const VkExportMemoryAllocateInfo *)pnext);
305
return size;
306
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
307
size += vn_sizeof_simple_pointer(pnext);
308
size += vn_sizeof_VkStructureType(&pnext->sType);
309
size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
310
size += vn_sizeof_VkMemoryAllocateFlagsInfo_self((const VkMemoryAllocateFlagsInfo *)pnext);
311
return size;
312
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
313
size += vn_sizeof_simple_pointer(pnext);
314
size += vn_sizeof_VkStructureType(&pnext->sType);
315
size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
316
size += vn_sizeof_VkMemoryDedicatedAllocateInfo_self((const VkMemoryDedicatedAllocateInfo *)pnext);
317
return size;
318
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
319
size += vn_sizeof_simple_pointer(pnext);
320
size += vn_sizeof_VkStructureType(&pnext->sType);
321
size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
322
size += vn_sizeof_VkMemoryOpaqueCaptureAddressAllocateInfo_self((const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
323
return size;
324
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA:
325
size += vn_sizeof_simple_pointer(pnext);
326
size += vn_sizeof_VkStructureType(&pnext->sType);
327
size += vn_sizeof_VkMemoryAllocateInfo_pnext(pnext->pNext);
328
size += vn_sizeof_VkImportMemoryResourceInfoMESA_self((const VkImportMemoryResourceInfoMESA *)pnext);
329
return size;
330
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
331
default:
332
/* ignore unknown/unsupported struct */
333
break;
334
}
335
pnext = pnext->pNext;
336
}
337
338
return vn_sizeof_simple_pointer(NULL);
339
}
340
341
static inline size_t
342
vn_sizeof_VkMemoryAllocateInfo_self(const VkMemoryAllocateInfo *val)
343
{
344
size_t size = 0;
345
/* skip val->{sType,pNext} */
346
size += vn_sizeof_VkDeviceSize(&val->allocationSize);
347
size += vn_sizeof_uint32_t(&val->memoryTypeIndex);
348
return size;
349
}
350
351
static inline size_t
352
vn_sizeof_VkMemoryAllocateInfo(const VkMemoryAllocateInfo *val)
353
{
354
size_t size = 0;
355
356
size += vn_sizeof_VkStructureType(&val->sType);
357
size += vn_sizeof_VkMemoryAllocateInfo_pnext(val->pNext);
358
size += vn_sizeof_VkMemoryAllocateInfo_self(val);
359
360
return size;
361
}
362
363
static inline void
364
vn_encode_VkMemoryAllocateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
365
{
366
const VkBaseInStructure *pnext = val;
367
368
while (pnext) {
369
switch ((int32_t)pnext->sType) {
370
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
371
vn_encode_simple_pointer(enc, pnext);
372
vn_encode_VkStructureType(enc, &pnext->sType);
373
vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
374
vn_encode_VkExportMemoryAllocateInfo_self(enc, (const VkExportMemoryAllocateInfo *)pnext);
375
return;
376
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
377
vn_encode_simple_pointer(enc, pnext);
378
vn_encode_VkStructureType(enc, &pnext->sType);
379
vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
380
vn_encode_VkMemoryAllocateFlagsInfo_self(enc, (const VkMemoryAllocateFlagsInfo *)pnext);
381
return;
382
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
383
vn_encode_simple_pointer(enc, pnext);
384
vn_encode_VkStructureType(enc, &pnext->sType);
385
vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
386
vn_encode_VkMemoryDedicatedAllocateInfo_self(enc, (const VkMemoryDedicatedAllocateInfo *)pnext);
387
return;
388
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO:
389
vn_encode_simple_pointer(enc, pnext);
390
vn_encode_VkStructureType(enc, &pnext->sType);
391
vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
392
vn_encode_VkMemoryOpaqueCaptureAddressAllocateInfo_self(enc, (const VkMemoryOpaqueCaptureAddressAllocateInfo *)pnext);
393
return;
394
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA:
395
vn_encode_simple_pointer(enc, pnext);
396
vn_encode_VkStructureType(enc, &pnext->sType);
397
vn_encode_VkMemoryAllocateInfo_pnext(enc, pnext->pNext);
398
vn_encode_VkImportMemoryResourceInfoMESA_self(enc, (const VkImportMemoryResourceInfoMESA *)pnext);
399
return;
400
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
401
default:
402
/* ignore unknown/unsupported struct */
403
break;
404
}
405
pnext = pnext->pNext;
406
}
407
408
vn_encode_simple_pointer(enc, NULL);
409
}
410
411
static inline void
412
vn_encode_VkMemoryAllocateInfo_self(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
413
{
414
/* skip val->{sType,pNext} */
415
vn_encode_VkDeviceSize(enc, &val->allocationSize);
416
vn_encode_uint32_t(enc, &val->memoryTypeIndex);
417
}
418
419
static inline void
420
vn_encode_VkMemoryAllocateInfo(struct vn_cs_encoder *enc, const VkMemoryAllocateInfo *val)
421
{
422
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO);
423
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO });
424
vn_encode_VkMemoryAllocateInfo_pnext(enc, val->pNext);
425
vn_encode_VkMemoryAllocateInfo_self(enc, val);
426
}
427
428
/* struct VkMappedMemoryRange chain */
429
430
static inline size_t
431
vn_sizeof_VkMappedMemoryRange_pnext(const void *val)
432
{
433
/* no known/supported struct */
434
return vn_sizeof_simple_pointer(NULL);
435
}
436
437
static inline size_t
438
vn_sizeof_VkMappedMemoryRange_self(const VkMappedMemoryRange *val)
439
{
440
size_t size = 0;
441
/* skip val->{sType,pNext} */
442
size += vn_sizeof_VkDeviceMemory(&val->memory);
443
size += vn_sizeof_VkDeviceSize(&val->offset);
444
size += vn_sizeof_VkDeviceSize(&val->size);
445
return size;
446
}
447
448
static inline size_t
449
vn_sizeof_VkMappedMemoryRange(const VkMappedMemoryRange *val)
450
{
451
size_t size = 0;
452
453
size += vn_sizeof_VkStructureType(&val->sType);
454
size += vn_sizeof_VkMappedMemoryRange_pnext(val->pNext);
455
size += vn_sizeof_VkMappedMemoryRange_self(val);
456
457
return size;
458
}
459
460
static inline void
461
vn_encode_VkMappedMemoryRange_pnext(struct vn_cs_encoder *enc, const void *val)
462
{
463
/* no known/supported struct */
464
vn_encode_simple_pointer(enc, NULL);
465
}
466
467
static inline void
468
vn_encode_VkMappedMemoryRange_self(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
469
{
470
/* skip val->{sType,pNext} */
471
vn_encode_VkDeviceMemory(enc, &val->memory);
472
vn_encode_VkDeviceSize(enc, &val->offset);
473
vn_encode_VkDeviceSize(enc, &val->size);
474
}
475
476
static inline void
477
vn_encode_VkMappedMemoryRange(struct vn_cs_encoder *enc, const VkMappedMemoryRange *val)
478
{
479
assert(val->sType == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
480
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE });
481
vn_encode_VkMappedMemoryRange_pnext(enc, val->pNext);
482
vn_encode_VkMappedMemoryRange_self(enc, val);
483
}
484
485
static inline void
486
vn_decode_VkMappedMemoryRange_pnext(struct vn_cs_decoder *dec, const void *val)
487
{
488
/* no known/supported struct */
489
if (vn_decode_simple_pointer(dec))
490
assert(false);
491
}
492
493
static inline void
494
vn_decode_VkMappedMemoryRange_self(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
495
{
496
/* skip val->{sType,pNext} */
497
vn_decode_VkDeviceMemory(dec, &val->memory);
498
vn_decode_VkDeviceSize(dec, &val->offset);
499
vn_decode_VkDeviceSize(dec, &val->size);
500
}
501
502
static inline void
503
vn_decode_VkMappedMemoryRange(struct vn_cs_decoder *dec, VkMappedMemoryRange *val)
504
{
505
VkStructureType stype;
506
vn_decode_VkStructureType(dec, &stype);
507
assert(stype == VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE);
508
509
assert(val->sType == stype);
510
vn_decode_VkMappedMemoryRange_pnext(dec, val->pNext);
511
vn_decode_VkMappedMemoryRange_self(dec, val);
512
}
513
514
/* struct VkDeviceMemoryOpaqueCaptureAddressInfo chain */
515
516
static inline size_t
517
vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(const void *val)
518
{
519
/* no known/supported struct */
520
return vn_sizeof_simple_pointer(NULL);
521
}
522
523
static inline size_t
524
vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
525
{
526
size_t size = 0;
527
/* skip val->{sType,pNext} */
528
size += vn_sizeof_VkDeviceMemory(&val->memory);
529
return size;
530
}
531
532
static inline size_t
533
vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
534
{
535
size_t size = 0;
536
537
size += vn_sizeof_VkStructureType(&val->sType);
538
size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(val->pNext);
539
size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo_self(val);
540
541
return size;
542
}
543
544
static inline void
545
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_encoder *enc, const void *val)
546
{
547
/* no known/supported struct */
548
vn_encode_simple_pointer(enc, NULL);
549
}
550
551
static inline void
552
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
553
{
554
/* skip val->{sType,pNext} */
555
vn_encode_VkDeviceMemory(enc, &val->memory);
556
}
557
558
static inline void
559
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_encoder *enc, const VkDeviceMemoryOpaqueCaptureAddressInfo *val)
560
{
561
assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
562
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO });
563
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(enc, val->pNext);
564
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(enc, val);
565
}
566
567
static inline void
568
vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(struct vn_cs_decoder *dec, const void *val)
569
{
570
/* no known/supported struct */
571
if (vn_decode_simple_pointer(dec))
572
assert(false);
573
}
574
575
static inline void
576
vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
577
{
578
/* skip val->{sType,pNext} */
579
vn_decode_VkDeviceMemory(dec, &val->memory);
580
}
581
582
static inline void
583
vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo(struct vn_cs_decoder *dec, VkDeviceMemoryOpaqueCaptureAddressInfo *val)
584
{
585
VkStructureType stype;
586
vn_decode_VkStructureType(dec, &stype);
587
assert(stype == VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO);
588
589
assert(val->sType == stype);
590
vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_pnext(dec, val->pNext);
591
vn_decode_VkDeviceMemoryOpaqueCaptureAddressInfo_self(dec, val);
592
}
593
594
static inline size_t vn_sizeof_vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
595
{
596
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
597
const VkFlags cmd_flags = 0;
598
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
599
600
cmd_size += vn_sizeof_VkDevice(&device);
601
cmd_size += vn_sizeof_simple_pointer(pAllocateInfo);
602
if (pAllocateInfo)
603
cmd_size += vn_sizeof_VkMemoryAllocateInfo(pAllocateInfo);
604
cmd_size += vn_sizeof_simple_pointer(pAllocator);
605
if (pAllocator)
606
assert(false);
607
cmd_size += vn_sizeof_simple_pointer(pMemory);
608
if (pMemory)
609
cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
610
611
return cmd_size;
612
}
613
614
static inline void vn_encode_vkAllocateMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
615
{
616
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
617
618
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
619
vn_encode_VkFlags(enc, &cmd_flags);
620
621
vn_encode_VkDevice(enc, &device);
622
if (vn_encode_simple_pointer(enc, pAllocateInfo))
623
vn_encode_VkMemoryAllocateInfo(enc, pAllocateInfo);
624
if (vn_encode_simple_pointer(enc, pAllocator))
625
assert(false);
626
if (vn_encode_simple_pointer(enc, pMemory))
627
vn_encode_VkDeviceMemory(enc, pMemory);
628
}
629
630
static inline size_t vn_sizeof_vkAllocateMemory_reply(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
631
{
632
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkAllocateMemory_EXT;
633
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
634
635
VkResult ret;
636
cmd_size += vn_sizeof_VkResult(&ret);
637
/* skip device */
638
/* skip pAllocateInfo */
639
/* skip pAllocator */
640
cmd_size += vn_sizeof_simple_pointer(pMemory);
641
if (pMemory)
642
cmd_size += vn_sizeof_VkDeviceMemory(pMemory);
643
644
return cmd_size;
645
}
646
647
static inline VkResult vn_decode_vkAllocateMemory_reply(struct vn_cs_decoder *dec, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
648
{
649
VkCommandTypeEXT command_type;
650
vn_decode_VkCommandTypeEXT(dec, &command_type);
651
assert(command_type == VK_COMMAND_TYPE_vkAllocateMemory_EXT);
652
653
VkResult ret;
654
vn_decode_VkResult(dec, &ret);
655
/* skip device */
656
/* skip pAllocateInfo */
657
/* skip pAllocator */
658
if (vn_decode_simple_pointer(dec)) {
659
vn_decode_VkDeviceMemory(dec, pMemory);
660
} else {
661
pMemory = NULL;
662
}
663
664
return ret;
665
}
666
667
static inline size_t vn_sizeof_vkFreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
668
{
669
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
670
const VkFlags cmd_flags = 0;
671
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
672
673
cmd_size += vn_sizeof_VkDevice(&device);
674
cmd_size += vn_sizeof_VkDeviceMemory(&memory);
675
cmd_size += vn_sizeof_simple_pointer(pAllocator);
676
if (pAllocator)
677
assert(false);
678
679
return cmd_size;
680
}
681
682
static inline void vn_encode_vkFreeMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
683
{
684
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
685
686
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
687
vn_encode_VkFlags(enc, &cmd_flags);
688
689
vn_encode_VkDevice(enc, &device);
690
vn_encode_VkDeviceMemory(enc, &memory);
691
if (vn_encode_simple_pointer(enc, pAllocator))
692
assert(false);
693
}
694
695
static inline size_t vn_sizeof_vkFreeMemory_reply(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
696
{
697
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFreeMemory_EXT;
698
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
699
700
/* skip device */
701
/* skip memory */
702
/* skip pAllocator */
703
704
return cmd_size;
705
}
706
707
static inline void vn_decode_vkFreeMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
708
{
709
VkCommandTypeEXT command_type;
710
vn_decode_VkCommandTypeEXT(dec, &command_type);
711
assert(command_type == VK_COMMAND_TYPE_vkFreeMemory_EXT);
712
713
/* skip device */
714
/* skip memory */
715
/* skip pAllocator */
716
}
717
718
static inline size_t vn_sizeof_vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
719
{
720
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
721
const VkFlags cmd_flags = 0;
722
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
723
724
cmd_size += vn_sizeof_VkDevice(&device);
725
cmd_size += vn_sizeof_VkDeviceMemory(&memory);
726
727
return cmd_size;
728
}
729
730
static inline void vn_encode_vkUnmapMemory(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory)
731
{
732
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
733
734
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
735
vn_encode_VkFlags(enc, &cmd_flags);
736
737
vn_encode_VkDevice(enc, &device);
738
vn_encode_VkDeviceMemory(enc, &memory);
739
}
740
741
static inline size_t vn_sizeof_vkUnmapMemory_reply(VkDevice device, VkDeviceMemory memory)
742
{
743
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkUnmapMemory_EXT;
744
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
745
746
/* skip device */
747
/* skip memory */
748
749
return cmd_size;
750
}
751
752
static inline void vn_decode_vkUnmapMemory_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory)
753
{
754
VkCommandTypeEXT command_type;
755
vn_decode_VkCommandTypeEXT(dec, &command_type);
756
assert(command_type == VK_COMMAND_TYPE_vkUnmapMemory_EXT);
757
758
/* skip device */
759
/* skip memory */
760
}
761
762
static inline size_t vn_sizeof_vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
763
{
764
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
765
const VkFlags cmd_flags = 0;
766
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
767
768
cmd_size += vn_sizeof_VkDevice(&device);
769
cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
770
if (pMemoryRanges) {
771
cmd_size += vn_sizeof_array_size(memoryRangeCount);
772
for (uint32_t i = 0; i < memoryRangeCount; i++)
773
cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
774
} else {
775
cmd_size += vn_sizeof_array_size(0);
776
}
777
778
return cmd_size;
779
}
780
781
static inline void vn_encode_vkFlushMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
782
{
783
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
784
785
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
786
vn_encode_VkFlags(enc, &cmd_flags);
787
788
vn_encode_VkDevice(enc, &device);
789
vn_encode_uint32_t(enc, &memoryRangeCount);
790
if (pMemoryRanges) {
791
vn_encode_array_size(enc, memoryRangeCount);
792
for (uint32_t i = 0; i < memoryRangeCount; i++)
793
vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
794
} else {
795
vn_encode_array_size(enc, 0);
796
}
797
}
798
799
static inline size_t vn_sizeof_vkFlushMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
800
{
801
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT;
802
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
803
804
VkResult ret;
805
cmd_size += vn_sizeof_VkResult(&ret);
806
/* skip device */
807
/* skip memoryRangeCount */
808
/* skip pMemoryRanges */
809
810
return cmd_size;
811
}
812
813
static inline VkResult vn_decode_vkFlushMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
814
{
815
VkCommandTypeEXT command_type;
816
vn_decode_VkCommandTypeEXT(dec, &command_type);
817
assert(command_type == VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT);
818
819
VkResult ret;
820
vn_decode_VkResult(dec, &ret);
821
/* skip device */
822
/* skip memoryRangeCount */
823
/* skip pMemoryRanges */
824
825
return ret;
826
}
827
828
static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
829
{
830
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
831
const VkFlags cmd_flags = 0;
832
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
833
834
cmd_size += vn_sizeof_VkDevice(&device);
835
cmd_size += vn_sizeof_uint32_t(&memoryRangeCount);
836
if (pMemoryRanges) {
837
cmd_size += vn_sizeof_array_size(memoryRangeCount);
838
for (uint32_t i = 0; i < memoryRangeCount; i++)
839
cmd_size += vn_sizeof_VkMappedMemoryRange(&pMemoryRanges[i]);
840
} else {
841
cmd_size += vn_sizeof_array_size(0);
842
}
843
844
return cmd_size;
845
}
846
847
static inline void vn_encode_vkInvalidateMappedMemoryRanges(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
848
{
849
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
850
851
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
852
vn_encode_VkFlags(enc, &cmd_flags);
853
854
vn_encode_VkDevice(enc, &device);
855
vn_encode_uint32_t(enc, &memoryRangeCount);
856
if (pMemoryRanges) {
857
vn_encode_array_size(enc, memoryRangeCount);
858
for (uint32_t i = 0; i < memoryRangeCount; i++)
859
vn_encode_VkMappedMemoryRange(enc, &pMemoryRanges[i]);
860
} else {
861
vn_encode_array_size(enc, 0);
862
}
863
}
864
865
static inline size_t vn_sizeof_vkInvalidateMappedMemoryRanges_reply(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
866
{
867
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT;
868
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
869
870
VkResult ret;
871
cmd_size += vn_sizeof_VkResult(&ret);
872
/* skip device */
873
/* skip memoryRangeCount */
874
/* skip pMemoryRanges */
875
876
return cmd_size;
877
}
878
879
static inline VkResult vn_decode_vkInvalidateMappedMemoryRanges_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
880
{
881
VkCommandTypeEXT command_type;
882
vn_decode_VkCommandTypeEXT(dec, &command_type);
883
assert(command_type == VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT);
884
885
VkResult ret;
886
vn_decode_VkResult(dec, &ret);
887
/* skip device */
888
/* skip memoryRangeCount */
889
/* skip pMemoryRanges */
890
891
return ret;
892
}
893
894
static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
895
{
896
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
897
const VkFlags cmd_flags = 0;
898
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
899
900
cmd_size += vn_sizeof_VkDevice(&device);
901
cmd_size += vn_sizeof_VkDeviceMemory(&memory);
902
cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes); /* out */
903
904
return cmd_size;
905
}
906
907
static inline void vn_encode_vkGetDeviceMemoryCommitment(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
908
{
909
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
910
911
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
912
vn_encode_VkFlags(enc, &cmd_flags);
913
914
vn_encode_VkDevice(enc, &device);
915
vn_encode_VkDeviceMemory(enc, &memory);
916
vn_encode_simple_pointer(enc, pCommittedMemoryInBytes); /* out */
917
}
918
919
static inline size_t vn_sizeof_vkGetDeviceMemoryCommitment_reply(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
920
{
921
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT;
922
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
923
924
/* skip device */
925
/* skip memory */
926
cmd_size += vn_sizeof_simple_pointer(pCommittedMemoryInBytes);
927
if (pCommittedMemoryInBytes)
928
cmd_size += vn_sizeof_VkDeviceSize(pCommittedMemoryInBytes);
929
930
return cmd_size;
931
}
932
933
static inline void vn_decode_vkGetDeviceMemoryCommitment_reply(struct vn_cs_decoder *dec, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
934
{
935
VkCommandTypeEXT command_type;
936
vn_decode_VkCommandTypeEXT(dec, &command_type);
937
assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT);
938
939
/* skip device */
940
/* skip memory */
941
if (vn_decode_simple_pointer(dec)) {
942
vn_decode_VkDeviceSize(dec, pCommittedMemoryInBytes);
943
} else {
944
pCommittedMemoryInBytes = NULL;
945
}
946
}
947
948
static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
949
{
950
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
951
const VkFlags cmd_flags = 0;
952
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
953
954
cmd_size += vn_sizeof_VkDevice(&device);
955
cmd_size += vn_sizeof_simple_pointer(pInfo);
956
if (pInfo)
957
cmd_size += vn_sizeof_VkDeviceMemoryOpaqueCaptureAddressInfo(pInfo);
958
959
return cmd_size;
960
}
961
962
static inline void vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
963
{
964
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
965
966
vn_encode_VkCommandTypeEXT(enc, &cmd_type);
967
vn_encode_VkFlags(enc, &cmd_flags);
968
969
vn_encode_VkDevice(enc, &device);
970
if (vn_encode_simple_pointer(enc, pInfo))
971
vn_encode_VkDeviceMemoryOpaqueCaptureAddressInfo(enc, pInfo);
972
}
973
974
static inline size_t vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
975
{
976
const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT;
977
size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
978
979
uint64_t ret;
980
cmd_size += vn_sizeof_uint64_t(&ret);
981
/* skip device */
982
/* skip pInfo */
983
984
return cmd_size;
985
}
986
987
static inline uint64_t vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
988
{
989
VkCommandTypeEXT command_type;
990
vn_decode_VkCommandTypeEXT(dec, &command_type);
991
assert(command_type == VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT);
992
993
uint64_t ret;
994
vn_decode_uint64_t(dec, &ret);
995
/* skip device */
996
/* skip pInfo */
997
998
return ret;
999
}
1000
1001
static inline void vn_submit_vkAllocateMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory, struct vn_instance_submit_command *submit)
1002
{
1003
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1004
void *cmd_data = local_cmd_data;
1005
size_t cmd_size = vn_sizeof_vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
1006
if (cmd_size > sizeof(local_cmd_data)) {
1007
cmd_data = malloc(cmd_size);
1008
if (!cmd_data)
1009
cmd_size = 0;
1010
}
1011
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkAllocateMemory_reply(device, pAllocateInfo, pAllocator, pMemory) : 0;
1012
1013
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1014
if (cmd_size) {
1015
vn_encode_vkAllocateMemory(enc, cmd_flags, device, pAllocateInfo, pAllocator, pMemory);
1016
vn_instance_submit_command(vn_instance, submit);
1017
if (cmd_data != local_cmd_data)
1018
free(cmd_data);
1019
}
1020
}
1021
1022
static inline void vn_submit_vkFreeMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)
1023
{
1024
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1025
void *cmd_data = local_cmd_data;
1026
size_t cmd_size = vn_sizeof_vkFreeMemory(device, memory, pAllocator);
1027
if (cmd_size > sizeof(local_cmd_data)) {
1028
cmd_data = malloc(cmd_size);
1029
if (!cmd_data)
1030
cmd_size = 0;
1031
}
1032
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFreeMemory_reply(device, memory, pAllocator) : 0;
1033
1034
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1035
if (cmd_size) {
1036
vn_encode_vkFreeMemory(enc, cmd_flags, device, memory, pAllocator);
1037
vn_instance_submit_command(vn_instance, submit);
1038
if (cmd_data != local_cmd_data)
1039
free(cmd_data);
1040
}
1041
}
1042
1043
static inline void vn_submit_vkUnmapMemory(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, struct vn_instance_submit_command *submit)
1044
{
1045
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1046
void *cmd_data = local_cmd_data;
1047
size_t cmd_size = vn_sizeof_vkUnmapMemory(device, memory);
1048
if (cmd_size > sizeof(local_cmd_data)) {
1049
cmd_data = malloc(cmd_size);
1050
if (!cmd_data)
1051
cmd_size = 0;
1052
}
1053
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkUnmapMemory_reply(device, memory) : 0;
1054
1055
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1056
if (cmd_size) {
1057
vn_encode_vkUnmapMemory(enc, cmd_flags, device, memory);
1058
vn_instance_submit_command(vn_instance, submit);
1059
if (cmd_data != local_cmd_data)
1060
free(cmd_data);
1061
}
1062
}
1063
1064
static inline void vn_submit_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
1065
{
1066
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1067
void *cmd_data = local_cmd_data;
1068
size_t cmd_size = vn_sizeof_vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
1069
if (cmd_size > sizeof(local_cmd_data)) {
1070
cmd_data = malloc(cmd_size);
1071
if (!cmd_data)
1072
cmd_size = 0;
1073
}
1074
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkFlushMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
1075
1076
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1077
if (cmd_size) {
1078
vn_encode_vkFlushMappedMemoryRanges(enc, cmd_flags, device, memoryRangeCount, pMemoryRanges);
1079
vn_instance_submit_command(vn_instance, submit);
1080
if (cmd_data != local_cmd_data)
1081
free(cmd_data);
1082
}
1083
}
1084
1085
static inline void vn_submit_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges, struct vn_instance_submit_command *submit)
1086
{
1087
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1088
void *cmd_data = local_cmd_data;
1089
size_t cmd_size = vn_sizeof_vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
1090
if (cmd_size > sizeof(local_cmd_data)) {
1091
cmd_data = malloc(cmd_size);
1092
if (!cmd_data)
1093
cmd_size = 0;
1094
}
1095
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkInvalidateMappedMemoryRanges_reply(device, memoryRangeCount, pMemoryRanges) : 0;
1096
1097
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1098
if (cmd_size) {
1099
vn_encode_vkInvalidateMappedMemoryRanges(enc, cmd_flags, device, memoryRangeCount, pMemoryRanges);
1100
vn_instance_submit_command(vn_instance, submit);
1101
if (cmd_data != local_cmd_data)
1102
free(cmd_data);
1103
}
1104
}
1105
1106
static inline void vn_submit_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes, struct vn_instance_submit_command *submit)
1107
{
1108
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1109
void *cmd_data = local_cmd_data;
1110
size_t cmd_size = vn_sizeof_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
1111
if (cmd_size > sizeof(local_cmd_data)) {
1112
cmd_data = malloc(cmd_size);
1113
if (!cmd_data)
1114
cmd_size = 0;
1115
}
1116
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryCommitment_reply(device, memory, pCommittedMemoryInBytes) : 0;
1117
1118
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1119
if (cmd_size) {
1120
vn_encode_vkGetDeviceMemoryCommitment(enc, cmd_flags, device, memory, pCommittedMemoryInBytes);
1121
vn_instance_submit_command(vn_instance, submit);
1122
if (cmd_data != local_cmd_data)
1123
free(cmd_data);
1124
}
1125
}
1126
1127
static inline void vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo, struct vn_instance_submit_command *submit)
1128
{
1129
uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1130
void *cmd_data = local_cmd_data;
1131
size_t cmd_size = vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
1132
if (cmd_size > sizeof(local_cmd_data)) {
1133
cmd_data = malloc(cmd_size);
1134
if (!cmd_data)
1135
cmd_size = 0;
1136
}
1137
const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceMemoryOpaqueCaptureAddress_reply(device, pInfo) : 0;
1138
1139
struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1140
if (cmd_size) {
1141
vn_encode_vkGetDeviceMemoryOpaqueCaptureAddress(enc, cmd_flags, device, pInfo);
1142
vn_instance_submit_command(vn_instance, submit);
1143
if (cmd_data != local_cmd_data)
1144
free(cmd_data);
1145
}
1146
}
1147
1148
static inline VkResult vn_call_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
1149
{
1150
struct vn_instance_submit_command submit;
1151
vn_submit_vkAllocateMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocateInfo, pAllocator, pMemory, &submit);
1152
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1153
if (dec) {
1154
const VkResult ret = vn_decode_vkAllocateMemory_reply(dec, device, pAllocateInfo, pAllocator, pMemory);
1155
vn_instance_free_command_reply(vn_instance, &submit);
1156
return ret;
1157
} else {
1158
return VK_ERROR_OUT_OF_HOST_MEMORY;
1159
}
1160
}
1161
1162
static inline void vn_async_vkAllocateMemory(struct vn_instance *vn_instance, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
1163
{
1164
struct vn_instance_submit_command submit;
1165
vn_submit_vkAllocateMemory(vn_instance, 0, device, pAllocateInfo, pAllocator, pMemory, &submit);
1166
}
1167
1168
static inline void vn_call_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
1169
{
1170
struct vn_instance_submit_command submit;
1171
vn_submit_vkFreeMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pAllocator, &submit);
1172
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1173
if (dec) {
1174
vn_decode_vkFreeMemory_reply(dec, device, memory, pAllocator);
1175
vn_instance_free_command_reply(vn_instance, &submit);
1176
}
1177
}
1178
1179
static inline void vn_async_vkFreeMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
1180
{
1181
struct vn_instance_submit_command submit;
1182
vn_submit_vkFreeMemory(vn_instance, 0, device, memory, pAllocator, &submit);
1183
}
1184
1185
static inline void vn_call_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
1186
{
1187
struct vn_instance_submit_command submit;
1188
vn_submit_vkUnmapMemory(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, &submit);
1189
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1190
if (dec) {
1191
vn_decode_vkUnmapMemory_reply(dec, device, memory);
1192
vn_instance_free_command_reply(vn_instance, &submit);
1193
}
1194
}
1195
1196
static inline void vn_async_vkUnmapMemory(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory)
1197
{
1198
struct vn_instance_submit_command submit;
1199
vn_submit_vkUnmapMemory(vn_instance, 0, device, memory, &submit);
1200
}
1201
1202
static inline VkResult vn_call_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1203
{
1204
struct vn_instance_submit_command submit;
1205
vn_submit_vkFlushMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
1206
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1207
if (dec) {
1208
const VkResult ret = vn_decode_vkFlushMappedMemoryRanges_reply(dec, device, memoryRangeCount, pMemoryRanges);
1209
vn_instance_free_command_reply(vn_instance, &submit);
1210
return ret;
1211
} else {
1212
return VK_ERROR_OUT_OF_HOST_MEMORY;
1213
}
1214
}
1215
1216
static inline void vn_async_vkFlushMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1217
{
1218
struct vn_instance_submit_command submit;
1219
vn_submit_vkFlushMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
1220
}
1221
1222
static inline VkResult vn_call_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1223
{
1224
struct vn_instance_submit_command submit;
1225
vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memoryRangeCount, pMemoryRanges, &submit);
1226
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1227
if (dec) {
1228
const VkResult ret = vn_decode_vkInvalidateMappedMemoryRanges_reply(dec, device, memoryRangeCount, pMemoryRanges);
1229
vn_instance_free_command_reply(vn_instance, &submit);
1230
return ret;
1231
} else {
1232
return VK_ERROR_OUT_OF_HOST_MEMORY;
1233
}
1234
}
1235
1236
static inline void vn_async_vkInvalidateMappedMemoryRanges(struct vn_instance *vn_instance, VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1237
{
1238
struct vn_instance_submit_command submit;
1239
vn_submit_vkInvalidateMappedMemoryRanges(vn_instance, 0, device, memoryRangeCount, pMemoryRanges, &submit);
1240
}
1241
1242
static inline void vn_call_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
1243
{
1244
struct vn_instance_submit_command submit;
1245
vn_submit_vkGetDeviceMemoryCommitment(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, memory, pCommittedMemoryInBytes, &submit);
1246
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1247
if (dec) {
1248
vn_decode_vkGetDeviceMemoryCommitment_reply(dec, device, memory, pCommittedMemoryInBytes);
1249
vn_instance_free_command_reply(vn_instance, &submit);
1250
}
1251
}
1252
1253
static inline void vn_async_vkGetDeviceMemoryCommitment(struct vn_instance *vn_instance, VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
1254
{
1255
struct vn_instance_submit_command submit;
1256
vn_submit_vkGetDeviceMemoryCommitment(vn_instance, 0, device, memory, pCommittedMemoryInBytes, &submit);
1257
}
1258
1259
static inline uint64_t vn_call_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
1260
{
1261
struct vn_instance_submit_command submit;
1262
vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pInfo, &submit);
1263
struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1264
if (dec) {
1265
const uint64_t ret = vn_decode_vkGetDeviceMemoryOpaqueCaptureAddress_reply(dec, device, pInfo);
1266
vn_instance_free_command_reply(vn_instance, &submit);
1267
return ret;
1268
} else {
1269
return VK_ERROR_OUT_OF_HOST_MEMORY;
1270
}
1271
}
1272
1273
static inline void vn_async_vkGetDeviceMemoryOpaqueCaptureAddress(struct vn_instance *vn_instance, VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
1274
{
1275
struct vn_instance_submit_command submit;
1276
vn_submit_vkGetDeviceMemoryOpaqueCaptureAddress(vn_instance, 0, device, pInfo, &submit);
1277
}
1278
1279
#endif /* VN_PROTOCOL_DRIVER_DEVICE_MEMORY_H */
1280
1281