• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 // Autogenerated module goldfish_vk_reserved_marshaling_guest
17 //
18 // (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml
19 // -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
20 //
21 // Please do not modify directly;
22 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
23 // or directly from Python by defining:
24 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
25 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
26 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
27 //
28 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
29 // $CEREAL_OUTPUT_DIR
30 //
31 
32 #include "goldfish_vk_reserved_marshaling_guest.h"
33 
34 #include <cstring>
35 
36 #include "Resources.h"
37 #include "goldfish_vk_extension_structs_guest.h"
38 #include "goldfish_vk_private_defs.h"
39 
40 namespace gfxstream {
41 namespace vk {
42 
43 void reservedmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
44                                       const void* structExtension, uint8_t** ptr);
45 
46 void reservedunmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
47                                         void* structExtension_out, uint8_t** ptr);
48 
49 #ifdef VK_VERSION_1_0
reservedmarshal_VkExtent2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent2D * forMarshaling,uint8_t ** ptr)50 void reservedmarshal_VkExtent2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
51                                 const VkExtent2D* forMarshaling, uint8_t** ptr) {
52     (void)vkStream;
53     (void)rootType;
54     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
55     *ptr += sizeof(uint32_t);
56     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
57     *ptr += sizeof(uint32_t);
58 }
59 
reservedmarshal_VkExtent3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent3D * forMarshaling,uint8_t ** ptr)60 void reservedmarshal_VkExtent3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
61                                 const VkExtent3D* forMarshaling, uint8_t** ptr) {
62     (void)vkStream;
63     (void)rootType;
64     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
65     *ptr += sizeof(uint32_t);
66     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
67     *ptr += sizeof(uint32_t);
68     memcpy(*ptr, (uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
69     *ptr += sizeof(uint32_t);
70 }
71 
reservedmarshal_VkOffset2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset2D * forMarshaling,uint8_t ** ptr)72 void reservedmarshal_VkOffset2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
73                                 const VkOffset2D* forMarshaling, uint8_t** ptr) {
74     (void)vkStream;
75     (void)rootType;
76     memcpy(*ptr, (int32_t*)&forMarshaling->x, sizeof(int32_t));
77     *ptr += sizeof(int32_t);
78     memcpy(*ptr, (int32_t*)&forMarshaling->y, sizeof(int32_t));
79     *ptr += sizeof(int32_t);
80 }
81 
reservedmarshal_VkOffset3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset3D * forMarshaling,uint8_t ** ptr)82 void reservedmarshal_VkOffset3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
83                                 const VkOffset3D* forMarshaling, uint8_t** ptr) {
84     (void)vkStream;
85     (void)rootType;
86     memcpy(*ptr, (int32_t*)&forMarshaling->x, sizeof(int32_t));
87     *ptr += sizeof(int32_t);
88     memcpy(*ptr, (int32_t*)&forMarshaling->y, sizeof(int32_t));
89     *ptr += sizeof(int32_t);
90     memcpy(*ptr, (int32_t*)&forMarshaling->z, sizeof(int32_t));
91     *ptr += sizeof(int32_t);
92 }
93 
reservedmarshal_VkRect2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRect2D * forMarshaling,uint8_t ** ptr)94 void reservedmarshal_VkRect2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
95                               const VkRect2D* forMarshaling, uint8_t** ptr) {
96     (void)vkStream;
97     (void)rootType;
98     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset), ptr);
99     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent), ptr);
100 }
101 
reservedmarshal_VkBaseInStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseInStructure * forMarshaling,uint8_t ** ptr)102 void reservedmarshal_VkBaseInStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
103                                        const VkBaseInStructure* forMarshaling, uint8_t** ptr) {
104     (void)vkStream;
105     (void)rootType;
106     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
107     *ptr += sizeof(VkStructureType);
108     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
109         rootType = forMarshaling->sType;
110     }
111     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
112 }
113 
reservedmarshal_VkBaseOutStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseOutStructure * forMarshaling,uint8_t ** ptr)114 void reservedmarshal_VkBaseOutStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
115                                         const VkBaseOutStructure* forMarshaling, uint8_t** ptr) {
116     (void)vkStream;
117     (void)rootType;
118     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
119     *ptr += sizeof(VkStructureType);
120     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
121         rootType = forMarshaling->sType;
122     }
123     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
124 }
125 
reservedmarshal_VkBufferMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier * forMarshaling,uint8_t ** ptr)126 void reservedmarshal_VkBufferMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
127                                            const VkBufferMemoryBarrier* forMarshaling,
128                                            uint8_t** ptr) {
129     (void)vkStream;
130     (void)rootType;
131     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
132     *ptr += sizeof(VkStructureType);
133     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
134         rootType = forMarshaling->sType;
135     }
136     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
137     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
138     *ptr += sizeof(VkAccessFlags);
139     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
140     *ptr += sizeof(VkAccessFlags);
141     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
142     *ptr += sizeof(uint32_t);
143     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
144     *ptr += sizeof(uint32_t);
145     uint64_t cgen_var_0;
146     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
147     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
148     *ptr += 1 * 8;
149     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
150     *ptr += sizeof(VkDeviceSize);
151     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
152     *ptr += sizeof(VkDeviceSize);
153 }
154 
reservedmarshal_VkDispatchIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDispatchIndirectCommand * forMarshaling,uint8_t ** ptr)155 void reservedmarshal_VkDispatchIndirectCommand(VulkanStreamGuest* vkStream,
156                                                VkStructureType rootType,
157                                                const VkDispatchIndirectCommand* forMarshaling,
158                                                uint8_t** ptr) {
159     (void)vkStream;
160     (void)rootType;
161     memcpy(*ptr, (uint32_t*)&forMarshaling->x, sizeof(uint32_t));
162     *ptr += sizeof(uint32_t);
163     memcpy(*ptr, (uint32_t*)&forMarshaling->y, sizeof(uint32_t));
164     *ptr += sizeof(uint32_t);
165     memcpy(*ptr, (uint32_t*)&forMarshaling->z, sizeof(uint32_t));
166     *ptr += sizeof(uint32_t);
167 }
168 
reservedmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndexedIndirectCommand * forMarshaling,uint8_t ** ptr)169 void reservedmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest* vkStream,
170                                                   VkStructureType rootType,
171                                                   const VkDrawIndexedIndirectCommand* forMarshaling,
172                                                   uint8_t** ptr) {
173     (void)vkStream;
174     (void)rootType;
175     memcpy(*ptr, (uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
176     *ptr += sizeof(uint32_t);
177     memcpy(*ptr, (uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
178     *ptr += sizeof(uint32_t);
179     memcpy(*ptr, (uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
180     *ptr += sizeof(uint32_t);
181     memcpy(*ptr, (int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
182     *ptr += sizeof(int32_t);
183     memcpy(*ptr, (uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
184     *ptr += sizeof(uint32_t);
185 }
186 
reservedmarshal_VkDrawIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndirectCommand * forMarshaling,uint8_t ** ptr)187 void reservedmarshal_VkDrawIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
188                                            const VkDrawIndirectCommand* forMarshaling,
189                                            uint8_t** ptr) {
190     (void)vkStream;
191     (void)rootType;
192     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
193     *ptr += sizeof(uint32_t);
194     memcpy(*ptr, (uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
195     *ptr += sizeof(uint32_t);
196     memcpy(*ptr, (uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
197     *ptr += sizeof(uint32_t);
198     memcpy(*ptr, (uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
199     *ptr += sizeof(uint32_t);
200 }
201 
reservedmarshal_VkImageSubresourceRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceRange * forMarshaling,uint8_t ** ptr)202 void reservedmarshal_VkImageSubresourceRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
203                                              const VkImageSubresourceRange* forMarshaling,
204                                              uint8_t** ptr) {
205     (void)vkStream;
206     (void)rootType;
207     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
208     *ptr += sizeof(VkImageAspectFlags);
209     memcpy(*ptr, (uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
210     *ptr += sizeof(uint32_t);
211     memcpy(*ptr, (uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
212     *ptr += sizeof(uint32_t);
213     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
214     *ptr += sizeof(uint32_t);
215     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
216     *ptr += sizeof(uint32_t);
217 }
218 
reservedmarshal_VkImageMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier * forMarshaling,uint8_t ** ptr)219 void reservedmarshal_VkImageMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
220                                           const VkImageMemoryBarrier* forMarshaling,
221                                           uint8_t** ptr) {
222     (void)vkStream;
223     (void)rootType;
224     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
225     *ptr += sizeof(VkStructureType);
226     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
227         rootType = forMarshaling->sType;
228     }
229     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
230     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
231     *ptr += sizeof(VkAccessFlags);
232     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
233     *ptr += sizeof(VkAccessFlags);
234     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
235     *ptr += sizeof(VkImageLayout);
236     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
237     *ptr += sizeof(VkImageLayout);
238     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
239     *ptr += sizeof(uint32_t);
240     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
241     *ptr += sizeof(uint32_t);
242     uint64_t cgen_var_0;
243     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
244     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
245     *ptr += 1 * 8;
246     reservedmarshal_VkImageSubresourceRange(
247         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
248 }
249 
reservedmarshal_VkMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier * forMarshaling,uint8_t ** ptr)250 void reservedmarshal_VkMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
251                                      const VkMemoryBarrier* forMarshaling, uint8_t** ptr) {
252     (void)vkStream;
253     (void)rootType;
254     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
255     *ptr += sizeof(VkStructureType);
256     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
257         rootType = forMarshaling->sType;
258     }
259     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
260     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
261     *ptr += sizeof(VkAccessFlags);
262     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
263     *ptr += sizeof(VkAccessFlags);
264 }
265 
reservedmarshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheHeaderVersionOne * forMarshaling,uint8_t ** ptr)266 void reservedmarshal_VkPipelineCacheHeaderVersionOne(
267     VulkanStreamGuest* vkStream, VkStructureType rootType,
268     const VkPipelineCacheHeaderVersionOne* forMarshaling, uint8_t** ptr) {
269     (void)vkStream;
270     (void)rootType;
271     memcpy(*ptr, (uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
272     *ptr += sizeof(uint32_t);
273     memcpy(*ptr, (VkPipelineCacheHeaderVersion*)&forMarshaling->headerVersion,
274            sizeof(VkPipelineCacheHeaderVersion));
275     *ptr += sizeof(VkPipelineCacheHeaderVersion);
276     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
277     *ptr += sizeof(uint32_t);
278     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
279     *ptr += sizeof(uint32_t);
280     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
281     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
282 }
283 
reservedmarshal_VkAllocationCallbacks(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAllocationCallbacks * forMarshaling,uint8_t ** ptr)284 void reservedmarshal_VkAllocationCallbacks(VulkanStreamGuest* vkStream, VkStructureType rootType,
285                                            const VkAllocationCallbacks* forMarshaling,
286                                            uint8_t** ptr) {
287     (void)vkStream;
288     (void)rootType;
289     // WARNING PTR CHECK
290     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
291     memcpy((*ptr), &cgen_var_0, 8);
292     android::base::Stream::toBe64((uint8_t*)(*ptr));
293     *ptr += 8;
294     if (forMarshaling->pUserData) {
295         memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
296         *ptr += sizeof(uint8_t);
297     }
298     uint64_t cgen_var_1 = (uint64_t)forMarshaling->pfnAllocation;
299     memcpy((*ptr), &cgen_var_1, 8);
300     android::base::Stream::toBe64((uint8_t*)(*ptr));
301     *ptr += 8;
302     uint64_t cgen_var_2 = (uint64_t)forMarshaling->pfnReallocation;
303     memcpy((*ptr), &cgen_var_2, 8);
304     android::base::Stream::toBe64((uint8_t*)(*ptr));
305     *ptr += 8;
306     uint64_t cgen_var_3 = (uint64_t)forMarshaling->pfnFree;
307     memcpy((*ptr), &cgen_var_3, 8);
308     android::base::Stream::toBe64((uint8_t*)(*ptr));
309     *ptr += 8;
310     uint64_t cgen_var_4 = (uint64_t)forMarshaling->pfnInternalAllocation;
311     memcpy((*ptr), &cgen_var_4, 8);
312     android::base::Stream::toBe64((uint8_t*)(*ptr));
313     *ptr += 8;
314     uint64_t cgen_var_5 = (uint64_t)forMarshaling->pfnInternalFree;
315     memcpy((*ptr), &cgen_var_5, 8);
316     android::base::Stream::toBe64((uint8_t*)(*ptr));
317     *ptr += 8;
318 }
319 
reservedmarshal_VkApplicationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkApplicationInfo * forMarshaling,uint8_t ** ptr)320 void reservedmarshal_VkApplicationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
321                                        const VkApplicationInfo* forMarshaling, uint8_t** ptr) {
322     (void)vkStream;
323     (void)rootType;
324     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
325     *ptr += sizeof(VkStructureType);
326     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
327         rootType = forMarshaling->sType;
328     }
329     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
330     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
331         // WARNING PTR CHECK
332         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
333         memcpy((*ptr), &cgen_var_0, 8);
334         android::base::Stream::toBe64((uint8_t*)(*ptr));
335         *ptr += 8;
336         if (forMarshaling->pApplicationName) {
337             {
338                 uint32_t l =
339                     forMarshaling->pApplicationName ? strlen(forMarshaling->pApplicationName) : 0;
340                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
341                 android::base::Stream::toBe32((uint8_t*)*ptr);
342                 *ptr += sizeof(uint32_t);
343                 memcpy(*ptr, (char*)forMarshaling->pApplicationName, l);
344                 *ptr += l;
345             }
346         }
347     } else {
348         {
349             uint32_t l =
350                 forMarshaling->pApplicationName ? strlen(forMarshaling->pApplicationName) : 0;
351             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
352             android::base::Stream::toBe32((uint8_t*)*ptr);
353             *ptr += sizeof(uint32_t);
354             memcpy(*ptr, (char*)forMarshaling->pApplicationName, l);
355             *ptr += l;
356         }
357     }
358     memcpy(*ptr, (uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
359     *ptr += sizeof(uint32_t);
360     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
361         // WARNING PTR CHECK
362         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
363         memcpy((*ptr), &cgen_var_0, 8);
364         android::base::Stream::toBe64((uint8_t*)(*ptr));
365         *ptr += 8;
366         if (forMarshaling->pEngineName) {
367             {
368                 uint32_t l = forMarshaling->pEngineName ? strlen(forMarshaling->pEngineName) : 0;
369                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
370                 android::base::Stream::toBe32((uint8_t*)*ptr);
371                 *ptr += sizeof(uint32_t);
372                 memcpy(*ptr, (char*)forMarshaling->pEngineName, l);
373                 *ptr += l;
374             }
375         }
376     } else {
377         {
378             uint32_t l = forMarshaling->pEngineName ? strlen(forMarshaling->pEngineName) : 0;
379             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
380             android::base::Stream::toBe32((uint8_t*)*ptr);
381             *ptr += sizeof(uint32_t);
382             memcpy(*ptr, (char*)forMarshaling->pEngineName, l);
383             *ptr += l;
384         }
385     }
386     memcpy(*ptr, (uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
387     *ptr += sizeof(uint32_t);
388     memcpy(*ptr, (uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
389     *ptr += sizeof(uint32_t);
390 }
391 
reservedmarshal_VkFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties * forMarshaling,uint8_t ** ptr)392 void reservedmarshal_VkFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
393                                         const VkFormatProperties* forMarshaling, uint8_t** ptr) {
394     (void)vkStream;
395     (void)rootType;
396     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures,
397            sizeof(VkFormatFeatureFlags));
398     *ptr += sizeof(VkFormatFeatureFlags);
399     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures,
400            sizeof(VkFormatFeatureFlags));
401     *ptr += sizeof(VkFormatFeatureFlags);
402     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->bufferFeatures,
403            sizeof(VkFormatFeatureFlags));
404     *ptr += sizeof(VkFormatFeatureFlags);
405 }
406 
reservedmarshal_VkImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties * forMarshaling,uint8_t ** ptr)407 void reservedmarshal_VkImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
408                                              const VkImageFormatProperties* forMarshaling,
409                                              uint8_t** ptr) {
410     (void)vkStream;
411     (void)rootType;
412     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->maxExtent), ptr);
413     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
414     *ptr += sizeof(uint32_t);
415     memcpy(*ptr, (uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
416     *ptr += sizeof(uint32_t);
417     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
418     *ptr += sizeof(VkSampleCountFlags);
419     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
420     *ptr += sizeof(VkDeviceSize);
421 }
422 
reservedmarshal_VkInstanceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInstanceCreateInfo * forMarshaling,uint8_t ** ptr)423 void reservedmarshal_VkInstanceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
424                                           const VkInstanceCreateInfo* forMarshaling,
425                                           uint8_t** ptr) {
426     (void)vkStream;
427     (void)rootType;
428     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
429     *ptr += sizeof(VkStructureType);
430     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
431         rootType = forMarshaling->sType;
432     }
433     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
434     memcpy(*ptr, (VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
435     *ptr += sizeof(VkInstanceCreateFlags);
436     // WARNING PTR CHECK
437     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
438     memcpy((*ptr), &cgen_var_0, 8);
439     android::base::Stream::toBe64((uint8_t*)(*ptr));
440     *ptr += 8;
441     if (forMarshaling->pApplicationInfo) {
442         reservedmarshal_VkApplicationInfo(
443             vkStream, rootType, (const VkApplicationInfo*)(forMarshaling->pApplicationInfo), ptr);
444     }
445     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
446     *ptr += sizeof(uint32_t);
447     {
448         uint32_t c = 0;
449         if (forMarshaling) {
450             c = forMarshaling->enabledLayerCount;
451         }
452         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
453         android::base::Stream::toBe32((uint8_t*)*ptr);
454         *ptr += sizeof(uint32_t);
455         for (uint32_t i = 0; i < c; ++i) {
456             uint32_t l = forMarshaling->ppEnabledLayerNames
457                              ? strlen(forMarshaling->ppEnabledLayerNames[i])
458                              : 0;
459             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
460             android::base::Stream::toBe32((uint8_t*)*ptr);
461             *ptr += sizeof(uint32_t);
462             if (l) {
463                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledLayerNames[i]), l);
464                 *ptr += l;
465             }
466         }
467     }
468     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
469     *ptr += sizeof(uint32_t);
470     {
471         uint32_t c = 0;
472         if (forMarshaling) {
473             c = forMarshaling->enabledExtensionCount;
474         }
475         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
476         android::base::Stream::toBe32((uint8_t*)*ptr);
477         *ptr += sizeof(uint32_t);
478         for (uint32_t i = 0; i < c; ++i) {
479             uint32_t l = forMarshaling->ppEnabledExtensionNames
480                              ? strlen(forMarshaling->ppEnabledExtensionNames[i])
481                              : 0;
482             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
483             android::base::Stream::toBe32((uint8_t*)*ptr);
484             *ptr += sizeof(uint32_t);
485             if (l) {
486                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledExtensionNames[i]), l);
487                 *ptr += l;
488             }
489         }
490     }
491 }
492 
reservedmarshal_VkMemoryHeap(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryHeap * forMarshaling,uint8_t ** ptr)493 void reservedmarshal_VkMemoryHeap(VulkanStreamGuest* vkStream, VkStructureType rootType,
494                                   const VkMemoryHeap* forMarshaling, uint8_t** ptr) {
495     (void)vkStream;
496     (void)rootType;
497     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
498     *ptr += sizeof(VkDeviceSize);
499     memcpy(*ptr, (VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
500     *ptr += sizeof(VkMemoryHeapFlags);
501 }
502 
reservedmarshal_VkMemoryType(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryType * forMarshaling,uint8_t ** ptr)503 void reservedmarshal_VkMemoryType(VulkanStreamGuest* vkStream, VkStructureType rootType,
504                                   const VkMemoryType* forMarshaling, uint8_t** ptr) {
505     (void)vkStream;
506     (void)rootType;
507     memcpy(*ptr, (VkMemoryPropertyFlags*)&forMarshaling->propertyFlags,
508            sizeof(VkMemoryPropertyFlags));
509     *ptr += sizeof(VkMemoryPropertyFlags);
510     memcpy(*ptr, (uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
511     *ptr += sizeof(uint32_t);
512 }
513 
reservedmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures * forMarshaling,uint8_t ** ptr)514 void reservedmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest* vkStream, VkStructureType rootType,
515                                               const VkPhysicalDeviceFeatures* forMarshaling,
516                                               uint8_t** ptr) {
517     (void)vkStream;
518     (void)rootType;
519     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
520     *ptr += sizeof(VkBool32);
521     memcpy(*ptr, (VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
522     *ptr += sizeof(VkBool32);
523     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
524     *ptr += sizeof(VkBool32);
525     memcpy(*ptr, (VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
526     *ptr += sizeof(VkBool32);
527     memcpy(*ptr, (VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
528     *ptr += sizeof(VkBool32);
529     memcpy(*ptr, (VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
530     *ptr += sizeof(VkBool32);
531     memcpy(*ptr, (VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
532     *ptr += sizeof(VkBool32);
533     memcpy(*ptr, (VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
534     *ptr += sizeof(VkBool32);
535     memcpy(*ptr, (VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
536     *ptr += sizeof(VkBool32);
537     memcpy(*ptr, (VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
538     *ptr += sizeof(VkBool32);
539     memcpy(*ptr, (VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
540     *ptr += sizeof(VkBool32);
541     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
542     *ptr += sizeof(VkBool32);
543     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
544     *ptr += sizeof(VkBool32);
545     memcpy(*ptr, (VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
546     *ptr += sizeof(VkBool32);
547     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
548     *ptr += sizeof(VkBool32);
549     memcpy(*ptr, (VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
550     *ptr += sizeof(VkBool32);
551     memcpy(*ptr, (VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
552     *ptr += sizeof(VkBool32);
553     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
554     *ptr += sizeof(VkBool32);
555     memcpy(*ptr, (VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
556     *ptr += sizeof(VkBool32);
557     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
558     *ptr += sizeof(VkBool32);
559     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
560     *ptr += sizeof(VkBool32);
561     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
562     *ptr += sizeof(VkBool32);
563     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
564     *ptr += sizeof(VkBool32);
565     memcpy(*ptr, (VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
566     *ptr += sizeof(VkBool32);
567     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
568     *ptr += sizeof(VkBool32);
569     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
570     *ptr += sizeof(VkBool32);
571     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
572     *ptr += sizeof(VkBool32);
573     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize,
574            sizeof(VkBool32));
575     *ptr += sizeof(VkBool32);
576     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
577     *ptr += sizeof(VkBool32);
578     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
579     *ptr += sizeof(VkBool32);
580     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
581     *ptr += sizeof(VkBool32);
582     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32));
583     *ptr += sizeof(VkBool32);
584     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32));
585     *ptr += sizeof(VkBool32);
586     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing,
587            sizeof(VkBool32));
588     *ptr += sizeof(VkBool32);
589     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing,
590            sizeof(VkBool32));
591     *ptr += sizeof(VkBool32);
592     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing,
593            sizeof(VkBool32));
594     *ptr += sizeof(VkBool32);
595     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing,
596            sizeof(VkBool32));
597     *ptr += sizeof(VkBool32);
598     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
599     *ptr += sizeof(VkBool32);
600     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
601     *ptr += sizeof(VkBool32);
602     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
603     *ptr += sizeof(VkBool32);
604     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
605     *ptr += sizeof(VkBool32);
606     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
607     *ptr += sizeof(VkBool32);
608     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
609     *ptr += sizeof(VkBool32);
610     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
611     *ptr += sizeof(VkBool32);
612     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
613     *ptr += sizeof(VkBool32);
614     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
615     *ptr += sizeof(VkBool32);
616     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
617     *ptr += sizeof(VkBool32);
618     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
619     *ptr += sizeof(VkBool32);
620     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
621     *ptr += sizeof(VkBool32);
622     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
623     *ptr += sizeof(VkBool32);
624     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
625     *ptr += sizeof(VkBool32);
626     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
627     *ptr += sizeof(VkBool32);
628     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
629     *ptr += sizeof(VkBool32);
630     memcpy(*ptr, (VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
631     *ptr += sizeof(VkBool32);
632     memcpy(*ptr, (VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
633     *ptr += sizeof(VkBool32);
634 }
635 
reservedmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLimits * forMarshaling,uint8_t ** ptr)636 void reservedmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest* vkStream, VkStructureType rootType,
637                                             const VkPhysicalDeviceLimits* forMarshaling,
638                                             uint8_t** ptr) {
639     (void)vkStream;
640     (void)rootType;
641     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
642     *ptr += sizeof(uint32_t);
643     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
644     *ptr += sizeof(uint32_t);
645     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
646     *ptr += sizeof(uint32_t);
647     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
648     *ptr += sizeof(uint32_t);
649     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
650     *ptr += sizeof(uint32_t);
651     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
652     *ptr += sizeof(uint32_t);
653     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
654     *ptr += sizeof(uint32_t);
655     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
656     *ptr += sizeof(uint32_t);
657     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
658     *ptr += sizeof(uint32_t);
659     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
660     *ptr += sizeof(uint32_t);
661     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
662     *ptr += sizeof(uint32_t);
663     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
664     *ptr += sizeof(VkDeviceSize);
665     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
666     *ptr += sizeof(VkDeviceSize);
667     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
668     *ptr += sizeof(uint32_t);
669     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
670     *ptr += sizeof(uint32_t);
671     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t));
672     *ptr += sizeof(uint32_t);
673     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t));
674     *ptr += sizeof(uint32_t);
675     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t));
676     *ptr += sizeof(uint32_t);
677     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t));
678     *ptr += sizeof(uint32_t);
679     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments,
680            sizeof(uint32_t));
681     *ptr += sizeof(uint32_t);
682     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
683     *ptr += sizeof(uint32_t);
684     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
685     *ptr += sizeof(uint32_t);
686     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
687     *ptr += sizeof(uint32_t);
688     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic,
689            sizeof(uint32_t));
690     *ptr += sizeof(uint32_t);
691     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
692     *ptr += sizeof(uint32_t);
693     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic,
694            sizeof(uint32_t));
695     *ptr += sizeof(uint32_t);
696     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
697     *ptr += sizeof(uint32_t);
698     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
699     *ptr += sizeof(uint32_t);
700     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
701     *ptr += sizeof(uint32_t);
702     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
703     *ptr += sizeof(uint32_t);
704     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
705     *ptr += sizeof(uint32_t);
706     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
707     *ptr += sizeof(uint32_t);
708     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
709     *ptr += sizeof(uint32_t);
710     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
711     *ptr += sizeof(uint32_t);
712     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
713     *ptr += sizeof(uint32_t);
714     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
715     *ptr += sizeof(uint32_t);
716     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents,
717            sizeof(uint32_t));
718     *ptr += sizeof(uint32_t);
719     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents,
720            sizeof(uint32_t));
721     *ptr += sizeof(uint32_t);
722     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents,
723            sizeof(uint32_t));
724     *ptr += sizeof(uint32_t);
725     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents,
726            sizeof(uint32_t));
727     *ptr += sizeof(uint32_t);
728     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents,
729            sizeof(uint32_t));
730     *ptr += sizeof(uint32_t);
731     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents,
732            sizeof(uint32_t));
733     *ptr += sizeof(uint32_t);
734     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
735     *ptr += sizeof(uint32_t);
736     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
737     *ptr += sizeof(uint32_t);
738     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
739     *ptr += sizeof(uint32_t);
740     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
741     *ptr += sizeof(uint32_t);
742     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
743     *ptr += sizeof(uint32_t);
744     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
745     *ptr += sizeof(uint32_t);
746     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
747     *ptr += sizeof(uint32_t);
748     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
749     *ptr += sizeof(uint32_t);
750     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t));
751     *ptr += sizeof(uint32_t);
752     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
753     *ptr += sizeof(uint32_t);
754     memcpy(*ptr, (uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
755     *ptr += 3 * sizeof(uint32_t);
756     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
757     *ptr += sizeof(uint32_t);
758     memcpy(*ptr, (uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
759     *ptr += 3 * sizeof(uint32_t);
760     memcpy(*ptr, (uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
761     *ptr += sizeof(uint32_t);
762     memcpy(*ptr, (uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
763     *ptr += sizeof(uint32_t);
764     memcpy(*ptr, (uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
765     *ptr += sizeof(uint32_t);
766     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
767     *ptr += sizeof(uint32_t);
768     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
769     *ptr += sizeof(uint32_t);
770     memcpy(*ptr, (float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
771     *ptr += sizeof(float);
772     memcpy(*ptr, (float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
773     *ptr += sizeof(float);
774     memcpy(*ptr, (uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
775     *ptr += sizeof(uint32_t);
776     memcpy(*ptr, (uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
777     *ptr += 2 * sizeof(uint32_t);
778     memcpy(*ptr, (float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
779     *ptr += 2 * sizeof(float);
780     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
781     *ptr += sizeof(uint32_t);
782     uint64_t cgen_var_0 = (uint64_t)forMarshaling->minMemoryMapAlignment;
783     memcpy((*ptr), &cgen_var_0, 8);
784     android::base::Stream::toBe64((uint8_t*)(*ptr));
785     *ptr += 8;
786     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment,
787            sizeof(VkDeviceSize));
788     *ptr += sizeof(VkDeviceSize);
789     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment,
790            sizeof(VkDeviceSize));
791     *ptr += sizeof(VkDeviceSize);
792     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment,
793            sizeof(VkDeviceSize));
794     *ptr += sizeof(VkDeviceSize);
795     memcpy(*ptr, (int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
796     *ptr += sizeof(int32_t);
797     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
798     *ptr += sizeof(uint32_t);
799     memcpy(*ptr, (int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
800     *ptr += sizeof(int32_t);
801     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
802     *ptr += sizeof(uint32_t);
803     memcpy(*ptr, (float*)&forMarshaling->minInterpolationOffset, sizeof(float));
804     *ptr += sizeof(float);
805     memcpy(*ptr, (float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
806     *ptr += sizeof(float);
807     memcpy(*ptr, (uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
808     *ptr += sizeof(uint32_t);
809     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
810     *ptr += sizeof(uint32_t);
811     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
812     *ptr += sizeof(uint32_t);
813     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
814     *ptr += sizeof(uint32_t);
815     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts,
816            sizeof(VkSampleCountFlags));
817     *ptr += sizeof(VkSampleCountFlags);
818     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts,
819            sizeof(VkSampleCountFlags));
820     *ptr += sizeof(VkSampleCountFlags);
821     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts,
822            sizeof(VkSampleCountFlags));
823     *ptr += sizeof(VkSampleCountFlags);
824     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts,
825            sizeof(VkSampleCountFlags));
826     *ptr += sizeof(VkSampleCountFlags);
827     memcpy(*ptr, (uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
828     *ptr += sizeof(uint32_t);
829     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts,
830            sizeof(VkSampleCountFlags));
831     *ptr += sizeof(VkSampleCountFlags);
832     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts,
833            sizeof(VkSampleCountFlags));
834     *ptr += sizeof(VkSampleCountFlags);
835     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts,
836            sizeof(VkSampleCountFlags));
837     *ptr += sizeof(VkSampleCountFlags);
838     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts,
839            sizeof(VkSampleCountFlags));
840     *ptr += sizeof(VkSampleCountFlags);
841     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts,
842            sizeof(VkSampleCountFlags));
843     *ptr += sizeof(VkSampleCountFlags);
844     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
845     *ptr += sizeof(uint32_t);
846     memcpy(*ptr, (VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
847     *ptr += sizeof(VkBool32);
848     memcpy(*ptr, (float*)&forMarshaling->timestampPeriod, sizeof(float));
849     *ptr += sizeof(float);
850     memcpy(*ptr, (uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
851     *ptr += sizeof(uint32_t);
852     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
853     *ptr += sizeof(uint32_t);
854     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
855     *ptr += sizeof(uint32_t);
856     memcpy(*ptr, (uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
857     *ptr += sizeof(uint32_t);
858     memcpy(*ptr, (float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
859     *ptr += 2 * sizeof(float);
860     memcpy(*ptr, (float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
861     *ptr += 2 * sizeof(float);
862     memcpy(*ptr, (float*)&forMarshaling->pointSizeGranularity, sizeof(float));
863     *ptr += sizeof(float);
864     memcpy(*ptr, (float*)&forMarshaling->lineWidthGranularity, sizeof(float));
865     *ptr += sizeof(float);
866     memcpy(*ptr, (VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
867     *ptr += sizeof(VkBool32);
868     memcpy(*ptr, (VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
869     *ptr += sizeof(VkBool32);
870     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment,
871            sizeof(VkDeviceSize));
872     *ptr += sizeof(VkDeviceSize);
873     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment,
874            sizeof(VkDeviceSize));
875     *ptr += sizeof(VkDeviceSize);
876     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
877     *ptr += sizeof(VkDeviceSize);
878 }
879 
reservedmarshal_VkPhysicalDeviceMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties * forMarshaling,uint8_t ** ptr)880 void reservedmarshal_VkPhysicalDeviceMemoryProperties(
881     VulkanStreamGuest* vkStream, VkStructureType rootType,
882     const VkPhysicalDeviceMemoryProperties* forMarshaling, uint8_t** ptr) {
883     (void)vkStream;
884     (void)rootType;
885     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
886     *ptr += sizeof(uint32_t);
887     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
888         reservedmarshal_VkMemoryType(vkStream, rootType,
889                                      (VkMemoryType*)(forMarshaling->memoryTypes + i), ptr);
890     }
891     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
892     *ptr += sizeof(uint32_t);
893     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
894         reservedmarshal_VkMemoryHeap(vkStream, rootType,
895                                      (VkMemoryHeap*)(forMarshaling->memoryHeaps + i), ptr);
896     }
897 }
898 
reservedmarshal_VkPhysicalDeviceSparseProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseProperties * forMarshaling,uint8_t ** ptr)899 void reservedmarshal_VkPhysicalDeviceSparseProperties(
900     VulkanStreamGuest* vkStream, VkStructureType rootType,
901     const VkPhysicalDeviceSparseProperties* forMarshaling, uint8_t** ptr) {
902     (void)vkStream;
903     (void)rootType;
904     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
905     *ptr += sizeof(VkBool32);
906     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape,
907            sizeof(VkBool32));
908     *ptr += sizeof(VkBool32);
909     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
910     *ptr += sizeof(VkBool32);
911     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
912     *ptr += sizeof(VkBool32);
913     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
914     *ptr += sizeof(VkBool32);
915 }
916 
reservedmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties * forMarshaling,uint8_t ** ptr)917 void reservedmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest* vkStream,
918                                                 VkStructureType rootType,
919                                                 const VkPhysicalDeviceProperties* forMarshaling,
920                                                 uint8_t** ptr) {
921     (void)vkStream;
922     (void)rootType;
923     memcpy(*ptr, (uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
924     *ptr += sizeof(uint32_t);
925     memcpy(*ptr, (uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
926     *ptr += sizeof(uint32_t);
927     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
928     *ptr += sizeof(uint32_t);
929     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
930     *ptr += sizeof(uint32_t);
931     memcpy(*ptr, (VkPhysicalDeviceType*)&forMarshaling->deviceType, sizeof(VkPhysicalDeviceType));
932     *ptr += sizeof(VkPhysicalDeviceType);
933     memcpy(*ptr, (char*)forMarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
934     *ptr += VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char);
935     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
936     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
937     reservedmarshal_VkPhysicalDeviceLimits(vkStream, rootType,
938                                            (VkPhysicalDeviceLimits*)(&forMarshaling->limits), ptr);
939     reservedmarshal_VkPhysicalDeviceSparseProperties(
940         vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties),
941         ptr);
942 }
943 
reservedmarshal_VkQueueFamilyProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties * forMarshaling,uint8_t ** ptr)944 void reservedmarshal_VkQueueFamilyProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
945                                              const VkQueueFamilyProperties* forMarshaling,
946                                              uint8_t** ptr) {
947     (void)vkStream;
948     (void)rootType;
949     memcpy(*ptr, (VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
950     *ptr += sizeof(VkQueueFlags);
951     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
952     *ptr += sizeof(uint32_t);
953     memcpy(*ptr, (uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
954     *ptr += sizeof(uint32_t);
955     reservedmarshal_VkExtent3D(vkStream, rootType,
956                                (VkExtent3D*)(&forMarshaling->minImageTransferGranularity), ptr);
957 }
958 
reservedmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueCreateInfo * forMarshaling,uint8_t ** ptr)959 void reservedmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
960                                              const VkDeviceQueueCreateInfo* forMarshaling,
961                                              uint8_t** ptr) {
962     (void)vkStream;
963     (void)rootType;
964     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
965     *ptr += sizeof(VkStructureType);
966     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
967         rootType = forMarshaling->sType;
968     }
969     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
970     memcpy(*ptr, (VkDeviceQueueCreateFlags*)&forMarshaling->flags,
971            sizeof(VkDeviceQueueCreateFlags));
972     *ptr += sizeof(VkDeviceQueueCreateFlags);
973     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
974     *ptr += sizeof(uint32_t);
975     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
976     *ptr += sizeof(uint32_t);
977     memcpy(*ptr, (const float*)forMarshaling->pQueuePriorities,
978            forMarshaling->queueCount * sizeof(const float));
979     *ptr += forMarshaling->queueCount * sizeof(const float);
980 }
981 
reservedmarshal_VkDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceCreateInfo * forMarshaling,uint8_t ** ptr)982 void reservedmarshal_VkDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
983                                         const VkDeviceCreateInfo* forMarshaling, uint8_t** ptr) {
984     (void)vkStream;
985     (void)rootType;
986     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
987     *ptr += sizeof(VkStructureType);
988     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
989         rootType = forMarshaling->sType;
990     }
991     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
992     memcpy(*ptr, (VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
993     *ptr += sizeof(VkDeviceCreateFlags);
994     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
995     *ptr += sizeof(uint32_t);
996     for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) {
997         reservedmarshal_VkDeviceQueueCreateInfo(
998             vkStream, rootType,
999             (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i), ptr);
1000     }
1001     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
1002     *ptr += sizeof(uint32_t);
1003     {
1004         uint32_t c = 0;
1005         if (forMarshaling) {
1006             c = forMarshaling->enabledLayerCount;
1007         }
1008         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
1009         android::base::Stream::toBe32((uint8_t*)*ptr);
1010         *ptr += sizeof(uint32_t);
1011         for (uint32_t i = 0; i < c; ++i) {
1012             uint32_t l = forMarshaling->ppEnabledLayerNames
1013                              ? strlen(forMarshaling->ppEnabledLayerNames[i])
1014                              : 0;
1015             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1016             android::base::Stream::toBe32((uint8_t*)*ptr);
1017             *ptr += sizeof(uint32_t);
1018             if (l) {
1019                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledLayerNames[i]), l);
1020                 *ptr += l;
1021             }
1022         }
1023     }
1024     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
1025     *ptr += sizeof(uint32_t);
1026     {
1027         uint32_t c = 0;
1028         if (forMarshaling) {
1029             c = forMarshaling->enabledExtensionCount;
1030         }
1031         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
1032         android::base::Stream::toBe32((uint8_t*)*ptr);
1033         *ptr += sizeof(uint32_t);
1034         for (uint32_t i = 0; i < c; ++i) {
1035             uint32_t l = forMarshaling->ppEnabledExtensionNames
1036                              ? strlen(forMarshaling->ppEnabledExtensionNames[i])
1037                              : 0;
1038             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1039             android::base::Stream::toBe32((uint8_t*)*ptr);
1040             *ptr += sizeof(uint32_t);
1041             if (l) {
1042                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledExtensionNames[i]), l);
1043                 *ptr += l;
1044             }
1045         }
1046     }
1047     // WARNING PTR CHECK
1048     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
1049     memcpy((*ptr), &cgen_var_0, 8);
1050     android::base::Stream::toBe64((uint8_t*)(*ptr));
1051     *ptr += 8;
1052     if (forMarshaling->pEnabledFeatures) {
1053         reservedmarshal_VkPhysicalDeviceFeatures(
1054             vkStream, rootType, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures),
1055             ptr);
1056     }
1057 }
1058 
reservedmarshal_VkExtensionProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtensionProperties * forMarshaling,uint8_t ** ptr)1059 void reservedmarshal_VkExtensionProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1060                                            const VkExtensionProperties* forMarshaling,
1061                                            uint8_t** ptr) {
1062     (void)vkStream;
1063     (void)rootType;
1064     memcpy(*ptr, (char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1065     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
1066     memcpy(*ptr, (uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1067     *ptr += sizeof(uint32_t);
1068 }
1069 
reservedmarshal_VkLayerProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkLayerProperties * forMarshaling,uint8_t ** ptr)1070 void reservedmarshal_VkLayerProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1071                                        const VkLayerProperties* forMarshaling, uint8_t** ptr) {
1072     (void)vkStream;
1073     (void)rootType;
1074     memcpy(*ptr, (char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1075     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
1076     memcpy(*ptr, (uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1077     *ptr += sizeof(uint32_t);
1078     memcpy(*ptr, (uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
1079     *ptr += sizeof(uint32_t);
1080     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1081     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
1082 }
1083 
reservedmarshal_VkSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo * forMarshaling,uint8_t ** ptr)1084 void reservedmarshal_VkSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1085                                   const VkSubmitInfo* forMarshaling, uint8_t** ptr) {
1086     (void)vkStream;
1087     (void)rootType;
1088     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1089     *ptr += sizeof(VkStructureType);
1090     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1091         rootType = forMarshaling->sType;
1092     }
1093     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1094     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1095     *ptr += sizeof(uint32_t);
1096     if (forMarshaling->waitSemaphoreCount) {
1097         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
1098         if (forMarshaling) {
1099             for (uint32_t k = 0; k < forMarshaling->waitSemaphoreCount; ++k) {
1100                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pWaitSemaphores[k]);
1101                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
1102             }
1103         }
1104         *ptr += 8 * forMarshaling->waitSemaphoreCount;
1105     }
1106     memcpy(*ptr, (const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask,
1107            forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1108     *ptr += forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags);
1109     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
1110     *ptr += sizeof(uint32_t);
1111     if (forMarshaling->commandBufferCount) {
1112         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
1113         if (forMarshaling) {
1114             for (uint32_t k = 0; k < forMarshaling->commandBufferCount; ++k) {
1115                 uint64_t tmpval = get_host_u64_VkCommandBuffer(forMarshaling->pCommandBuffers[k]);
1116                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
1117             }
1118         }
1119         *ptr += 8 * forMarshaling->commandBufferCount;
1120     }
1121     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1122     *ptr += sizeof(uint32_t);
1123     if (forMarshaling->signalSemaphoreCount) {
1124         uint8_t* cgen_var_2_ptr = (uint8_t*)(*ptr);
1125         if (forMarshaling) {
1126             for (uint32_t k = 0; k < forMarshaling->signalSemaphoreCount; ++k) {
1127                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSignalSemaphores[k]);
1128                 memcpy(cgen_var_2_ptr + k * 8, &tmpval, sizeof(uint64_t));
1129             }
1130         }
1131         *ptr += 8 * forMarshaling->signalSemaphoreCount;
1132     }
1133 }
1134 
reservedmarshal_VkMappedMemoryRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMappedMemoryRange * forMarshaling,uint8_t ** ptr)1135 void reservedmarshal_VkMappedMemoryRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
1136                                          const VkMappedMemoryRange* forMarshaling, uint8_t** ptr) {
1137     (void)vkStream;
1138     (void)rootType;
1139     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1140     *ptr += sizeof(VkStructureType);
1141     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1142         rootType = forMarshaling->sType;
1143     }
1144     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1145     uint64_t cgen_var_0;
1146     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1147     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1148     *ptr += 1 * 8;
1149     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1150     *ptr += sizeof(VkDeviceSize);
1151     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1152     *ptr += sizeof(VkDeviceSize);
1153 }
1154 
reservedmarshal_VkMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateInfo * forMarshaling,uint8_t ** ptr)1155 void reservedmarshal_VkMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1156                                           const VkMemoryAllocateInfo* forMarshaling,
1157                                           uint8_t** ptr) {
1158     (void)vkStream;
1159     (void)rootType;
1160     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1161     *ptr += sizeof(VkStructureType);
1162     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1163         rootType = forMarshaling->sType;
1164     }
1165     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1166     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
1167     *ptr += sizeof(VkDeviceSize);
1168     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
1169     *ptr += sizeof(uint32_t);
1170 }
1171 
reservedmarshal_VkMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements * forMarshaling,uint8_t ** ptr)1172 void reservedmarshal_VkMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
1173                                           const VkMemoryRequirements* forMarshaling,
1174                                           uint8_t** ptr) {
1175     (void)vkStream;
1176     (void)rootType;
1177     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1178     *ptr += sizeof(VkDeviceSize);
1179     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
1180     *ptr += sizeof(VkDeviceSize);
1181     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
1182     *ptr += sizeof(uint32_t);
1183 }
1184 
reservedmarshal_VkSparseMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseMemoryBind * forMarshaling,uint8_t ** ptr)1185 void reservedmarshal_VkSparseMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1186                                         const VkSparseMemoryBind* forMarshaling, uint8_t** ptr) {
1187     (void)vkStream;
1188     (void)rootType;
1189     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
1190     *ptr += sizeof(VkDeviceSize);
1191     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1192     *ptr += sizeof(VkDeviceSize);
1193     uint64_t cgen_var_0;
1194     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1195     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1196     *ptr += 1 * 8;
1197     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1198     *ptr += sizeof(VkDeviceSize);
1199     memcpy(*ptr, (VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
1200     *ptr += sizeof(VkSparseMemoryBindFlags);
1201 }
1202 
reservedmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseBufferMemoryBindInfo * forMarshaling,uint8_t ** ptr)1203 void reservedmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest* vkStream,
1204                                                   VkStructureType rootType,
1205                                                   const VkSparseBufferMemoryBindInfo* forMarshaling,
1206                                                   uint8_t** ptr) {
1207     (void)vkStream;
1208     (void)rootType;
1209     uint64_t cgen_var_0;
1210     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
1211     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1212     *ptr += 1 * 8;
1213     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1214     *ptr += sizeof(uint32_t);
1215     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1216         reservedmarshal_VkSparseMemoryBind(
1217             vkStream, rootType, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i), ptr);
1218     }
1219 }
1220 
reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageOpaqueMemoryBindInfo * forMarshaling,uint8_t ** ptr)1221 void reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(
1222     VulkanStreamGuest* vkStream, VkStructureType rootType,
1223     const VkSparseImageOpaqueMemoryBindInfo* forMarshaling, uint8_t** ptr) {
1224     (void)vkStream;
1225     (void)rootType;
1226     uint64_t cgen_var_0;
1227     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1228     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1229     *ptr += 1 * 8;
1230     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1231     *ptr += sizeof(uint32_t);
1232     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1233         reservedmarshal_VkSparseMemoryBind(
1234             vkStream, rootType, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i), ptr);
1235     }
1236 }
1237 
reservedmarshal_VkImageSubresource(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource * forMarshaling,uint8_t ** ptr)1238 void reservedmarshal_VkImageSubresource(VulkanStreamGuest* vkStream, VkStructureType rootType,
1239                                         const VkImageSubresource* forMarshaling, uint8_t** ptr) {
1240     (void)vkStream;
1241     (void)rootType;
1242     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1243     *ptr += sizeof(VkImageAspectFlags);
1244     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
1245     *ptr += sizeof(uint32_t);
1246     memcpy(*ptr, (uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
1247     *ptr += sizeof(uint32_t);
1248 }
1249 
reservedmarshal_VkSparseImageMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBind * forMarshaling,uint8_t ** ptr)1250 void reservedmarshal_VkSparseImageMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1251                                              const VkSparseImageMemoryBind* forMarshaling,
1252                                              uint8_t** ptr) {
1253     (void)vkStream;
1254     (void)rootType;
1255     reservedmarshal_VkImageSubresource(vkStream, rootType,
1256                                        (VkImageSubresource*)(&forMarshaling->subresource), ptr);
1257     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->offset), ptr);
1258     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
1259     uint64_t cgen_var_0;
1260     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1261     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1262     *ptr += 1 * 8;
1263     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1264     *ptr += sizeof(VkDeviceSize);
1265     memcpy(*ptr, (VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
1266     *ptr += sizeof(VkSparseMemoryBindFlags);
1267 }
1268 
reservedmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBindInfo * forMarshaling,uint8_t ** ptr)1269 void reservedmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest* vkStream,
1270                                                  VkStructureType rootType,
1271                                                  const VkSparseImageMemoryBindInfo* forMarshaling,
1272                                                  uint8_t** ptr) {
1273     (void)vkStream;
1274     (void)rootType;
1275     uint64_t cgen_var_0;
1276     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1277     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1278     *ptr += 1 * 8;
1279     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1280     *ptr += sizeof(uint32_t);
1281     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1282         reservedmarshal_VkSparseImageMemoryBind(
1283             vkStream, rootType, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i), ptr);
1284     }
1285 }
1286 
reservedmarshal_VkBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindSparseInfo * forMarshaling,uint8_t ** ptr)1287 void reservedmarshal_VkBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1288                                       const VkBindSparseInfo* forMarshaling, uint8_t** ptr) {
1289     (void)vkStream;
1290     (void)rootType;
1291     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1292     *ptr += sizeof(VkStructureType);
1293     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1294         rootType = forMarshaling->sType;
1295     }
1296     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1297     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1298     *ptr += sizeof(uint32_t);
1299     if (forMarshaling->waitSemaphoreCount) {
1300         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
1301         if (forMarshaling) {
1302             for (uint32_t k = 0; k < forMarshaling->waitSemaphoreCount; ++k) {
1303                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pWaitSemaphores[k]);
1304                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
1305             }
1306         }
1307         *ptr += 8 * forMarshaling->waitSemaphoreCount;
1308     }
1309     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
1310     *ptr += sizeof(uint32_t);
1311     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) {
1312         reservedmarshal_VkSparseBufferMemoryBindInfo(
1313             vkStream, rootType,
1314             (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i), ptr);
1315     }
1316     memcpy(*ptr, (uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1317     *ptr += sizeof(uint32_t);
1318     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) {
1319         reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(
1320             vkStream, rootType,
1321             (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i), ptr);
1322     }
1323     memcpy(*ptr, (uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
1324     *ptr += sizeof(uint32_t);
1325     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) {
1326         reservedmarshal_VkSparseImageMemoryBindInfo(
1327             vkStream, rootType,
1328             (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i), ptr);
1329     }
1330     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1331     *ptr += sizeof(uint32_t);
1332     if (forMarshaling->signalSemaphoreCount) {
1333         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
1334         if (forMarshaling) {
1335             for (uint32_t k = 0; k < forMarshaling->signalSemaphoreCount; ++k) {
1336                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSignalSemaphores[k]);
1337                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
1338             }
1339         }
1340         *ptr += 8 * forMarshaling->signalSemaphoreCount;
1341     }
1342 }
1343 
reservedmarshal_VkSparseImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties * forMarshaling,uint8_t ** ptr)1344 void reservedmarshal_VkSparseImageFormatProperties(
1345     VulkanStreamGuest* vkStream, VkStructureType rootType,
1346     const VkSparseImageFormatProperties* forMarshaling, uint8_t** ptr) {
1347     (void)vkStream;
1348     (void)rootType;
1349     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1350     *ptr += sizeof(VkImageAspectFlags);
1351     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageGranularity),
1352                                ptr);
1353     memcpy(*ptr, (VkSparseImageFormatFlags*)&forMarshaling->flags,
1354            sizeof(VkSparseImageFormatFlags));
1355     *ptr += sizeof(VkSparseImageFormatFlags);
1356 }
1357 
reservedmarshal_VkSparseImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements * forMarshaling,uint8_t ** ptr)1358 void reservedmarshal_VkSparseImageMemoryRequirements(
1359     VulkanStreamGuest* vkStream, VkStructureType rootType,
1360     const VkSparseImageMemoryRequirements* forMarshaling, uint8_t** ptr) {
1361     (void)vkStream;
1362     (void)rootType;
1363     reservedmarshal_VkSparseImageFormatProperties(
1364         vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties),
1365         ptr);
1366     memcpy(*ptr, (uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1367     *ptr += sizeof(uint32_t);
1368     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1369     *ptr += sizeof(VkDeviceSize);
1370     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1371     *ptr += sizeof(VkDeviceSize);
1372     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1373     *ptr += sizeof(VkDeviceSize);
1374 }
1375 
reservedmarshal_VkFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceCreateInfo * forMarshaling,uint8_t ** ptr)1376 void reservedmarshal_VkFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1377                                        const VkFenceCreateInfo* forMarshaling, uint8_t** ptr) {
1378     (void)vkStream;
1379     (void)rootType;
1380     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1381     *ptr += sizeof(VkStructureType);
1382     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1383         rootType = forMarshaling->sType;
1384     }
1385     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1386     memcpy(*ptr, (VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
1387     *ptr += sizeof(VkFenceCreateFlags);
1388 }
1389 
reservedmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreCreateInfo * forMarshaling,uint8_t ** ptr)1390 void reservedmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1391                                            const VkSemaphoreCreateInfo* forMarshaling,
1392                                            uint8_t** ptr) {
1393     (void)vkStream;
1394     (void)rootType;
1395     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1396     *ptr += sizeof(VkStructureType);
1397     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1398         rootType = forMarshaling->sType;
1399     }
1400     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1401     memcpy(*ptr, (VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
1402     *ptr += sizeof(VkSemaphoreCreateFlags);
1403 }
1404 
reservedmarshal_VkEventCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkEventCreateInfo * forMarshaling,uint8_t ** ptr)1405 void reservedmarshal_VkEventCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1406                                        const VkEventCreateInfo* forMarshaling, uint8_t** ptr) {
1407     (void)vkStream;
1408     (void)rootType;
1409     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1410     *ptr += sizeof(VkStructureType);
1411     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1412         rootType = forMarshaling->sType;
1413     }
1414     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1415     memcpy(*ptr, (VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
1416     *ptr += sizeof(VkEventCreateFlags);
1417 }
1418 
reservedmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolCreateInfo * forMarshaling,uint8_t ** ptr)1419 void reservedmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1420                                            const VkQueryPoolCreateInfo* forMarshaling,
1421                                            uint8_t** ptr) {
1422     (void)vkStream;
1423     (void)rootType;
1424     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1425     *ptr += sizeof(VkStructureType);
1426     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1427         rootType = forMarshaling->sType;
1428     }
1429     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1430     memcpy(*ptr, (VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
1431     *ptr += sizeof(VkQueryPoolCreateFlags);
1432     memcpy(*ptr, (VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
1433     *ptr += sizeof(VkQueryType);
1434     memcpy(*ptr, (uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
1435     *ptr += sizeof(uint32_t);
1436     memcpy(*ptr, (VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
1437            sizeof(VkQueryPipelineStatisticFlags));
1438     *ptr += sizeof(VkQueryPipelineStatisticFlags);
1439 }
1440 
reservedmarshal_VkBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCreateInfo * forMarshaling,uint8_t ** ptr)1441 void reservedmarshal_VkBufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1442                                         const VkBufferCreateInfo* forMarshaling, uint8_t** ptr) {
1443     (void)vkStream;
1444     (void)rootType;
1445     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1446     *ptr += sizeof(VkStructureType);
1447     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1448         rootType = forMarshaling->sType;
1449     }
1450     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1451     memcpy(*ptr, (VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
1452     *ptr += sizeof(VkBufferCreateFlags);
1453     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1454     *ptr += sizeof(VkDeviceSize);
1455     memcpy(*ptr, (VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
1456     *ptr += sizeof(VkBufferUsageFlags);
1457     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1458     *ptr += sizeof(VkSharingMode);
1459     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1460     *ptr += sizeof(uint32_t);
1461     // WARNING PTR CHECK
1462     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1463     memcpy((*ptr), &cgen_var_0, 8);
1464     android::base::Stream::toBe64((uint8_t*)(*ptr));
1465     *ptr += 8;
1466     if (forMarshaling->pQueueFamilyIndices) {
1467         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
1468                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1469         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
1470     }
1471 }
1472 
reservedmarshal_VkBufferViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferViewCreateInfo * forMarshaling,uint8_t ** ptr)1473 void reservedmarshal_VkBufferViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1474                                             const VkBufferViewCreateInfo* forMarshaling,
1475                                             uint8_t** ptr) {
1476     (void)vkStream;
1477     (void)rootType;
1478     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1479     *ptr += sizeof(VkStructureType);
1480     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1481         rootType = forMarshaling->sType;
1482     }
1483     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1484     memcpy(*ptr, (VkBufferViewCreateFlags*)&forMarshaling->flags, sizeof(VkBufferViewCreateFlags));
1485     *ptr += sizeof(VkBufferViewCreateFlags);
1486     uint64_t cgen_var_0;
1487     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
1488     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1489     *ptr += 1 * 8;
1490     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1491     *ptr += sizeof(VkFormat);
1492     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1493     *ptr += sizeof(VkDeviceSize);
1494     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
1495     *ptr += sizeof(VkDeviceSize);
1496 }
1497 
reservedmarshal_VkImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCreateInfo * forMarshaling,uint8_t ** ptr)1498 void reservedmarshal_VkImageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1499                                        const VkImageCreateInfo* forMarshaling, uint8_t** ptr) {
1500     (void)vkStream;
1501     (void)rootType;
1502     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1503     *ptr += sizeof(VkStructureType);
1504     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1505         rootType = forMarshaling->sType;
1506     }
1507     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1508     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
1509     *ptr += sizeof(VkImageCreateFlags);
1510     memcpy(*ptr, (VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
1511     *ptr += sizeof(VkImageType);
1512     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1513     *ptr += sizeof(VkFormat);
1514     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
1515     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
1516     *ptr += sizeof(uint32_t);
1517     memcpy(*ptr, (uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
1518     *ptr += sizeof(uint32_t);
1519     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
1520     *ptr += sizeof(VkSampleCountFlagBits);
1521     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
1522     *ptr += sizeof(VkImageTiling);
1523     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
1524     *ptr += sizeof(VkImageUsageFlags);
1525     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1526     *ptr += sizeof(VkSharingMode);
1527     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1528     *ptr += sizeof(uint32_t);
1529     // WARNING PTR CHECK
1530     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1531     memcpy((*ptr), &cgen_var_0, 8);
1532     android::base::Stream::toBe64((uint8_t*)(*ptr));
1533     *ptr += 8;
1534     if (forMarshaling->pQueueFamilyIndices) {
1535         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
1536                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1537         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
1538     }
1539     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
1540     *ptr += sizeof(VkImageLayout);
1541 }
1542 
reservedmarshal_VkSubresourceLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout * forMarshaling,uint8_t ** ptr)1543 void reservedmarshal_VkSubresourceLayout(VulkanStreamGuest* vkStream, VkStructureType rootType,
1544                                          const VkSubresourceLayout* forMarshaling, uint8_t** ptr) {
1545     (void)vkStream;
1546     (void)rootType;
1547     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1548     *ptr += sizeof(VkDeviceSize);
1549     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1550     *ptr += sizeof(VkDeviceSize);
1551     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
1552     *ptr += sizeof(VkDeviceSize);
1553     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
1554     *ptr += sizeof(VkDeviceSize);
1555     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
1556     *ptr += sizeof(VkDeviceSize);
1557 }
1558 
reservedmarshal_VkComponentMapping(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComponentMapping * forMarshaling,uint8_t ** ptr)1559 void reservedmarshal_VkComponentMapping(VulkanStreamGuest* vkStream, VkStructureType rootType,
1560                                         const VkComponentMapping* forMarshaling, uint8_t** ptr) {
1561     (void)vkStream;
1562     (void)rootType;
1563     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
1564     *ptr += sizeof(VkComponentSwizzle);
1565     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
1566     *ptr += sizeof(VkComponentSwizzle);
1567     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
1568     *ptr += sizeof(VkComponentSwizzle);
1569     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
1570     *ptr += sizeof(VkComponentSwizzle);
1571 }
1572 
reservedmarshal_VkImageViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewCreateInfo * forMarshaling,uint8_t ** ptr)1573 void reservedmarshal_VkImageViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1574                                            const VkImageViewCreateInfo* forMarshaling,
1575                                            uint8_t** ptr) {
1576     (void)vkStream;
1577     (void)rootType;
1578     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1579     *ptr += sizeof(VkStructureType);
1580     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1581         rootType = forMarshaling->sType;
1582     }
1583     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1584     memcpy(*ptr, (VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
1585     *ptr += sizeof(VkImageViewCreateFlags);
1586     uint64_t cgen_var_0;
1587     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1588     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1589     *ptr += 1 * 8;
1590     memcpy(*ptr, (VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
1591     *ptr += sizeof(VkImageViewType);
1592     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1593     *ptr += sizeof(VkFormat);
1594     reservedmarshal_VkComponentMapping(vkStream, rootType,
1595                                        (VkComponentMapping*)(&forMarshaling->components), ptr);
1596     reservedmarshal_VkImageSubresourceRange(
1597         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
1598 }
1599 
reservedmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderModuleCreateInfo * forMarshaling,uint8_t ** ptr)1600 void reservedmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1601                                               const VkShaderModuleCreateInfo* forMarshaling,
1602                                               uint8_t** ptr) {
1603     (void)vkStream;
1604     (void)rootType;
1605     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1606     *ptr += sizeof(VkStructureType);
1607     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1608         rootType = forMarshaling->sType;
1609     }
1610     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1611     memcpy(*ptr, (VkShaderModuleCreateFlags*)&forMarshaling->flags,
1612            sizeof(VkShaderModuleCreateFlags));
1613     *ptr += sizeof(VkShaderModuleCreateFlags);
1614     uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
1615     memcpy((*ptr), &cgen_var_0, 8);
1616     android::base::Stream::toBe64((uint8_t*)(*ptr));
1617     *ptr += 8;
1618     memcpy(*ptr, (const uint32_t*)forMarshaling->pCode,
1619            (forMarshaling->codeSize / 4) * sizeof(const uint32_t));
1620     *ptr += (forMarshaling->codeSize / 4) * sizeof(const uint32_t);
1621 }
1622 
reservedmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheCreateInfo * forMarshaling,uint8_t ** ptr)1623 void reservedmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest* vkStream,
1624                                                VkStructureType rootType,
1625                                                const VkPipelineCacheCreateInfo* forMarshaling,
1626                                                uint8_t** ptr) {
1627     (void)vkStream;
1628     (void)rootType;
1629     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1630     *ptr += sizeof(VkStructureType);
1631     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1632         rootType = forMarshaling->sType;
1633     }
1634     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1635     memcpy(*ptr, (VkPipelineCacheCreateFlags*)&forMarshaling->flags,
1636            sizeof(VkPipelineCacheCreateFlags));
1637     *ptr += sizeof(VkPipelineCacheCreateFlags);
1638     uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
1639     memcpy((*ptr), &cgen_var_0, 8);
1640     android::base::Stream::toBe64((uint8_t*)(*ptr));
1641     *ptr += 8;
1642     memcpy(*ptr, (const void*)forMarshaling->pInitialData,
1643            forMarshaling->initialDataSize * sizeof(const uint8_t));
1644     *ptr += forMarshaling->initialDataSize * sizeof(const uint8_t);
1645 }
1646 
reservedmarshal_VkSpecializationMapEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationMapEntry * forMarshaling,uint8_t ** ptr)1647 void reservedmarshal_VkSpecializationMapEntry(VulkanStreamGuest* vkStream, VkStructureType rootType,
1648                                               const VkSpecializationMapEntry* forMarshaling,
1649                                               uint8_t** ptr) {
1650     (void)vkStream;
1651     (void)rootType;
1652     memcpy(*ptr, (uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
1653     *ptr += sizeof(uint32_t);
1654     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
1655     *ptr += sizeof(uint32_t);
1656     uint64_t cgen_var_0 = (uint64_t)forMarshaling->size;
1657     memcpy((*ptr), &cgen_var_0, 8);
1658     android::base::Stream::toBe64((uint8_t*)(*ptr));
1659     *ptr += 8;
1660 }
1661 
reservedmarshal_VkSpecializationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationInfo * forMarshaling,uint8_t ** ptr)1662 void reservedmarshal_VkSpecializationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1663                                           const VkSpecializationInfo* forMarshaling,
1664                                           uint8_t** ptr) {
1665     (void)vkStream;
1666     (void)rootType;
1667     memcpy(*ptr, (uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
1668     *ptr += sizeof(uint32_t);
1669     for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) {
1670         reservedmarshal_VkSpecializationMapEntry(
1671             vkStream, rootType, (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i),
1672             ptr);
1673     }
1674     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
1675     memcpy((*ptr), &cgen_var_0, 8);
1676     android::base::Stream::toBe64((uint8_t*)(*ptr));
1677     *ptr += 8;
1678     memcpy(*ptr, (const void*)forMarshaling->pData,
1679            forMarshaling->dataSize * sizeof(const uint8_t));
1680     *ptr += forMarshaling->dataSize * sizeof(const uint8_t);
1681 }
1682 
reservedmarshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageCreateInfo * forMarshaling,uint8_t ** ptr)1683 void reservedmarshal_VkPipelineShaderStageCreateInfo(
1684     VulkanStreamGuest* vkStream, VkStructureType rootType,
1685     const VkPipelineShaderStageCreateInfo* forMarshaling, uint8_t** ptr) {
1686     (void)vkStream;
1687     (void)rootType;
1688     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1689     *ptr += sizeof(VkStructureType);
1690     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1691         rootType = forMarshaling->sType;
1692     }
1693     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1694     memcpy(*ptr, (VkPipelineShaderStageCreateFlags*)&forMarshaling->flags,
1695            sizeof(VkPipelineShaderStageCreateFlags));
1696     *ptr += sizeof(VkPipelineShaderStageCreateFlags);
1697     memcpy(*ptr, (VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
1698     *ptr += sizeof(VkShaderStageFlagBits);
1699     uint64_t cgen_var_0;
1700     *&cgen_var_0 = get_host_u64_VkShaderModule((*&forMarshaling->module));
1701     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1702     *ptr += 1 * 8;
1703     {
1704         uint32_t l = forMarshaling->pName ? strlen(forMarshaling->pName) : 0;
1705         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1706         android::base::Stream::toBe32((uint8_t*)*ptr);
1707         *ptr += sizeof(uint32_t);
1708         memcpy(*ptr, (char*)forMarshaling->pName, l);
1709         *ptr += l;
1710     }
1711     // WARNING PTR CHECK
1712     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
1713     memcpy((*ptr), &cgen_var_1, 8);
1714     android::base::Stream::toBe64((uint8_t*)(*ptr));
1715     *ptr += 8;
1716     if (forMarshaling->pSpecializationInfo) {
1717         reservedmarshal_VkSpecializationInfo(
1718             vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo),
1719             ptr);
1720     }
1721 }
1722 
reservedmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComputePipelineCreateInfo * forMarshaling,uint8_t ** ptr)1723 void reservedmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest* vkStream,
1724                                                  VkStructureType rootType,
1725                                                  const VkComputePipelineCreateInfo* forMarshaling,
1726                                                  uint8_t** ptr) {
1727     (void)vkStream;
1728     (void)rootType;
1729     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1730     *ptr += sizeof(VkStructureType);
1731     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1732         rootType = forMarshaling->sType;
1733     }
1734     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1735     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
1736     *ptr += sizeof(VkPipelineCreateFlags);
1737     reservedmarshal_VkPipelineShaderStageCreateInfo(
1738         vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage), ptr);
1739     uint64_t cgen_var_0;
1740     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
1741     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1742     *ptr += 1 * 8;
1743     uint64_t cgen_var_1;
1744     *&cgen_var_1 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
1745     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
1746     *ptr += 1 * 8;
1747     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
1748     *ptr += sizeof(int32_t);
1749 }
1750 
reservedmarshal_VkVertexInputBindingDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDescription * forMarshaling,uint8_t ** ptr)1751 void reservedmarshal_VkVertexInputBindingDescription(
1752     VulkanStreamGuest* vkStream, VkStructureType rootType,
1753     const VkVertexInputBindingDescription* forMarshaling, uint8_t** ptr) {
1754     (void)vkStream;
1755     (void)rootType;
1756     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
1757     *ptr += sizeof(uint32_t);
1758     memcpy(*ptr, (uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
1759     *ptr += sizeof(uint32_t);
1760     memcpy(*ptr, (VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
1761     *ptr += sizeof(VkVertexInputRate);
1762 }
1763 
reservedmarshal_VkVertexInputAttributeDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputAttributeDescription * forMarshaling,uint8_t ** ptr)1764 void reservedmarshal_VkVertexInputAttributeDescription(
1765     VulkanStreamGuest* vkStream, VkStructureType rootType,
1766     const VkVertexInputAttributeDescription* forMarshaling, uint8_t** ptr) {
1767     (void)vkStream;
1768     (void)rootType;
1769     memcpy(*ptr, (uint32_t*)&forMarshaling->location, sizeof(uint32_t));
1770     *ptr += sizeof(uint32_t);
1771     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
1772     *ptr += sizeof(uint32_t);
1773     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1774     *ptr += sizeof(VkFormat);
1775     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
1776     *ptr += sizeof(uint32_t);
1777 }
1778 
reservedmarshal_VkPipelineVertexInputStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputStateCreateInfo * forMarshaling,uint8_t ** ptr)1779 void reservedmarshal_VkPipelineVertexInputStateCreateInfo(
1780     VulkanStreamGuest* vkStream, VkStructureType rootType,
1781     const VkPipelineVertexInputStateCreateInfo* forMarshaling, uint8_t** ptr) {
1782     (void)vkStream;
1783     (void)rootType;
1784     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1785     *ptr += sizeof(VkStructureType);
1786     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1787         rootType = forMarshaling->sType;
1788     }
1789     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1790     memcpy(*ptr, (VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags,
1791            sizeof(VkPipelineVertexInputStateCreateFlags));
1792     *ptr += sizeof(VkPipelineVertexInputStateCreateFlags);
1793     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
1794     *ptr += sizeof(uint32_t);
1795     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) {
1796         reservedmarshal_VkVertexInputBindingDescription(
1797             vkStream, rootType,
1798             (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions + i),
1799             ptr);
1800     }
1801     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
1802     *ptr += sizeof(uint32_t);
1803     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) {
1804         reservedmarshal_VkVertexInputAttributeDescription(
1805             vkStream, rootType,
1806             (const VkVertexInputAttributeDescription*)(forMarshaling->pVertexAttributeDescriptions +
1807                                                        i),
1808             ptr);
1809     }
1810 }
1811 
reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInputAssemblyStateCreateInfo * forMarshaling,uint8_t ** ptr)1812 void reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(
1813     VulkanStreamGuest* vkStream, VkStructureType rootType,
1814     const VkPipelineInputAssemblyStateCreateInfo* forMarshaling, uint8_t** ptr) {
1815     (void)vkStream;
1816     (void)rootType;
1817     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1818     *ptr += sizeof(VkStructureType);
1819     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1820         rootType = forMarshaling->sType;
1821     }
1822     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1823     memcpy(*ptr, (VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags,
1824            sizeof(VkPipelineInputAssemblyStateCreateFlags));
1825     *ptr += sizeof(VkPipelineInputAssemblyStateCreateFlags);
1826     memcpy(*ptr, (VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
1827     *ptr += sizeof(VkPrimitiveTopology);
1828     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
1829     *ptr += sizeof(VkBool32);
1830 }
1831 
reservedmarshal_VkPipelineTessellationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationStateCreateInfo * forMarshaling,uint8_t ** ptr)1832 void reservedmarshal_VkPipelineTessellationStateCreateInfo(
1833     VulkanStreamGuest* vkStream, VkStructureType rootType,
1834     const VkPipelineTessellationStateCreateInfo* forMarshaling, uint8_t** ptr) {
1835     (void)vkStream;
1836     (void)rootType;
1837     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1838     *ptr += sizeof(VkStructureType);
1839     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1840         rootType = forMarshaling->sType;
1841     }
1842     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1843     memcpy(*ptr, (VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags,
1844            sizeof(VkPipelineTessellationStateCreateFlags));
1845     *ptr += sizeof(VkPipelineTessellationStateCreateFlags);
1846     memcpy(*ptr, (uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
1847     *ptr += sizeof(uint32_t);
1848 }
1849 
reservedmarshal_VkViewport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViewport * forMarshaling,uint8_t ** ptr)1850 void reservedmarshal_VkViewport(VulkanStreamGuest* vkStream, VkStructureType rootType,
1851                                 const VkViewport* forMarshaling, uint8_t** ptr) {
1852     (void)vkStream;
1853     (void)rootType;
1854     memcpy(*ptr, (float*)&forMarshaling->x, sizeof(float));
1855     *ptr += sizeof(float);
1856     memcpy(*ptr, (float*)&forMarshaling->y, sizeof(float));
1857     *ptr += sizeof(float);
1858     memcpy(*ptr, (float*)&forMarshaling->width, sizeof(float));
1859     *ptr += sizeof(float);
1860     memcpy(*ptr, (float*)&forMarshaling->height, sizeof(float));
1861     *ptr += sizeof(float);
1862     memcpy(*ptr, (float*)&forMarshaling->minDepth, sizeof(float));
1863     *ptr += sizeof(float);
1864     memcpy(*ptr, (float*)&forMarshaling->maxDepth, sizeof(float));
1865     *ptr += sizeof(float);
1866 }
1867 
reservedmarshal_VkPipelineViewportStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportStateCreateInfo * forMarshaling,uint8_t ** ptr)1868 void reservedmarshal_VkPipelineViewportStateCreateInfo(
1869     VulkanStreamGuest* vkStream, VkStructureType rootType,
1870     const VkPipelineViewportStateCreateInfo* forMarshaling, uint8_t** ptr) {
1871     (void)vkStream;
1872     (void)rootType;
1873     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1874     *ptr += sizeof(VkStructureType);
1875     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1876         rootType = forMarshaling->sType;
1877     }
1878     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1879     memcpy(*ptr, (VkPipelineViewportStateCreateFlags*)&forMarshaling->flags,
1880            sizeof(VkPipelineViewportStateCreateFlags));
1881     *ptr += sizeof(VkPipelineViewportStateCreateFlags);
1882     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
1883     *ptr += sizeof(uint32_t);
1884     // WARNING PTR CHECK
1885     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
1886     memcpy((*ptr), &cgen_var_0, 8);
1887     android::base::Stream::toBe64((uint8_t*)(*ptr));
1888     *ptr += 8;
1889     if (forMarshaling->pViewports) {
1890         for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
1891             reservedmarshal_VkViewport(vkStream, rootType,
1892                                        (const VkViewport*)(forMarshaling->pViewports + i), ptr);
1893         }
1894     }
1895     memcpy(*ptr, (uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
1896     *ptr += sizeof(uint32_t);
1897     // WARNING PTR CHECK
1898     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
1899     memcpy((*ptr), &cgen_var_1, 8);
1900     android::base::Stream::toBe64((uint8_t*)(*ptr));
1901     *ptr += 8;
1902     if (forMarshaling->pScissors) {
1903         for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) {
1904             reservedmarshal_VkRect2D(vkStream, rootType,
1905                                      (const VkRect2D*)(forMarshaling->pScissors + i), ptr);
1906         }
1907     }
1908 }
1909 
reservedmarshal_VkPipelineRasterizationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateCreateInfo * forMarshaling,uint8_t ** ptr)1910 void reservedmarshal_VkPipelineRasterizationStateCreateInfo(
1911     VulkanStreamGuest* vkStream, VkStructureType rootType,
1912     const VkPipelineRasterizationStateCreateInfo* forMarshaling, uint8_t** ptr) {
1913     (void)vkStream;
1914     (void)rootType;
1915     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1916     *ptr += sizeof(VkStructureType);
1917     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1918         rootType = forMarshaling->sType;
1919     }
1920     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1921     memcpy(*ptr, (VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags,
1922            sizeof(VkPipelineRasterizationStateCreateFlags));
1923     *ptr += sizeof(VkPipelineRasterizationStateCreateFlags);
1924     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
1925     *ptr += sizeof(VkBool32);
1926     memcpy(*ptr, (VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
1927     *ptr += sizeof(VkBool32);
1928     memcpy(*ptr, (VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
1929     *ptr += sizeof(VkPolygonMode);
1930     memcpy(*ptr, (VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
1931     *ptr += sizeof(VkCullModeFlags);
1932     memcpy(*ptr, (VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
1933     *ptr += sizeof(VkFrontFace);
1934     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
1935     *ptr += sizeof(VkBool32);
1936     memcpy(*ptr, (float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
1937     *ptr += sizeof(float);
1938     memcpy(*ptr, (float*)&forMarshaling->depthBiasClamp, sizeof(float));
1939     *ptr += sizeof(float);
1940     memcpy(*ptr, (float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
1941     *ptr += sizeof(float);
1942     memcpy(*ptr, (float*)&forMarshaling->lineWidth, sizeof(float));
1943     *ptr += sizeof(float);
1944 }
1945 
reservedmarshal_VkPipelineMultisampleStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineMultisampleStateCreateInfo * forMarshaling,uint8_t ** ptr)1946 void reservedmarshal_VkPipelineMultisampleStateCreateInfo(
1947     VulkanStreamGuest* vkStream, VkStructureType rootType,
1948     const VkPipelineMultisampleStateCreateInfo* forMarshaling, uint8_t** ptr) {
1949     (void)vkStream;
1950     (void)rootType;
1951     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1952     *ptr += sizeof(VkStructureType);
1953     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1954         rootType = forMarshaling->sType;
1955     }
1956     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1957     memcpy(*ptr, (VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags,
1958            sizeof(VkPipelineMultisampleStateCreateFlags));
1959     *ptr += sizeof(VkPipelineMultisampleStateCreateFlags);
1960     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
1961            sizeof(VkSampleCountFlagBits));
1962     *ptr += sizeof(VkSampleCountFlagBits);
1963     memcpy(*ptr, (VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
1964     *ptr += sizeof(VkBool32);
1965     memcpy(*ptr, (float*)&forMarshaling->minSampleShading, sizeof(float));
1966     *ptr += sizeof(float);
1967     // WARNING PTR CHECK
1968     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
1969     memcpy((*ptr), &cgen_var_0, 8);
1970     android::base::Stream::toBe64((uint8_t*)(*ptr));
1971     *ptr += 8;
1972     if (forMarshaling->pSampleMask) {
1973         memcpy(*ptr, (const VkSampleMask*)forMarshaling->pSampleMask,
1974                (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
1975         *ptr += (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask);
1976     }
1977     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
1978     *ptr += sizeof(VkBool32);
1979     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
1980     *ptr += sizeof(VkBool32);
1981 }
1982 
reservedmarshal_VkStencilOpState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkStencilOpState * forMarshaling,uint8_t ** ptr)1983 void reservedmarshal_VkStencilOpState(VulkanStreamGuest* vkStream, VkStructureType rootType,
1984                                       const VkStencilOpState* forMarshaling, uint8_t** ptr) {
1985     (void)vkStream;
1986     (void)rootType;
1987     memcpy(*ptr, (VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
1988     *ptr += sizeof(VkStencilOp);
1989     memcpy(*ptr, (VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
1990     *ptr += sizeof(VkStencilOp);
1991     memcpy(*ptr, (VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
1992     *ptr += sizeof(VkStencilOp);
1993     memcpy(*ptr, (VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
1994     *ptr += sizeof(VkCompareOp);
1995     memcpy(*ptr, (uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
1996     *ptr += sizeof(uint32_t);
1997     memcpy(*ptr, (uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
1998     *ptr += sizeof(uint32_t);
1999     memcpy(*ptr, (uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
2000     *ptr += sizeof(uint32_t);
2001 }
2002 
reservedmarshal_VkPipelineDepthStencilStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDepthStencilStateCreateInfo * forMarshaling,uint8_t ** ptr)2003 void reservedmarshal_VkPipelineDepthStencilStateCreateInfo(
2004     VulkanStreamGuest* vkStream, VkStructureType rootType,
2005     const VkPipelineDepthStencilStateCreateInfo* forMarshaling, uint8_t** ptr) {
2006     (void)vkStream;
2007     (void)rootType;
2008     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2009     *ptr += sizeof(VkStructureType);
2010     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2011         rootType = forMarshaling->sType;
2012     }
2013     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2014     memcpy(*ptr, (VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags,
2015            sizeof(VkPipelineDepthStencilStateCreateFlags));
2016     *ptr += sizeof(VkPipelineDepthStencilStateCreateFlags);
2017     memcpy(*ptr, (VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
2018     *ptr += sizeof(VkBool32);
2019     memcpy(*ptr, (VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
2020     *ptr += sizeof(VkBool32);
2021     memcpy(*ptr, (VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
2022     *ptr += sizeof(VkCompareOp);
2023     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
2024     *ptr += sizeof(VkBool32);
2025     memcpy(*ptr, (VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
2026     *ptr += sizeof(VkBool32);
2027     reservedmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->front),
2028                                      ptr);
2029     reservedmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->back),
2030                                      ptr);
2031     memcpy(*ptr, (float*)&forMarshaling->minDepthBounds, sizeof(float));
2032     *ptr += sizeof(float);
2033     memcpy(*ptr, (float*)&forMarshaling->maxDepthBounds, sizeof(float));
2034     *ptr += sizeof(float);
2035 }
2036 
reservedmarshal_VkPipelineColorBlendAttachmentState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendAttachmentState * forMarshaling,uint8_t ** ptr)2037 void reservedmarshal_VkPipelineColorBlendAttachmentState(
2038     VulkanStreamGuest* vkStream, VkStructureType rootType,
2039     const VkPipelineColorBlendAttachmentState* forMarshaling, uint8_t** ptr) {
2040     (void)vkStream;
2041     (void)rootType;
2042     memcpy(*ptr, (VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
2043     *ptr += sizeof(VkBool32);
2044     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
2045     *ptr += sizeof(VkBlendFactor);
2046     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
2047     *ptr += sizeof(VkBlendFactor);
2048     memcpy(*ptr, (VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
2049     *ptr += sizeof(VkBlendOp);
2050     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
2051     *ptr += sizeof(VkBlendFactor);
2052     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
2053     *ptr += sizeof(VkBlendFactor);
2054     memcpy(*ptr, (VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
2055     *ptr += sizeof(VkBlendOp);
2056     memcpy(*ptr, (VkColorComponentFlags*)&forMarshaling->colorWriteMask,
2057            sizeof(VkColorComponentFlags));
2058     *ptr += sizeof(VkColorComponentFlags);
2059 }
2060 
reservedmarshal_VkPipelineColorBlendStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendStateCreateInfo * forMarshaling,uint8_t ** ptr)2061 void reservedmarshal_VkPipelineColorBlendStateCreateInfo(
2062     VulkanStreamGuest* vkStream, VkStructureType rootType,
2063     const VkPipelineColorBlendStateCreateInfo* forMarshaling, uint8_t** ptr) {
2064     (void)vkStream;
2065     (void)rootType;
2066     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2067     *ptr += sizeof(VkStructureType);
2068     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2069         rootType = forMarshaling->sType;
2070     }
2071     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2072     memcpy(*ptr, (VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags,
2073            sizeof(VkPipelineColorBlendStateCreateFlags));
2074     *ptr += sizeof(VkPipelineColorBlendStateCreateFlags);
2075     memcpy(*ptr, (VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
2076     *ptr += sizeof(VkBool32);
2077     memcpy(*ptr, (VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
2078     *ptr += sizeof(VkLogicOp);
2079     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2080     *ptr += sizeof(uint32_t);
2081     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
2082         reservedmarshal_VkPipelineColorBlendAttachmentState(
2083             vkStream, rootType,
2084             (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i), ptr);
2085     }
2086     memcpy(*ptr, (float*)forMarshaling->blendConstants, 4 * sizeof(float));
2087     *ptr += 4 * sizeof(float);
2088 }
2089 
reservedmarshal_VkPipelineDynamicStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDynamicStateCreateInfo * forMarshaling,uint8_t ** ptr)2090 void reservedmarshal_VkPipelineDynamicStateCreateInfo(
2091     VulkanStreamGuest* vkStream, VkStructureType rootType,
2092     const VkPipelineDynamicStateCreateInfo* forMarshaling, uint8_t** ptr) {
2093     (void)vkStream;
2094     (void)rootType;
2095     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2096     *ptr += sizeof(VkStructureType);
2097     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2098         rootType = forMarshaling->sType;
2099     }
2100     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2101     memcpy(*ptr, (VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags,
2102            sizeof(VkPipelineDynamicStateCreateFlags));
2103     *ptr += sizeof(VkPipelineDynamicStateCreateFlags);
2104     memcpy(*ptr, (uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
2105     *ptr += sizeof(uint32_t);
2106     memcpy(*ptr, (const VkDynamicState*)forMarshaling->pDynamicStates,
2107            forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
2108     *ptr += forMarshaling->dynamicStateCount * sizeof(const VkDynamicState);
2109 }
2110 
reservedmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineCreateInfo * forMarshaling,uint8_t ** ptr)2111 void reservedmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest* vkStream,
2112                                                   VkStructureType rootType,
2113                                                   const VkGraphicsPipelineCreateInfo* forMarshaling,
2114                                                   uint8_t** ptr) {
2115     (void)vkStream;
2116     (void)rootType;
2117     uint32_t hasRasterization = 1;
2118     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2119         hasRasterization =
2120             ((((0 == forMarshaling->pRasterizationState))
2121                   ? (0)
2122                   : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))) ||
2123              (((0 == forMarshaling->pDynamicState))
2124                   ? (0)
2125                   : (arrayany((*(forMarshaling->pDynamicState)).pDynamicStates, 0,
2126                               (*(forMarshaling->pDynamicState)).dynamicStateCount,
2127                               [](VkDynamicState s) {
2128                                   return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
2129                               }))));
2130         uint32_t cgen_var_0 = (uint32_t)hasRasterization;
2131         memcpy((*ptr), &cgen_var_0, 4);
2132         android::base::Stream::toBe32((uint8_t*)(*ptr));
2133         *ptr += 4;
2134     }
2135     uint32_t hasTessellation = 1;
2136     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2137         hasTessellation =
2138             arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount,
2139                      [](VkPipelineShaderStageCreateInfo s) {
2140                          return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
2141                                  (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
2142                      });
2143         uint32_t cgen_var_0 = (uint32_t)hasTessellation;
2144         memcpy((*ptr), &cgen_var_0, 4);
2145         android::base::Stream::toBe32((uint8_t*)(*ptr));
2146         *ptr += 4;
2147     }
2148     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2149     *ptr += sizeof(VkStructureType);
2150     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2151         rootType = forMarshaling->sType;
2152     }
2153     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2154     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
2155     *ptr += sizeof(VkPipelineCreateFlags);
2156     memcpy(*ptr, (uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
2157     *ptr += sizeof(uint32_t);
2158     for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
2159         reservedmarshal_VkPipelineShaderStageCreateInfo(
2160             vkStream, rootType,
2161             (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i), ptr);
2162     }
2163     // WARNING PTR CHECK
2164     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2165         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
2166         memcpy((*ptr), &cgen_var_0, 8);
2167         android::base::Stream::toBe64((uint8_t*)(*ptr));
2168         *ptr += 8;
2169     }
2170     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2171          forMarshaling->pVertexInputState)) {
2172         reservedmarshal_VkPipelineVertexInputStateCreateInfo(
2173             vkStream, rootType,
2174             (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState), ptr);
2175     }
2176     // WARNING PTR CHECK
2177     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2178         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
2179         memcpy((*ptr), &cgen_var_0, 8);
2180         android::base::Stream::toBe64((uint8_t*)(*ptr));
2181         *ptr += 8;
2182     }
2183     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2184          forMarshaling->pInputAssemblyState)) {
2185         reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(
2186             vkStream, rootType,
2187             (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState),
2188             ptr);
2189     }
2190     // WARNING PTR CHECK
2191     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
2192     memcpy((*ptr), &cgen_var_0, 8);
2193     android::base::Stream::toBe64((uint8_t*)(*ptr));
2194     *ptr += 8;
2195     if (forMarshaling->pTessellationState) {
2196         if (hasTessellation) {
2197             reservedmarshal_VkPipelineTessellationStateCreateInfo(
2198                 vkStream, rootType,
2199                 (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState),
2200                 ptr);
2201         }
2202     }
2203     // WARNING PTR CHECK
2204     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
2205     memcpy((*ptr), &cgen_var_1, 8);
2206     android::base::Stream::toBe64((uint8_t*)(*ptr));
2207     *ptr += 8;
2208     if (forMarshaling->pViewportState) {
2209         if (hasRasterization) {
2210             reservedmarshal_VkPipelineViewportStateCreateInfo(
2211                 vkStream, rootType,
2212                 (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState), ptr);
2213         }
2214     }
2215     // WARNING PTR CHECK
2216     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2217         uint64_t cgen_var_1_0 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
2218         memcpy((*ptr), &cgen_var_1_0, 8);
2219         android::base::Stream::toBe64((uint8_t*)(*ptr));
2220         *ptr += 8;
2221     }
2222     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2223          forMarshaling->pRasterizationState)) {
2224         reservedmarshal_VkPipelineRasterizationStateCreateInfo(
2225             vkStream, rootType,
2226             (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState),
2227             ptr);
2228     }
2229     // WARNING PTR CHECK
2230     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
2231     memcpy((*ptr), &cgen_var_2, 8);
2232     android::base::Stream::toBe64((uint8_t*)(*ptr));
2233     *ptr += 8;
2234     if (forMarshaling->pMultisampleState) {
2235         if (hasRasterization) {
2236             reservedmarshal_VkPipelineMultisampleStateCreateInfo(
2237                 vkStream, rootType,
2238                 (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState),
2239                 ptr);
2240         }
2241     }
2242     // WARNING PTR CHECK
2243     uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
2244     memcpy((*ptr), &cgen_var_3, 8);
2245     android::base::Stream::toBe64((uint8_t*)(*ptr));
2246     *ptr += 8;
2247     if (forMarshaling->pDepthStencilState) {
2248         if (hasRasterization) {
2249             reservedmarshal_VkPipelineDepthStencilStateCreateInfo(
2250                 vkStream, rootType,
2251                 (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState),
2252                 ptr);
2253         }
2254     }
2255     // WARNING PTR CHECK
2256     uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
2257     memcpy((*ptr), &cgen_var_4, 8);
2258     android::base::Stream::toBe64((uint8_t*)(*ptr));
2259     *ptr += 8;
2260     if (forMarshaling->pColorBlendState) {
2261         if (hasRasterization) {
2262             reservedmarshal_VkPipelineColorBlendStateCreateInfo(
2263                 vkStream, rootType,
2264                 (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState), ptr);
2265         }
2266     }
2267     // WARNING PTR CHECK
2268     uint64_t cgen_var_5 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
2269     memcpy((*ptr), &cgen_var_5, 8);
2270     android::base::Stream::toBe64((uint8_t*)(*ptr));
2271     *ptr += 8;
2272     if (forMarshaling->pDynamicState) {
2273         reservedmarshal_VkPipelineDynamicStateCreateInfo(
2274             vkStream, rootType,
2275             (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState), ptr);
2276     }
2277     uint64_t cgen_var_6;
2278     *&cgen_var_6 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
2279     memcpy(*ptr, (uint64_t*)&cgen_var_6, 1 * 8);
2280     *ptr += 1 * 8;
2281     uint64_t cgen_var_7;
2282     *&cgen_var_7 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2283     memcpy(*ptr, (uint64_t*)&cgen_var_7, 1 * 8);
2284     *ptr += 1 * 8;
2285     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
2286     *ptr += sizeof(uint32_t);
2287     uint64_t cgen_var_8;
2288     *&cgen_var_8 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
2289     memcpy(*ptr, (uint64_t*)&cgen_var_8, 1 * 8);
2290     *ptr += 1 * 8;
2291     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
2292     *ptr += sizeof(int32_t);
2293 }
2294 
reservedmarshal_VkPushConstantRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushConstantRange * forMarshaling,uint8_t ** ptr)2295 void reservedmarshal_VkPushConstantRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
2296                                          const VkPushConstantRange* forMarshaling, uint8_t** ptr) {
2297     (void)vkStream;
2298     (void)rootType;
2299     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
2300     *ptr += sizeof(VkShaderStageFlags);
2301     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2302     *ptr += sizeof(uint32_t);
2303     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
2304     *ptr += sizeof(uint32_t);
2305 }
2306 
reservedmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineLayoutCreateInfo * forMarshaling,uint8_t ** ptr)2307 void reservedmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest* vkStream,
2308                                                 VkStructureType rootType,
2309                                                 const VkPipelineLayoutCreateInfo* forMarshaling,
2310                                                 uint8_t** ptr) {
2311     (void)vkStream;
2312     (void)rootType;
2313     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2314     *ptr += sizeof(VkStructureType);
2315     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2316         rootType = forMarshaling->sType;
2317     }
2318     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2319     memcpy(*ptr, (VkPipelineLayoutCreateFlags*)&forMarshaling->flags,
2320            sizeof(VkPipelineLayoutCreateFlags));
2321     *ptr += sizeof(VkPipelineLayoutCreateFlags);
2322     memcpy(*ptr, (uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
2323     *ptr += sizeof(uint32_t);
2324     if (forMarshaling->setLayoutCount) {
2325         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
2326         if (forMarshaling) {
2327             for (uint32_t k = 0; k < forMarshaling->setLayoutCount; ++k) {
2328                 uint64_t tmpval = get_host_u64_VkDescriptorSetLayout(forMarshaling->pSetLayouts[k]);
2329                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2330             }
2331         }
2332         *ptr += 8 * forMarshaling->setLayoutCount;
2333     }
2334     memcpy(*ptr, (uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
2335     *ptr += sizeof(uint32_t);
2336     for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
2337         reservedmarshal_VkPushConstantRange(
2338             vkStream, rootType,
2339             (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i), ptr);
2340     }
2341 }
2342 
reservedmarshal_VkSamplerCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCreateInfo * forMarshaling,uint8_t ** ptr)2343 void reservedmarshal_VkSamplerCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2344                                          const VkSamplerCreateInfo* forMarshaling, uint8_t** ptr) {
2345     (void)vkStream;
2346     (void)rootType;
2347     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2348     *ptr += sizeof(VkStructureType);
2349     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2350         rootType = forMarshaling->sType;
2351     }
2352     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2353     memcpy(*ptr, (VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
2354     *ptr += sizeof(VkSamplerCreateFlags);
2355     memcpy(*ptr, (VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
2356     *ptr += sizeof(VkFilter);
2357     memcpy(*ptr, (VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
2358     *ptr += sizeof(VkFilter);
2359     memcpy(*ptr, (VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
2360     *ptr += sizeof(VkSamplerMipmapMode);
2361     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeU, sizeof(VkSamplerAddressMode));
2362     *ptr += sizeof(VkSamplerAddressMode);
2363     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeV, sizeof(VkSamplerAddressMode));
2364     *ptr += sizeof(VkSamplerAddressMode);
2365     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeW, sizeof(VkSamplerAddressMode));
2366     *ptr += sizeof(VkSamplerAddressMode);
2367     memcpy(*ptr, (float*)&forMarshaling->mipLodBias, sizeof(float));
2368     *ptr += sizeof(float);
2369     memcpy(*ptr, (VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
2370     *ptr += sizeof(VkBool32);
2371     memcpy(*ptr, (float*)&forMarshaling->maxAnisotropy, sizeof(float));
2372     *ptr += sizeof(float);
2373     memcpy(*ptr, (VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
2374     *ptr += sizeof(VkBool32);
2375     memcpy(*ptr, (VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
2376     *ptr += sizeof(VkCompareOp);
2377     memcpy(*ptr, (float*)&forMarshaling->minLod, sizeof(float));
2378     *ptr += sizeof(float);
2379     memcpy(*ptr, (float*)&forMarshaling->maxLod, sizeof(float));
2380     *ptr += sizeof(float);
2381     memcpy(*ptr, (VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
2382     *ptr += sizeof(VkBorderColor);
2383     memcpy(*ptr, (VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
2384     *ptr += sizeof(VkBool32);
2385 }
2386 
reservedmarshal_VkCopyDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyDescriptorSet * forMarshaling,uint8_t ** ptr)2387 void reservedmarshal_VkCopyDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
2388                                          const VkCopyDescriptorSet* forMarshaling, uint8_t** ptr) {
2389     (void)vkStream;
2390     (void)rootType;
2391     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2392     *ptr += sizeof(VkStructureType);
2393     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2394         rootType = forMarshaling->sType;
2395     }
2396     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2397     uint64_t cgen_var_0;
2398     *&cgen_var_0 = get_host_u64_VkDescriptorSet((*&forMarshaling->srcSet));
2399     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2400     *ptr += 1 * 8;
2401     memcpy(*ptr, (uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
2402     *ptr += sizeof(uint32_t);
2403     memcpy(*ptr, (uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
2404     *ptr += sizeof(uint32_t);
2405     uint64_t cgen_var_1;
2406     *&cgen_var_1 = get_host_u64_VkDescriptorSet((*&forMarshaling->dstSet));
2407     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2408     *ptr += 1 * 8;
2409     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
2410     *ptr += sizeof(uint32_t);
2411     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
2412     *ptr += sizeof(uint32_t);
2413     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2414     *ptr += sizeof(uint32_t);
2415 }
2416 
reservedmarshal_VkDescriptorBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorBufferInfo * forMarshaling,uint8_t ** ptr)2417 void reservedmarshal_VkDescriptorBufferInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2418                                             const VkDescriptorBufferInfo* forMarshaling,
2419                                             uint8_t** ptr) {
2420     (void)vkStream;
2421     (void)rootType;
2422     uint64_t cgen_var_0;
2423     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
2424     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2425     *ptr += 1 * 8;
2426     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
2427     *ptr += sizeof(VkDeviceSize);
2428     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
2429     *ptr += sizeof(VkDeviceSize);
2430 }
2431 
reservedmarshal_VkDescriptorImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorImageInfo * forMarshaling,uint8_t ** ptr)2432 void reservedmarshal_VkDescriptorImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2433                                            const VkDescriptorImageInfo* forMarshaling,
2434                                            uint8_t** ptr) {
2435     (void)vkStream;
2436     (void)rootType;
2437     uint64_t cgen_var_0;
2438     *&cgen_var_0 = get_host_u64_VkSampler((*&forMarshaling->sampler));
2439     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2440     *ptr += 1 * 8;
2441     uint64_t cgen_var_1;
2442     *&cgen_var_1 = get_host_u64_VkImageView((*&forMarshaling->imageView));
2443     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2444     *ptr += 1 * 8;
2445     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
2446     *ptr += sizeof(VkImageLayout);
2447 }
2448 
reservedmarshal_VkDescriptorPoolSize(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolSize * forMarshaling,uint8_t ** ptr)2449 void reservedmarshal_VkDescriptorPoolSize(VulkanStreamGuest* vkStream, VkStructureType rootType,
2450                                           const VkDescriptorPoolSize* forMarshaling,
2451                                           uint8_t** ptr) {
2452     (void)vkStream;
2453     (void)rootType;
2454     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
2455     *ptr += sizeof(VkDescriptorType);
2456     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2457     *ptr += sizeof(uint32_t);
2458 }
2459 
reservedmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolCreateInfo * forMarshaling,uint8_t ** ptr)2460 void reservedmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest* vkStream,
2461                                                 VkStructureType rootType,
2462                                                 const VkDescriptorPoolCreateInfo* forMarshaling,
2463                                                 uint8_t** ptr) {
2464     (void)vkStream;
2465     (void)rootType;
2466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2467     *ptr += sizeof(VkStructureType);
2468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2469         rootType = forMarshaling->sType;
2470     }
2471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2472     memcpy(*ptr, (VkDescriptorPoolCreateFlags*)&forMarshaling->flags,
2473            sizeof(VkDescriptorPoolCreateFlags));
2474     *ptr += sizeof(VkDescriptorPoolCreateFlags);
2475     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
2476     *ptr += sizeof(uint32_t);
2477     memcpy(*ptr, (uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
2478     *ptr += sizeof(uint32_t);
2479     for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) {
2480         reservedmarshal_VkDescriptorPoolSize(
2481             vkStream, rootType, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i), ptr);
2482     }
2483 }
2484 
reservedmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetAllocateInfo * forMarshaling,uint8_t ** ptr)2485 void reservedmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest* vkStream,
2486                                                  VkStructureType rootType,
2487                                                  const VkDescriptorSetAllocateInfo* forMarshaling,
2488                                                  uint8_t** ptr) {
2489     (void)vkStream;
2490     (void)rootType;
2491     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2492     *ptr += sizeof(VkStructureType);
2493     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2494         rootType = forMarshaling->sType;
2495     }
2496     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2497     uint64_t cgen_var_0;
2498     *&cgen_var_0 = get_host_u64_VkDescriptorPool((*&forMarshaling->descriptorPool));
2499     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2500     *ptr += 1 * 8;
2501     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
2502     *ptr += sizeof(uint32_t);
2503     if (forMarshaling->descriptorSetCount) {
2504         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
2505         if (forMarshaling) {
2506             for (uint32_t k = 0; k < forMarshaling->descriptorSetCount; ++k) {
2507                 uint64_t tmpval = get_host_u64_VkDescriptorSetLayout(forMarshaling->pSetLayouts[k]);
2508                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
2509             }
2510         }
2511         *ptr += 8 * forMarshaling->descriptorSetCount;
2512     }
2513 }
2514 
reservedmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBinding * forMarshaling,uint8_t ** ptr)2515 void reservedmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest* vkStream,
2516                                                   VkStructureType rootType,
2517                                                   const VkDescriptorSetLayoutBinding* forMarshaling,
2518                                                   uint8_t** ptr) {
2519     (void)vkStream;
2520     (void)rootType;
2521     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2522     *ptr += sizeof(uint32_t);
2523     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
2524     *ptr += sizeof(VkDescriptorType);
2525     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2526     *ptr += sizeof(uint32_t);
2527     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
2528     *ptr += sizeof(VkShaderStageFlags);
2529     // WARNING PTR CHECK
2530     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
2531     memcpy((*ptr), &cgen_var_0, 8);
2532     android::base::Stream::toBe64((uint8_t*)(*ptr));
2533     *ptr += 8;
2534     if (forMarshaling->pImmutableSamplers) {
2535         if (forMarshaling->descriptorCount) {
2536             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
2537             if (forMarshaling) {
2538                 for (uint32_t k = 0; k < forMarshaling->descriptorCount; ++k) {
2539                     uint64_t tmpval = get_host_u64_VkSampler(forMarshaling->pImmutableSamplers[k]);
2540                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2541                 }
2542             }
2543             *ptr += 8 * forMarshaling->descriptorCount;
2544         }
2545     }
2546 }
2547 
reservedmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * forMarshaling,uint8_t ** ptr)2548 void reservedmarshal_VkDescriptorSetLayoutCreateInfo(
2549     VulkanStreamGuest* vkStream, VkStructureType rootType,
2550     const VkDescriptorSetLayoutCreateInfo* forMarshaling, uint8_t** ptr) {
2551     (void)vkStream;
2552     (void)rootType;
2553     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2554     *ptr += sizeof(VkStructureType);
2555     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2556         rootType = forMarshaling->sType;
2557     }
2558     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2559     memcpy(*ptr, (VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags,
2560            sizeof(VkDescriptorSetLayoutCreateFlags));
2561     *ptr += sizeof(VkDescriptorSetLayoutCreateFlags);
2562     memcpy(*ptr, (uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
2563     *ptr += sizeof(uint32_t);
2564     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) {
2565         reservedmarshal_VkDescriptorSetLayoutBinding(
2566             vkStream, rootType, (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i),
2567             ptr);
2568     }
2569 }
2570 
reservedmarshal_VkWriteDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSet * forMarshaling,uint8_t ** ptr)2571 void reservedmarshal_VkWriteDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
2572                                           const VkWriteDescriptorSet* forMarshaling,
2573                                           uint8_t** ptr) {
2574     (void)vkStream;
2575     (void)rootType;
2576     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2577     *ptr += sizeof(VkStructureType);
2578     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2579         rootType = forMarshaling->sType;
2580     }
2581     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2582     uint64_t cgen_var_0;
2583     *&cgen_var_0 = get_host_u64_VkDescriptorSet((*&forMarshaling->dstSet));
2584     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2585     *ptr += 1 * 8;
2586     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
2587     *ptr += sizeof(uint32_t);
2588     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
2589     *ptr += sizeof(uint32_t);
2590     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2591     *ptr += sizeof(uint32_t);
2592     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
2593     *ptr += sizeof(VkDescriptorType);
2594     // WARNING PTR CHECK
2595     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
2596     memcpy((*ptr), &cgen_var_1, 8);
2597     android::base::Stream::toBe64((uint8_t*)(*ptr));
2598     *ptr += 8;
2599     if (forMarshaling->pImageInfo) {
2600         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2601              ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) ||
2602               (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) ||
2603               (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) ||
2604               (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) ||
2605               (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) {
2606             for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
2607                 reservedmarshal_VkDescriptorImageInfo(
2608                     vkStream, rootType,
2609                     (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i), ptr);
2610             }
2611         }
2612     }
2613     // WARNING PTR CHECK
2614     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
2615     memcpy((*ptr), &cgen_var_2, 8);
2616     android::base::Stream::toBe64((uint8_t*)(*ptr));
2617     *ptr += 8;
2618     if (forMarshaling->pBufferInfo) {
2619         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2620              ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) ||
2621               (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) ||
2622               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) ||
2623               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) {
2624             for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
2625                 reservedmarshal_VkDescriptorBufferInfo(
2626                     vkStream, rootType,
2627                     (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i), ptr);
2628             }
2629         }
2630     }
2631     // WARNING PTR CHECK
2632     uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
2633     memcpy((*ptr), &cgen_var_3, 8);
2634     android::base::Stream::toBe64((uint8_t*)(*ptr));
2635     *ptr += 8;
2636     if (forMarshaling->pTexelBufferView) {
2637         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2638              ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) ||
2639               (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) {
2640             if (forMarshaling->descriptorCount) {
2641                 uint8_t* cgen_var_3_0_ptr = (uint8_t*)(*ptr);
2642                 if (forMarshaling) {
2643                     for (uint32_t k = 0; k < forMarshaling->descriptorCount; ++k) {
2644                         uint64_t tmpval =
2645                             get_host_u64_VkBufferView(forMarshaling->pTexelBufferView[k]);
2646                         memcpy(cgen_var_3_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2647                     }
2648                 }
2649                 *ptr += 8 * forMarshaling->descriptorCount;
2650             }
2651         }
2652     }
2653 }
2654 
reservedmarshal_VkAttachmentDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription * forMarshaling,uint8_t ** ptr)2655 void reservedmarshal_VkAttachmentDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
2656                                              const VkAttachmentDescription* forMarshaling,
2657                                              uint8_t** ptr) {
2658     (void)vkStream;
2659     (void)rootType;
2660     memcpy(*ptr, (VkAttachmentDescriptionFlags*)&forMarshaling->flags,
2661            sizeof(VkAttachmentDescriptionFlags));
2662     *ptr += sizeof(VkAttachmentDescriptionFlags);
2663     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2664     *ptr += sizeof(VkFormat);
2665     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
2666     *ptr += sizeof(VkSampleCountFlagBits);
2667     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
2668     *ptr += sizeof(VkAttachmentLoadOp);
2669     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
2670     *ptr += sizeof(VkAttachmentStoreOp);
2671     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
2672     *ptr += sizeof(VkAttachmentLoadOp);
2673     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
2674     *ptr += sizeof(VkAttachmentStoreOp);
2675     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
2676     *ptr += sizeof(VkImageLayout);
2677     memcpy(*ptr, (VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
2678     *ptr += sizeof(VkImageLayout);
2679 }
2680 
reservedmarshal_VkAttachmentReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference * forMarshaling,uint8_t ** ptr)2681 void reservedmarshal_VkAttachmentReference(VulkanStreamGuest* vkStream, VkStructureType rootType,
2682                                            const VkAttachmentReference* forMarshaling,
2683                                            uint8_t** ptr) {
2684     (void)vkStream;
2685     (void)rootType;
2686     memcpy(*ptr, (uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
2687     *ptr += sizeof(uint32_t);
2688     memcpy(*ptr, (VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
2689     *ptr += sizeof(VkImageLayout);
2690 }
2691 
reservedmarshal_VkFramebufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferCreateInfo * forMarshaling,uint8_t ** ptr)2692 void reservedmarshal_VkFramebufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2693                                              const VkFramebufferCreateInfo* forMarshaling,
2694                                              uint8_t** ptr) {
2695     (void)vkStream;
2696     (void)rootType;
2697     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2698     *ptr += sizeof(VkStructureType);
2699     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2700         rootType = forMarshaling->sType;
2701     }
2702     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2703     memcpy(*ptr, (VkFramebufferCreateFlags*)&forMarshaling->flags,
2704            sizeof(VkFramebufferCreateFlags));
2705     *ptr += sizeof(VkFramebufferCreateFlags);
2706     uint64_t cgen_var_0;
2707     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2708     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2709     *ptr += 1 * 8;
2710     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2711     *ptr += sizeof(uint32_t);
2712     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2713          (((forMarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
2714         if (forMarshaling->attachmentCount) {
2715             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
2716             if (forMarshaling) {
2717                 for (uint32_t k = 0; k < forMarshaling->attachmentCount; ++k) {
2718                     uint64_t tmpval = get_host_u64_VkImageView(forMarshaling->pAttachments[k]);
2719                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2720                 }
2721             }
2722             *ptr += 8 * forMarshaling->attachmentCount;
2723         }
2724     }
2725     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
2726     *ptr += sizeof(uint32_t);
2727     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
2728     *ptr += sizeof(uint32_t);
2729     memcpy(*ptr, (uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
2730     *ptr += sizeof(uint32_t);
2731 }
2732 
reservedmarshal_VkSubpassDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription * forMarshaling,uint8_t ** ptr)2733 void reservedmarshal_VkSubpassDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
2734                                           const VkSubpassDescription* forMarshaling,
2735                                           uint8_t** ptr) {
2736     (void)vkStream;
2737     (void)rootType;
2738     memcpy(*ptr, (VkSubpassDescriptionFlags*)&forMarshaling->flags,
2739            sizeof(VkSubpassDescriptionFlags));
2740     *ptr += sizeof(VkSubpassDescriptionFlags);
2741     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
2742            sizeof(VkPipelineBindPoint));
2743     *ptr += sizeof(VkPipelineBindPoint);
2744     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
2745     *ptr += sizeof(uint32_t);
2746     for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
2747         reservedmarshal_VkAttachmentReference(
2748             vkStream, rootType,
2749             (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i), ptr);
2750     }
2751     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
2752     *ptr += sizeof(uint32_t);
2753     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
2754         reservedmarshal_VkAttachmentReference(
2755             vkStream, rootType,
2756             (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i), ptr);
2757     }
2758     // WARNING PTR CHECK
2759     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
2760     memcpy((*ptr), &cgen_var_0, 8);
2761     android::base::Stream::toBe64((uint8_t*)(*ptr));
2762     *ptr += 8;
2763     if (forMarshaling->pResolveAttachments) {
2764         for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
2765             reservedmarshal_VkAttachmentReference(
2766                 vkStream, rootType,
2767                 (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i), ptr);
2768         }
2769     }
2770     // WARNING PTR CHECK
2771     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
2772     memcpy((*ptr), &cgen_var_1, 8);
2773     android::base::Stream::toBe64((uint8_t*)(*ptr));
2774     *ptr += 8;
2775     if (forMarshaling->pDepthStencilAttachment) {
2776         reservedmarshal_VkAttachmentReference(
2777             vkStream, rootType,
2778             (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment), ptr);
2779     }
2780     memcpy(*ptr, (uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
2781     *ptr += sizeof(uint32_t);
2782     memcpy(*ptr, (const uint32_t*)forMarshaling->pPreserveAttachments,
2783            forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
2784     *ptr += forMarshaling->preserveAttachmentCount * sizeof(const uint32_t);
2785 }
2786 
reservedmarshal_VkSubpassDependency(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency * forMarshaling,uint8_t ** ptr)2787 void reservedmarshal_VkSubpassDependency(VulkanStreamGuest* vkStream, VkStructureType rootType,
2788                                          const VkSubpassDependency* forMarshaling, uint8_t** ptr) {
2789     (void)vkStream;
2790     (void)rootType;
2791     memcpy(*ptr, (uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
2792     *ptr += sizeof(uint32_t);
2793     memcpy(*ptr, (uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
2794     *ptr += sizeof(uint32_t);
2795     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
2796     *ptr += sizeof(VkPipelineStageFlags);
2797     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
2798     *ptr += sizeof(VkPipelineStageFlags);
2799     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
2800     *ptr += sizeof(VkAccessFlags);
2801     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
2802     *ptr += sizeof(VkAccessFlags);
2803     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
2804     *ptr += sizeof(VkDependencyFlags);
2805 }
2806 
reservedmarshal_VkRenderPassCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo * forMarshaling,uint8_t ** ptr)2807 void reservedmarshal_VkRenderPassCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2808                                             const VkRenderPassCreateInfo* forMarshaling,
2809                                             uint8_t** ptr) {
2810     (void)vkStream;
2811     (void)rootType;
2812     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2813     *ptr += sizeof(VkStructureType);
2814     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2815         rootType = forMarshaling->sType;
2816     }
2817     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2818     memcpy(*ptr, (VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
2819     *ptr += sizeof(VkRenderPassCreateFlags);
2820     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2821     *ptr += sizeof(uint32_t);
2822     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
2823         reservedmarshal_VkAttachmentDescription(
2824             vkStream, rootType, (const VkAttachmentDescription*)(forMarshaling->pAttachments + i),
2825             ptr);
2826     }
2827     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
2828     *ptr += sizeof(uint32_t);
2829     for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
2830         reservedmarshal_VkSubpassDescription(
2831             vkStream, rootType, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i), ptr);
2832     }
2833     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
2834     *ptr += sizeof(uint32_t);
2835     for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
2836         reservedmarshal_VkSubpassDependency(
2837             vkStream, rootType, (const VkSubpassDependency*)(forMarshaling->pDependencies + i),
2838             ptr);
2839     }
2840 }
2841 
reservedmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandPoolCreateInfo * forMarshaling,uint8_t ** ptr)2842 void reservedmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2843                                              const VkCommandPoolCreateInfo* forMarshaling,
2844                                              uint8_t** ptr) {
2845     (void)vkStream;
2846     (void)rootType;
2847     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2848     *ptr += sizeof(VkStructureType);
2849     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2850         rootType = forMarshaling->sType;
2851     }
2852     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2853     memcpy(*ptr, (VkCommandPoolCreateFlags*)&forMarshaling->flags,
2854            sizeof(VkCommandPoolCreateFlags));
2855     *ptr += sizeof(VkCommandPoolCreateFlags);
2856     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
2857     *ptr += sizeof(uint32_t);
2858 }
2859 
reservedmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferAllocateInfo * forMarshaling,uint8_t ** ptr)2860 void reservedmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest* vkStream,
2861                                                  VkStructureType rootType,
2862                                                  const VkCommandBufferAllocateInfo* forMarshaling,
2863                                                  uint8_t** ptr) {
2864     (void)vkStream;
2865     (void)rootType;
2866     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2867     *ptr += sizeof(VkStructureType);
2868     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2869         rootType = forMarshaling->sType;
2870     }
2871     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2872     uint64_t cgen_var_0;
2873     *&cgen_var_0 = get_host_u64_VkCommandPool((*&forMarshaling->commandPool));
2874     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2875     *ptr += 1 * 8;
2876     memcpy(*ptr, (VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
2877     *ptr += sizeof(VkCommandBufferLevel);
2878     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
2879     *ptr += sizeof(uint32_t);
2880 }
2881 
reservedmarshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceInfo * forMarshaling,uint8_t ** ptr)2882 void reservedmarshal_VkCommandBufferInheritanceInfo(
2883     VulkanStreamGuest* vkStream, VkStructureType rootType,
2884     const VkCommandBufferInheritanceInfo* forMarshaling, uint8_t** ptr) {
2885     (void)vkStream;
2886     (void)rootType;
2887     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2888     *ptr += sizeof(VkStructureType);
2889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2890         rootType = forMarshaling->sType;
2891     }
2892     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2893     uint64_t cgen_var_0;
2894     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2895     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2896     *ptr += 1 * 8;
2897     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
2898     *ptr += sizeof(uint32_t);
2899     uint64_t cgen_var_1;
2900     *&cgen_var_1 = get_host_u64_VkFramebuffer((*&forMarshaling->framebuffer));
2901     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2902     *ptr += 1 * 8;
2903     memcpy(*ptr, (VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
2904     *ptr += sizeof(VkBool32);
2905     memcpy(*ptr, (VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
2906     *ptr += sizeof(VkQueryControlFlags);
2907     memcpy(*ptr, (VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
2908            sizeof(VkQueryPipelineStatisticFlags));
2909     *ptr += sizeof(VkQueryPipelineStatisticFlags);
2910 }
2911 
reservedmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferBeginInfo * forMarshaling,uint8_t ** ptr)2912 void reservedmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2913                                               const VkCommandBufferBeginInfo* forMarshaling,
2914                                               uint8_t** ptr) {
2915     (void)vkStream;
2916     (void)rootType;
2917     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2918     *ptr += sizeof(VkStructureType);
2919     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2920         rootType = forMarshaling->sType;
2921     }
2922     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2923     memcpy(*ptr, (VkCommandBufferUsageFlags*)&forMarshaling->flags,
2924            sizeof(VkCommandBufferUsageFlags));
2925     *ptr += sizeof(VkCommandBufferUsageFlags);
2926     // WARNING PTR CHECK
2927     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
2928     memcpy((*ptr), &cgen_var_0, 8);
2929     android::base::Stream::toBe64((uint8_t*)(*ptr));
2930     *ptr += 8;
2931     if (forMarshaling->pInheritanceInfo) {
2932         reservedmarshal_VkCommandBufferInheritanceInfo(
2933             vkStream, rootType,
2934             (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo), ptr);
2935     }
2936 }
2937 
reservedmarshal_VkBufferCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy * forMarshaling,uint8_t ** ptr)2938 void reservedmarshal_VkBufferCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
2939                                   const VkBufferCopy* forMarshaling, uint8_t** ptr) {
2940     (void)vkStream;
2941     (void)rootType;
2942     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
2943     *ptr += sizeof(VkDeviceSize);
2944     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
2945     *ptr += sizeof(VkDeviceSize);
2946     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
2947     *ptr += sizeof(VkDeviceSize);
2948 }
2949 
reservedmarshal_VkImageSubresourceLayers(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceLayers * forMarshaling,uint8_t ** ptr)2950 void reservedmarshal_VkImageSubresourceLayers(VulkanStreamGuest* vkStream, VkStructureType rootType,
2951                                               const VkImageSubresourceLayers* forMarshaling,
2952                                               uint8_t** ptr) {
2953     (void)vkStream;
2954     (void)rootType;
2955     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
2956     *ptr += sizeof(VkImageAspectFlags);
2957     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
2958     *ptr += sizeof(uint32_t);
2959     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
2960     *ptr += sizeof(uint32_t);
2961     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
2962     *ptr += sizeof(uint32_t);
2963 }
2964 
reservedmarshal_VkBufferImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy * forMarshaling,uint8_t ** ptr)2965 void reservedmarshal_VkBufferImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
2966                                        const VkBufferImageCopy* forMarshaling, uint8_t** ptr) {
2967     (void)vkStream;
2968     (void)rootType;
2969     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
2970     *ptr += sizeof(VkDeviceSize);
2971     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
2972     *ptr += sizeof(uint32_t);
2973     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
2974     *ptr += sizeof(uint32_t);
2975     reservedmarshal_VkImageSubresourceLayers(
2976         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
2977     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
2978     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
2979 }
2980 
reservedmarshal_VkClearColorValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearColorValue * forMarshaling,uint8_t ** ptr)2981 void reservedmarshal_VkClearColorValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
2982                                        const VkClearColorValue* forMarshaling, uint8_t** ptr) {
2983     (void)vkStream;
2984     (void)rootType;
2985     memcpy(*ptr, (float*)forMarshaling->float32, 4 * sizeof(float));
2986     *ptr += 4 * sizeof(float);
2987 }
2988 
reservedmarshal_VkClearDepthStencilValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearDepthStencilValue * forMarshaling,uint8_t ** ptr)2989 void reservedmarshal_VkClearDepthStencilValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
2990                                               const VkClearDepthStencilValue* forMarshaling,
2991                                               uint8_t** ptr) {
2992     (void)vkStream;
2993     (void)rootType;
2994     memcpy(*ptr, (float*)&forMarshaling->depth, sizeof(float));
2995     *ptr += sizeof(float);
2996     memcpy(*ptr, (uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
2997     *ptr += sizeof(uint32_t);
2998 }
2999 
reservedmarshal_VkClearValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearValue * forMarshaling,uint8_t ** ptr)3000 void reservedmarshal_VkClearValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
3001                                   const VkClearValue* forMarshaling, uint8_t** ptr) {
3002     (void)vkStream;
3003     (void)rootType;
3004     reservedmarshal_VkClearColorValue(vkStream, rootType,
3005                                       (VkClearColorValue*)(&forMarshaling->color), ptr);
3006 }
3007 
reservedmarshal_VkClearAttachment(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearAttachment * forMarshaling,uint8_t ** ptr)3008 void reservedmarshal_VkClearAttachment(VulkanStreamGuest* vkStream, VkStructureType rootType,
3009                                        const VkClearAttachment* forMarshaling, uint8_t** ptr) {
3010     (void)vkStream;
3011     (void)rootType;
3012     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
3013     *ptr += sizeof(VkImageAspectFlags);
3014     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
3015     *ptr += sizeof(uint32_t);
3016     reservedmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue),
3017                                  ptr);
3018 }
3019 
reservedmarshal_VkClearRect(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearRect * forMarshaling,uint8_t ** ptr)3020 void reservedmarshal_VkClearRect(VulkanStreamGuest* vkStream, VkStructureType rootType,
3021                                  const VkClearRect* forMarshaling, uint8_t** ptr) {
3022     (void)vkStream;
3023     (void)rootType;
3024     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->rect), ptr);
3025     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
3026     *ptr += sizeof(uint32_t);
3027     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
3028     *ptr += sizeof(uint32_t);
3029 }
3030 
reservedmarshal_VkImageBlit(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit * forMarshaling,uint8_t ** ptr)3031 void reservedmarshal_VkImageBlit(VulkanStreamGuest* vkStream, VkStructureType rootType,
3032                                  const VkImageBlit* forMarshaling, uint8_t** ptr) {
3033     (void)vkStream;
3034     (void)rootType;
3035     reservedmarshal_VkImageSubresourceLayers(
3036         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3037     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
3038         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i),
3039                                    ptr);
3040     }
3041     reservedmarshal_VkImageSubresourceLayers(
3042         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3043     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
3044         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i),
3045                                    ptr);
3046     }
3047 }
3048 
reservedmarshal_VkImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy * forMarshaling,uint8_t ** ptr)3049 void reservedmarshal_VkImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
3050                                  const VkImageCopy* forMarshaling, uint8_t** ptr) {
3051     (void)vkStream;
3052     (void)rootType;
3053     reservedmarshal_VkImageSubresourceLayers(
3054         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3055     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
3056     reservedmarshal_VkImageSubresourceLayers(
3057         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3058     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
3059     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
3060 }
3061 
reservedmarshal_VkImageResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve * forMarshaling,uint8_t ** ptr)3062 void reservedmarshal_VkImageResolve(VulkanStreamGuest* vkStream, VkStructureType rootType,
3063                                     const VkImageResolve* forMarshaling, uint8_t** ptr) {
3064     (void)vkStream;
3065     (void)rootType;
3066     reservedmarshal_VkImageSubresourceLayers(
3067         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3068     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
3069     reservedmarshal_VkImageSubresourceLayers(
3070         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3071     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
3072     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
3073 }
3074 
reservedmarshal_VkRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassBeginInfo * forMarshaling,uint8_t ** ptr)3075 void reservedmarshal_VkRenderPassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3076                                            const VkRenderPassBeginInfo* forMarshaling,
3077                                            uint8_t** ptr) {
3078     (void)vkStream;
3079     (void)rootType;
3080     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3081     *ptr += sizeof(VkStructureType);
3082     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3083         rootType = forMarshaling->sType;
3084     }
3085     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3086     uint64_t cgen_var_0;
3087     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
3088     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3089     *ptr += 1 * 8;
3090     uint64_t cgen_var_1;
3091     *&cgen_var_1 = get_host_u64_VkFramebuffer((*&forMarshaling->framebuffer));
3092     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3093     *ptr += 1 * 8;
3094     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea), ptr);
3095     memcpy(*ptr, (uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
3096     *ptr += sizeof(uint32_t);
3097     // WARNING PTR CHECK
3098     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
3099     memcpy((*ptr), &cgen_var_2, 8);
3100     android::base::Stream::toBe64((uint8_t*)(*ptr));
3101     *ptr += 8;
3102     if (forMarshaling->pClearValues) {
3103         for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) {
3104             reservedmarshal_VkClearValue(
3105                 vkStream, rootType, (const VkClearValue*)(forMarshaling->pClearValues + i), ptr);
3106         }
3107     }
3108 }
3109 
3110 #endif
3111 #ifdef VK_VERSION_1_1
reservedmarshal_VkPhysicalDeviceSubgroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * forMarshaling,uint8_t ** ptr)3112 void reservedmarshal_VkPhysicalDeviceSubgroupProperties(
3113     VulkanStreamGuest* vkStream, VkStructureType rootType,
3114     const VkPhysicalDeviceSubgroupProperties* forMarshaling, uint8_t** ptr) {
3115     (void)vkStream;
3116     (void)rootType;
3117     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3118     *ptr += sizeof(VkStructureType);
3119     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3120         rootType = forMarshaling->sType;
3121     }
3122     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3123     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
3124     *ptr += sizeof(uint32_t);
3125     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->supportedStages, sizeof(VkShaderStageFlags));
3126     *ptr += sizeof(VkShaderStageFlags);
3127     memcpy(*ptr, (VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations,
3128            sizeof(VkSubgroupFeatureFlags));
3129     *ptr += sizeof(VkSubgroupFeatureFlags);
3130     memcpy(*ptr, (VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
3131     *ptr += sizeof(VkBool32);
3132 }
3133 
reservedmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryInfo * forMarshaling,uint8_t ** ptr)3134 void reservedmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3135                                             const VkBindBufferMemoryInfo* forMarshaling,
3136                                             uint8_t** ptr) {
3137     (void)vkStream;
3138     (void)rootType;
3139     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3140     *ptr += sizeof(VkStructureType);
3141     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3142         rootType = forMarshaling->sType;
3143     }
3144     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3145     uint64_t cgen_var_0;
3146     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3147     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3148     *ptr += 1 * 8;
3149     uint64_t cgen_var_1;
3150     *&cgen_var_1 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
3151     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3152     *ptr += 1 * 8;
3153     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
3154     *ptr += sizeof(VkDeviceSize);
3155 }
3156 
reservedmarshal_VkBindImageMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryInfo * forMarshaling,uint8_t ** ptr)3157 void reservedmarshal_VkBindImageMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3158                                            const VkBindImageMemoryInfo* forMarshaling,
3159                                            uint8_t** ptr) {
3160     (void)vkStream;
3161     (void)rootType;
3162     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3163     *ptr += sizeof(VkStructureType);
3164     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3165         rootType = forMarshaling->sType;
3166     }
3167     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3168     uint64_t cgen_var_0;
3169     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3170     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3171     *ptr += 1 * 8;
3172     uint64_t cgen_var_1;
3173     *&cgen_var_1 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
3174     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3175     *ptr += 1 * 8;
3176     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
3177     *ptr += sizeof(VkDeviceSize);
3178 }
3179 
reservedmarshal_VkPhysicalDevice16BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * forMarshaling,uint8_t ** ptr)3180 void reservedmarshal_VkPhysicalDevice16BitStorageFeatures(
3181     VulkanStreamGuest* vkStream, VkStructureType rootType,
3182     const VkPhysicalDevice16BitStorageFeatures* forMarshaling, uint8_t** ptr) {
3183     (void)vkStream;
3184     (void)rootType;
3185     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3186     *ptr += sizeof(VkStructureType);
3187     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3188         rootType = forMarshaling->sType;
3189     }
3190     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3191     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
3192     *ptr += sizeof(VkBool32);
3193     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
3194     *ptr += sizeof(VkBool32);
3195     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
3196     *ptr += sizeof(VkBool32);
3197     memcpy(*ptr, (VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
3198     *ptr += sizeof(VkBool32);
3199 }
3200 
reservedmarshal_VkMemoryDedicatedRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedRequirements * forMarshaling,uint8_t ** ptr)3201 void reservedmarshal_VkMemoryDedicatedRequirements(
3202     VulkanStreamGuest* vkStream, VkStructureType rootType,
3203     const VkMemoryDedicatedRequirements* forMarshaling, uint8_t** ptr) {
3204     (void)vkStream;
3205     (void)rootType;
3206     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3207     *ptr += sizeof(VkStructureType);
3208     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3209         rootType = forMarshaling->sType;
3210     }
3211     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3212     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
3213     *ptr += sizeof(VkBool32);
3214     memcpy(*ptr, (VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
3215     *ptr += sizeof(VkBool32);
3216 }
3217 
reservedmarshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * forMarshaling,uint8_t ** ptr)3218 void reservedmarshal_VkMemoryDedicatedAllocateInfo(
3219     VulkanStreamGuest* vkStream, VkStructureType rootType,
3220     const VkMemoryDedicatedAllocateInfo* forMarshaling, uint8_t** ptr) {
3221     (void)vkStream;
3222     (void)rootType;
3223     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3224     *ptr += sizeof(VkStructureType);
3225     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3226         rootType = forMarshaling->sType;
3227     }
3228     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3229     uint64_t cgen_var_0;
3230     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3231     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3232     *ptr += 1 * 8;
3233     uint64_t cgen_var_1;
3234     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3235     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3236     *ptr += 1 * 8;
3237 }
3238 
reservedmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * forMarshaling,uint8_t ** ptr)3239 void reservedmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest* vkStream,
3240                                                VkStructureType rootType,
3241                                                const VkMemoryAllocateFlagsInfo* forMarshaling,
3242                                                uint8_t** ptr) {
3243     (void)vkStream;
3244     (void)rootType;
3245     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3246     *ptr += sizeof(VkStructureType);
3247     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3248         rootType = forMarshaling->sType;
3249     }
3250     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3251     memcpy(*ptr, (VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
3252     *ptr += sizeof(VkMemoryAllocateFlags);
3253     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3254     *ptr += sizeof(uint32_t);
3255 }
3256 
reservedmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * forMarshaling,uint8_t ** ptr)3257 void reservedmarshal_VkDeviceGroupRenderPassBeginInfo(
3258     VulkanStreamGuest* vkStream, VkStructureType rootType,
3259     const VkDeviceGroupRenderPassBeginInfo* forMarshaling, uint8_t** ptr) {
3260     (void)vkStream;
3261     (void)rootType;
3262     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3263     *ptr += sizeof(VkStructureType);
3264     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3265         rootType = forMarshaling->sType;
3266     }
3267     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3268     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3269     *ptr += sizeof(uint32_t);
3270     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
3271     *ptr += sizeof(uint32_t);
3272     for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) {
3273         reservedmarshal_VkRect2D(vkStream, rootType,
3274                                  (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i), ptr);
3275     }
3276 }
3277 
reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * forMarshaling,uint8_t ** ptr)3278 void reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(
3279     VulkanStreamGuest* vkStream, VkStructureType rootType,
3280     const VkDeviceGroupCommandBufferBeginInfo* forMarshaling, uint8_t** ptr) {
3281     (void)vkStream;
3282     (void)rootType;
3283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3284     *ptr += sizeof(VkStructureType);
3285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3286         rootType = forMarshaling->sType;
3287     }
3288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3289     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3290     *ptr += sizeof(uint32_t);
3291 }
3292 
reservedmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupSubmitInfo * forMarshaling,uint8_t ** ptr)3293 void reservedmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3294                                              const VkDeviceGroupSubmitInfo* forMarshaling,
3295                                              uint8_t** ptr) {
3296     (void)vkStream;
3297     (void)rootType;
3298     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3299     *ptr += sizeof(VkStructureType);
3300     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3301         rootType = forMarshaling->sType;
3302     }
3303     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3304     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
3305     *ptr += sizeof(uint32_t);
3306     memcpy(*ptr, (const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices,
3307            forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
3308     *ptr += forMarshaling->waitSemaphoreCount * sizeof(const uint32_t);
3309     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
3310     *ptr += sizeof(uint32_t);
3311     memcpy(*ptr, (const uint32_t*)forMarshaling->pCommandBufferDeviceMasks,
3312            forMarshaling->commandBufferCount * sizeof(const uint32_t));
3313     *ptr += forMarshaling->commandBufferCount * sizeof(const uint32_t);
3314     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
3315     *ptr += sizeof(uint32_t);
3316     memcpy(*ptr, (const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices,
3317            forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
3318     *ptr += forMarshaling->signalSemaphoreCount * sizeof(const uint32_t);
3319 }
3320 
reservedmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * forMarshaling,uint8_t ** ptr)3321 void reservedmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest* vkStream,
3322                                                  VkStructureType rootType,
3323                                                  const VkDeviceGroupBindSparseInfo* forMarshaling,
3324                                                  uint8_t** ptr) {
3325     (void)vkStream;
3326     (void)rootType;
3327     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3328     *ptr += sizeof(VkStructureType);
3329     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3330         rootType = forMarshaling->sType;
3331     }
3332     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3333     memcpy(*ptr, (uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t));
3334     *ptr += sizeof(uint32_t);
3335     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
3336     *ptr += sizeof(uint32_t);
3337 }
3338 
reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * forMarshaling,uint8_t ** ptr)3339 void reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(
3340     VulkanStreamGuest* vkStream, VkStructureType rootType,
3341     const VkBindBufferMemoryDeviceGroupInfo* forMarshaling, uint8_t** ptr) {
3342     (void)vkStream;
3343     (void)rootType;
3344     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3345     *ptr += sizeof(VkStructureType);
3346     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3347         rootType = forMarshaling->sType;
3348     }
3349     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3350     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
3351     *ptr += sizeof(uint32_t);
3352     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceIndices,
3353            forMarshaling->deviceIndexCount * sizeof(const uint32_t));
3354     *ptr += forMarshaling->deviceIndexCount * sizeof(const uint32_t);
3355 }
3356 
reservedmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * forMarshaling,uint8_t ** ptr)3357 void reservedmarshal_VkBindImageMemoryDeviceGroupInfo(
3358     VulkanStreamGuest* vkStream, VkStructureType rootType,
3359     const VkBindImageMemoryDeviceGroupInfo* forMarshaling, uint8_t** ptr) {
3360     (void)vkStream;
3361     (void)rootType;
3362     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3363     *ptr += sizeof(VkStructureType);
3364     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3365         rootType = forMarshaling->sType;
3366     }
3367     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3368     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
3369     *ptr += sizeof(uint32_t);
3370     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceIndices,
3371            forMarshaling->deviceIndexCount * sizeof(const uint32_t));
3372     *ptr += forMarshaling->deviceIndexCount * sizeof(const uint32_t);
3373     memcpy(*ptr, (uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
3374     *ptr += sizeof(uint32_t);
3375     for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) {
3376         reservedmarshal_VkRect2D(vkStream, rootType,
3377                                  (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i),
3378                                  ptr);
3379     }
3380 }
3381 
reservedmarshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * forMarshaling,uint8_t ** ptr)3382 void reservedmarshal_VkPhysicalDeviceGroupProperties(
3383     VulkanStreamGuest* vkStream, VkStructureType rootType,
3384     const VkPhysicalDeviceGroupProperties* forMarshaling, uint8_t** ptr) {
3385     (void)vkStream;
3386     (void)rootType;
3387     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3388     *ptr += sizeof(VkStructureType);
3389     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3390         rootType = forMarshaling->sType;
3391     }
3392     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3393     memcpy(*ptr, (uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
3394     *ptr += sizeof(uint32_t);
3395     memcpy(*ptr, (VkPhysicalDevice*)forMarshaling->physicalDevices,
3396            VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
3397     *ptr += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
3398     memcpy(*ptr, (VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
3399     *ptr += sizeof(VkBool32);
3400 }
3401 
reservedmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * forMarshaling,uint8_t ** ptr)3402 void reservedmarshal_VkDeviceGroupDeviceCreateInfo(
3403     VulkanStreamGuest* vkStream, VkStructureType rootType,
3404     const VkDeviceGroupDeviceCreateInfo* forMarshaling, uint8_t** ptr) {
3405     (void)vkStream;
3406     (void)rootType;
3407     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3408     *ptr += sizeof(VkStructureType);
3409     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3410         rootType = forMarshaling->sType;
3411     }
3412     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3413     memcpy(*ptr, (uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
3414     *ptr += sizeof(uint32_t);
3415     if (forMarshaling->physicalDeviceCount) {
3416         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
3417         if (forMarshaling) {
3418             for (uint32_t k = 0; k < forMarshaling->physicalDeviceCount; ++k) {
3419                 uint64_t tmpval = get_host_u64_VkPhysicalDevice(forMarshaling->pPhysicalDevices[k]);
3420                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
3421             }
3422         }
3423         *ptr += 8 * forMarshaling->physicalDeviceCount;
3424     }
3425 }
3426 
reservedmarshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3427 void reservedmarshal_VkBufferMemoryRequirementsInfo2(
3428     VulkanStreamGuest* vkStream, VkStructureType rootType,
3429     const VkBufferMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3430     (void)vkStream;
3431     (void)rootType;
3432     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3433     *ptr += sizeof(VkStructureType);
3434     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3435         rootType = forMarshaling->sType;
3436     }
3437     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3438     uint64_t cgen_var_0;
3439     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3440     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3441     *ptr += 1 * 8;
3442 }
3443 
reservedmarshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3444 void reservedmarshal_VkImageMemoryRequirementsInfo2(
3445     VulkanStreamGuest* vkStream, VkStructureType rootType,
3446     const VkImageMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3447     (void)vkStream;
3448     (void)rootType;
3449     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3450     *ptr += sizeof(VkStructureType);
3451     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3452         rootType = forMarshaling->sType;
3453     }
3454     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3455     uint64_t cgen_var_0;
3456     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3457     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3458     *ptr += 1 * 8;
3459 }
3460 
reservedmarshal_VkImageSparseMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3461 void reservedmarshal_VkImageSparseMemoryRequirementsInfo2(
3462     VulkanStreamGuest* vkStream, VkStructureType rootType,
3463     const VkImageSparseMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3464     (void)vkStream;
3465     (void)rootType;
3466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3467     *ptr += sizeof(VkStructureType);
3468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3469         rootType = forMarshaling->sType;
3470     }
3471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3472     uint64_t cgen_var_0;
3473     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3474     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3475     *ptr += 1 * 8;
3476 }
3477 
reservedmarshal_VkMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements2 * forMarshaling,uint8_t ** ptr)3478 void reservedmarshal_VkMemoryRequirements2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3479                                            const VkMemoryRequirements2* forMarshaling,
3480                                            uint8_t** ptr) {
3481     (void)vkStream;
3482     (void)rootType;
3483     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3484     *ptr += sizeof(VkStructureType);
3485     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3486         rootType = forMarshaling->sType;
3487     }
3488     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3489     reservedmarshal_VkMemoryRequirements(
3490         vkStream, rootType, (VkMemoryRequirements*)(&forMarshaling->memoryRequirements), ptr);
3491 }
3492 
reservedmarshal_VkSparseImageMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * forMarshaling,uint8_t ** ptr)3493 void reservedmarshal_VkSparseImageMemoryRequirements2(
3494     VulkanStreamGuest* vkStream, VkStructureType rootType,
3495     const VkSparseImageMemoryRequirements2* forMarshaling, uint8_t** ptr) {
3496     (void)vkStream;
3497     (void)rootType;
3498     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3499     *ptr += sizeof(VkStructureType);
3500     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3501         rootType = forMarshaling->sType;
3502     }
3503     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3504     reservedmarshal_VkSparseImageMemoryRequirements(
3505         vkStream, rootType, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements),
3506         ptr);
3507 }
3508 
reservedmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * forMarshaling,uint8_t ** ptr)3509 void reservedmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest* vkStream,
3510                                                VkStructureType rootType,
3511                                                const VkPhysicalDeviceFeatures2* forMarshaling,
3512                                                uint8_t** ptr) {
3513     (void)vkStream;
3514     (void)rootType;
3515     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3516     *ptr += sizeof(VkStructureType);
3517     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3518         rootType = forMarshaling->sType;
3519     }
3520     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3521     reservedmarshal_VkPhysicalDeviceFeatures(
3522         vkStream, rootType, (VkPhysicalDeviceFeatures*)(&forMarshaling->features), ptr);
3523 }
3524 
reservedmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties2 * forMarshaling,uint8_t ** ptr)3525 void reservedmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest* vkStream,
3526                                                  VkStructureType rootType,
3527                                                  const VkPhysicalDeviceProperties2* forMarshaling,
3528                                                  uint8_t** ptr) {
3529     (void)vkStream;
3530     (void)rootType;
3531     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3532     *ptr += sizeof(VkStructureType);
3533     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3534         rootType = forMarshaling->sType;
3535     }
3536     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3537     reservedmarshal_VkPhysicalDeviceProperties(
3538         vkStream, rootType, (VkPhysicalDeviceProperties*)(&forMarshaling->properties), ptr);
3539 }
3540 
reservedmarshal_VkFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties2 * forMarshaling,uint8_t ** ptr)3541 void reservedmarshal_VkFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3542                                          const VkFormatProperties2* forMarshaling, uint8_t** ptr) {
3543     (void)vkStream;
3544     (void)rootType;
3545     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3546     *ptr += sizeof(VkStructureType);
3547     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3548         rootType = forMarshaling->sType;
3549     }
3550     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3551     reservedmarshal_VkFormatProperties(
3552         vkStream, rootType, (VkFormatProperties*)(&forMarshaling->formatProperties), ptr);
3553 }
3554 
reservedmarshal_VkImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties2 * forMarshaling,uint8_t ** ptr)3555 void reservedmarshal_VkImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3556                                               const VkImageFormatProperties2* forMarshaling,
3557                                               uint8_t** ptr) {
3558     (void)vkStream;
3559     (void)rootType;
3560     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3561     *ptr += sizeof(VkStructureType);
3562     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3563         rootType = forMarshaling->sType;
3564     }
3565     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3566     reservedmarshal_VkImageFormatProperties(
3567         vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties), ptr);
3568 }
3569 
reservedmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * forMarshaling,uint8_t ** ptr)3570 void reservedmarshal_VkPhysicalDeviceImageFormatInfo2(
3571     VulkanStreamGuest* vkStream, VkStructureType rootType,
3572     const VkPhysicalDeviceImageFormatInfo2* forMarshaling, uint8_t** ptr) {
3573     (void)vkStream;
3574     (void)rootType;
3575     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3576     *ptr += sizeof(VkStructureType);
3577     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3578         rootType = forMarshaling->sType;
3579     }
3580     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3581     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3582     *ptr += sizeof(VkFormat);
3583     memcpy(*ptr, (VkImageType*)&forMarshaling->type, sizeof(VkImageType));
3584     *ptr += sizeof(VkImageType);
3585     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
3586     *ptr += sizeof(VkImageTiling);
3587     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3588     *ptr += sizeof(VkImageUsageFlags);
3589     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
3590     *ptr += sizeof(VkImageCreateFlags);
3591 }
3592 
reservedmarshal_VkQueueFamilyProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties2 * forMarshaling,uint8_t ** ptr)3593 void reservedmarshal_VkQueueFamilyProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3594                                               const VkQueueFamilyProperties2* forMarshaling,
3595                                               uint8_t** ptr) {
3596     (void)vkStream;
3597     (void)rootType;
3598     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3599     *ptr += sizeof(VkStructureType);
3600     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3601         rootType = forMarshaling->sType;
3602     }
3603     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3604     reservedmarshal_VkQueueFamilyProperties(
3605         vkStream, rootType, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties), ptr);
3606 }
3607 
reservedmarshal_VkPhysicalDeviceMemoryProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * forMarshaling,uint8_t ** ptr)3608 void reservedmarshal_VkPhysicalDeviceMemoryProperties2(
3609     VulkanStreamGuest* vkStream, VkStructureType rootType,
3610     const VkPhysicalDeviceMemoryProperties2* forMarshaling, uint8_t** ptr) {
3611     (void)vkStream;
3612     (void)rootType;
3613     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3614     *ptr += sizeof(VkStructureType);
3615     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3616         rootType = forMarshaling->sType;
3617     }
3618     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3619     reservedmarshal_VkPhysicalDeviceMemoryProperties(
3620         vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties),
3621         ptr);
3622 }
3623 
reservedmarshal_VkSparseImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties2 * forMarshaling,uint8_t ** ptr)3624 void reservedmarshal_VkSparseImageFormatProperties2(
3625     VulkanStreamGuest* vkStream, VkStructureType rootType,
3626     const VkSparseImageFormatProperties2* forMarshaling, uint8_t** ptr) {
3627     (void)vkStream;
3628     (void)rootType;
3629     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3630     *ptr += sizeof(VkStructureType);
3631     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3632         rootType = forMarshaling->sType;
3633     }
3634     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3635     reservedmarshal_VkSparseImageFormatProperties(
3636         vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->properties), ptr);
3637 }
3638 
reservedmarshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * forMarshaling,uint8_t ** ptr)3639 void reservedmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
3640     VulkanStreamGuest* vkStream, VkStructureType rootType,
3641     const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling, uint8_t** ptr) {
3642     (void)vkStream;
3643     (void)rootType;
3644     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3645     *ptr += sizeof(VkStructureType);
3646     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3647         rootType = forMarshaling->sType;
3648     }
3649     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3650     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3651     *ptr += sizeof(VkFormat);
3652     memcpy(*ptr, (VkImageType*)&forMarshaling->type, sizeof(VkImageType));
3653     *ptr += sizeof(VkImageType);
3654     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
3655     *ptr += sizeof(VkSampleCountFlagBits);
3656     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3657     *ptr += sizeof(VkImageUsageFlags);
3658     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
3659     *ptr += sizeof(VkImageTiling);
3660 }
3661 
reservedmarshal_VkPhysicalDevicePointClippingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * forMarshaling,uint8_t ** ptr)3662 void reservedmarshal_VkPhysicalDevicePointClippingProperties(
3663     VulkanStreamGuest* vkStream, VkStructureType rootType,
3664     const VkPhysicalDevicePointClippingProperties* forMarshaling, uint8_t** ptr) {
3665     (void)vkStream;
3666     (void)rootType;
3667     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3668     *ptr += sizeof(VkStructureType);
3669     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3670         rootType = forMarshaling->sType;
3671     }
3672     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3673     memcpy(*ptr, (VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
3674            sizeof(VkPointClippingBehavior));
3675     *ptr += sizeof(VkPointClippingBehavior);
3676 }
3677 
reservedmarshal_VkInputAttachmentAspectReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInputAttachmentAspectReference * forMarshaling,uint8_t ** ptr)3678 void reservedmarshal_VkInputAttachmentAspectReference(
3679     VulkanStreamGuest* vkStream, VkStructureType rootType,
3680     const VkInputAttachmentAspectReference* forMarshaling, uint8_t** ptr) {
3681     (void)vkStream;
3682     (void)rootType;
3683     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
3684     *ptr += sizeof(uint32_t);
3685     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
3686     *ptr += sizeof(uint32_t);
3687     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
3688     *ptr += sizeof(VkImageAspectFlags);
3689 }
3690 
reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * forMarshaling,uint8_t ** ptr)3691 void reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
3692     VulkanStreamGuest* vkStream, VkStructureType rootType,
3693     const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling, uint8_t** ptr) {
3694     (void)vkStream;
3695     (void)rootType;
3696     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3697     *ptr += sizeof(VkStructureType);
3698     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3699         rootType = forMarshaling->sType;
3700     }
3701     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3702     memcpy(*ptr, (uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t));
3703     *ptr += sizeof(uint32_t);
3704     for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) {
3705         reservedmarshal_VkInputAttachmentAspectReference(
3706             vkStream, rootType,
3707             (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i), ptr);
3708     }
3709 }
3710 
reservedmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewUsageCreateInfo * forMarshaling,uint8_t ** ptr)3711 void reservedmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest* vkStream,
3712                                                 VkStructureType rootType,
3713                                                 const VkImageViewUsageCreateInfo* forMarshaling,
3714                                                 uint8_t** ptr) {
3715     (void)vkStream;
3716     (void)rootType;
3717     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3718     *ptr += sizeof(VkStructureType);
3719     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3720         rootType = forMarshaling->sType;
3721     }
3722     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3723     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3724     *ptr += sizeof(VkImageUsageFlags);
3725 }
3726 
reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * forMarshaling,uint8_t ** ptr)3727 void reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
3728     VulkanStreamGuest* vkStream, VkStructureType rootType,
3729     const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling, uint8_t** ptr) {
3730     (void)vkStream;
3731     (void)rootType;
3732     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3733     *ptr += sizeof(VkStructureType);
3734     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3735         rootType = forMarshaling->sType;
3736     }
3737     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3738     memcpy(*ptr, (VkTessellationDomainOrigin*)&forMarshaling->domainOrigin,
3739            sizeof(VkTessellationDomainOrigin));
3740     *ptr += sizeof(VkTessellationDomainOrigin);
3741 }
3742 
reservedmarshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * forMarshaling,uint8_t ** ptr)3743 void reservedmarshal_VkRenderPassMultiviewCreateInfo(
3744     VulkanStreamGuest* vkStream, VkStructureType rootType,
3745     const VkRenderPassMultiviewCreateInfo* forMarshaling, uint8_t** ptr) {
3746     (void)vkStream;
3747     (void)rootType;
3748     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3749     *ptr += sizeof(VkStructureType);
3750     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3751         rootType = forMarshaling->sType;
3752     }
3753     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3754     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
3755     *ptr += sizeof(uint32_t);
3756     memcpy(*ptr, (const uint32_t*)forMarshaling->pViewMasks,
3757            forMarshaling->subpassCount * sizeof(const uint32_t));
3758     *ptr += forMarshaling->subpassCount * sizeof(const uint32_t);
3759     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
3760     *ptr += sizeof(uint32_t);
3761     memcpy(*ptr, (const int32_t*)forMarshaling->pViewOffsets,
3762            forMarshaling->dependencyCount * sizeof(const int32_t));
3763     *ptr += forMarshaling->dependencyCount * sizeof(const int32_t);
3764     memcpy(*ptr, (uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
3765     *ptr += sizeof(uint32_t);
3766     memcpy(*ptr, (const uint32_t*)forMarshaling->pCorrelationMasks,
3767            forMarshaling->correlationMaskCount * sizeof(const uint32_t));
3768     *ptr += forMarshaling->correlationMaskCount * sizeof(const uint32_t);
3769 }
3770 
reservedmarshal_VkPhysicalDeviceMultiviewFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * forMarshaling,uint8_t ** ptr)3771 void reservedmarshal_VkPhysicalDeviceMultiviewFeatures(
3772     VulkanStreamGuest* vkStream, VkStructureType rootType,
3773     const VkPhysicalDeviceMultiviewFeatures* forMarshaling, uint8_t** ptr) {
3774     (void)vkStream;
3775     (void)rootType;
3776     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3777     *ptr += sizeof(VkStructureType);
3778     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3779         rootType = forMarshaling->sType;
3780     }
3781     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3782     memcpy(*ptr, (VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
3783     *ptr += sizeof(VkBool32);
3784     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
3785     *ptr += sizeof(VkBool32);
3786     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
3787     *ptr += sizeof(VkBool32);
3788 }
3789 
reservedmarshal_VkPhysicalDeviceMultiviewProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * forMarshaling,uint8_t ** ptr)3790 void reservedmarshal_VkPhysicalDeviceMultiviewProperties(
3791     VulkanStreamGuest* vkStream, VkStructureType rootType,
3792     const VkPhysicalDeviceMultiviewProperties* forMarshaling, uint8_t** ptr) {
3793     (void)vkStream;
3794     (void)rootType;
3795     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3796     *ptr += sizeof(VkStructureType);
3797     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3798         rootType = forMarshaling->sType;
3799     }
3800     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3801     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
3802     *ptr += sizeof(uint32_t);
3803     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
3804     *ptr += sizeof(uint32_t);
3805 }
3806 
reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * forMarshaling,uint8_t ** ptr)3807 void reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(
3808     VulkanStreamGuest* vkStream, VkStructureType rootType,
3809     const VkPhysicalDeviceVariablePointersFeatures* forMarshaling, uint8_t** ptr) {
3810     (void)vkStream;
3811     (void)rootType;
3812     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3813     *ptr += sizeof(VkStructureType);
3814     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3815         rootType = forMarshaling->sType;
3816     }
3817     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3818     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
3819     *ptr += sizeof(VkBool32);
3820     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
3821     *ptr += sizeof(VkBool32);
3822 }
3823 
reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * forMarshaling,uint8_t ** ptr)3824 void reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
3825     VulkanStreamGuest* vkStream, VkStructureType rootType,
3826     const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling, uint8_t** ptr) {
3827     (void)vkStream;
3828     (void)rootType;
3829     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3830     *ptr += sizeof(VkStructureType);
3831     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3832         rootType = forMarshaling->sType;
3833     }
3834     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3835     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
3836     *ptr += sizeof(VkBool32);
3837 }
3838 
reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * forMarshaling,uint8_t ** ptr)3839 void reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(
3840     VulkanStreamGuest* vkStream, VkStructureType rootType,
3841     const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling, uint8_t** ptr) {
3842     (void)vkStream;
3843     (void)rootType;
3844     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3845     *ptr += sizeof(VkStructureType);
3846     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3847         rootType = forMarshaling->sType;
3848     }
3849     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3850     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
3851     *ptr += sizeof(VkBool32);
3852 }
3853 
reservedmarshal_VkDeviceQueueInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueInfo2 * forMarshaling,uint8_t ** ptr)3854 void reservedmarshal_VkDeviceQueueInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3855                                         const VkDeviceQueueInfo2* forMarshaling, uint8_t** ptr) {
3856     (void)vkStream;
3857     (void)rootType;
3858     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3859     *ptr += sizeof(VkStructureType);
3860     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3861         rootType = forMarshaling->sType;
3862     }
3863     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3864     memcpy(*ptr, (VkDeviceQueueCreateFlags*)&forMarshaling->flags,
3865            sizeof(VkDeviceQueueCreateFlags));
3866     *ptr += sizeof(VkDeviceQueueCreateFlags);
3867     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
3868     *ptr += sizeof(uint32_t);
3869     memcpy(*ptr, (uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
3870     *ptr += sizeof(uint32_t);
3871 }
3872 
reservedmarshal_VkProtectedSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkProtectedSubmitInfo * forMarshaling,uint8_t ** ptr)3873 void reservedmarshal_VkProtectedSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3874                                            const VkProtectedSubmitInfo* forMarshaling,
3875                                            uint8_t** ptr) {
3876     (void)vkStream;
3877     (void)rootType;
3878     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3879     *ptr += sizeof(VkStructureType);
3880     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3881         rootType = forMarshaling->sType;
3882     }
3883     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3884     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32));
3885     *ptr += sizeof(VkBool32);
3886 }
3887 
reservedmarshal_VkSamplerYcbcrConversionCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * forMarshaling,uint8_t ** ptr)3888 void reservedmarshal_VkSamplerYcbcrConversionCreateInfo(
3889     VulkanStreamGuest* vkStream, VkStructureType rootType,
3890     const VkSamplerYcbcrConversionCreateInfo* forMarshaling, uint8_t** ptr) {
3891     (void)vkStream;
3892     (void)rootType;
3893     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3894     *ptr += sizeof(VkStructureType);
3895     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3896         rootType = forMarshaling->sType;
3897     }
3898     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3899     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3900     *ptr += sizeof(VkFormat);
3901     memcpy(*ptr, (VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel,
3902            sizeof(VkSamplerYcbcrModelConversion));
3903     *ptr += sizeof(VkSamplerYcbcrModelConversion);
3904     memcpy(*ptr, (VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
3905     *ptr += sizeof(VkSamplerYcbcrRange);
3906     reservedmarshal_VkComponentMapping(vkStream, rootType,
3907                                        (VkComponentMapping*)(&forMarshaling->components), ptr);
3908     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
3909     *ptr += sizeof(VkChromaLocation);
3910     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
3911     *ptr += sizeof(VkChromaLocation);
3912     memcpy(*ptr, (VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
3913     *ptr += sizeof(VkFilter);
3914     memcpy(*ptr, (VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
3915     *ptr += sizeof(VkBool32);
3916 }
3917 
reservedmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * forMarshaling,uint8_t ** ptr)3918 void reservedmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest* vkStream,
3919                                                   VkStructureType rootType,
3920                                                   const VkSamplerYcbcrConversionInfo* forMarshaling,
3921                                                   uint8_t** ptr) {
3922     (void)vkStream;
3923     (void)rootType;
3924     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3925     *ptr += sizeof(VkStructureType);
3926     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3927         rootType = forMarshaling->sType;
3928     }
3929     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3930     uint64_t cgen_var_0;
3931     *&cgen_var_0 = get_host_u64_VkSamplerYcbcrConversion((*&forMarshaling->conversion));
3932     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3933     *ptr += 1 * 8;
3934 }
3935 
reservedmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * forMarshaling,uint8_t ** ptr)3936 void reservedmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest* vkStream,
3937                                                 VkStructureType rootType,
3938                                                 const VkBindImagePlaneMemoryInfo* forMarshaling,
3939                                                 uint8_t** ptr) {
3940     (void)vkStream;
3941     (void)rootType;
3942     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3943     *ptr += sizeof(VkStructureType);
3944     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3945         rootType = forMarshaling->sType;
3946     }
3947     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3948     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
3949            sizeof(VkImageAspectFlagBits));
3950     *ptr += sizeof(VkImageAspectFlagBits);
3951 }
3952 
reservedmarshal_VkImagePlaneMemoryRequirementsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * forMarshaling,uint8_t ** ptr)3953 void reservedmarshal_VkImagePlaneMemoryRequirementsInfo(
3954     VulkanStreamGuest* vkStream, VkStructureType rootType,
3955     const VkImagePlaneMemoryRequirementsInfo* forMarshaling, uint8_t** ptr) {
3956     (void)vkStream;
3957     (void)rootType;
3958     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3959     *ptr += sizeof(VkStructureType);
3960     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3961         rootType = forMarshaling->sType;
3962     }
3963     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3964     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
3965            sizeof(VkImageAspectFlagBits));
3966     *ptr += sizeof(VkImageAspectFlagBits);
3967 }
3968 
reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * forMarshaling,uint8_t ** ptr)3969 void reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
3970     VulkanStreamGuest* vkStream, VkStructureType rootType,
3971     const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling, uint8_t** ptr) {
3972     (void)vkStream;
3973     (void)rootType;
3974     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3975     *ptr += sizeof(VkStructureType);
3976     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3977         rootType = forMarshaling->sType;
3978     }
3979     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3980     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
3981     *ptr += sizeof(VkBool32);
3982 }
3983 
reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * forMarshaling,uint8_t ** ptr)3984 void reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(
3985     VulkanStreamGuest* vkStream, VkStructureType rootType,
3986     const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling, uint8_t** ptr) {
3987     (void)vkStream;
3988     (void)rootType;
3989     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3990     *ptr += sizeof(VkStructureType);
3991     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3992         rootType = forMarshaling->sType;
3993     }
3994     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3995     memcpy(*ptr, (uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t));
3996     *ptr += sizeof(uint32_t);
3997 }
3998 
reservedmarshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * forMarshaling,uint8_t ** ptr)3999 void reservedmarshal_VkDescriptorUpdateTemplateEntry(
4000     VulkanStreamGuest* vkStream, VkStructureType rootType,
4001     const VkDescriptorUpdateTemplateEntry* forMarshaling, uint8_t** ptr) {
4002     (void)vkStream;
4003     (void)rootType;
4004     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
4005     *ptr += sizeof(uint32_t);
4006     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
4007     *ptr += sizeof(uint32_t);
4008     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
4009     *ptr += sizeof(uint32_t);
4010     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
4011     *ptr += sizeof(VkDescriptorType);
4012     uint64_t cgen_var_0 = (uint64_t)forMarshaling->offset;
4013     memcpy((*ptr), &cgen_var_0, 8);
4014     android::base::Stream::toBe64((uint8_t*)(*ptr));
4015     *ptr += 8;
4016     uint64_t cgen_var_1 = (uint64_t)forMarshaling->stride;
4017     memcpy((*ptr), &cgen_var_1, 8);
4018     android::base::Stream::toBe64((uint8_t*)(*ptr));
4019     *ptr += 8;
4020 }
4021 
reservedmarshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * forMarshaling,uint8_t ** ptr)4022 void reservedmarshal_VkDescriptorUpdateTemplateCreateInfo(
4023     VulkanStreamGuest* vkStream, VkStructureType rootType,
4024     const VkDescriptorUpdateTemplateCreateInfo* forMarshaling, uint8_t** ptr) {
4025     (void)vkStream;
4026     (void)rootType;
4027     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4028     *ptr += sizeof(VkStructureType);
4029     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4030         rootType = forMarshaling->sType;
4031     }
4032     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4033     memcpy(*ptr, (VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags,
4034            sizeof(VkDescriptorUpdateTemplateCreateFlags));
4035     *ptr += sizeof(VkDescriptorUpdateTemplateCreateFlags);
4036     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
4037     *ptr += sizeof(uint32_t);
4038     for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) {
4039         reservedmarshal_VkDescriptorUpdateTemplateEntry(
4040             vkStream, rootType,
4041             (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries + i),
4042             ptr);
4043     }
4044     memcpy(*ptr, (VkDescriptorUpdateTemplateType*)&forMarshaling->templateType,
4045            sizeof(VkDescriptorUpdateTemplateType));
4046     *ptr += sizeof(VkDescriptorUpdateTemplateType);
4047     uint64_t cgen_var_0;
4048     *&cgen_var_0 = get_host_u64_VkDescriptorSetLayout((*&forMarshaling->descriptorSetLayout));
4049     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
4050     *ptr += 1 * 8;
4051     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
4052            sizeof(VkPipelineBindPoint));
4053     *ptr += sizeof(VkPipelineBindPoint);
4054     uint64_t cgen_var_1;
4055     *&cgen_var_1 = get_host_u64_VkPipelineLayout((*&forMarshaling->pipelineLayout));
4056     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
4057     *ptr += 1 * 8;
4058     memcpy(*ptr, (uint32_t*)&forMarshaling->set, sizeof(uint32_t));
4059     *ptr += sizeof(uint32_t);
4060 }
4061 
reservedmarshal_VkExternalMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryProperties * forMarshaling,uint8_t ** ptr)4062 void reservedmarshal_VkExternalMemoryProperties(VulkanStreamGuest* vkStream,
4063                                                 VkStructureType rootType,
4064                                                 const VkExternalMemoryProperties* forMarshaling,
4065                                                 uint8_t** ptr) {
4066     (void)vkStream;
4067     (void)rootType;
4068     memcpy(*ptr, (VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures,
4069            sizeof(VkExternalMemoryFeatureFlags));
4070     *ptr += sizeof(VkExternalMemoryFeatureFlags);
4071     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4072            sizeof(VkExternalMemoryHandleTypeFlags));
4073     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4074     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4075            sizeof(VkExternalMemoryHandleTypeFlags));
4076     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4077 }
4078 
reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * forMarshaling,uint8_t ** ptr)4079 void reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(
4080     VulkanStreamGuest* vkStream, VkStructureType rootType,
4081     const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling, uint8_t** ptr) {
4082     (void)vkStream;
4083     (void)rootType;
4084     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4085     *ptr += sizeof(VkStructureType);
4086     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4087         rootType = forMarshaling->sType;
4088     }
4089     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4090     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
4091            sizeof(VkExternalMemoryHandleTypeFlagBits));
4092     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
4093 }
4094 
reservedmarshal_VkExternalImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalImageFormatProperties * forMarshaling,uint8_t ** ptr)4095 void reservedmarshal_VkExternalImageFormatProperties(
4096     VulkanStreamGuest* vkStream, VkStructureType rootType,
4097     const VkExternalImageFormatProperties* forMarshaling, uint8_t** ptr) {
4098     (void)vkStream;
4099     (void)rootType;
4100     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4101     *ptr += sizeof(VkStructureType);
4102     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4103         rootType = forMarshaling->sType;
4104     }
4105     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4106     reservedmarshal_VkExternalMemoryProperties(
4107         vkStream, rootType, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties),
4108         ptr);
4109 }
4110 
reservedmarshal_VkPhysicalDeviceExternalBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * forMarshaling,uint8_t ** ptr)4111 void reservedmarshal_VkPhysicalDeviceExternalBufferInfo(
4112     VulkanStreamGuest* vkStream, VkStructureType rootType,
4113     const VkPhysicalDeviceExternalBufferInfo* forMarshaling, uint8_t** ptr) {
4114     (void)vkStream;
4115     (void)rootType;
4116     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4117     *ptr += sizeof(VkStructureType);
4118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4119         rootType = forMarshaling->sType;
4120     }
4121     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4122     memcpy(*ptr, (VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
4123     *ptr += sizeof(VkBufferCreateFlags);
4124     memcpy(*ptr, (VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
4125     *ptr += sizeof(VkBufferUsageFlags);
4126     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
4127            sizeof(VkExternalMemoryHandleTypeFlagBits));
4128     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
4129 }
4130 
reservedmarshal_VkExternalBufferProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalBufferProperties * forMarshaling,uint8_t ** ptr)4131 void reservedmarshal_VkExternalBufferProperties(VulkanStreamGuest* vkStream,
4132                                                 VkStructureType rootType,
4133                                                 const VkExternalBufferProperties* forMarshaling,
4134                                                 uint8_t** ptr) {
4135     (void)vkStream;
4136     (void)rootType;
4137     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4138     *ptr += sizeof(VkStructureType);
4139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4140         rootType = forMarshaling->sType;
4141     }
4142     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4143     reservedmarshal_VkExternalMemoryProperties(
4144         vkStream, rootType, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties),
4145         ptr);
4146 }
4147 
reservedmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIDProperties * forMarshaling,uint8_t ** ptr)4148 void reservedmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest* vkStream,
4149                                                   VkStructureType rootType,
4150                                                   const VkPhysicalDeviceIDProperties* forMarshaling,
4151                                                   uint8_t** ptr) {
4152     (void)vkStream;
4153     (void)rootType;
4154     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4155     *ptr += sizeof(VkStructureType);
4156     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4157         rootType = forMarshaling->sType;
4158     }
4159     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4160     memcpy(*ptr, (uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
4161     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4162     memcpy(*ptr, (uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
4163     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4164     memcpy(*ptr, (uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
4165     *ptr += VK_LUID_SIZE * sizeof(uint8_t);
4166     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
4167     *ptr += sizeof(uint32_t);
4168     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
4169     *ptr += sizeof(VkBool32);
4170 }
4171 
reservedmarshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * forMarshaling,uint8_t ** ptr)4172 void reservedmarshal_VkExternalMemoryImageCreateInfo(
4173     VulkanStreamGuest* vkStream, VkStructureType rootType,
4174     const VkExternalMemoryImageCreateInfo* forMarshaling, uint8_t** ptr) {
4175     (void)vkStream;
4176     (void)rootType;
4177     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4178     *ptr += sizeof(VkStructureType);
4179     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4180         rootType = forMarshaling->sType;
4181     }
4182     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4183     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4184            sizeof(VkExternalMemoryHandleTypeFlags));
4185     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4186 }
4187 
reservedmarshal_VkExternalMemoryBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * forMarshaling,uint8_t ** ptr)4188 void reservedmarshal_VkExternalMemoryBufferCreateInfo(
4189     VulkanStreamGuest* vkStream, VkStructureType rootType,
4190     const VkExternalMemoryBufferCreateInfo* forMarshaling, uint8_t** ptr) {
4191     (void)vkStream;
4192     (void)rootType;
4193     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4194     *ptr += sizeof(VkStructureType);
4195     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4196         rootType = forMarshaling->sType;
4197     }
4198     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4199     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4200            sizeof(VkExternalMemoryHandleTypeFlags));
4201     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4202 }
4203 
reservedmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryAllocateInfo * forMarshaling,uint8_t ** ptr)4204 void reservedmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest* vkStream,
4205                                                 VkStructureType rootType,
4206                                                 const VkExportMemoryAllocateInfo* forMarshaling,
4207                                                 uint8_t** ptr) {
4208     (void)vkStream;
4209     (void)rootType;
4210     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4211     *ptr += sizeof(VkStructureType);
4212     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4213         rootType = forMarshaling->sType;
4214     }
4215     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4216     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4217            sizeof(VkExternalMemoryHandleTypeFlags));
4218     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4219 }
4220 
reservedmarshal_VkPhysicalDeviceExternalFenceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * forMarshaling,uint8_t ** ptr)4221 void reservedmarshal_VkPhysicalDeviceExternalFenceInfo(
4222     VulkanStreamGuest* vkStream, VkStructureType rootType,
4223     const VkPhysicalDeviceExternalFenceInfo* forMarshaling, uint8_t** ptr) {
4224     (void)vkStream;
4225     (void)rootType;
4226     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4227     *ptr += sizeof(VkStructureType);
4228     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4229         rootType = forMarshaling->sType;
4230     }
4231     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4232     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
4233            sizeof(VkExternalFenceHandleTypeFlagBits));
4234     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
4235 }
4236 
reservedmarshal_VkExternalFenceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalFenceProperties * forMarshaling,uint8_t ** ptr)4237 void reservedmarshal_VkExternalFenceProperties(VulkanStreamGuest* vkStream,
4238                                                VkStructureType rootType,
4239                                                const VkExternalFenceProperties* forMarshaling,
4240                                                uint8_t** ptr) {
4241     (void)vkStream;
4242     (void)rootType;
4243     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4244     *ptr += sizeof(VkStructureType);
4245     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4246         rootType = forMarshaling->sType;
4247     }
4248     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4249     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4250            sizeof(VkExternalFenceHandleTypeFlags));
4251     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4252     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4253            sizeof(VkExternalFenceHandleTypeFlags));
4254     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4255     memcpy(*ptr, (VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures,
4256            sizeof(VkExternalFenceFeatureFlags));
4257     *ptr += sizeof(VkExternalFenceFeatureFlags);
4258 }
4259 
reservedmarshal_VkExportFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportFenceCreateInfo * forMarshaling,uint8_t ** ptr)4260 void reservedmarshal_VkExportFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4261                                              const VkExportFenceCreateInfo* forMarshaling,
4262                                              uint8_t** ptr) {
4263     (void)vkStream;
4264     (void)rootType;
4265     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4266     *ptr += sizeof(VkStructureType);
4267     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4268         rootType = forMarshaling->sType;
4269     }
4270     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4271     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes,
4272            sizeof(VkExternalFenceHandleTypeFlags));
4273     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4274 }
4275 
reservedmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportSemaphoreCreateInfo * forMarshaling,uint8_t ** ptr)4276 void reservedmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest* vkStream,
4277                                                  VkStructureType rootType,
4278                                                  const VkExportSemaphoreCreateInfo* forMarshaling,
4279                                                  uint8_t** ptr) {
4280     (void)vkStream;
4281     (void)rootType;
4282     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4283     *ptr += sizeof(VkStructureType);
4284     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4285         rootType = forMarshaling->sType;
4286     }
4287     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4288     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes,
4289            sizeof(VkExternalSemaphoreHandleTypeFlags));
4290     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4291 }
4292 
reservedmarshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * forMarshaling,uint8_t ** ptr)4293 void reservedmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
4294     VulkanStreamGuest* vkStream, VkStructureType rootType,
4295     const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling, uint8_t** ptr) {
4296     (void)vkStream;
4297     (void)rootType;
4298     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4299     *ptr += sizeof(VkStructureType);
4300     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4301         rootType = forMarshaling->sType;
4302     }
4303     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4304     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
4305            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
4306     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
4307 }
4308 
reservedmarshal_VkExternalSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalSemaphoreProperties * forMarshaling,uint8_t ** ptr)4309 void reservedmarshal_VkExternalSemaphoreProperties(
4310     VulkanStreamGuest* vkStream, VkStructureType rootType,
4311     const VkExternalSemaphoreProperties* forMarshaling, uint8_t** ptr) {
4312     (void)vkStream;
4313     (void)rootType;
4314     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4315     *ptr += sizeof(VkStructureType);
4316     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4317         rootType = forMarshaling->sType;
4318     }
4319     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4320     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4321            sizeof(VkExternalSemaphoreHandleTypeFlags));
4322     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4323     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4324            sizeof(VkExternalSemaphoreHandleTypeFlags));
4325     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4326     memcpy(*ptr, (VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures,
4327            sizeof(VkExternalSemaphoreFeatureFlags));
4328     *ptr += sizeof(VkExternalSemaphoreFeatureFlags);
4329 }
4330 
reservedmarshal_VkPhysicalDeviceMaintenance3Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * forMarshaling,uint8_t ** ptr)4331 void reservedmarshal_VkPhysicalDeviceMaintenance3Properties(
4332     VulkanStreamGuest* vkStream, VkStructureType rootType,
4333     const VkPhysicalDeviceMaintenance3Properties* forMarshaling, uint8_t** ptr) {
4334     (void)vkStream;
4335     (void)rootType;
4336     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4337     *ptr += sizeof(VkStructureType);
4338     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4339         rootType = forMarshaling->sType;
4340     }
4341     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4342     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
4343     *ptr += sizeof(uint32_t);
4344     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
4345     *ptr += sizeof(VkDeviceSize);
4346 }
4347 
reservedmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutSupport * forMarshaling,uint8_t ** ptr)4348 void reservedmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest* vkStream,
4349                                                   VkStructureType rootType,
4350                                                   const VkDescriptorSetLayoutSupport* forMarshaling,
4351                                                   uint8_t** ptr) {
4352     (void)vkStream;
4353     (void)rootType;
4354     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4355     *ptr += sizeof(VkStructureType);
4356     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4357         rootType = forMarshaling->sType;
4358     }
4359     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4360     memcpy(*ptr, (VkBool32*)&forMarshaling->supported, sizeof(VkBool32));
4361     *ptr += sizeof(VkBool32);
4362 }
4363 
reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * forMarshaling,uint8_t ** ptr)4364 void reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
4365     VulkanStreamGuest* vkStream, VkStructureType rootType,
4366     const VkPhysicalDeviceShaderDrawParametersFeatures* forMarshaling, uint8_t** ptr) {
4367     (void)vkStream;
4368     (void)rootType;
4369     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4370     *ptr += sizeof(VkStructureType);
4371     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4372         rootType = forMarshaling->sType;
4373     }
4374     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4375     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
4376     *ptr += sizeof(VkBool32);
4377 }
4378 
4379 #endif
4380 #ifdef VK_VERSION_1_2
reservedmarshal_VkPhysicalDeviceVulkan11Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * forMarshaling,uint8_t ** ptr)4381 void reservedmarshal_VkPhysicalDeviceVulkan11Features(
4382     VulkanStreamGuest* vkStream, VkStructureType rootType,
4383     const VkPhysicalDeviceVulkan11Features* forMarshaling, uint8_t** ptr) {
4384     (void)vkStream;
4385     (void)rootType;
4386     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4387     *ptr += sizeof(VkStructureType);
4388     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4389         rootType = forMarshaling->sType;
4390     }
4391     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4392     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
4393     *ptr += sizeof(VkBool32);
4394     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
4395     *ptr += sizeof(VkBool32);
4396     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
4397     *ptr += sizeof(VkBool32);
4398     memcpy(*ptr, (VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
4399     *ptr += sizeof(VkBool32);
4400     memcpy(*ptr, (VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
4401     *ptr += sizeof(VkBool32);
4402     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
4403     *ptr += sizeof(VkBool32);
4404     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
4405     *ptr += sizeof(VkBool32);
4406     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
4407     *ptr += sizeof(VkBool32);
4408     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
4409     *ptr += sizeof(VkBool32);
4410     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
4411     *ptr += sizeof(VkBool32);
4412     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
4413     *ptr += sizeof(VkBool32);
4414     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
4415     *ptr += sizeof(VkBool32);
4416 }
4417 
reservedmarshal_VkPhysicalDeviceVulkan11Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * forMarshaling,uint8_t ** ptr)4418 void reservedmarshal_VkPhysicalDeviceVulkan11Properties(
4419     VulkanStreamGuest* vkStream, VkStructureType rootType,
4420     const VkPhysicalDeviceVulkan11Properties* forMarshaling, uint8_t** ptr) {
4421     (void)vkStream;
4422     (void)rootType;
4423     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4424     *ptr += sizeof(VkStructureType);
4425     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4426         rootType = forMarshaling->sType;
4427     }
4428     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4429     memcpy(*ptr, (uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
4430     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4431     memcpy(*ptr, (uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
4432     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4433     memcpy(*ptr, (uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
4434     *ptr += VK_LUID_SIZE * sizeof(uint8_t);
4435     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
4436     *ptr += sizeof(uint32_t);
4437     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
4438     *ptr += sizeof(VkBool32);
4439     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
4440     *ptr += sizeof(uint32_t);
4441     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->subgroupSupportedStages,
4442            sizeof(VkShaderStageFlags));
4443     *ptr += sizeof(VkShaderStageFlags);
4444     memcpy(*ptr, (VkSubgroupFeatureFlags*)&forMarshaling->subgroupSupportedOperations,
4445            sizeof(VkSubgroupFeatureFlags));
4446     *ptr += sizeof(VkSubgroupFeatureFlags);
4447     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupQuadOperationsInAllStages, sizeof(VkBool32));
4448     *ptr += sizeof(VkBool32);
4449     memcpy(*ptr, (VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
4450            sizeof(VkPointClippingBehavior));
4451     *ptr += sizeof(VkPointClippingBehavior);
4452     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
4453     *ptr += sizeof(uint32_t);
4454     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
4455     *ptr += sizeof(uint32_t);
4456     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
4457     *ptr += sizeof(VkBool32);
4458     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
4459     *ptr += sizeof(uint32_t);
4460     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
4461     *ptr += sizeof(VkDeviceSize);
4462 }
4463 
reservedmarshal_VkPhysicalDeviceVulkan12Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * forMarshaling,uint8_t ** ptr)4464 void reservedmarshal_VkPhysicalDeviceVulkan12Features(
4465     VulkanStreamGuest* vkStream, VkStructureType rootType,
4466     const VkPhysicalDeviceVulkan12Features* forMarshaling, uint8_t** ptr) {
4467     (void)vkStream;
4468     (void)rootType;
4469     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4470     *ptr += sizeof(VkStructureType);
4471     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4472         rootType = forMarshaling->sType;
4473     }
4474     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4475     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
4476     *ptr += sizeof(VkBool32);
4477     memcpy(*ptr, (VkBool32*)&forMarshaling->drawIndirectCount, sizeof(VkBool32));
4478     *ptr += sizeof(VkBool32);
4479     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
4480     *ptr += sizeof(VkBool32);
4481     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
4482     *ptr += sizeof(VkBool32);
4483     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
4484     *ptr += sizeof(VkBool32);
4485     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
4486     *ptr += sizeof(VkBool32);
4487     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
4488     *ptr += sizeof(VkBool32);
4489     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
4490     *ptr += sizeof(VkBool32);
4491     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
4492     *ptr += sizeof(VkBool32);
4493     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorIndexing, sizeof(VkBool32));
4494     *ptr += sizeof(VkBool32);
4495     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
4496            sizeof(VkBool32));
4497     *ptr += sizeof(VkBool32);
4498     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
4499            sizeof(VkBool32));
4500     *ptr += sizeof(VkBool32);
4501     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
4502            sizeof(VkBool32));
4503     *ptr += sizeof(VkBool32);
4504     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
4505            sizeof(VkBool32));
4506     *ptr += sizeof(VkBool32);
4507     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
4508            sizeof(VkBool32));
4509     *ptr += sizeof(VkBool32);
4510     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
4511            sizeof(VkBool32));
4512     *ptr += sizeof(VkBool32);
4513     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
4514            sizeof(VkBool32));
4515     *ptr += sizeof(VkBool32);
4516     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
4517            sizeof(VkBool32));
4518     *ptr += sizeof(VkBool32);
4519     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
4520            sizeof(VkBool32));
4521     *ptr += sizeof(VkBool32);
4522     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
4523            sizeof(VkBool32));
4524     *ptr += sizeof(VkBool32);
4525     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
4526            sizeof(VkBool32));
4527     *ptr += sizeof(VkBool32);
4528     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
4529            sizeof(VkBool32));
4530     *ptr += sizeof(VkBool32);
4531     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
4532            sizeof(VkBool32));
4533     *ptr += sizeof(VkBool32);
4534     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
4535            sizeof(VkBool32));
4536     *ptr += sizeof(VkBool32);
4537     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
4538            sizeof(VkBool32));
4539     *ptr += sizeof(VkBool32);
4540     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
4541            sizeof(VkBool32));
4542     *ptr += sizeof(VkBool32);
4543     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
4544            sizeof(VkBool32));
4545     *ptr += sizeof(VkBool32);
4546     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
4547     *ptr += sizeof(VkBool32);
4548     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
4549            sizeof(VkBool32));
4550     *ptr += sizeof(VkBool32);
4551     memcpy(*ptr, (VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
4552     *ptr += sizeof(VkBool32);
4553     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerFilterMinmax, sizeof(VkBool32));
4554     *ptr += sizeof(VkBool32);
4555     memcpy(*ptr, (VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
4556     *ptr += sizeof(VkBool32);
4557     memcpy(*ptr, (VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
4558     *ptr += sizeof(VkBool32);
4559     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
4560     *ptr += sizeof(VkBool32);
4561     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
4562     *ptr += sizeof(VkBool32);
4563     memcpy(*ptr, (VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
4564     *ptr += sizeof(VkBool32);
4565     memcpy(*ptr, (VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
4566     *ptr += sizeof(VkBool32);
4567     memcpy(*ptr, (VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
4568     *ptr += sizeof(VkBool32);
4569     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
4570     *ptr += sizeof(VkBool32);
4571     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
4572     *ptr += sizeof(VkBool32);
4573     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
4574     *ptr += sizeof(VkBool32);
4575     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
4576     *ptr += sizeof(VkBool32);
4577     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
4578     *ptr += sizeof(VkBool32);
4579     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
4580            sizeof(VkBool32));
4581     *ptr += sizeof(VkBool32);
4582     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
4583     *ptr += sizeof(VkBool32);
4584     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderOutputLayer, sizeof(VkBool32));
4585     *ptr += sizeof(VkBool32);
4586     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
4587     *ptr += sizeof(VkBool32);
4588 }
4589 
reservedmarshal_VkConformanceVersion(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkConformanceVersion * forMarshaling,uint8_t ** ptr)4590 void reservedmarshal_VkConformanceVersion(VulkanStreamGuest* vkStream, VkStructureType rootType,
4591                                           const VkConformanceVersion* forMarshaling,
4592                                           uint8_t** ptr) {
4593     (void)vkStream;
4594     (void)rootType;
4595     memcpy(*ptr, (uint8_t*)&forMarshaling->major, sizeof(uint8_t));
4596     *ptr += sizeof(uint8_t);
4597     memcpy(*ptr, (uint8_t*)&forMarshaling->minor, sizeof(uint8_t));
4598     *ptr += sizeof(uint8_t);
4599     memcpy(*ptr, (uint8_t*)&forMarshaling->subminor, sizeof(uint8_t));
4600     *ptr += sizeof(uint8_t);
4601     memcpy(*ptr, (uint8_t*)&forMarshaling->patch, sizeof(uint8_t));
4602     *ptr += sizeof(uint8_t);
4603 }
4604 
reservedmarshal_VkPhysicalDeviceVulkan12Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * forMarshaling,uint8_t ** ptr)4605 void reservedmarshal_VkPhysicalDeviceVulkan12Properties(
4606     VulkanStreamGuest* vkStream, VkStructureType rootType,
4607     const VkPhysicalDeviceVulkan12Properties* forMarshaling, uint8_t** ptr) {
4608     (void)vkStream;
4609     (void)rootType;
4610     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4611     *ptr += sizeof(VkStructureType);
4612     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4613         rootType = forMarshaling->sType;
4614     }
4615     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4616     memcpy(*ptr, (VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
4617     *ptr += sizeof(VkDriverId);
4618     memcpy(*ptr, (char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
4619     *ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
4620     memcpy(*ptr, (char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
4621     *ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
4622     reservedmarshal_VkConformanceVersion(
4623         vkStream, rootType, (VkConformanceVersion*)(&forMarshaling->conformanceVersion), ptr);
4624     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
4625            sizeof(VkShaderFloatControlsIndependence));
4626     *ptr += sizeof(VkShaderFloatControlsIndependence);
4627     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
4628            sizeof(VkShaderFloatControlsIndependence));
4629     *ptr += sizeof(VkShaderFloatControlsIndependence);
4630     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
4631            sizeof(VkBool32));
4632     *ptr += sizeof(VkBool32);
4633     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
4634            sizeof(VkBool32));
4635     *ptr += sizeof(VkBool32);
4636     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
4637            sizeof(VkBool32));
4638     *ptr += sizeof(VkBool32);
4639     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
4640     *ptr += sizeof(VkBool32);
4641     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
4642     *ptr += sizeof(VkBool32);
4643     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
4644     *ptr += sizeof(VkBool32);
4645     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
4646     *ptr += sizeof(VkBool32);
4647     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
4648     *ptr += sizeof(VkBool32);
4649     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
4650     *ptr += sizeof(VkBool32);
4651     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
4652     *ptr += sizeof(VkBool32);
4653     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
4654     *ptr += sizeof(VkBool32);
4655     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
4656     *ptr += sizeof(VkBool32);
4657     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
4658     *ptr += sizeof(VkBool32);
4659     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
4660     *ptr += sizeof(VkBool32);
4661     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
4662     *ptr += sizeof(VkBool32);
4663     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
4664            sizeof(uint32_t));
4665     *ptr += sizeof(uint32_t);
4666     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
4667            sizeof(VkBool32));
4668     *ptr += sizeof(VkBool32);
4669     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
4670            sizeof(VkBool32));
4671     *ptr += sizeof(VkBool32);
4672     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
4673            sizeof(VkBool32));
4674     *ptr += sizeof(VkBool32);
4675     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
4676            sizeof(VkBool32));
4677     *ptr += sizeof(VkBool32);
4678     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
4679            sizeof(VkBool32));
4680     *ptr += sizeof(VkBool32);
4681     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
4682     *ptr += sizeof(VkBool32);
4683     memcpy(*ptr, (VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
4684     *ptr += sizeof(VkBool32);
4685     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
4686            sizeof(uint32_t));
4687     *ptr += sizeof(uint32_t);
4688     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
4689            sizeof(uint32_t));
4690     *ptr += sizeof(uint32_t);
4691     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
4692            sizeof(uint32_t));
4693     *ptr += sizeof(uint32_t);
4694     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
4695            sizeof(uint32_t));
4696     *ptr += sizeof(uint32_t);
4697     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
4698            sizeof(uint32_t));
4699     *ptr += sizeof(uint32_t);
4700     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
4701            sizeof(uint32_t));
4702     *ptr += sizeof(uint32_t);
4703     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
4704     *ptr += sizeof(uint32_t);
4705     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
4706            sizeof(uint32_t));
4707     *ptr += sizeof(uint32_t);
4708     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
4709            sizeof(uint32_t));
4710     *ptr += sizeof(uint32_t);
4711     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
4712            sizeof(uint32_t));
4713     *ptr += sizeof(uint32_t);
4714     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
4715            sizeof(uint32_t));
4716     *ptr += sizeof(uint32_t);
4717     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
4718            sizeof(uint32_t));
4719     *ptr += sizeof(uint32_t);
4720     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
4721            sizeof(uint32_t));
4722     *ptr += sizeof(uint32_t);
4723     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
4724            sizeof(uint32_t));
4725     *ptr += sizeof(uint32_t);
4726     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
4727            sizeof(uint32_t));
4728     *ptr += sizeof(uint32_t);
4729     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
4730            sizeof(VkResolveModeFlags));
4731     *ptr += sizeof(VkResolveModeFlags);
4732     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
4733            sizeof(VkResolveModeFlags));
4734     *ptr += sizeof(VkResolveModeFlags);
4735     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
4736     *ptr += sizeof(VkBool32);
4737     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
4738     *ptr += sizeof(VkBool32);
4739     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
4740     *ptr += sizeof(VkBool32);
4741     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
4742     *ptr += sizeof(VkBool32);
4743     memcpy(*ptr, (uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference, sizeof(uint64_t));
4744     *ptr += sizeof(uint64_t);
4745     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferIntegerColorSampleCounts,
4746            sizeof(VkSampleCountFlags));
4747     *ptr += sizeof(VkSampleCountFlags);
4748 }
4749 
reservedmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatListCreateInfo * forMarshaling,uint8_t ** ptr)4750 void reservedmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest* vkStream,
4751                                                  VkStructureType rootType,
4752                                                  const VkImageFormatListCreateInfo* forMarshaling,
4753                                                  uint8_t** ptr) {
4754     (void)vkStream;
4755     (void)rootType;
4756     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4757     *ptr += sizeof(VkStructureType);
4758     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4759         rootType = forMarshaling->sType;
4760     }
4761     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4762     memcpy(*ptr, (uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
4763     *ptr += sizeof(uint32_t);
4764     memcpy(*ptr, (const VkFormat*)forMarshaling->pViewFormats,
4765            forMarshaling->viewFormatCount * sizeof(const VkFormat));
4766     *ptr += forMarshaling->viewFormatCount * sizeof(const VkFormat);
4767 }
4768 
reservedmarshal_VkAttachmentDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription2 * forMarshaling,uint8_t ** ptr)4769 void reservedmarshal_VkAttachmentDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4770                                               const VkAttachmentDescription2* forMarshaling,
4771                                               uint8_t** ptr) {
4772     (void)vkStream;
4773     (void)rootType;
4774     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4775     *ptr += sizeof(VkStructureType);
4776     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4777         rootType = forMarshaling->sType;
4778     }
4779     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4780     memcpy(*ptr, (VkAttachmentDescriptionFlags*)&forMarshaling->flags,
4781            sizeof(VkAttachmentDescriptionFlags));
4782     *ptr += sizeof(VkAttachmentDescriptionFlags);
4783     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
4784     *ptr += sizeof(VkFormat);
4785     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
4786     *ptr += sizeof(VkSampleCountFlagBits);
4787     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
4788     *ptr += sizeof(VkAttachmentLoadOp);
4789     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
4790     *ptr += sizeof(VkAttachmentStoreOp);
4791     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
4792     *ptr += sizeof(VkAttachmentLoadOp);
4793     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
4794     *ptr += sizeof(VkAttachmentStoreOp);
4795     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
4796     *ptr += sizeof(VkImageLayout);
4797     memcpy(*ptr, (VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
4798     *ptr += sizeof(VkImageLayout);
4799 }
4800 
reservedmarshal_VkAttachmentReference2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference2 * forMarshaling,uint8_t ** ptr)4801 void reservedmarshal_VkAttachmentReference2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4802                                             const VkAttachmentReference2* forMarshaling,
4803                                             uint8_t** ptr) {
4804     (void)vkStream;
4805     (void)rootType;
4806     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4807     *ptr += sizeof(VkStructureType);
4808     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4809         rootType = forMarshaling->sType;
4810     }
4811     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4812     memcpy(*ptr, (uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
4813     *ptr += sizeof(uint32_t);
4814     memcpy(*ptr, (VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
4815     *ptr += sizeof(VkImageLayout);
4816     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4817     *ptr += sizeof(VkImageAspectFlags);
4818 }
4819 
reservedmarshal_VkSubpassDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription2 * forMarshaling,uint8_t ** ptr)4820 void reservedmarshal_VkSubpassDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4821                                            const VkSubpassDescription2* forMarshaling,
4822                                            uint8_t** ptr) {
4823     (void)vkStream;
4824     (void)rootType;
4825     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4826     *ptr += sizeof(VkStructureType);
4827     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4828         rootType = forMarshaling->sType;
4829     }
4830     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4831     memcpy(*ptr, (VkSubpassDescriptionFlags*)&forMarshaling->flags,
4832            sizeof(VkSubpassDescriptionFlags));
4833     *ptr += sizeof(VkSubpassDescriptionFlags);
4834     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
4835            sizeof(VkPipelineBindPoint));
4836     *ptr += sizeof(VkPipelineBindPoint);
4837     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
4838     *ptr += sizeof(uint32_t);
4839     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
4840     *ptr += sizeof(uint32_t);
4841     for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
4842         reservedmarshal_VkAttachmentReference2(
4843             vkStream, rootType,
4844             (const VkAttachmentReference2*)(forMarshaling->pInputAttachments + i), ptr);
4845     }
4846     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
4847     *ptr += sizeof(uint32_t);
4848     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4849         reservedmarshal_VkAttachmentReference2(
4850             vkStream, rootType,
4851             (const VkAttachmentReference2*)(forMarshaling->pColorAttachments + i), ptr);
4852     }
4853     // WARNING PTR CHECK
4854     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
4855     memcpy((*ptr), &cgen_var_0, 8);
4856     android::base::Stream::toBe64((uint8_t*)(*ptr));
4857     *ptr += 8;
4858     if (forMarshaling->pResolveAttachments) {
4859         for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4860             reservedmarshal_VkAttachmentReference2(
4861                 vkStream, rootType,
4862                 (const VkAttachmentReference2*)(forMarshaling->pResolveAttachments + i), ptr);
4863         }
4864     }
4865     // WARNING PTR CHECK
4866     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
4867     memcpy((*ptr), &cgen_var_1, 8);
4868     android::base::Stream::toBe64((uint8_t*)(*ptr));
4869     *ptr += 8;
4870     if (forMarshaling->pDepthStencilAttachment) {
4871         reservedmarshal_VkAttachmentReference2(
4872             vkStream, rootType,
4873             (const VkAttachmentReference2*)(forMarshaling->pDepthStencilAttachment), ptr);
4874     }
4875     memcpy(*ptr, (uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
4876     *ptr += sizeof(uint32_t);
4877     memcpy(*ptr, (const uint32_t*)forMarshaling->pPreserveAttachments,
4878            forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
4879     *ptr += forMarshaling->preserveAttachmentCount * sizeof(const uint32_t);
4880 }
4881 
reservedmarshal_VkSubpassDependency2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency2 * forMarshaling,uint8_t ** ptr)4882 void reservedmarshal_VkSubpassDependency2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4883                                           const VkSubpassDependency2* forMarshaling,
4884                                           uint8_t** ptr) {
4885     (void)vkStream;
4886     (void)rootType;
4887     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4888     *ptr += sizeof(VkStructureType);
4889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4890         rootType = forMarshaling->sType;
4891     }
4892     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4893     memcpy(*ptr, (uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
4894     *ptr += sizeof(uint32_t);
4895     memcpy(*ptr, (uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
4896     *ptr += sizeof(uint32_t);
4897     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
4898     *ptr += sizeof(VkPipelineStageFlags);
4899     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
4900     *ptr += sizeof(VkPipelineStageFlags);
4901     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
4902     *ptr += sizeof(VkAccessFlags);
4903     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
4904     *ptr += sizeof(VkAccessFlags);
4905     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
4906     *ptr += sizeof(VkDependencyFlags);
4907     memcpy(*ptr, (int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
4908     *ptr += sizeof(int32_t);
4909 }
4910 
reservedmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo2 * forMarshaling,uint8_t ** ptr)4911 void reservedmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4912                                              const VkRenderPassCreateInfo2* forMarshaling,
4913                                              uint8_t** ptr) {
4914     (void)vkStream;
4915     (void)rootType;
4916     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4917     *ptr += sizeof(VkStructureType);
4918     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4919         rootType = forMarshaling->sType;
4920     }
4921     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4922     memcpy(*ptr, (VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
4923     *ptr += sizeof(VkRenderPassCreateFlags);
4924     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
4925     *ptr += sizeof(uint32_t);
4926     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
4927         reservedmarshal_VkAttachmentDescription2(
4928             vkStream, rootType, (const VkAttachmentDescription2*)(forMarshaling->pAttachments + i),
4929             ptr);
4930     }
4931     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
4932     *ptr += sizeof(uint32_t);
4933     for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
4934         reservedmarshal_VkSubpassDescription2(
4935             vkStream, rootType, (const VkSubpassDescription2*)(forMarshaling->pSubpasses + i), ptr);
4936     }
4937     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
4938     *ptr += sizeof(uint32_t);
4939     for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
4940         reservedmarshal_VkSubpassDependency2(
4941             vkStream, rootType, (const VkSubpassDependency2*)(forMarshaling->pDependencies + i),
4942             ptr);
4943     }
4944     memcpy(*ptr, (uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
4945     *ptr += sizeof(uint32_t);
4946     memcpy(*ptr, (const uint32_t*)forMarshaling->pCorrelatedViewMasks,
4947            forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
4948     *ptr += forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t);
4949 }
4950 
reservedmarshal_VkSubpassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassBeginInfo * forMarshaling,uint8_t ** ptr)4951 void reservedmarshal_VkSubpassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4952                                         const VkSubpassBeginInfo* forMarshaling, uint8_t** ptr) {
4953     (void)vkStream;
4954     (void)rootType;
4955     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4956     *ptr += sizeof(VkStructureType);
4957     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4958         rootType = forMarshaling->sType;
4959     }
4960     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4961     memcpy(*ptr, (VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
4962     *ptr += sizeof(VkSubpassContents);
4963 }
4964 
reservedmarshal_VkSubpassEndInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassEndInfo * forMarshaling,uint8_t ** ptr)4965 void reservedmarshal_VkSubpassEndInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4966                                       const VkSubpassEndInfo* forMarshaling, uint8_t** ptr) {
4967     (void)vkStream;
4968     (void)rootType;
4969     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4970     *ptr += sizeof(VkStructureType);
4971     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4972         rootType = forMarshaling->sType;
4973     }
4974     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4975 }
4976 
reservedmarshal_VkPhysicalDevice8BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * forMarshaling,uint8_t ** ptr)4977 void reservedmarshal_VkPhysicalDevice8BitStorageFeatures(
4978     VulkanStreamGuest* vkStream, VkStructureType rootType,
4979     const VkPhysicalDevice8BitStorageFeatures* forMarshaling, uint8_t** ptr) {
4980     (void)vkStream;
4981     (void)rootType;
4982     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4983     *ptr += sizeof(VkStructureType);
4984     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4985         rootType = forMarshaling->sType;
4986     }
4987     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4988     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
4989     *ptr += sizeof(VkBool32);
4990     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
4991     *ptr += sizeof(VkBool32);
4992     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
4993     *ptr += sizeof(VkBool32);
4994 }
4995 
reservedmarshal_VkPhysicalDeviceDriverProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * forMarshaling,uint8_t ** ptr)4996 void reservedmarshal_VkPhysicalDeviceDriverProperties(
4997     VulkanStreamGuest* vkStream, VkStructureType rootType,
4998     const VkPhysicalDeviceDriverProperties* forMarshaling, uint8_t** ptr) {
4999     (void)vkStream;
5000     (void)rootType;
5001     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5002     *ptr += sizeof(VkStructureType);
5003     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5004         rootType = forMarshaling->sType;
5005     }
5006     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5007     memcpy(*ptr, (VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
5008     *ptr += sizeof(VkDriverId);
5009     memcpy(*ptr, (char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
5010     *ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
5011     memcpy(*ptr, (char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
5012     *ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
5013     reservedmarshal_VkConformanceVersion(
5014         vkStream, rootType, (VkConformanceVersion*)(&forMarshaling->conformanceVersion), ptr);
5015 }
5016 
reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * forMarshaling,uint8_t ** ptr)5017 void reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
5018     VulkanStreamGuest* vkStream, VkStructureType rootType,
5019     const VkPhysicalDeviceShaderAtomicInt64Features* forMarshaling, uint8_t** ptr) {
5020     (void)vkStream;
5021     (void)rootType;
5022     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5023     *ptr += sizeof(VkStructureType);
5024     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5025         rootType = forMarshaling->sType;
5026     }
5027     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5028     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
5029     *ptr += sizeof(VkBool32);
5030     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
5031     *ptr += sizeof(VkBool32);
5032 }
5033 
reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * forMarshaling,uint8_t ** ptr)5034 void reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
5035     VulkanStreamGuest* vkStream, VkStructureType rootType,
5036     const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling, uint8_t** ptr) {
5037     (void)vkStream;
5038     (void)rootType;
5039     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5040     *ptr += sizeof(VkStructureType);
5041     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5042         rootType = forMarshaling->sType;
5043     }
5044     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5045     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
5046     *ptr += sizeof(VkBool32);
5047     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
5048     *ptr += sizeof(VkBool32);
5049 }
5050 
reservedmarshal_VkPhysicalDeviceFloatControlsProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * forMarshaling,uint8_t ** ptr)5051 void reservedmarshal_VkPhysicalDeviceFloatControlsProperties(
5052     VulkanStreamGuest* vkStream, VkStructureType rootType,
5053     const VkPhysicalDeviceFloatControlsProperties* forMarshaling, uint8_t** ptr) {
5054     (void)vkStream;
5055     (void)rootType;
5056     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5057     *ptr += sizeof(VkStructureType);
5058     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5059         rootType = forMarshaling->sType;
5060     }
5061     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5062     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
5063            sizeof(VkShaderFloatControlsIndependence));
5064     *ptr += sizeof(VkShaderFloatControlsIndependence);
5065     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
5066            sizeof(VkShaderFloatControlsIndependence));
5067     *ptr += sizeof(VkShaderFloatControlsIndependence);
5068     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
5069            sizeof(VkBool32));
5070     *ptr += sizeof(VkBool32);
5071     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
5072            sizeof(VkBool32));
5073     *ptr += sizeof(VkBool32);
5074     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
5075            sizeof(VkBool32));
5076     *ptr += sizeof(VkBool32);
5077     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
5078     *ptr += sizeof(VkBool32);
5079     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
5080     *ptr += sizeof(VkBool32);
5081     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
5082     *ptr += sizeof(VkBool32);
5083     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
5084     *ptr += sizeof(VkBool32);
5085     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
5086     *ptr += sizeof(VkBool32);
5087     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
5088     *ptr += sizeof(VkBool32);
5089     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
5090     *ptr += sizeof(VkBool32);
5091     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
5092     *ptr += sizeof(VkBool32);
5093     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
5094     *ptr += sizeof(VkBool32);
5095     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
5096     *ptr += sizeof(VkBool32);
5097     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
5098     *ptr += sizeof(VkBool32);
5099     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
5100     *ptr += sizeof(VkBool32);
5101 }
5102 
reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * forMarshaling,uint8_t ** ptr)5103 void reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
5104     VulkanStreamGuest* vkStream, VkStructureType rootType,
5105     const VkDescriptorSetLayoutBindingFlagsCreateInfo* forMarshaling, uint8_t** ptr) {
5106     (void)vkStream;
5107     (void)rootType;
5108     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5109     *ptr += sizeof(VkStructureType);
5110     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5111         rootType = forMarshaling->sType;
5112     }
5113     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5114     memcpy(*ptr, (uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
5115     *ptr += sizeof(uint32_t);
5116     // WARNING PTR CHECK
5117     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pBindingFlags;
5118     memcpy((*ptr), &cgen_var_0, 8);
5119     android::base::Stream::toBe64((uint8_t*)(*ptr));
5120     *ptr += 8;
5121     if (forMarshaling->pBindingFlags) {
5122         memcpy(*ptr, (const VkDescriptorBindingFlags*)forMarshaling->pBindingFlags,
5123                forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
5124         *ptr += forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags);
5125     }
5126 }
5127 
reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * forMarshaling,uint8_t ** ptr)5128 void reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
5129     VulkanStreamGuest* vkStream, VkStructureType rootType,
5130     const VkPhysicalDeviceDescriptorIndexingFeatures* forMarshaling, uint8_t** ptr) {
5131     (void)vkStream;
5132     (void)rootType;
5133     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5134     *ptr += sizeof(VkStructureType);
5135     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5136         rootType = forMarshaling->sType;
5137     }
5138     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5139     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
5140            sizeof(VkBool32));
5141     *ptr += sizeof(VkBool32);
5142     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
5143            sizeof(VkBool32));
5144     *ptr += sizeof(VkBool32);
5145     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
5146            sizeof(VkBool32));
5147     *ptr += sizeof(VkBool32);
5148     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
5149            sizeof(VkBool32));
5150     *ptr += sizeof(VkBool32);
5151     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
5152            sizeof(VkBool32));
5153     *ptr += sizeof(VkBool32);
5154     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
5155            sizeof(VkBool32));
5156     *ptr += sizeof(VkBool32);
5157     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
5158            sizeof(VkBool32));
5159     *ptr += sizeof(VkBool32);
5160     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
5161            sizeof(VkBool32));
5162     *ptr += sizeof(VkBool32);
5163     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
5164            sizeof(VkBool32));
5165     *ptr += sizeof(VkBool32);
5166     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
5167            sizeof(VkBool32));
5168     *ptr += sizeof(VkBool32);
5169     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
5170            sizeof(VkBool32));
5171     *ptr += sizeof(VkBool32);
5172     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
5173            sizeof(VkBool32));
5174     *ptr += sizeof(VkBool32);
5175     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
5176            sizeof(VkBool32));
5177     *ptr += sizeof(VkBool32);
5178     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
5179            sizeof(VkBool32));
5180     *ptr += sizeof(VkBool32);
5181     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
5182            sizeof(VkBool32));
5183     *ptr += sizeof(VkBool32);
5184     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
5185            sizeof(VkBool32));
5186     *ptr += sizeof(VkBool32);
5187     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
5188            sizeof(VkBool32));
5189     *ptr += sizeof(VkBool32);
5190     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
5191     *ptr += sizeof(VkBool32);
5192     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
5193            sizeof(VkBool32));
5194     *ptr += sizeof(VkBool32);
5195     memcpy(*ptr, (VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
5196     *ptr += sizeof(VkBool32);
5197 }
5198 
reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * forMarshaling,uint8_t ** ptr)5199 void reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
5200     VulkanStreamGuest* vkStream, VkStructureType rootType,
5201     const VkPhysicalDeviceDescriptorIndexingProperties* forMarshaling, uint8_t** ptr) {
5202     (void)vkStream;
5203     (void)rootType;
5204     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5205     *ptr += sizeof(VkStructureType);
5206     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5207         rootType = forMarshaling->sType;
5208     }
5209     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5210     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
5211            sizeof(uint32_t));
5212     *ptr += sizeof(uint32_t);
5213     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
5214            sizeof(VkBool32));
5215     *ptr += sizeof(VkBool32);
5216     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
5217            sizeof(VkBool32));
5218     *ptr += sizeof(VkBool32);
5219     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
5220            sizeof(VkBool32));
5221     *ptr += sizeof(VkBool32);
5222     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
5223            sizeof(VkBool32));
5224     *ptr += sizeof(VkBool32);
5225     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
5226            sizeof(VkBool32));
5227     *ptr += sizeof(VkBool32);
5228     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
5229     *ptr += sizeof(VkBool32);
5230     memcpy(*ptr, (VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
5231     *ptr += sizeof(VkBool32);
5232     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
5233            sizeof(uint32_t));
5234     *ptr += sizeof(uint32_t);
5235     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
5236            sizeof(uint32_t));
5237     *ptr += sizeof(uint32_t);
5238     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
5239            sizeof(uint32_t));
5240     *ptr += sizeof(uint32_t);
5241     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
5242            sizeof(uint32_t));
5243     *ptr += sizeof(uint32_t);
5244     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
5245            sizeof(uint32_t));
5246     *ptr += sizeof(uint32_t);
5247     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
5248            sizeof(uint32_t));
5249     *ptr += sizeof(uint32_t);
5250     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
5251     *ptr += sizeof(uint32_t);
5252     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
5253            sizeof(uint32_t));
5254     *ptr += sizeof(uint32_t);
5255     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
5256            sizeof(uint32_t));
5257     *ptr += sizeof(uint32_t);
5258     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
5259            sizeof(uint32_t));
5260     *ptr += sizeof(uint32_t);
5261     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
5262            sizeof(uint32_t));
5263     *ptr += sizeof(uint32_t);
5264     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
5265            sizeof(uint32_t));
5266     *ptr += sizeof(uint32_t);
5267     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
5268            sizeof(uint32_t));
5269     *ptr += sizeof(uint32_t);
5270     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
5271            sizeof(uint32_t));
5272     *ptr += sizeof(uint32_t);
5273     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
5274            sizeof(uint32_t));
5275     *ptr += sizeof(uint32_t);
5276 }
5277 
reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * forMarshaling,uint8_t ** ptr)5278 void reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
5279     VulkanStreamGuest* vkStream, VkStructureType rootType,
5280     const VkDescriptorSetVariableDescriptorCountAllocateInfo* forMarshaling, uint8_t** ptr) {
5281     (void)vkStream;
5282     (void)rootType;
5283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5284     *ptr += sizeof(VkStructureType);
5285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5286         rootType = forMarshaling->sType;
5287     }
5288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5289     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
5290     *ptr += sizeof(uint32_t);
5291     memcpy(*ptr, (const uint32_t*)forMarshaling->pDescriptorCounts,
5292            forMarshaling->descriptorSetCount * sizeof(const uint32_t));
5293     *ptr += forMarshaling->descriptorSetCount * sizeof(const uint32_t);
5294 }
5295 
reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * forMarshaling,uint8_t ** ptr)5296 void reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
5297     VulkanStreamGuest* vkStream, VkStructureType rootType,
5298     const VkDescriptorSetVariableDescriptorCountLayoutSupport* forMarshaling, uint8_t** ptr) {
5299     (void)vkStream;
5300     (void)rootType;
5301     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5302     *ptr += sizeof(VkStructureType);
5303     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5304         rootType = forMarshaling->sType;
5305     }
5306     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5307     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
5308     *ptr += sizeof(uint32_t);
5309 }
5310 
reservedmarshal_VkSubpassDescriptionDepthStencilResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * forMarshaling,uint8_t ** ptr)5311 void reservedmarshal_VkSubpassDescriptionDepthStencilResolve(
5312     VulkanStreamGuest* vkStream, VkStructureType rootType,
5313     const VkSubpassDescriptionDepthStencilResolve* forMarshaling, uint8_t** ptr) {
5314     (void)vkStream;
5315     (void)rootType;
5316     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5317     *ptr += sizeof(VkStructureType);
5318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5319         rootType = forMarshaling->sType;
5320     }
5321     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5322     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->depthResolveMode,
5323            sizeof(VkResolveModeFlagBits));
5324     *ptr += sizeof(VkResolveModeFlagBits);
5325     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->stencilResolveMode,
5326            sizeof(VkResolveModeFlagBits));
5327     *ptr += sizeof(VkResolveModeFlagBits);
5328     // WARNING PTR CHECK
5329     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilResolveAttachment;
5330     memcpy((*ptr), &cgen_var_0, 8);
5331     android::base::Stream::toBe64((uint8_t*)(*ptr));
5332     *ptr += 8;
5333     if (forMarshaling->pDepthStencilResolveAttachment) {
5334         reservedmarshal_VkAttachmentReference2(
5335             vkStream, rootType,
5336             (const VkAttachmentReference2*)(forMarshaling->pDepthStencilResolveAttachment), ptr);
5337     }
5338 }
5339 
reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * forMarshaling,uint8_t ** ptr)5340 void reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
5341     VulkanStreamGuest* vkStream, VkStructureType rootType,
5342     const VkPhysicalDeviceDepthStencilResolveProperties* forMarshaling, uint8_t** ptr) {
5343     (void)vkStream;
5344     (void)rootType;
5345     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5346     *ptr += sizeof(VkStructureType);
5347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5348         rootType = forMarshaling->sType;
5349     }
5350     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5351     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
5352            sizeof(VkResolveModeFlags));
5353     *ptr += sizeof(VkResolveModeFlags);
5354     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
5355            sizeof(VkResolveModeFlags));
5356     *ptr += sizeof(VkResolveModeFlags);
5357     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
5358     *ptr += sizeof(VkBool32);
5359     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
5360     *ptr += sizeof(VkBool32);
5361 }
5362 
reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * forMarshaling,uint8_t ** ptr)5363 void reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
5364     VulkanStreamGuest* vkStream, VkStructureType rootType,
5365     const VkPhysicalDeviceScalarBlockLayoutFeatures* forMarshaling, uint8_t** ptr) {
5366     (void)vkStream;
5367     (void)rootType;
5368     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5369     *ptr += sizeof(VkStructureType);
5370     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5371         rootType = forMarshaling->sType;
5372     }
5373     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5374     memcpy(*ptr, (VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
5375     *ptr += sizeof(VkBool32);
5376 }
5377 
reservedmarshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageStencilUsageCreateInfo * forMarshaling,uint8_t ** ptr)5378 void reservedmarshal_VkImageStencilUsageCreateInfo(
5379     VulkanStreamGuest* vkStream, VkStructureType rootType,
5380     const VkImageStencilUsageCreateInfo* forMarshaling, uint8_t** ptr) {
5381     (void)vkStream;
5382     (void)rootType;
5383     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5384     *ptr += sizeof(VkStructureType);
5385     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5386         rootType = forMarshaling->sType;
5387     }
5388     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5389     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->stencilUsage, sizeof(VkImageUsageFlags));
5390     *ptr += sizeof(VkImageUsageFlags);
5391 }
5392 
reservedmarshal_VkSamplerReductionModeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * forMarshaling,uint8_t ** ptr)5393 void reservedmarshal_VkSamplerReductionModeCreateInfo(
5394     VulkanStreamGuest* vkStream, VkStructureType rootType,
5395     const VkSamplerReductionModeCreateInfo* forMarshaling, uint8_t** ptr) {
5396     (void)vkStream;
5397     (void)rootType;
5398     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5399     *ptr += sizeof(VkStructureType);
5400     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5401         rootType = forMarshaling->sType;
5402     }
5403     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5404     memcpy(*ptr, (VkSamplerReductionMode*)&forMarshaling->reductionMode,
5405            sizeof(VkSamplerReductionMode));
5406     *ptr += sizeof(VkSamplerReductionMode);
5407 }
5408 
reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * forMarshaling,uint8_t ** ptr)5409 void reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
5410     VulkanStreamGuest* vkStream, VkStructureType rootType,
5411     const VkPhysicalDeviceSamplerFilterMinmaxProperties* forMarshaling, uint8_t** ptr) {
5412     (void)vkStream;
5413     (void)rootType;
5414     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5415     *ptr += sizeof(VkStructureType);
5416     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5417         rootType = forMarshaling->sType;
5418     }
5419     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5420     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
5421     *ptr += sizeof(VkBool32);
5422     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
5423     *ptr += sizeof(VkBool32);
5424 }
5425 
reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * forMarshaling,uint8_t ** ptr)5426 void reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
5427     VulkanStreamGuest* vkStream, VkStructureType rootType,
5428     const VkPhysicalDeviceVulkanMemoryModelFeatures* forMarshaling, uint8_t** ptr) {
5429     (void)vkStream;
5430     (void)rootType;
5431     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5432     *ptr += sizeof(VkStructureType);
5433     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5434         rootType = forMarshaling->sType;
5435     }
5436     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5437     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
5438     *ptr += sizeof(VkBool32);
5439     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
5440     *ptr += sizeof(VkBool32);
5441     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
5442            sizeof(VkBool32));
5443     *ptr += sizeof(VkBool32);
5444 }
5445 
reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * forMarshaling,uint8_t ** ptr)5446 void reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
5447     VulkanStreamGuest* vkStream, VkStructureType rootType,
5448     const VkPhysicalDeviceImagelessFramebufferFeatures* forMarshaling, uint8_t** ptr) {
5449     (void)vkStream;
5450     (void)rootType;
5451     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5452     *ptr += sizeof(VkStructureType);
5453     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5454         rootType = forMarshaling->sType;
5455     }
5456     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5457     memcpy(*ptr, (VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
5458     *ptr += sizeof(VkBool32);
5459 }
5460 
reservedmarshal_VkFramebufferAttachmentImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * forMarshaling,uint8_t ** ptr)5461 void reservedmarshal_VkFramebufferAttachmentImageInfo(
5462     VulkanStreamGuest* vkStream, VkStructureType rootType,
5463     const VkFramebufferAttachmentImageInfo* forMarshaling, uint8_t** ptr) {
5464     (void)vkStream;
5465     (void)rootType;
5466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5467     *ptr += sizeof(VkStructureType);
5468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5469         rootType = forMarshaling->sType;
5470     }
5471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5472     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
5473     *ptr += sizeof(VkImageCreateFlags);
5474     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
5475     *ptr += sizeof(VkImageUsageFlags);
5476     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
5477     *ptr += sizeof(uint32_t);
5478     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
5479     *ptr += sizeof(uint32_t);
5480     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
5481     *ptr += sizeof(uint32_t);
5482     memcpy(*ptr, (uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
5483     *ptr += sizeof(uint32_t);
5484     memcpy(*ptr, (const VkFormat*)forMarshaling->pViewFormats,
5485            forMarshaling->viewFormatCount * sizeof(const VkFormat));
5486     *ptr += forMarshaling->viewFormatCount * sizeof(const VkFormat);
5487 }
5488 
reservedmarshal_VkFramebufferAttachmentsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * forMarshaling,uint8_t ** ptr)5489 void reservedmarshal_VkFramebufferAttachmentsCreateInfo(
5490     VulkanStreamGuest* vkStream, VkStructureType rootType,
5491     const VkFramebufferAttachmentsCreateInfo* forMarshaling, uint8_t** ptr) {
5492     (void)vkStream;
5493     (void)rootType;
5494     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5495     *ptr += sizeof(VkStructureType);
5496     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5497         rootType = forMarshaling->sType;
5498     }
5499     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5500     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentImageInfoCount, sizeof(uint32_t));
5501     *ptr += sizeof(uint32_t);
5502     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentImageInfoCount; ++i) {
5503         reservedmarshal_VkFramebufferAttachmentImageInfo(
5504             vkStream, rootType,
5505             (const VkFramebufferAttachmentImageInfo*)(forMarshaling->pAttachmentImageInfos + i),
5506             ptr);
5507     }
5508 }
5509 
reservedmarshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * forMarshaling,uint8_t ** ptr)5510 void reservedmarshal_VkRenderPassAttachmentBeginInfo(
5511     VulkanStreamGuest* vkStream, VkStructureType rootType,
5512     const VkRenderPassAttachmentBeginInfo* forMarshaling, uint8_t** ptr) {
5513     (void)vkStream;
5514     (void)rootType;
5515     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5516     *ptr += sizeof(VkStructureType);
5517     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5518         rootType = forMarshaling->sType;
5519     }
5520     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5521     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
5522     *ptr += sizeof(uint32_t);
5523     if (forMarshaling->attachmentCount) {
5524         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
5525         if (forMarshaling) {
5526             for (uint32_t k = 0; k < forMarshaling->attachmentCount; ++k) {
5527                 uint64_t tmpval = get_host_u64_VkImageView(forMarshaling->pAttachments[k]);
5528                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
5529             }
5530         }
5531         *ptr += 8 * forMarshaling->attachmentCount;
5532     }
5533 }
5534 
reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forMarshaling,uint8_t ** ptr)5535 void reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
5536     VulkanStreamGuest* vkStream, VkStructureType rootType,
5537     const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forMarshaling, uint8_t** ptr) {
5538     (void)vkStream;
5539     (void)rootType;
5540     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5541     *ptr += sizeof(VkStructureType);
5542     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5543         rootType = forMarshaling->sType;
5544     }
5545     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5546     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
5547     *ptr += sizeof(VkBool32);
5548 }
5549 
reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forMarshaling,uint8_t ** ptr)5550 void reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
5551     VulkanStreamGuest* vkStream, VkStructureType rootType,
5552     const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forMarshaling, uint8_t** ptr) {
5553     (void)vkStream;
5554     (void)rootType;
5555     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5556     *ptr += sizeof(VkStructureType);
5557     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5558         rootType = forMarshaling->sType;
5559     }
5560     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5561     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
5562     *ptr += sizeof(VkBool32);
5563 }
5564 
reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forMarshaling,uint8_t ** ptr)5565 void reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
5566     VulkanStreamGuest* vkStream, VkStructureType rootType,
5567     const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forMarshaling, uint8_t** ptr) {
5568     (void)vkStream;
5569     (void)rootType;
5570     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5571     *ptr += sizeof(VkStructureType);
5572     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5573         rootType = forMarshaling->sType;
5574     }
5575     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5576     memcpy(*ptr, (VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
5577     *ptr += sizeof(VkBool32);
5578 }
5579 
reservedmarshal_VkAttachmentReferenceStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * forMarshaling,uint8_t ** ptr)5580 void reservedmarshal_VkAttachmentReferenceStencilLayout(
5581     VulkanStreamGuest* vkStream, VkStructureType rootType,
5582     const VkAttachmentReferenceStencilLayout* forMarshaling, uint8_t** ptr) {
5583     (void)vkStream;
5584     (void)rootType;
5585     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5586     *ptr += sizeof(VkStructureType);
5587     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5588         rootType = forMarshaling->sType;
5589     }
5590     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5591     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilLayout, sizeof(VkImageLayout));
5592     *ptr += sizeof(VkImageLayout);
5593 }
5594 
reservedmarshal_VkAttachmentDescriptionStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * forMarshaling,uint8_t ** ptr)5595 void reservedmarshal_VkAttachmentDescriptionStencilLayout(
5596     VulkanStreamGuest* vkStream, VkStructureType rootType,
5597     const VkAttachmentDescriptionStencilLayout* forMarshaling, uint8_t** ptr) {
5598     (void)vkStream;
5599     (void)rootType;
5600     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5601     *ptr += sizeof(VkStructureType);
5602     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5603         rootType = forMarshaling->sType;
5604     }
5605     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5606     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilInitialLayout, sizeof(VkImageLayout));
5607     *ptr += sizeof(VkImageLayout);
5608     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilFinalLayout, sizeof(VkImageLayout));
5609     *ptr += sizeof(VkImageLayout);
5610 }
5611 
reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * forMarshaling,uint8_t ** ptr)5612 void reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(
5613     VulkanStreamGuest* vkStream, VkStructureType rootType,
5614     const VkPhysicalDeviceHostQueryResetFeatures* forMarshaling, uint8_t** ptr) {
5615     (void)vkStream;
5616     (void)rootType;
5617     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5618     *ptr += sizeof(VkStructureType);
5619     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5620         rootType = forMarshaling->sType;
5621     }
5622     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5623     memcpy(*ptr, (VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
5624     *ptr += sizeof(VkBool32);
5625 }
5626 
reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * forMarshaling,uint8_t ** ptr)5627 void reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
5628     VulkanStreamGuest* vkStream, VkStructureType rootType,
5629     const VkPhysicalDeviceTimelineSemaphoreFeatures* forMarshaling, uint8_t** ptr) {
5630     (void)vkStream;
5631     (void)rootType;
5632     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5633     *ptr += sizeof(VkStructureType);
5634     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5635         rootType = forMarshaling->sType;
5636     }
5637     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5638     memcpy(*ptr, (VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
5639     *ptr += sizeof(VkBool32);
5640 }
5641 
reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * forMarshaling,uint8_t ** ptr)5642 void reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
5643     VulkanStreamGuest* vkStream, VkStructureType rootType,
5644     const VkPhysicalDeviceTimelineSemaphoreProperties* forMarshaling, uint8_t** ptr) {
5645     (void)vkStream;
5646     (void)rootType;
5647     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5648     *ptr += sizeof(VkStructureType);
5649     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5650         rootType = forMarshaling->sType;
5651     }
5652     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5653     memcpy(*ptr, (uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference, sizeof(uint64_t));
5654     *ptr += sizeof(uint64_t);
5655 }
5656 
reservedmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * forMarshaling,uint8_t ** ptr)5657 void reservedmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest* vkStream,
5658                                                VkStructureType rootType,
5659                                                const VkSemaphoreTypeCreateInfo* forMarshaling,
5660                                                uint8_t** ptr) {
5661     (void)vkStream;
5662     (void)rootType;
5663     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5664     *ptr += sizeof(VkStructureType);
5665     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5666         rootType = forMarshaling->sType;
5667     }
5668     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5669     memcpy(*ptr, (VkSemaphoreType*)&forMarshaling->semaphoreType, sizeof(VkSemaphoreType));
5670     *ptr += sizeof(VkSemaphoreType);
5671     memcpy(*ptr, (uint64_t*)&forMarshaling->initialValue, sizeof(uint64_t));
5672     *ptr += sizeof(uint64_t);
5673 }
5674 
reservedmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * forMarshaling,uint8_t ** ptr)5675 void reservedmarshal_VkTimelineSemaphoreSubmitInfo(
5676     VulkanStreamGuest* vkStream, VkStructureType rootType,
5677     const VkTimelineSemaphoreSubmitInfo* forMarshaling, uint8_t** ptr) {
5678     (void)vkStream;
5679     (void)rootType;
5680     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5681     *ptr += sizeof(VkStructureType);
5682     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5683         rootType = forMarshaling->sType;
5684     }
5685     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5686     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
5687     *ptr += sizeof(uint32_t);
5688     // WARNING PTR CHECK
5689     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
5690     memcpy((*ptr), &cgen_var_0, 8);
5691     android::base::Stream::toBe64((uint8_t*)(*ptr));
5692     *ptr += 8;
5693     if (forMarshaling->pWaitSemaphoreValues) {
5694         memcpy(*ptr, (const uint64_t*)forMarshaling->pWaitSemaphoreValues,
5695                forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
5696         *ptr += forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t);
5697     }
5698     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
5699     *ptr += sizeof(uint32_t);
5700     // WARNING PTR CHECK
5701     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
5702     memcpy((*ptr), &cgen_var_1, 8);
5703     android::base::Stream::toBe64((uint8_t*)(*ptr));
5704     *ptr += 8;
5705     if (forMarshaling->pSignalSemaphoreValues) {
5706         memcpy(*ptr, (const uint64_t*)forMarshaling->pSignalSemaphoreValues,
5707                forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
5708         *ptr += forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t);
5709     }
5710 }
5711 
reservedmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreWaitInfo * forMarshaling,uint8_t ** ptr)5712 void reservedmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5713                                          const VkSemaphoreWaitInfo* forMarshaling, uint8_t** ptr) {
5714     (void)vkStream;
5715     (void)rootType;
5716     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5717     *ptr += sizeof(VkStructureType);
5718     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5719         rootType = forMarshaling->sType;
5720     }
5721     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5722     memcpy(*ptr, (VkSemaphoreWaitFlags*)&forMarshaling->flags, sizeof(VkSemaphoreWaitFlags));
5723     *ptr += sizeof(VkSemaphoreWaitFlags);
5724     memcpy(*ptr, (uint32_t*)&forMarshaling->semaphoreCount, sizeof(uint32_t));
5725     *ptr += sizeof(uint32_t);
5726     if (forMarshaling->semaphoreCount) {
5727         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
5728         if (forMarshaling) {
5729             for (uint32_t k = 0; k < forMarshaling->semaphoreCount; ++k) {
5730                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSemaphores[k]);
5731                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
5732             }
5733         }
5734         *ptr += 8 * forMarshaling->semaphoreCount;
5735     }
5736     memcpy(*ptr, (const uint64_t*)forMarshaling->pValues,
5737            forMarshaling->semaphoreCount * sizeof(const uint64_t));
5738     *ptr += forMarshaling->semaphoreCount * sizeof(const uint64_t);
5739 }
5740 
reservedmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSignalInfo * forMarshaling,uint8_t ** ptr)5741 void reservedmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5742                                            const VkSemaphoreSignalInfo* forMarshaling,
5743                                            uint8_t** ptr) {
5744     (void)vkStream;
5745     (void)rootType;
5746     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5747     *ptr += sizeof(VkStructureType);
5748     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5749         rootType = forMarshaling->sType;
5750     }
5751     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5752     uint64_t cgen_var_0;
5753     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
5754     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5755     *ptr += 1 * 8;
5756     memcpy(*ptr, (uint64_t*)&forMarshaling->value, sizeof(uint64_t));
5757     *ptr += sizeof(uint64_t);
5758 }
5759 
reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * forMarshaling,uint8_t ** ptr)5760 void reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
5761     VulkanStreamGuest* vkStream, VkStructureType rootType,
5762     const VkPhysicalDeviceBufferDeviceAddressFeatures* forMarshaling, uint8_t** ptr) {
5763     (void)vkStream;
5764     (void)rootType;
5765     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5766     *ptr += sizeof(VkStructureType);
5767     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5768         rootType = forMarshaling->sType;
5769     }
5770     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5771     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
5772     *ptr += sizeof(VkBool32);
5773     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
5774     *ptr += sizeof(VkBool32);
5775     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
5776     *ptr += sizeof(VkBool32);
5777 }
5778 
reservedmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferDeviceAddressInfo * forMarshaling,uint8_t ** ptr)5779 void reservedmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest* vkStream,
5780                                                VkStructureType rootType,
5781                                                const VkBufferDeviceAddressInfo* forMarshaling,
5782                                                uint8_t** ptr) {
5783     (void)vkStream;
5784     (void)rootType;
5785     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5786     *ptr += sizeof(VkStructureType);
5787     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5788         rootType = forMarshaling->sType;
5789     }
5790     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5791     uint64_t cgen_var_0;
5792     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
5793     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5794     *ptr += 1 * 8;
5795 }
5796 
reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * forMarshaling,uint8_t ** ptr)5797 void reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
5798     VulkanStreamGuest* vkStream, VkStructureType rootType,
5799     const VkBufferOpaqueCaptureAddressCreateInfo* forMarshaling, uint8_t** ptr) {
5800     (void)vkStream;
5801     (void)rootType;
5802     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5803     *ptr += sizeof(VkStructureType);
5804     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5805         rootType = forMarshaling->sType;
5806     }
5807     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5808     memcpy(*ptr, (uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
5809     *ptr += sizeof(uint64_t);
5810 }
5811 
reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * forMarshaling,uint8_t ** ptr)5812 void reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
5813     VulkanStreamGuest* vkStream, VkStructureType rootType,
5814     const VkMemoryOpaqueCaptureAddressAllocateInfo* forMarshaling, uint8_t** ptr) {
5815     (void)vkStream;
5816     (void)rootType;
5817     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5818     *ptr += sizeof(VkStructureType);
5819     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5820         rootType = forMarshaling->sType;
5821     }
5822     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5823     memcpy(*ptr, (uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
5824     *ptr += sizeof(uint64_t);
5825 }
5826 
reservedmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * forMarshaling,uint8_t ** ptr)5827 void reservedmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
5828     VulkanStreamGuest* vkStream, VkStructureType rootType,
5829     const VkDeviceMemoryOpaqueCaptureAddressInfo* forMarshaling, uint8_t** ptr) {
5830     (void)vkStream;
5831     (void)rootType;
5832     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5833     *ptr += sizeof(VkStructureType);
5834     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5835         rootType = forMarshaling->sType;
5836     }
5837     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5838     uint64_t cgen_var_0;
5839     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
5840     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5841     *ptr += 1 * 8;
5842 }
5843 
5844 #endif
5845 #ifdef VK_VERSION_1_3
reservedmarshal_VkPhysicalDeviceVulkan13Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * forMarshaling,uint8_t ** ptr)5846 void reservedmarshal_VkPhysicalDeviceVulkan13Features(
5847     VulkanStreamGuest* vkStream, VkStructureType rootType,
5848     const VkPhysicalDeviceVulkan13Features* forMarshaling, uint8_t** ptr) {
5849     (void)vkStream;
5850     (void)rootType;
5851     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5852     *ptr += sizeof(VkStructureType);
5853     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5854         rootType = forMarshaling->sType;
5855     }
5856     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5857     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
5858     *ptr += sizeof(VkBool32);
5859     memcpy(*ptr, (VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
5860     *ptr += sizeof(VkBool32);
5861     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
5862            sizeof(VkBool32));
5863     *ptr += sizeof(VkBool32);
5864     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
5865     *ptr += sizeof(VkBool32);
5866     memcpy(*ptr, (VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
5867     *ptr += sizeof(VkBool32);
5868     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
5869     *ptr += sizeof(VkBool32);
5870     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
5871     *ptr += sizeof(VkBool32);
5872     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
5873     *ptr += sizeof(VkBool32);
5874     memcpy(*ptr, (VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
5875     *ptr += sizeof(VkBool32);
5876     memcpy(*ptr, (VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
5877     *ptr += sizeof(VkBool32);
5878     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
5879     *ptr += sizeof(VkBool32);
5880     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, sizeof(VkBool32));
5881     *ptr += sizeof(VkBool32);
5882     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
5883     *ptr += sizeof(VkBool32);
5884     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
5885     *ptr += sizeof(VkBool32);
5886     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
5887     *ptr += sizeof(VkBool32);
5888 }
5889 
reservedmarshal_VkPhysicalDeviceVulkan13Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * forMarshaling,uint8_t ** ptr)5890 void reservedmarshal_VkPhysicalDeviceVulkan13Properties(
5891     VulkanStreamGuest* vkStream, VkStructureType rootType,
5892     const VkPhysicalDeviceVulkan13Properties* forMarshaling, uint8_t** ptr) {
5893     (void)vkStream;
5894     (void)rootType;
5895     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5896     *ptr += sizeof(VkStructureType);
5897     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5898         rootType = forMarshaling->sType;
5899     }
5900     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5901     memcpy(*ptr, (uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
5902     *ptr += sizeof(uint32_t);
5903     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
5904     *ptr += sizeof(uint32_t);
5905     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
5906     *ptr += sizeof(uint32_t);
5907     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
5908            sizeof(VkShaderStageFlags));
5909     *ptr += sizeof(VkShaderStageFlags);
5910     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
5911     *ptr += sizeof(uint32_t);
5912     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
5913            sizeof(uint32_t));
5914     *ptr += sizeof(uint32_t);
5915     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
5916            sizeof(uint32_t));
5917     *ptr += sizeof(uint32_t);
5918     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, sizeof(uint32_t));
5919     *ptr += sizeof(uint32_t);
5920     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
5921            sizeof(uint32_t));
5922     *ptr += sizeof(uint32_t);
5923     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
5924     *ptr += sizeof(uint32_t);
5925     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
5926            sizeof(VkBool32));
5927     *ptr += sizeof(VkBool32);
5928     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
5929            sizeof(VkBool32));
5930     *ptr += sizeof(VkBool32);
5931     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
5932            sizeof(VkBool32));
5933     *ptr += sizeof(VkBool32);
5934     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
5935            sizeof(VkBool32));
5936     *ptr += sizeof(VkBool32);
5937     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
5938            sizeof(VkBool32));
5939     *ptr += sizeof(VkBool32);
5940     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
5941            sizeof(VkBool32));
5942     *ptr += sizeof(VkBool32);
5943     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
5944            sizeof(VkBool32));
5945     *ptr += sizeof(VkBool32);
5946     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
5947            sizeof(VkBool32));
5948     *ptr += sizeof(VkBool32);
5949     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
5950            sizeof(VkBool32));
5951     *ptr += sizeof(VkBool32);
5952     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
5953            sizeof(VkBool32));
5954     *ptr += sizeof(VkBool32);
5955     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
5956            sizeof(VkBool32));
5957     *ptr += sizeof(VkBool32);
5958     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
5959            sizeof(VkBool32));
5960     *ptr += sizeof(VkBool32);
5961     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
5962            sizeof(VkBool32));
5963     *ptr += sizeof(VkBool32);
5964     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
5965            sizeof(VkBool32));
5966     *ptr += sizeof(VkBool32);
5967     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
5968            sizeof(VkBool32));
5969     *ptr += sizeof(VkBool32);
5970     memcpy(
5971         *ptr,
5972         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
5973         sizeof(VkBool32));
5974     *ptr += sizeof(VkBool32);
5975     memcpy(*ptr,
5976            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
5977            sizeof(VkBool32));
5978     *ptr += sizeof(VkBool32);
5979     memcpy(*ptr,
5980            (VkBool32*)&forMarshaling
5981                ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
5982            sizeof(VkBool32));
5983     *ptr += sizeof(VkBool32);
5984     memcpy(*ptr,
5985            (VkBool32*)&forMarshaling
5986                ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
5987            sizeof(VkBool32));
5988     *ptr += sizeof(VkBool32);
5989     memcpy(*ptr,
5990            (VkBool32*)&forMarshaling
5991                ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
5992            sizeof(VkBool32));
5993     *ptr += sizeof(VkBool32);
5994     memcpy(*ptr,
5995            (VkBool32*)&forMarshaling
5996                ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
5997            sizeof(VkBool32));
5998     *ptr += sizeof(VkBool32);
5999     memcpy(
6000         *ptr,
6001         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
6002         sizeof(VkBool32));
6003     *ptr += sizeof(VkBool32);
6004     memcpy(*ptr,
6005            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
6006            sizeof(VkBool32));
6007     *ptr += sizeof(VkBool32);
6008     memcpy(*ptr,
6009            (VkBool32*)&forMarshaling
6010                ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
6011            sizeof(VkBool32));
6012     *ptr += sizeof(VkBool32);
6013     memcpy(
6014         *ptr,
6015         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
6016         sizeof(VkBool32));
6017     *ptr += sizeof(VkBool32);
6018     memcpy(*ptr,
6019            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
6020            sizeof(VkBool32));
6021     *ptr += sizeof(VkBool32);
6022     memcpy(*ptr,
6023            (VkBool32*)&forMarshaling
6024                ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
6025            sizeof(VkBool32));
6026     *ptr += sizeof(VkBool32);
6027     memcpy(
6028         *ptr,
6029         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
6030         sizeof(VkBool32));
6031     *ptr += sizeof(VkBool32);
6032     memcpy(*ptr,
6033            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
6034            sizeof(VkBool32));
6035     *ptr += sizeof(VkBool32);
6036     memcpy(*ptr,
6037            (VkBool32*)&forMarshaling
6038                ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
6039            sizeof(VkBool32));
6040     *ptr += sizeof(VkBool32);
6041     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
6042            sizeof(VkDeviceSize));
6043     *ptr += sizeof(VkDeviceSize);
6044     memcpy(*ptr, (VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
6045            sizeof(VkBool32));
6046     *ptr += sizeof(VkBool32);
6047     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
6048            sizeof(VkDeviceSize));
6049     *ptr += sizeof(VkDeviceSize);
6050     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
6051            sizeof(VkBool32));
6052     *ptr += sizeof(VkBool32);
6053     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
6054     *ptr += sizeof(VkDeviceSize);
6055 }
6056 
reservedmarshal_VkPipelineCreationFeedback(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedback * forMarshaling,uint8_t ** ptr)6057 void reservedmarshal_VkPipelineCreationFeedback(VulkanStreamGuest* vkStream,
6058                                                 VkStructureType rootType,
6059                                                 const VkPipelineCreationFeedback* forMarshaling,
6060                                                 uint8_t** ptr) {
6061     (void)vkStream;
6062     (void)rootType;
6063     memcpy(*ptr, (VkPipelineCreationFeedbackFlags*)&forMarshaling->flags,
6064            sizeof(VkPipelineCreationFeedbackFlags));
6065     *ptr += sizeof(VkPipelineCreationFeedbackFlags);
6066     memcpy(*ptr, (uint64_t*)&forMarshaling->duration, sizeof(uint64_t));
6067     *ptr += sizeof(uint64_t);
6068 }
6069 
reservedmarshal_VkPipelineCreationFeedbackCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * forMarshaling,uint8_t ** ptr)6070 void reservedmarshal_VkPipelineCreationFeedbackCreateInfo(
6071     VulkanStreamGuest* vkStream, VkStructureType rootType,
6072     const VkPipelineCreationFeedbackCreateInfo* forMarshaling, uint8_t** ptr) {
6073     (void)vkStream;
6074     (void)rootType;
6075     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6076     *ptr += sizeof(VkStructureType);
6077     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6078         rootType = forMarshaling->sType;
6079     }
6080     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6081     reservedmarshal_VkPipelineCreationFeedback(
6082         vkStream, rootType, (VkPipelineCreationFeedback*)(forMarshaling->pPipelineCreationFeedback),
6083         ptr);
6084     memcpy(*ptr, (uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount, sizeof(uint32_t));
6085     *ptr += sizeof(uint32_t);
6086     for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) {
6087         reservedmarshal_VkPipelineCreationFeedback(
6088             vkStream, rootType,
6089             (VkPipelineCreationFeedback*)(forMarshaling->pPipelineStageCreationFeedbacks + i), ptr);
6090     }
6091 }
6092 
reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * forMarshaling,uint8_t ** ptr)6093 void reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
6094     VulkanStreamGuest* vkStream, VkStructureType rootType,
6095     const VkPhysicalDeviceShaderTerminateInvocationFeatures* forMarshaling, uint8_t** ptr) {
6096     (void)vkStream;
6097     (void)rootType;
6098     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6099     *ptr += sizeof(VkStructureType);
6100     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6101         rootType = forMarshaling->sType;
6102     }
6103     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6104     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
6105     *ptr += sizeof(VkBool32);
6106 }
6107 
reservedmarshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceToolProperties * forMarshaling,uint8_t ** ptr)6108 void reservedmarshal_VkPhysicalDeviceToolProperties(
6109     VulkanStreamGuest* vkStream, VkStructureType rootType,
6110     const VkPhysicalDeviceToolProperties* forMarshaling, uint8_t** ptr) {
6111     (void)vkStream;
6112     (void)rootType;
6113     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6114     *ptr += sizeof(VkStructureType);
6115     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6116         rootType = forMarshaling->sType;
6117     }
6118     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6119     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6120     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6121     memcpy(*ptr, (char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6122     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6123     memcpy(*ptr, (VkToolPurposeFlags*)&forMarshaling->purposes, sizeof(VkToolPurposeFlags));
6124     *ptr += sizeof(VkToolPurposeFlags);
6125     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
6126     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6127     memcpy(*ptr, (char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6128     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6129 }
6130 
reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forMarshaling,uint8_t ** ptr)6131 void reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
6132     VulkanStreamGuest* vkStream, VkStructureType rootType,
6133     const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forMarshaling, uint8_t** ptr) {
6134     (void)vkStream;
6135     (void)rootType;
6136     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6137     *ptr += sizeof(VkStructureType);
6138     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6139         rootType = forMarshaling->sType;
6140     }
6141     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6142     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
6143     *ptr += sizeof(VkBool32);
6144 }
6145 
reservedmarshal_VkPhysicalDevicePrivateDataFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * forMarshaling,uint8_t ** ptr)6146 void reservedmarshal_VkPhysicalDevicePrivateDataFeatures(
6147     VulkanStreamGuest* vkStream, VkStructureType rootType,
6148     const VkPhysicalDevicePrivateDataFeatures* forMarshaling, uint8_t** ptr) {
6149     (void)vkStream;
6150     (void)rootType;
6151     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6152     *ptr += sizeof(VkStructureType);
6153     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6154         rootType = forMarshaling->sType;
6155     }
6156     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6157     memcpy(*ptr, (VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
6158     *ptr += sizeof(VkBool32);
6159 }
6160 
reservedmarshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * forMarshaling,uint8_t ** ptr)6161 void reservedmarshal_VkDevicePrivateDataCreateInfo(
6162     VulkanStreamGuest* vkStream, VkStructureType rootType,
6163     const VkDevicePrivateDataCreateInfo* forMarshaling, uint8_t** ptr) {
6164     (void)vkStream;
6165     (void)rootType;
6166     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6167     *ptr += sizeof(VkStructureType);
6168     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6169         rootType = forMarshaling->sType;
6170     }
6171     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6172     memcpy(*ptr, (uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
6173     *ptr += sizeof(uint32_t);
6174 }
6175 
reservedmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * forMarshaling,uint8_t ** ptr)6176 void reservedmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest* vkStream,
6177                                                  VkStructureType rootType,
6178                                                  const VkPrivateDataSlotCreateInfo* forMarshaling,
6179                                                  uint8_t** ptr) {
6180     (void)vkStream;
6181     (void)rootType;
6182     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6183     *ptr += sizeof(VkStructureType);
6184     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6185         rootType = forMarshaling->sType;
6186     }
6187     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6188     memcpy(*ptr, (VkPrivateDataSlotCreateFlags*)&forMarshaling->flags,
6189            sizeof(VkPrivateDataSlotCreateFlags));
6190     *ptr += sizeof(VkPrivateDataSlotCreateFlags);
6191 }
6192 
reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * forMarshaling,uint8_t ** ptr)6193 void reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
6194     VulkanStreamGuest* vkStream, VkStructureType rootType,
6195     const VkPhysicalDevicePipelineCreationCacheControlFeatures* forMarshaling, uint8_t** ptr) {
6196     (void)vkStream;
6197     (void)rootType;
6198     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6199     *ptr += sizeof(VkStructureType);
6200     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6201         rootType = forMarshaling->sType;
6202     }
6203     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6204     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
6205     *ptr += sizeof(VkBool32);
6206 }
6207 
reservedmarshal_VkMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6208 void reservedmarshal_VkMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6209                                       const VkMemoryBarrier2* forMarshaling, uint8_t** ptr) {
6210     (void)vkStream;
6211     (void)rootType;
6212     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6213     *ptr += sizeof(VkStructureType);
6214     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6215         rootType = forMarshaling->sType;
6216     }
6217     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6218     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6219            sizeof(VkPipelineStageFlags2));
6220     *ptr += sizeof(VkPipelineStageFlags2);
6221     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6222     *ptr += sizeof(VkAccessFlags2);
6223     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6224            sizeof(VkPipelineStageFlags2));
6225     *ptr += sizeof(VkPipelineStageFlags2);
6226     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6227     *ptr += sizeof(VkAccessFlags2);
6228 }
6229 
reservedmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6230 void reservedmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6231                                             const VkBufferMemoryBarrier2* forMarshaling,
6232                                             uint8_t** ptr) {
6233     (void)vkStream;
6234     (void)rootType;
6235     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6236     *ptr += sizeof(VkStructureType);
6237     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6238         rootType = forMarshaling->sType;
6239     }
6240     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6241     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6242            sizeof(VkPipelineStageFlags2));
6243     *ptr += sizeof(VkPipelineStageFlags2);
6244     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6245     *ptr += sizeof(VkAccessFlags2);
6246     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6247            sizeof(VkPipelineStageFlags2));
6248     *ptr += sizeof(VkPipelineStageFlags2);
6249     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6250     *ptr += sizeof(VkAccessFlags2);
6251     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
6252     *ptr += sizeof(uint32_t);
6253     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
6254     *ptr += sizeof(uint32_t);
6255     uint64_t cgen_var_0;
6256     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
6257     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6258     *ptr += 1 * 8;
6259     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
6260     *ptr += sizeof(VkDeviceSize);
6261     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
6262     *ptr += sizeof(VkDeviceSize);
6263 }
6264 
reservedmarshal_VkImageMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6265 void reservedmarshal_VkImageMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6266                                            const VkImageMemoryBarrier2* forMarshaling,
6267                                            uint8_t** ptr) {
6268     (void)vkStream;
6269     (void)rootType;
6270     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6271     *ptr += sizeof(VkStructureType);
6272     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6273         rootType = forMarshaling->sType;
6274     }
6275     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6276     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6277            sizeof(VkPipelineStageFlags2));
6278     *ptr += sizeof(VkPipelineStageFlags2);
6279     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6280     *ptr += sizeof(VkAccessFlags2);
6281     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6282            sizeof(VkPipelineStageFlags2));
6283     *ptr += sizeof(VkPipelineStageFlags2);
6284     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6285     *ptr += sizeof(VkAccessFlags2);
6286     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
6287     *ptr += sizeof(VkImageLayout);
6288     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
6289     *ptr += sizeof(VkImageLayout);
6290     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
6291     *ptr += sizeof(uint32_t);
6292     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
6293     *ptr += sizeof(uint32_t);
6294     uint64_t cgen_var_0;
6295     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
6296     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6297     *ptr += 1 * 8;
6298     reservedmarshal_VkImageSubresourceRange(
6299         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
6300 }
6301 
reservedmarshal_VkDependencyInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDependencyInfo * forMarshaling,uint8_t ** ptr)6302 void reservedmarshal_VkDependencyInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6303                                       const VkDependencyInfo* forMarshaling, uint8_t** ptr) {
6304     (void)vkStream;
6305     (void)rootType;
6306     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6307     *ptr += sizeof(VkStructureType);
6308     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6309         rootType = forMarshaling->sType;
6310     }
6311     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6312     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
6313     *ptr += sizeof(VkDependencyFlags);
6314     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t));
6315     *ptr += sizeof(uint32_t);
6316     for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) {
6317         reservedmarshal_VkMemoryBarrier2(
6318             vkStream, rootType, (const VkMemoryBarrier2*)(forMarshaling->pMemoryBarriers + i), ptr);
6319     }
6320     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
6321     *ptr += sizeof(uint32_t);
6322     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) {
6323         reservedmarshal_VkBufferMemoryBarrier2(
6324             vkStream, rootType,
6325             (const VkBufferMemoryBarrier2*)(forMarshaling->pBufferMemoryBarriers + i), ptr);
6326     }
6327     memcpy(*ptr, (uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
6328     *ptr += sizeof(uint32_t);
6329     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) {
6330         reservedmarshal_VkImageMemoryBarrier2(
6331             vkStream, rootType,
6332             (const VkImageMemoryBarrier2*)(forMarshaling->pImageMemoryBarriers + i), ptr);
6333     }
6334 }
6335 
reservedmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSubmitInfo * forMarshaling,uint8_t ** ptr)6336 void reservedmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6337                                            const VkSemaphoreSubmitInfo* forMarshaling,
6338                                            uint8_t** ptr) {
6339     (void)vkStream;
6340     (void)rootType;
6341     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6342     *ptr += sizeof(VkStructureType);
6343     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6344         rootType = forMarshaling->sType;
6345     }
6346     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6347     uint64_t cgen_var_0;
6348     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
6349     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6350     *ptr += 1 * 8;
6351     memcpy(*ptr, (uint64_t*)&forMarshaling->value, sizeof(uint64_t));
6352     *ptr += sizeof(uint64_t);
6353     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->stageMask, sizeof(VkPipelineStageFlags2));
6354     *ptr += sizeof(VkPipelineStageFlags2);
6355     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t));
6356     *ptr += sizeof(uint32_t);
6357 }
6358 
reservedmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferSubmitInfo * forMarshaling,uint8_t ** ptr)6359 void reservedmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest* vkStream,
6360                                                VkStructureType rootType,
6361                                                const VkCommandBufferSubmitInfo* forMarshaling,
6362                                                uint8_t** ptr) {
6363     (void)vkStream;
6364     (void)rootType;
6365     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6366     *ptr += sizeof(VkStructureType);
6367     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6368         rootType = forMarshaling->sType;
6369     }
6370     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6371     uint64_t cgen_var_0;
6372     *&cgen_var_0 = get_host_u64_VkCommandBuffer((*&forMarshaling->commandBuffer));
6373     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6374     *ptr += 1 * 8;
6375     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
6376     *ptr += sizeof(uint32_t);
6377 }
6378 
reservedmarshal_VkSubmitInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo2 * forMarshaling,uint8_t ** ptr)6379 void reservedmarshal_VkSubmitInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6380                                    const VkSubmitInfo2* forMarshaling, uint8_t** ptr) {
6381     (void)vkStream;
6382     (void)rootType;
6383     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6384     *ptr += sizeof(VkStructureType);
6385     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6386         rootType = forMarshaling->sType;
6387     }
6388     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6389     memcpy(*ptr, (VkSubmitFlags*)&forMarshaling->flags, sizeof(VkSubmitFlags));
6390     *ptr += sizeof(VkSubmitFlags);
6391     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
6392     *ptr += sizeof(uint32_t);
6393     for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) {
6394         reservedmarshal_VkSemaphoreSubmitInfo(
6395             vkStream, rootType,
6396             (const VkSemaphoreSubmitInfo*)(forMarshaling->pWaitSemaphoreInfos + i), ptr);
6397     }
6398     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t));
6399     *ptr += sizeof(uint32_t);
6400     for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) {
6401         reservedmarshal_VkCommandBufferSubmitInfo(
6402             vkStream, rootType,
6403             (const VkCommandBufferSubmitInfo*)(forMarshaling->pCommandBufferInfos + i), ptr);
6404     }
6405     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
6406     *ptr += sizeof(uint32_t);
6407     for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) {
6408         reservedmarshal_VkSemaphoreSubmitInfo(
6409             vkStream, rootType,
6410             (const VkSemaphoreSubmitInfo*)(forMarshaling->pSignalSemaphoreInfos + i), ptr);
6411     }
6412 }
6413 
reservedmarshal_VkPhysicalDeviceSynchronization2Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * forMarshaling,uint8_t ** ptr)6414 void reservedmarshal_VkPhysicalDeviceSynchronization2Features(
6415     VulkanStreamGuest* vkStream, VkStructureType rootType,
6416     const VkPhysicalDeviceSynchronization2Features* forMarshaling, uint8_t** ptr) {
6417     (void)vkStream;
6418     (void)rootType;
6419     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6420     *ptr += sizeof(VkStructureType);
6421     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6422         rootType = forMarshaling->sType;
6423     }
6424     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6425     memcpy(*ptr, (VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
6426     *ptr += sizeof(VkBool32);
6427 }
6428 
reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forMarshaling,uint8_t ** ptr)6429 void reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
6430     VulkanStreamGuest* vkStream, VkStructureType rootType,
6431     const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forMarshaling, uint8_t** ptr) {
6432     (void)vkStream;
6433     (void)rootType;
6434     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6435     *ptr += sizeof(VkStructureType);
6436     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6437         rootType = forMarshaling->sType;
6438     }
6439     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6440     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, sizeof(VkBool32));
6441     *ptr += sizeof(VkBool32);
6442 }
6443 
reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * forMarshaling,uint8_t ** ptr)6444 void reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(
6445     VulkanStreamGuest* vkStream, VkStructureType rootType,
6446     const VkPhysicalDeviceImageRobustnessFeatures* forMarshaling, uint8_t** ptr) {
6447     (void)vkStream;
6448     (void)rootType;
6449     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6450     *ptr += sizeof(VkStructureType);
6451     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6452         rootType = forMarshaling->sType;
6453     }
6454     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6455     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
6456     *ptr += sizeof(VkBool32);
6457 }
6458 
reservedmarshal_VkBufferCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy2 * forMarshaling,uint8_t ** ptr)6459 void reservedmarshal_VkBufferCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6460                                    const VkBufferCopy2* forMarshaling, uint8_t** ptr) {
6461     (void)vkStream;
6462     (void)rootType;
6463     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6464     *ptr += sizeof(VkStructureType);
6465     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6466         rootType = forMarshaling->sType;
6467     }
6468     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6469     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
6470     *ptr += sizeof(VkDeviceSize);
6471     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
6472     *ptr += sizeof(VkDeviceSize);
6473     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
6474     *ptr += sizeof(VkDeviceSize);
6475 }
6476 
reservedmarshal_VkCopyBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferInfo2 * forMarshaling,uint8_t ** ptr)6477 void reservedmarshal_VkCopyBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6478                                        const VkCopyBufferInfo2* forMarshaling, uint8_t** ptr) {
6479     (void)vkStream;
6480     (void)rootType;
6481     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6482     *ptr += sizeof(VkStructureType);
6483     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6484         rootType = forMarshaling->sType;
6485     }
6486     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6487     uint64_t cgen_var_0;
6488     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->srcBuffer));
6489     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6490     *ptr += 1 * 8;
6491     uint64_t cgen_var_1;
6492     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->dstBuffer));
6493     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6494     *ptr += 1 * 8;
6495     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6496     *ptr += sizeof(uint32_t);
6497     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6498         reservedmarshal_VkBufferCopy2(vkStream, rootType,
6499                                       (const VkBufferCopy2*)(forMarshaling->pRegions + i), ptr);
6500     }
6501 }
6502 
reservedmarshal_VkImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy2 * forMarshaling,uint8_t ** ptr)6503 void reservedmarshal_VkImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6504                                   const VkImageCopy2* forMarshaling, uint8_t** ptr) {
6505     (void)vkStream;
6506     (void)rootType;
6507     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6508     *ptr += sizeof(VkStructureType);
6509     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6510         rootType = forMarshaling->sType;
6511     }
6512     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6513     reservedmarshal_VkImageSubresourceLayers(
6514         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6515     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
6516     reservedmarshal_VkImageSubresourceLayers(
6517         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6518     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
6519     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
6520 }
6521 
reservedmarshal_VkCopyImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageInfo2 * forMarshaling,uint8_t ** ptr)6522 void reservedmarshal_VkCopyImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6523                                       const VkCopyImageInfo2* forMarshaling, uint8_t** ptr) {
6524     (void)vkStream;
6525     (void)rootType;
6526     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6527     *ptr += sizeof(VkStructureType);
6528     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6529         rootType = forMarshaling->sType;
6530     }
6531     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6532     uint64_t cgen_var_0;
6533     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6534     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6535     *ptr += 1 * 8;
6536     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6537     *ptr += sizeof(VkImageLayout);
6538     uint64_t cgen_var_1;
6539     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6540     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6541     *ptr += 1 * 8;
6542     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6543     *ptr += sizeof(VkImageLayout);
6544     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6545     *ptr += sizeof(uint32_t);
6546     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6547         reservedmarshal_VkImageCopy2(vkStream, rootType,
6548                                      (const VkImageCopy2*)(forMarshaling->pRegions + i), ptr);
6549     }
6550 }
6551 
reservedmarshal_VkBufferImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy2 * forMarshaling,uint8_t ** ptr)6552 void reservedmarshal_VkBufferImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6553                                         const VkBufferImageCopy2* forMarshaling, uint8_t** ptr) {
6554     (void)vkStream;
6555     (void)rootType;
6556     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6557     *ptr += sizeof(VkStructureType);
6558     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6559         rootType = forMarshaling->sType;
6560     }
6561     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6562     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
6563     *ptr += sizeof(VkDeviceSize);
6564     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
6565     *ptr += sizeof(uint32_t);
6566     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
6567     *ptr += sizeof(uint32_t);
6568     reservedmarshal_VkImageSubresourceLayers(
6569         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
6570     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
6571     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
6572 }
6573 
reservedmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferToImageInfo2 * forMarshaling,uint8_t ** ptr)6574 void reservedmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6575                                               const VkCopyBufferToImageInfo2* forMarshaling,
6576                                               uint8_t** ptr) {
6577     (void)vkStream;
6578     (void)rootType;
6579     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6580     *ptr += sizeof(VkStructureType);
6581     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6582         rootType = forMarshaling->sType;
6583     }
6584     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6585     uint64_t cgen_var_0;
6586     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->srcBuffer));
6587     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6588     *ptr += 1 * 8;
6589     uint64_t cgen_var_1;
6590     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6591     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6592     *ptr += 1 * 8;
6593     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6594     *ptr += sizeof(VkImageLayout);
6595     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6596     *ptr += sizeof(uint32_t);
6597     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6598         reservedmarshal_VkBufferImageCopy2(
6599             vkStream, rootType, (const VkBufferImageCopy2*)(forMarshaling->pRegions + i), ptr);
6600     }
6601 }
6602 
reservedmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToBufferInfo2 * forMarshaling,uint8_t ** ptr)6603 void reservedmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6604                                               const VkCopyImageToBufferInfo2* forMarshaling,
6605                                               uint8_t** ptr) {
6606     (void)vkStream;
6607     (void)rootType;
6608     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6609     *ptr += sizeof(VkStructureType);
6610     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6611         rootType = forMarshaling->sType;
6612     }
6613     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6614     uint64_t cgen_var_0;
6615     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6616     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6617     *ptr += 1 * 8;
6618     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6619     *ptr += sizeof(VkImageLayout);
6620     uint64_t cgen_var_1;
6621     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->dstBuffer));
6622     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6623     *ptr += 1 * 8;
6624     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6625     *ptr += sizeof(uint32_t);
6626     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6627         reservedmarshal_VkBufferImageCopy2(
6628             vkStream, rootType, (const VkBufferImageCopy2*)(forMarshaling->pRegions + i), ptr);
6629     }
6630 }
6631 
reservedmarshal_VkImageBlit2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit2 * forMarshaling,uint8_t ** ptr)6632 void reservedmarshal_VkImageBlit2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6633                                   const VkImageBlit2* forMarshaling, uint8_t** ptr) {
6634     (void)vkStream;
6635     (void)rootType;
6636     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6637     *ptr += sizeof(VkStructureType);
6638     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6639         rootType = forMarshaling->sType;
6640     }
6641     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6642     reservedmarshal_VkImageSubresourceLayers(
6643         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6644     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
6645         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i),
6646                                    ptr);
6647     }
6648     reservedmarshal_VkImageSubresourceLayers(
6649         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6650     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
6651         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i),
6652                                    ptr);
6653     }
6654 }
6655 
reservedmarshal_VkBlitImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBlitImageInfo2 * forMarshaling,uint8_t ** ptr)6656 void reservedmarshal_VkBlitImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6657                                       const VkBlitImageInfo2* forMarshaling, uint8_t** ptr) {
6658     (void)vkStream;
6659     (void)rootType;
6660     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6661     *ptr += sizeof(VkStructureType);
6662     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6663         rootType = forMarshaling->sType;
6664     }
6665     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6666     uint64_t cgen_var_0;
6667     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6668     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6669     *ptr += 1 * 8;
6670     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6671     *ptr += sizeof(VkImageLayout);
6672     uint64_t cgen_var_1;
6673     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6674     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6675     *ptr += 1 * 8;
6676     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6677     *ptr += sizeof(VkImageLayout);
6678     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6679     *ptr += sizeof(uint32_t);
6680     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6681         reservedmarshal_VkImageBlit2(vkStream, rootType,
6682                                      (const VkImageBlit2*)(forMarshaling->pRegions + i), ptr);
6683     }
6684     memcpy(*ptr, (VkFilter*)&forMarshaling->filter, sizeof(VkFilter));
6685     *ptr += sizeof(VkFilter);
6686 }
6687 
reservedmarshal_VkImageResolve2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve2 * forMarshaling,uint8_t ** ptr)6688 void reservedmarshal_VkImageResolve2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6689                                      const VkImageResolve2* forMarshaling, uint8_t** ptr) {
6690     (void)vkStream;
6691     (void)rootType;
6692     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6693     *ptr += sizeof(VkStructureType);
6694     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6695         rootType = forMarshaling->sType;
6696     }
6697     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6698     reservedmarshal_VkImageSubresourceLayers(
6699         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6700     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
6701     reservedmarshal_VkImageSubresourceLayers(
6702         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6703     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
6704     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
6705 }
6706 
reservedmarshal_VkResolveImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkResolveImageInfo2 * forMarshaling,uint8_t ** ptr)6707 void reservedmarshal_VkResolveImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6708                                          const VkResolveImageInfo2* forMarshaling, uint8_t** ptr) {
6709     (void)vkStream;
6710     (void)rootType;
6711     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6712     *ptr += sizeof(VkStructureType);
6713     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6714         rootType = forMarshaling->sType;
6715     }
6716     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6717     uint64_t cgen_var_0;
6718     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6719     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6720     *ptr += 1 * 8;
6721     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6722     *ptr += sizeof(VkImageLayout);
6723     uint64_t cgen_var_1;
6724     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6725     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6726     *ptr += 1 * 8;
6727     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6728     *ptr += sizeof(VkImageLayout);
6729     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6730     *ptr += sizeof(uint32_t);
6731     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6732         reservedmarshal_VkImageResolve2(vkStream, rootType,
6733                                         (const VkImageResolve2*)(forMarshaling->pRegions + i), ptr);
6734     }
6735 }
6736 
reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * forMarshaling,uint8_t ** ptr)6737 void reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
6738     VulkanStreamGuest* vkStream, VkStructureType rootType,
6739     const VkPhysicalDeviceSubgroupSizeControlFeatures* forMarshaling, uint8_t** ptr) {
6740     (void)vkStream;
6741     (void)rootType;
6742     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6743     *ptr += sizeof(VkStructureType);
6744     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6745         rootType = forMarshaling->sType;
6746     }
6747     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6748     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
6749     *ptr += sizeof(VkBool32);
6750     memcpy(*ptr, (VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
6751     *ptr += sizeof(VkBool32);
6752 }
6753 
reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * forMarshaling,uint8_t ** ptr)6754 void reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
6755     VulkanStreamGuest* vkStream, VkStructureType rootType,
6756     const VkPhysicalDeviceSubgroupSizeControlProperties* forMarshaling, uint8_t** ptr) {
6757     (void)vkStream;
6758     (void)rootType;
6759     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6760     *ptr += sizeof(VkStructureType);
6761     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6762         rootType = forMarshaling->sType;
6763     }
6764     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6765     memcpy(*ptr, (uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
6766     *ptr += sizeof(uint32_t);
6767     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
6768     *ptr += sizeof(uint32_t);
6769     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
6770     *ptr += sizeof(uint32_t);
6771     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
6772            sizeof(VkShaderStageFlags));
6773     *ptr += sizeof(VkShaderStageFlags);
6774 }
6775 
reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forMarshaling,uint8_t ** ptr)6776 void reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
6777     VulkanStreamGuest* vkStream, VkStructureType rootType,
6778     const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forMarshaling, uint8_t** ptr) {
6779     (void)vkStream;
6780     (void)rootType;
6781     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6782     *ptr += sizeof(VkStructureType);
6783     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6784         rootType = forMarshaling->sType;
6785     }
6786     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6787     memcpy(*ptr, (uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t));
6788     *ptr += sizeof(uint32_t);
6789 }
6790 
reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * forMarshaling,uint8_t ** ptr)6791 void reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
6792     VulkanStreamGuest* vkStream, VkStructureType rootType,
6793     const VkPhysicalDeviceInlineUniformBlockFeatures* forMarshaling, uint8_t** ptr) {
6794     (void)vkStream;
6795     (void)rootType;
6796     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6797     *ptr += sizeof(VkStructureType);
6798     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6799         rootType = forMarshaling->sType;
6800     }
6801     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6802     memcpy(*ptr, (VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
6803     *ptr += sizeof(VkBool32);
6804     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
6805            sizeof(VkBool32));
6806     *ptr += sizeof(VkBool32);
6807 }
6808 
reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * forMarshaling,uint8_t ** ptr)6809 void reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
6810     VulkanStreamGuest* vkStream, VkStructureType rootType,
6811     const VkPhysicalDeviceInlineUniformBlockProperties* forMarshaling, uint8_t** ptr) {
6812     (void)vkStream;
6813     (void)rootType;
6814     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6815     *ptr += sizeof(VkStructureType);
6816     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6817         rootType = forMarshaling->sType;
6818     }
6819     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6820     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
6821     *ptr += sizeof(uint32_t);
6822     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
6823            sizeof(uint32_t));
6824     *ptr += sizeof(uint32_t);
6825     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
6826            sizeof(uint32_t));
6827     *ptr += sizeof(uint32_t);
6828     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, sizeof(uint32_t));
6829     *ptr += sizeof(uint32_t);
6830     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
6831            sizeof(uint32_t));
6832     *ptr += sizeof(uint32_t);
6833 }
6834 
reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * forMarshaling,uint8_t ** ptr)6835 void reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(
6836     VulkanStreamGuest* vkStream, VkStructureType rootType,
6837     const VkWriteDescriptorSetInlineUniformBlock* forMarshaling, uint8_t** ptr) {
6838     (void)vkStream;
6839     (void)rootType;
6840     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6841     *ptr += sizeof(VkStructureType);
6842     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6843         rootType = forMarshaling->sType;
6844     }
6845     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6846     memcpy(*ptr, (uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t));
6847     *ptr += sizeof(uint32_t);
6848     memcpy(*ptr, (const void*)forMarshaling->pData,
6849            forMarshaling->dataSize * sizeof(const uint8_t));
6850     *ptr += forMarshaling->dataSize * sizeof(const uint8_t);
6851 }
6852 
reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * forMarshaling,uint8_t ** ptr)6853 void reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
6854     VulkanStreamGuest* vkStream, VkStructureType rootType,
6855     const VkDescriptorPoolInlineUniformBlockCreateInfo* forMarshaling, uint8_t** ptr) {
6856     (void)vkStream;
6857     (void)rootType;
6858     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6859     *ptr += sizeof(VkStructureType);
6860     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6861         rootType = forMarshaling->sType;
6862     }
6863     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6864     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
6865     *ptr += sizeof(uint32_t);
6866 }
6867 
reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forMarshaling,uint8_t ** ptr)6868 void reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
6869     VulkanStreamGuest* vkStream, VkStructureType rootType,
6870     const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forMarshaling, uint8_t** ptr) {
6871     (void)vkStream;
6872     (void)rootType;
6873     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6874     *ptr += sizeof(VkStructureType);
6875     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6876         rootType = forMarshaling->sType;
6877     }
6878     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6879     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
6880     *ptr += sizeof(VkBool32);
6881 }
6882 
reservedmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAttachmentInfo * forMarshaling,uint8_t ** ptr)6883 void reservedmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest* vkStream,
6884                                                VkStructureType rootType,
6885                                                const VkRenderingAttachmentInfo* forMarshaling,
6886                                                uint8_t** ptr) {
6887     (void)vkStream;
6888     (void)rootType;
6889     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6890     *ptr += sizeof(VkStructureType);
6891     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6892         rootType = forMarshaling->sType;
6893     }
6894     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6895     uint64_t cgen_var_0;
6896     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
6897     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6898     *ptr += 1 * 8;
6899     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
6900     *ptr += sizeof(VkImageLayout);
6901     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->resolveMode,
6902            sizeof(VkResolveModeFlagBits));
6903     *ptr += sizeof(VkResolveModeFlagBits);
6904     uint64_t cgen_var_1;
6905     *&cgen_var_1 = get_host_u64_VkImageView((*&forMarshaling->resolveImageView));
6906     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6907     *ptr += 1 * 8;
6908     memcpy(*ptr, (VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout));
6909     *ptr += sizeof(VkImageLayout);
6910     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
6911     *ptr += sizeof(VkAttachmentLoadOp);
6912     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
6913     *ptr += sizeof(VkAttachmentStoreOp);
6914     reservedmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue),
6915                                  ptr);
6916 }
6917 
reservedmarshal_VkRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingInfo * forMarshaling,uint8_t ** ptr)6918 void reservedmarshal_VkRenderingInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6919                                      const VkRenderingInfo* forMarshaling, uint8_t** ptr) {
6920     (void)vkStream;
6921     (void)rootType;
6922     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6923     *ptr += sizeof(VkStructureType);
6924     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6925         rootType = forMarshaling->sType;
6926     }
6927     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6928     memcpy(*ptr, (VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
6929     *ptr += sizeof(VkRenderingFlags);
6930     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea), ptr);
6931     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
6932     *ptr += sizeof(uint32_t);
6933     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
6934     *ptr += sizeof(uint32_t);
6935     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
6936     *ptr += sizeof(uint32_t);
6937     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
6938         reservedmarshal_VkRenderingAttachmentInfo(
6939             vkStream, rootType,
6940             (const VkRenderingAttachmentInfo*)(forMarshaling->pColorAttachments + i), ptr);
6941     }
6942     // WARNING PTR CHECK
6943     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment;
6944     memcpy((*ptr), &cgen_var_0, 8);
6945     android::base::Stream::toBe64((uint8_t*)(*ptr));
6946     *ptr += 8;
6947     if (forMarshaling->pDepthAttachment) {
6948         reservedmarshal_VkRenderingAttachmentInfo(
6949             vkStream, rootType, (const VkRenderingAttachmentInfo*)(forMarshaling->pDepthAttachment),
6950             ptr);
6951     }
6952     // WARNING PTR CHECK
6953     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment;
6954     memcpy((*ptr), &cgen_var_1, 8);
6955     android::base::Stream::toBe64((uint8_t*)(*ptr));
6956     *ptr += 8;
6957     if (forMarshaling->pStencilAttachment) {
6958         reservedmarshal_VkRenderingAttachmentInfo(
6959             vkStream, rootType,
6960             (const VkRenderingAttachmentInfo*)(forMarshaling->pStencilAttachment), ptr);
6961     }
6962 }
6963 
reservedmarshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRenderingCreateInfo * forMarshaling,uint8_t ** ptr)6964 void reservedmarshal_VkPipelineRenderingCreateInfo(
6965     VulkanStreamGuest* vkStream, VkStructureType rootType,
6966     const VkPipelineRenderingCreateInfo* forMarshaling, uint8_t** ptr) {
6967     (void)vkStream;
6968     (void)rootType;
6969     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6970     *ptr += sizeof(VkStructureType);
6971     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6972         rootType = forMarshaling->sType;
6973     }
6974     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6975     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
6976     *ptr += sizeof(uint32_t);
6977     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
6978     *ptr += sizeof(uint32_t);
6979     // WARNING PTR CHECK
6980     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
6981     memcpy((*ptr), &cgen_var_0, 8);
6982     android::base::Stream::toBe64((uint8_t*)(*ptr));
6983     *ptr += 8;
6984     if (forMarshaling->pColorAttachmentFormats) {
6985         memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
6986                forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
6987         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
6988     }
6989     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
6990     *ptr += sizeof(VkFormat);
6991     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
6992     *ptr += sizeof(VkFormat);
6993 }
6994 
reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * forMarshaling,uint8_t ** ptr)6995 void reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
6996     VulkanStreamGuest* vkStream, VkStructureType rootType,
6997     const VkPhysicalDeviceDynamicRenderingFeatures* forMarshaling, uint8_t** ptr) {
6998     (void)vkStream;
6999     (void)rootType;
7000     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7001     *ptr += sizeof(VkStructureType);
7002     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7003         rootType = forMarshaling->sType;
7004     }
7005     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7006     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
7007     *ptr += sizeof(VkBool32);
7008 }
7009 
reservedmarshal_VkCommandBufferInheritanceRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * forMarshaling,uint8_t ** ptr)7010 void reservedmarshal_VkCommandBufferInheritanceRenderingInfo(
7011     VulkanStreamGuest* vkStream, VkStructureType rootType,
7012     const VkCommandBufferInheritanceRenderingInfo* forMarshaling, uint8_t** ptr) {
7013     (void)vkStream;
7014     (void)rootType;
7015     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7016     *ptr += sizeof(VkStructureType);
7017     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7018         rootType = forMarshaling->sType;
7019     }
7020     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7021     memcpy(*ptr, (VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
7022     *ptr += sizeof(VkRenderingFlags);
7023     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
7024     *ptr += sizeof(uint32_t);
7025     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7026     *ptr += sizeof(uint32_t);
7027     memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
7028            forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
7029     *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
7030     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
7031     *ptr += sizeof(VkFormat);
7032     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
7033     *ptr += sizeof(VkFormat);
7034     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
7035            sizeof(VkSampleCountFlagBits));
7036     *ptr += sizeof(VkSampleCountFlagBits);
7037 }
7038 
reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * forMarshaling,uint8_t ** ptr)7039 void reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
7040     VulkanStreamGuest* vkStream, VkStructureType rootType,
7041     const VkPhysicalDeviceShaderIntegerDotProductFeatures* forMarshaling, uint8_t** ptr) {
7042     (void)vkStream;
7043     (void)rootType;
7044     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7045     *ptr += sizeof(VkStructureType);
7046     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7047         rootType = forMarshaling->sType;
7048     }
7049     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7050     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
7051     *ptr += sizeof(VkBool32);
7052 }
7053 
reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * forMarshaling,uint8_t ** ptr)7054 void reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
7055     VulkanStreamGuest* vkStream, VkStructureType rootType,
7056     const VkPhysicalDeviceShaderIntegerDotProductProperties* forMarshaling, uint8_t** ptr) {
7057     (void)vkStream;
7058     (void)rootType;
7059     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7060     *ptr += sizeof(VkStructureType);
7061     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7062         rootType = forMarshaling->sType;
7063     }
7064     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7065     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
7066            sizeof(VkBool32));
7067     *ptr += sizeof(VkBool32);
7068     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
7069            sizeof(VkBool32));
7070     *ptr += sizeof(VkBool32);
7071     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
7072            sizeof(VkBool32));
7073     *ptr += sizeof(VkBool32);
7074     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
7075            sizeof(VkBool32));
7076     *ptr += sizeof(VkBool32);
7077     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
7078            sizeof(VkBool32));
7079     *ptr += sizeof(VkBool32);
7080     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
7081            sizeof(VkBool32));
7082     *ptr += sizeof(VkBool32);
7083     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
7084            sizeof(VkBool32));
7085     *ptr += sizeof(VkBool32);
7086     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
7087            sizeof(VkBool32));
7088     *ptr += sizeof(VkBool32);
7089     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
7090            sizeof(VkBool32));
7091     *ptr += sizeof(VkBool32);
7092     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
7093            sizeof(VkBool32));
7094     *ptr += sizeof(VkBool32);
7095     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
7096            sizeof(VkBool32));
7097     *ptr += sizeof(VkBool32);
7098     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
7099            sizeof(VkBool32));
7100     *ptr += sizeof(VkBool32);
7101     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
7102            sizeof(VkBool32));
7103     *ptr += sizeof(VkBool32);
7104     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
7105            sizeof(VkBool32));
7106     *ptr += sizeof(VkBool32);
7107     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
7108            sizeof(VkBool32));
7109     *ptr += sizeof(VkBool32);
7110     memcpy(
7111         *ptr,
7112         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
7113         sizeof(VkBool32));
7114     *ptr += sizeof(VkBool32);
7115     memcpy(*ptr,
7116            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
7117            sizeof(VkBool32));
7118     *ptr += sizeof(VkBool32);
7119     memcpy(*ptr,
7120            (VkBool32*)&forMarshaling
7121                ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
7122            sizeof(VkBool32));
7123     *ptr += sizeof(VkBool32);
7124     memcpy(*ptr,
7125            (VkBool32*)&forMarshaling
7126                ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
7127            sizeof(VkBool32));
7128     *ptr += sizeof(VkBool32);
7129     memcpy(*ptr,
7130            (VkBool32*)&forMarshaling
7131                ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
7132            sizeof(VkBool32));
7133     *ptr += sizeof(VkBool32);
7134     memcpy(*ptr,
7135            (VkBool32*)&forMarshaling
7136                ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
7137            sizeof(VkBool32));
7138     *ptr += sizeof(VkBool32);
7139     memcpy(
7140         *ptr,
7141         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
7142         sizeof(VkBool32));
7143     *ptr += sizeof(VkBool32);
7144     memcpy(*ptr,
7145            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
7146            sizeof(VkBool32));
7147     *ptr += sizeof(VkBool32);
7148     memcpy(*ptr,
7149            (VkBool32*)&forMarshaling
7150                ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
7151            sizeof(VkBool32));
7152     *ptr += sizeof(VkBool32);
7153     memcpy(
7154         *ptr,
7155         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
7156         sizeof(VkBool32));
7157     *ptr += sizeof(VkBool32);
7158     memcpy(*ptr,
7159            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
7160            sizeof(VkBool32));
7161     *ptr += sizeof(VkBool32);
7162     memcpy(*ptr,
7163            (VkBool32*)&forMarshaling
7164                ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
7165            sizeof(VkBool32));
7166     *ptr += sizeof(VkBool32);
7167     memcpy(
7168         *ptr,
7169         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
7170         sizeof(VkBool32));
7171     *ptr += sizeof(VkBool32);
7172     memcpy(*ptr,
7173            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
7174            sizeof(VkBool32));
7175     *ptr += sizeof(VkBool32);
7176     memcpy(*ptr,
7177            (VkBool32*)&forMarshaling
7178                ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
7179            sizeof(VkBool32));
7180     *ptr += sizeof(VkBool32);
7181 }
7182 
reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * forMarshaling,uint8_t ** ptr)7183 void reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
7184     VulkanStreamGuest* vkStream, VkStructureType rootType,
7185     const VkPhysicalDeviceTexelBufferAlignmentProperties* forMarshaling, uint8_t** ptr) {
7186     (void)vkStream;
7187     (void)rootType;
7188     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7189     *ptr += sizeof(VkStructureType);
7190     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7191         rootType = forMarshaling->sType;
7192     }
7193     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7194     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
7195            sizeof(VkDeviceSize));
7196     *ptr += sizeof(VkDeviceSize);
7197     memcpy(*ptr, (VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
7198            sizeof(VkBool32));
7199     *ptr += sizeof(VkBool32);
7200     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
7201            sizeof(VkDeviceSize));
7202     *ptr += sizeof(VkDeviceSize);
7203     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
7204            sizeof(VkBool32));
7205     *ptr += sizeof(VkBool32);
7206 }
7207 
reservedmarshal_VkFormatProperties3(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties3 * forMarshaling,uint8_t ** ptr)7208 void reservedmarshal_VkFormatProperties3(VulkanStreamGuest* vkStream, VkStructureType rootType,
7209                                          const VkFormatProperties3* forMarshaling, uint8_t** ptr) {
7210     (void)vkStream;
7211     (void)rootType;
7212     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7213     *ptr += sizeof(VkStructureType);
7214     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7215         rootType = forMarshaling->sType;
7216     }
7217     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7218     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->linearTilingFeatures,
7219            sizeof(VkFormatFeatureFlags2));
7220     *ptr += sizeof(VkFormatFeatureFlags2);
7221     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->optimalTilingFeatures,
7222            sizeof(VkFormatFeatureFlags2));
7223     *ptr += sizeof(VkFormatFeatureFlags2);
7224     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->bufferFeatures,
7225            sizeof(VkFormatFeatureFlags2));
7226     *ptr += sizeof(VkFormatFeatureFlags2);
7227 }
7228 
reservedmarshal_VkPhysicalDeviceMaintenance4Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * forMarshaling,uint8_t ** ptr)7229 void reservedmarshal_VkPhysicalDeviceMaintenance4Features(
7230     VulkanStreamGuest* vkStream, VkStructureType rootType,
7231     const VkPhysicalDeviceMaintenance4Features* forMarshaling, uint8_t** ptr) {
7232     (void)vkStream;
7233     (void)rootType;
7234     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7235     *ptr += sizeof(VkStructureType);
7236     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7237         rootType = forMarshaling->sType;
7238     }
7239     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7240     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
7241     *ptr += sizeof(VkBool32);
7242 }
7243 
reservedmarshal_VkPhysicalDeviceMaintenance4Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * forMarshaling,uint8_t ** ptr)7244 void reservedmarshal_VkPhysicalDeviceMaintenance4Properties(
7245     VulkanStreamGuest* vkStream, VkStructureType rootType,
7246     const VkPhysicalDeviceMaintenance4Properties* forMarshaling, uint8_t** ptr) {
7247     (void)vkStream;
7248     (void)rootType;
7249     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7250     *ptr += sizeof(VkStructureType);
7251     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7252         rootType = forMarshaling->sType;
7253     }
7254     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7255     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
7256     *ptr += sizeof(VkDeviceSize);
7257 }
7258 
reservedmarshal_VkDeviceBufferMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * forMarshaling,uint8_t ** ptr)7259 void reservedmarshal_VkDeviceBufferMemoryRequirements(
7260     VulkanStreamGuest* vkStream, VkStructureType rootType,
7261     const VkDeviceBufferMemoryRequirements* forMarshaling, uint8_t** ptr) {
7262     (void)vkStream;
7263     (void)rootType;
7264     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7265     *ptr += sizeof(VkStructureType);
7266     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7267         rootType = forMarshaling->sType;
7268     }
7269     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7270     reservedmarshal_VkBufferCreateInfo(
7271         vkStream, rootType, (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7272 }
7273 
reservedmarshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageMemoryRequirements * forMarshaling,uint8_t ** ptr)7274 void reservedmarshal_VkDeviceImageMemoryRequirements(
7275     VulkanStreamGuest* vkStream, VkStructureType rootType,
7276     const VkDeviceImageMemoryRequirements* forMarshaling, uint8_t** ptr) {
7277     (void)vkStream;
7278     (void)rootType;
7279     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7280     *ptr += sizeof(VkStructureType);
7281     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7282         rootType = forMarshaling->sType;
7283     }
7284     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7285     reservedmarshal_VkImageCreateInfo(vkStream, rootType,
7286                                       (const VkImageCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7287     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
7288            sizeof(VkImageAspectFlagBits));
7289     *ptr += sizeof(VkImageAspectFlagBits);
7290 }
7291 
7292 #endif
7293 #ifdef VK_KHR_surface
reservedmarshal_VkSurfaceCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceCapabilitiesKHR * forMarshaling,uint8_t ** ptr)7294 void reservedmarshal_VkSurfaceCapabilitiesKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7295                                               const VkSurfaceCapabilitiesKHR* forMarshaling,
7296                                               uint8_t** ptr) {
7297     (void)vkStream;
7298     (void)rootType;
7299     memcpy(*ptr, (uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
7300     *ptr += sizeof(uint32_t);
7301     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t));
7302     *ptr += sizeof(uint32_t);
7303     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->currentExtent),
7304                                ptr);
7305     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minImageExtent),
7306                                ptr);
7307     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxImageExtent),
7308                                ptr);
7309     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
7310     *ptr += sizeof(uint32_t);
7311     memcpy(*ptr, (VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms,
7312            sizeof(VkSurfaceTransformFlagsKHR));
7313     *ptr += sizeof(VkSurfaceTransformFlagsKHR);
7314     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform,
7315            sizeof(VkSurfaceTransformFlagBitsKHR));
7316     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
7317     memcpy(*ptr, (VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha,
7318            sizeof(VkCompositeAlphaFlagsKHR));
7319     *ptr += sizeof(VkCompositeAlphaFlagsKHR);
7320     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->supportedUsageFlags,
7321            sizeof(VkImageUsageFlags));
7322     *ptr += sizeof(VkImageUsageFlags);
7323 }
7324 
reservedmarshal_VkSurfaceFormatKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceFormatKHR * forMarshaling,uint8_t ** ptr)7325 void reservedmarshal_VkSurfaceFormatKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7326                                         const VkSurfaceFormatKHR* forMarshaling, uint8_t** ptr) {
7327     (void)vkStream;
7328     (void)rootType;
7329     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
7330     *ptr += sizeof(VkFormat);
7331     memcpy(*ptr, (VkColorSpaceKHR*)&forMarshaling->colorSpace, sizeof(VkColorSpaceKHR));
7332     *ptr += sizeof(VkColorSpaceKHR);
7333 }
7334 
7335 #endif
7336 #ifdef VK_KHR_swapchain
reservedmarshal_VkSwapchainCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainCreateInfoKHR * forMarshaling,uint8_t ** ptr)7337 void reservedmarshal_VkSwapchainCreateInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7338                                               const VkSwapchainCreateInfoKHR* forMarshaling,
7339                                               uint8_t** ptr) {
7340     (void)vkStream;
7341     (void)rootType;
7342     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7343     *ptr += sizeof(VkStructureType);
7344     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7345         rootType = forMarshaling->sType;
7346     }
7347     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7348     memcpy(*ptr, (VkSwapchainCreateFlagsKHR*)&forMarshaling->flags,
7349            sizeof(VkSwapchainCreateFlagsKHR));
7350     *ptr += sizeof(VkSwapchainCreateFlagsKHR);
7351     uint64_t cgen_var_0;
7352     *&cgen_var_0 = get_host_u64_VkSurfaceKHR((*&forMarshaling->surface));
7353     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7354     *ptr += 1 * 8;
7355     memcpy(*ptr, (uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
7356     *ptr += sizeof(uint32_t);
7357     memcpy(*ptr, (VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat));
7358     *ptr += sizeof(VkFormat);
7359     memcpy(*ptr, (VkColorSpaceKHR*)&forMarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
7360     *ptr += sizeof(VkColorSpaceKHR);
7361     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->imageExtent), ptr);
7362     memcpy(*ptr, (uint32_t*)&forMarshaling->imageArrayLayers, sizeof(uint32_t));
7363     *ptr += sizeof(uint32_t);
7364     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags));
7365     *ptr += sizeof(VkImageUsageFlags);
7366     memcpy(*ptr, (VkSharingMode*)&forMarshaling->imageSharingMode, sizeof(VkSharingMode));
7367     *ptr += sizeof(VkSharingMode);
7368     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
7369     *ptr += sizeof(uint32_t);
7370     // WARNING PTR CHECK
7371     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
7372     memcpy((*ptr), &cgen_var_1, 8);
7373     android::base::Stream::toBe64((uint8_t*)(*ptr));
7374     *ptr += 8;
7375     if (forMarshaling->pQueueFamilyIndices) {
7376         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
7377                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
7378         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
7379     }
7380     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->preTransform,
7381            sizeof(VkSurfaceTransformFlagBitsKHR));
7382     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
7383     memcpy(*ptr, (VkCompositeAlphaFlagBitsKHR*)&forMarshaling->compositeAlpha,
7384            sizeof(VkCompositeAlphaFlagBitsKHR));
7385     *ptr += sizeof(VkCompositeAlphaFlagBitsKHR);
7386     memcpy(*ptr, (VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR));
7387     *ptr += sizeof(VkPresentModeKHR);
7388     memcpy(*ptr, (VkBool32*)&forMarshaling->clipped, sizeof(VkBool32));
7389     *ptr += sizeof(VkBool32);
7390     uint64_t cgen_var_2;
7391     *&cgen_var_2 = get_host_u64_VkSwapchainKHR((*&forMarshaling->oldSwapchain));
7392     memcpy(*ptr, (uint64_t*)&cgen_var_2, 1 * 8);
7393     *ptr += 1 * 8;
7394 }
7395 
reservedmarshal_VkPresentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentInfoKHR * forMarshaling,uint8_t ** ptr)7396 void reservedmarshal_VkPresentInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7397                                       const VkPresentInfoKHR* forMarshaling, uint8_t** ptr) {
7398     (void)vkStream;
7399     (void)rootType;
7400     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7401     *ptr += sizeof(VkStructureType);
7402     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7403         rootType = forMarshaling->sType;
7404     }
7405     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7406     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
7407     *ptr += sizeof(uint32_t);
7408     if (forMarshaling->waitSemaphoreCount) {
7409         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
7410         if (forMarshaling) {
7411             for (uint32_t k = 0; k < forMarshaling->waitSemaphoreCount; ++k) {
7412                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pWaitSemaphores[k]);
7413                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
7414             }
7415         }
7416         *ptr += 8 * forMarshaling->waitSemaphoreCount;
7417     }
7418     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
7419     *ptr += sizeof(uint32_t);
7420     if (forMarshaling->swapchainCount) {
7421         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
7422         if (forMarshaling) {
7423             for (uint32_t k = 0; k < forMarshaling->swapchainCount; ++k) {
7424                 uint64_t tmpval = get_host_u64_VkSwapchainKHR(forMarshaling->pSwapchains[k]);
7425                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
7426             }
7427         }
7428         *ptr += 8 * forMarshaling->swapchainCount;
7429     }
7430     memcpy(*ptr, (const uint32_t*)forMarshaling->pImageIndices,
7431            forMarshaling->swapchainCount * sizeof(const uint32_t));
7432     *ptr += forMarshaling->swapchainCount * sizeof(const uint32_t);
7433     // WARNING PTR CHECK
7434     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pResults;
7435     memcpy((*ptr), &cgen_var_2, 8);
7436     android::base::Stream::toBe64((uint8_t*)(*ptr));
7437     *ptr += 8;
7438     if (forMarshaling->pResults) {
7439         memcpy(*ptr, (VkResult*)forMarshaling->pResults,
7440                forMarshaling->swapchainCount * sizeof(VkResult));
7441         *ptr += forMarshaling->swapchainCount * sizeof(VkResult);
7442     }
7443 }
7444 
reservedmarshal_VkImageSwapchainCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSwapchainCreateInfoKHR * forMarshaling,uint8_t ** ptr)7445 void reservedmarshal_VkImageSwapchainCreateInfoKHR(
7446     VulkanStreamGuest* vkStream, VkStructureType rootType,
7447     const VkImageSwapchainCreateInfoKHR* forMarshaling, uint8_t** ptr) {
7448     (void)vkStream;
7449     (void)rootType;
7450     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7451     *ptr += sizeof(VkStructureType);
7452     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7453         rootType = forMarshaling->sType;
7454     }
7455     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7456     uint64_t cgen_var_0;
7457     *&cgen_var_0 = get_host_u64_VkSwapchainKHR((*&forMarshaling->swapchain));
7458     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7459     *ptr += 1 * 8;
7460 }
7461 
reservedmarshal_VkBindImageMemorySwapchainInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemorySwapchainInfoKHR * forMarshaling,uint8_t ** ptr)7462 void reservedmarshal_VkBindImageMemorySwapchainInfoKHR(
7463     VulkanStreamGuest* vkStream, VkStructureType rootType,
7464     const VkBindImageMemorySwapchainInfoKHR* forMarshaling, uint8_t** ptr) {
7465     (void)vkStream;
7466     (void)rootType;
7467     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7468     *ptr += sizeof(VkStructureType);
7469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7470         rootType = forMarshaling->sType;
7471     }
7472     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7473     uint64_t cgen_var_0;
7474     *&cgen_var_0 = get_host_u64_VkSwapchainKHR((*&forMarshaling->swapchain));
7475     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7476     *ptr += 1 * 8;
7477     memcpy(*ptr, (uint32_t*)&forMarshaling->imageIndex, sizeof(uint32_t));
7478     *ptr += sizeof(uint32_t);
7479 }
7480 
reservedmarshal_VkAcquireNextImageInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAcquireNextImageInfoKHR * forMarshaling,uint8_t ** ptr)7481 void reservedmarshal_VkAcquireNextImageInfoKHR(VulkanStreamGuest* vkStream,
7482                                                VkStructureType rootType,
7483                                                const VkAcquireNextImageInfoKHR* forMarshaling,
7484                                                uint8_t** ptr) {
7485     (void)vkStream;
7486     (void)rootType;
7487     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7488     *ptr += sizeof(VkStructureType);
7489     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7490         rootType = forMarshaling->sType;
7491     }
7492     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7493     uint64_t cgen_var_0;
7494     *&cgen_var_0 = get_host_u64_VkSwapchainKHR((*&forMarshaling->swapchain));
7495     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7496     *ptr += 1 * 8;
7497     memcpy(*ptr, (uint64_t*)&forMarshaling->timeout, sizeof(uint64_t));
7498     *ptr += sizeof(uint64_t);
7499     uint64_t cgen_var_1;
7500     *&cgen_var_1 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
7501     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
7502     *ptr += 1 * 8;
7503     uint64_t cgen_var_2;
7504     *&cgen_var_2 = get_host_u64_VkFence((*&forMarshaling->fence));
7505     memcpy(*ptr, (uint64_t*)&cgen_var_2, 1 * 8);
7506     *ptr += 1 * 8;
7507     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
7508     *ptr += sizeof(uint32_t);
7509 }
7510 
reservedmarshal_VkDeviceGroupPresentCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupPresentCapabilitiesKHR * forMarshaling,uint8_t ** ptr)7511 void reservedmarshal_VkDeviceGroupPresentCapabilitiesKHR(
7512     VulkanStreamGuest* vkStream, VkStructureType rootType,
7513     const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling, uint8_t** ptr) {
7514     (void)vkStream;
7515     (void)rootType;
7516     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7517     *ptr += sizeof(VkStructureType);
7518     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7519         rootType = forMarshaling->sType;
7520     }
7521     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7522     memcpy(*ptr, (uint32_t*)forMarshaling->presentMask,
7523            VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
7524     *ptr += VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t);
7525     memcpy(*ptr, (VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
7526            sizeof(VkDeviceGroupPresentModeFlagsKHR));
7527     *ptr += sizeof(VkDeviceGroupPresentModeFlagsKHR);
7528 }
7529 
reservedmarshal_VkDeviceGroupPresentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupPresentInfoKHR * forMarshaling,uint8_t ** ptr)7530 void reservedmarshal_VkDeviceGroupPresentInfoKHR(VulkanStreamGuest* vkStream,
7531                                                  VkStructureType rootType,
7532                                                  const VkDeviceGroupPresentInfoKHR* forMarshaling,
7533                                                  uint8_t** ptr) {
7534     (void)vkStream;
7535     (void)rootType;
7536     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7537     *ptr += sizeof(VkStructureType);
7538     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7539         rootType = forMarshaling->sType;
7540     }
7541     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7542     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
7543     *ptr += sizeof(uint32_t);
7544     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceMasks,
7545            forMarshaling->swapchainCount * sizeof(const uint32_t));
7546     *ptr += forMarshaling->swapchainCount * sizeof(const uint32_t);
7547     memcpy(*ptr, (VkDeviceGroupPresentModeFlagBitsKHR*)&forMarshaling->mode,
7548            sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
7549     *ptr += sizeof(VkDeviceGroupPresentModeFlagBitsKHR);
7550 }
7551 
reservedmarshal_VkDeviceGroupSwapchainCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupSwapchainCreateInfoKHR * forMarshaling,uint8_t ** ptr)7552 void reservedmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
7553     VulkanStreamGuest* vkStream, VkStructureType rootType,
7554     const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling, uint8_t** ptr) {
7555     (void)vkStream;
7556     (void)rootType;
7557     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7558     *ptr += sizeof(VkStructureType);
7559     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7560         rootType = forMarshaling->sType;
7561     }
7562     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7563     memcpy(*ptr, (VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
7564            sizeof(VkDeviceGroupPresentModeFlagsKHR));
7565     *ptr += sizeof(VkDeviceGroupPresentModeFlagsKHR);
7566 }
7567 
7568 #endif
7569 #ifdef VK_KHR_display
reservedmarshal_VkDisplayModeParametersKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayModeParametersKHR * forMarshaling,uint8_t ** ptr)7570 void reservedmarshal_VkDisplayModeParametersKHR(VulkanStreamGuest* vkStream,
7571                                                 VkStructureType rootType,
7572                                                 const VkDisplayModeParametersKHR* forMarshaling,
7573                                                 uint8_t** ptr) {
7574     (void)vkStream;
7575     (void)rootType;
7576     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->visibleRegion),
7577                                ptr);
7578     memcpy(*ptr, (uint32_t*)&forMarshaling->refreshRate, sizeof(uint32_t));
7579     *ptr += sizeof(uint32_t);
7580 }
7581 
reservedmarshal_VkDisplayModeCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayModeCreateInfoKHR * forMarshaling,uint8_t ** ptr)7582 void reservedmarshal_VkDisplayModeCreateInfoKHR(VulkanStreamGuest* vkStream,
7583                                                 VkStructureType rootType,
7584                                                 const VkDisplayModeCreateInfoKHR* forMarshaling,
7585                                                 uint8_t** ptr) {
7586     (void)vkStream;
7587     (void)rootType;
7588     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7589     *ptr += sizeof(VkStructureType);
7590     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7591         rootType = forMarshaling->sType;
7592     }
7593     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7594     memcpy(*ptr, (VkDisplayModeCreateFlagsKHR*)&forMarshaling->flags,
7595            sizeof(VkDisplayModeCreateFlagsKHR));
7596     *ptr += sizeof(VkDisplayModeCreateFlagsKHR);
7597     reservedmarshal_VkDisplayModeParametersKHR(
7598         vkStream, rootType, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters), ptr);
7599 }
7600 
reservedmarshal_VkDisplayModePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayModePropertiesKHR * forMarshaling,uint8_t ** ptr)7601 void reservedmarshal_VkDisplayModePropertiesKHR(VulkanStreamGuest* vkStream,
7602                                                 VkStructureType rootType,
7603                                                 const VkDisplayModePropertiesKHR* forMarshaling,
7604                                                 uint8_t** ptr) {
7605     (void)vkStream;
7606     (void)rootType;
7607     uint64_t cgen_var_0;
7608     *&cgen_var_0 = get_host_u64_VkDisplayModeKHR((*&forMarshaling->displayMode));
7609     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7610     *ptr += 1 * 8;
7611     reservedmarshal_VkDisplayModeParametersKHR(
7612         vkStream, rootType, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters), ptr);
7613 }
7614 
reservedmarshal_VkDisplayPlaneCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPlaneCapabilitiesKHR * forMarshaling,uint8_t ** ptr)7615 void reservedmarshal_VkDisplayPlaneCapabilitiesKHR(
7616     VulkanStreamGuest* vkStream, VkStructureType rootType,
7617     const VkDisplayPlaneCapabilitiesKHR* forMarshaling, uint8_t** ptr) {
7618     (void)vkStream;
7619     (void)rootType;
7620     memcpy(*ptr, (VkDisplayPlaneAlphaFlagsKHR*)&forMarshaling->supportedAlpha,
7621            sizeof(VkDisplayPlaneAlphaFlagsKHR));
7622     *ptr += sizeof(VkDisplayPlaneAlphaFlagsKHR);
7623     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->minSrcPosition),
7624                                ptr);
7625     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->maxSrcPosition),
7626                                ptr);
7627     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minSrcExtent),
7628                                ptr);
7629     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxSrcExtent),
7630                                ptr);
7631     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->minDstPosition),
7632                                ptr);
7633     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->maxDstPosition),
7634                                ptr);
7635     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minDstExtent),
7636                                ptr);
7637     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxDstExtent),
7638                                ptr);
7639 }
7640 
reservedmarshal_VkDisplayPlanePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPlanePropertiesKHR * forMarshaling,uint8_t ** ptr)7641 void reservedmarshal_VkDisplayPlanePropertiesKHR(VulkanStreamGuest* vkStream,
7642                                                  VkStructureType rootType,
7643                                                  const VkDisplayPlanePropertiesKHR* forMarshaling,
7644                                                  uint8_t** ptr) {
7645     (void)vkStream;
7646     (void)rootType;
7647     uint64_t cgen_var_0;
7648     *&cgen_var_0 = get_host_u64_VkDisplayKHR((*&forMarshaling->currentDisplay));
7649     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7650     *ptr += 1 * 8;
7651     memcpy(*ptr, (uint32_t*)&forMarshaling->currentStackIndex, sizeof(uint32_t));
7652     *ptr += sizeof(uint32_t);
7653 }
7654 
reservedmarshal_VkDisplayPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPropertiesKHR * forMarshaling,uint8_t ** ptr)7655 void reservedmarshal_VkDisplayPropertiesKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7656                                             const VkDisplayPropertiesKHR* forMarshaling,
7657                                             uint8_t** ptr) {
7658     (void)vkStream;
7659     (void)rootType;
7660     uint64_t cgen_var_0;
7661     *&cgen_var_0 = get_host_u64_VkDisplayKHR((*&forMarshaling->display));
7662     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7663     *ptr += 1 * 8;
7664     {
7665         uint32_t l = forMarshaling->displayName ? strlen(forMarshaling->displayName) : 0;
7666         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
7667         android::base::Stream::toBe32((uint8_t*)*ptr);
7668         *ptr += sizeof(uint32_t);
7669         memcpy(*ptr, (char*)forMarshaling->displayName, l);
7670         *ptr += l;
7671     }
7672     reservedmarshal_VkExtent2D(vkStream, rootType,
7673                                (VkExtent2D*)(&forMarshaling->physicalDimensions), ptr);
7674     reservedmarshal_VkExtent2D(vkStream, rootType,
7675                                (VkExtent2D*)(&forMarshaling->physicalResolution), ptr);
7676     memcpy(*ptr, (VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms,
7677            sizeof(VkSurfaceTransformFlagsKHR));
7678     *ptr += sizeof(VkSurfaceTransformFlagsKHR);
7679     memcpy(*ptr, (VkBool32*)&forMarshaling->planeReorderPossible, sizeof(VkBool32));
7680     *ptr += sizeof(VkBool32);
7681     memcpy(*ptr, (VkBool32*)&forMarshaling->persistentContent, sizeof(VkBool32));
7682     *ptr += sizeof(VkBool32);
7683 }
7684 
reservedmarshal_VkDisplaySurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplaySurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7685 void reservedmarshal_VkDisplaySurfaceCreateInfoKHR(
7686     VulkanStreamGuest* vkStream, VkStructureType rootType,
7687     const VkDisplaySurfaceCreateInfoKHR* forMarshaling, uint8_t** ptr) {
7688     (void)vkStream;
7689     (void)rootType;
7690     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7691     *ptr += sizeof(VkStructureType);
7692     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7693         rootType = forMarshaling->sType;
7694     }
7695     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7696     memcpy(*ptr, (VkDisplaySurfaceCreateFlagsKHR*)&forMarshaling->flags,
7697            sizeof(VkDisplaySurfaceCreateFlagsKHR));
7698     *ptr += sizeof(VkDisplaySurfaceCreateFlagsKHR);
7699     uint64_t cgen_var_0;
7700     *&cgen_var_0 = get_host_u64_VkDisplayModeKHR((*&forMarshaling->displayMode));
7701     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7702     *ptr += 1 * 8;
7703     memcpy(*ptr, (uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t));
7704     *ptr += sizeof(uint32_t);
7705     memcpy(*ptr, (uint32_t*)&forMarshaling->planeStackIndex, sizeof(uint32_t));
7706     *ptr += sizeof(uint32_t);
7707     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform,
7708            sizeof(VkSurfaceTransformFlagBitsKHR));
7709     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
7710     memcpy(*ptr, (float*)&forMarshaling->globalAlpha, sizeof(float));
7711     *ptr += sizeof(float);
7712     memcpy(*ptr, (VkDisplayPlaneAlphaFlagBitsKHR*)&forMarshaling->alphaMode,
7713            sizeof(VkDisplayPlaneAlphaFlagBitsKHR));
7714     *ptr += sizeof(VkDisplayPlaneAlphaFlagBitsKHR);
7715     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->imageExtent), ptr);
7716 }
7717 
7718 #endif
7719 #ifdef VK_KHR_display_swapchain
reservedmarshal_VkDisplayPresentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPresentInfoKHR * forMarshaling,uint8_t ** ptr)7720 void reservedmarshal_VkDisplayPresentInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7721                                              const VkDisplayPresentInfoKHR* forMarshaling,
7722                                              uint8_t** ptr) {
7723     (void)vkStream;
7724     (void)rootType;
7725     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7726     *ptr += sizeof(VkStructureType);
7727     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7728         rootType = forMarshaling->sType;
7729     }
7730     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7731     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->srcRect), ptr);
7732     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->dstRect), ptr);
7733     memcpy(*ptr, (VkBool32*)&forMarshaling->persistent, sizeof(VkBool32));
7734     *ptr += sizeof(VkBool32);
7735 }
7736 
7737 #endif
7738 #ifdef VK_KHR_xlib_surface
reservedmarshal_VkXlibSurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkXlibSurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7739 void reservedmarshal_VkXlibSurfaceCreateInfoKHR(VulkanStreamGuest* vkStream,
7740                                                 VkStructureType rootType,
7741                                                 const VkXlibSurfaceCreateInfoKHR* forMarshaling,
7742                                                 uint8_t** ptr) {
7743     (void)vkStream;
7744     (void)rootType;
7745     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7746     *ptr += sizeof(VkStructureType);
7747     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7748         rootType = forMarshaling->sType;
7749     }
7750     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7751     memcpy(*ptr, (VkXlibSurfaceCreateFlagsKHR*)&forMarshaling->flags,
7752            sizeof(VkXlibSurfaceCreateFlagsKHR));
7753     *ptr += sizeof(VkXlibSurfaceCreateFlagsKHR);
7754     // WARNING PTR CHECK
7755     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->dpy;
7756     memcpy((*ptr), &cgen_var_0, 8);
7757     android::base::Stream::toBe64((uint8_t*)(*ptr));
7758     *ptr += 8;
7759     if (forMarshaling->dpy) {
7760         memcpy(*ptr, (Display*)forMarshaling->dpy, sizeof(Display));
7761         *ptr += sizeof(Display);
7762     }
7763     memcpy(*ptr, (Window*)&forMarshaling->window, sizeof(Window));
7764     *ptr += sizeof(Window);
7765 }
7766 
7767 #endif
7768 #ifdef VK_KHR_xcb_surface
reservedmarshal_VkXcbSurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkXcbSurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7769 void reservedmarshal_VkXcbSurfaceCreateInfoKHR(VulkanStreamGuest* vkStream,
7770                                                VkStructureType rootType,
7771                                                const VkXcbSurfaceCreateInfoKHR* forMarshaling,
7772                                                uint8_t** ptr) {
7773     // This struct should never be marshaled / unmarshaled.
7774     __builtin_trap();
7775 }
7776 
7777 #endif
7778 #ifdef VK_KHR_wayland_surface
reservedmarshal_VkWaylandSurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWaylandSurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7779 void reservedmarshal_VkWaylandSurfaceCreateInfoKHR(
7780     VulkanStreamGuest* vkStream, VkStructureType rootType,
7781     const VkWaylandSurfaceCreateInfoKHR* forMarshaling, uint8_t** ptr) {
7782     (void)vkStream;
7783     (void)rootType;
7784     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7785     *ptr += sizeof(VkStructureType);
7786     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7787         rootType = forMarshaling->sType;
7788     }
7789     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7790     memcpy(*ptr, (VkWaylandSurfaceCreateFlagsKHR*)&forMarshaling->flags,
7791            sizeof(VkWaylandSurfaceCreateFlagsKHR));
7792     *ptr += sizeof(VkWaylandSurfaceCreateFlagsKHR);
7793     // WARNING PTR CHECK
7794     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->display;
7795     memcpy((*ptr), &cgen_var_0, 8);
7796     android::base::Stream::toBe64((uint8_t*)(*ptr));
7797     *ptr += 8;
7798     if (forMarshaling->display) {
7799         memcpy(*ptr, (wl_display*)forMarshaling->display, sizeof(wl_display));
7800         *ptr += sizeof(wl_display);
7801     }
7802     // WARNING PTR CHECK
7803     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->surface;
7804     memcpy((*ptr), &cgen_var_1, 8);
7805     android::base::Stream::toBe64((uint8_t*)(*ptr));
7806     *ptr += 8;
7807     if (forMarshaling->surface) {
7808         memcpy(*ptr, (wl_surface*)forMarshaling->surface, sizeof(wl_surface));
7809         *ptr += sizeof(wl_surface);
7810     }
7811 }
7812 
7813 #endif
7814 #ifdef VK_KHR_android_surface
reservedmarshal_VkAndroidSurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAndroidSurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7815 void reservedmarshal_VkAndroidSurfaceCreateInfoKHR(
7816     VulkanStreamGuest* vkStream, VkStructureType rootType,
7817     const VkAndroidSurfaceCreateInfoKHR* forMarshaling, uint8_t** ptr) {
7818     (void)vkStream;
7819     (void)rootType;
7820     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7821     *ptr += sizeof(VkStructureType);
7822     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7823         rootType = forMarshaling->sType;
7824     }
7825     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7826     memcpy(*ptr, (VkAndroidSurfaceCreateFlagsKHR*)&forMarshaling->flags,
7827            sizeof(VkAndroidSurfaceCreateFlagsKHR));
7828     *ptr += sizeof(VkAndroidSurfaceCreateFlagsKHR);
7829     // WARNING PTR CHECK
7830     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->window;
7831     memcpy((*ptr), &cgen_var_0, 8);
7832     android::base::Stream::toBe64((uint8_t*)(*ptr));
7833     *ptr += 8;
7834     if (forMarshaling->window) {
7835         memcpy(*ptr, (ANativeWindow*)forMarshaling->window, sizeof(ANativeWindow));
7836         *ptr += sizeof(ANativeWindow);
7837     }
7838 }
7839 
7840 #endif
7841 #ifdef VK_KHR_win32_surface
reservedmarshal_VkWin32SurfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWin32SurfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)7842 void reservedmarshal_VkWin32SurfaceCreateInfoKHR(VulkanStreamGuest* vkStream,
7843                                                  VkStructureType rootType,
7844                                                  const VkWin32SurfaceCreateInfoKHR* forMarshaling,
7845                                                  uint8_t** ptr) {
7846     (void)vkStream;
7847     (void)rootType;
7848     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7849     *ptr += sizeof(VkStructureType);
7850     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7851         rootType = forMarshaling->sType;
7852     }
7853     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7854     memcpy(*ptr, (VkWin32SurfaceCreateFlagsKHR*)&forMarshaling->flags,
7855            sizeof(VkWin32SurfaceCreateFlagsKHR));
7856     *ptr += sizeof(VkWin32SurfaceCreateFlagsKHR);
7857     memcpy(*ptr, (HINSTANCE*)&forMarshaling->hinstance, sizeof(HINSTANCE));
7858     *ptr += sizeof(HINSTANCE);
7859     memcpy(*ptr, (HWND*)&forMarshaling->hwnd, sizeof(HWND));
7860     *ptr += sizeof(HWND);
7861 }
7862 
7863 #endif
7864 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
7865 #endif
7866 #ifdef VK_KHR_video_queue
reservedmarshal_VkQueueFamilyQueryResultStatusPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyQueryResultStatusPropertiesKHR * forMarshaling,uint8_t ** ptr)7867 void reservedmarshal_VkQueueFamilyQueryResultStatusPropertiesKHR(
7868     VulkanStreamGuest* vkStream, VkStructureType rootType,
7869     const VkQueueFamilyQueryResultStatusPropertiesKHR* forMarshaling, uint8_t** ptr) {
7870     (void)vkStream;
7871     (void)rootType;
7872     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7873     *ptr += sizeof(VkStructureType);
7874     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7875         rootType = forMarshaling->sType;
7876     }
7877     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7878     memcpy(*ptr, (VkBool32*)&forMarshaling->queryResultStatusSupport, sizeof(VkBool32));
7879     *ptr += sizeof(VkBool32);
7880 }
7881 
reservedmarshal_VkQueueFamilyVideoPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyVideoPropertiesKHR * forMarshaling,uint8_t ** ptr)7882 void reservedmarshal_VkQueueFamilyVideoPropertiesKHR(
7883     VulkanStreamGuest* vkStream, VkStructureType rootType,
7884     const VkQueueFamilyVideoPropertiesKHR* forMarshaling, uint8_t** ptr) {
7885     (void)vkStream;
7886     (void)rootType;
7887     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7888     *ptr += sizeof(VkStructureType);
7889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7890         rootType = forMarshaling->sType;
7891     }
7892     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7893     memcpy(*ptr, (VkVideoCodecOperationFlagsKHR*)&forMarshaling->videoCodecOperations,
7894            sizeof(VkVideoCodecOperationFlagsKHR));
7895     *ptr += sizeof(VkVideoCodecOperationFlagsKHR);
7896 }
7897 
reservedmarshal_VkVideoProfileInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoProfileInfoKHR * forMarshaling,uint8_t ** ptr)7898 void reservedmarshal_VkVideoProfileInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7899                                            const VkVideoProfileInfoKHR* forMarshaling,
7900                                            uint8_t** ptr) {
7901     (void)vkStream;
7902     (void)rootType;
7903     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7904     *ptr += sizeof(VkStructureType);
7905     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7906         rootType = forMarshaling->sType;
7907     }
7908     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7909     memcpy(*ptr, (VkVideoCodecOperationFlagBitsKHR*)&forMarshaling->videoCodecOperation,
7910            sizeof(VkVideoCodecOperationFlagBitsKHR));
7911     *ptr += sizeof(VkVideoCodecOperationFlagBitsKHR);
7912     memcpy(*ptr, (VkVideoChromaSubsamplingFlagsKHR*)&forMarshaling->chromaSubsampling,
7913            sizeof(VkVideoChromaSubsamplingFlagsKHR));
7914     *ptr += sizeof(VkVideoChromaSubsamplingFlagsKHR);
7915     memcpy(*ptr, (VkVideoComponentBitDepthFlagsKHR*)&forMarshaling->lumaBitDepth,
7916            sizeof(VkVideoComponentBitDepthFlagsKHR));
7917     *ptr += sizeof(VkVideoComponentBitDepthFlagsKHR);
7918     memcpy(*ptr, (VkVideoComponentBitDepthFlagsKHR*)&forMarshaling->chromaBitDepth,
7919            sizeof(VkVideoComponentBitDepthFlagsKHR));
7920     *ptr += sizeof(VkVideoComponentBitDepthFlagsKHR);
7921 }
7922 
reservedmarshal_VkVideoProfileListInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoProfileListInfoKHR * forMarshaling,uint8_t ** ptr)7923 void reservedmarshal_VkVideoProfileListInfoKHR(VulkanStreamGuest* vkStream,
7924                                                VkStructureType rootType,
7925                                                const VkVideoProfileListInfoKHR* forMarshaling,
7926                                                uint8_t** ptr) {
7927     (void)vkStream;
7928     (void)rootType;
7929     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7930     *ptr += sizeof(VkStructureType);
7931     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7932         rootType = forMarshaling->sType;
7933     }
7934     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7935     memcpy(*ptr, (uint32_t*)&forMarshaling->profileCount, sizeof(uint32_t));
7936     *ptr += sizeof(uint32_t);
7937     for (uint32_t i = 0; i < (uint32_t)forMarshaling->profileCount; ++i) {
7938         reservedmarshal_VkVideoProfileInfoKHR(
7939             vkStream, rootType, (const VkVideoProfileInfoKHR*)(forMarshaling->pProfiles + i), ptr);
7940     }
7941 }
7942 
reservedmarshal_VkVideoCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoCapabilitiesKHR * forMarshaling,uint8_t ** ptr)7943 void reservedmarshal_VkVideoCapabilitiesKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7944                                             const VkVideoCapabilitiesKHR* forMarshaling,
7945                                             uint8_t** ptr) {
7946     (void)vkStream;
7947     (void)rootType;
7948     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7949     *ptr += sizeof(VkStructureType);
7950     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7951         rootType = forMarshaling->sType;
7952     }
7953     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7954     memcpy(*ptr, (VkVideoCapabilityFlagsKHR*)&forMarshaling->flags,
7955            sizeof(VkVideoCapabilityFlagsKHR));
7956     *ptr += sizeof(VkVideoCapabilityFlagsKHR);
7957     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minBitstreamBufferOffsetAlignment,
7958            sizeof(VkDeviceSize));
7959     *ptr += sizeof(VkDeviceSize);
7960     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minBitstreamBufferSizeAlignment,
7961            sizeof(VkDeviceSize));
7962     *ptr += sizeof(VkDeviceSize);
7963     reservedmarshal_VkExtent2D(vkStream, rootType,
7964                                (VkExtent2D*)(&forMarshaling->pictureAccessGranularity), ptr);
7965     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minCodedExtent),
7966                                ptr);
7967     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxCodedExtent),
7968                                ptr);
7969     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDpbSlots, sizeof(uint32_t));
7970     *ptr += sizeof(uint32_t);
7971     memcpy(*ptr, (uint32_t*)&forMarshaling->maxActiveReferencePictures, sizeof(uint32_t));
7972     *ptr += sizeof(uint32_t);
7973     reservedmarshal_VkExtensionProperties(
7974         vkStream, rootType, (VkExtensionProperties*)(&forMarshaling->stdHeaderVersion), ptr);
7975 }
7976 
reservedmarshal_VkPhysicalDeviceVideoFormatInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVideoFormatInfoKHR * forMarshaling,uint8_t ** ptr)7977 void reservedmarshal_VkPhysicalDeviceVideoFormatInfoKHR(
7978     VulkanStreamGuest* vkStream, VkStructureType rootType,
7979     const VkPhysicalDeviceVideoFormatInfoKHR* forMarshaling, uint8_t** ptr) {
7980     (void)vkStream;
7981     (void)rootType;
7982     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7983     *ptr += sizeof(VkStructureType);
7984     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7985         rootType = forMarshaling->sType;
7986     }
7987     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7988     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags));
7989     *ptr += sizeof(VkImageUsageFlags);
7990 }
7991 
reservedmarshal_VkVideoFormatPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoFormatPropertiesKHR * forMarshaling,uint8_t ** ptr)7992 void reservedmarshal_VkVideoFormatPropertiesKHR(VulkanStreamGuest* vkStream,
7993                                                 VkStructureType rootType,
7994                                                 const VkVideoFormatPropertiesKHR* forMarshaling,
7995                                                 uint8_t** ptr) {
7996     (void)vkStream;
7997     (void)rootType;
7998     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7999     *ptr += sizeof(VkStructureType);
8000     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8001         rootType = forMarshaling->sType;
8002     }
8003     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8004     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
8005     *ptr += sizeof(VkFormat);
8006     reservedmarshal_VkComponentMapping(
8007         vkStream, rootType, (VkComponentMapping*)(&forMarshaling->componentMapping), ptr);
8008     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->imageCreateFlags, sizeof(VkImageCreateFlags));
8009     *ptr += sizeof(VkImageCreateFlags);
8010     memcpy(*ptr, (VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
8011     *ptr += sizeof(VkImageType);
8012     memcpy(*ptr, (VkImageTiling*)&forMarshaling->imageTiling, sizeof(VkImageTiling));
8013     *ptr += sizeof(VkImageTiling);
8014     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->imageUsageFlags, sizeof(VkImageUsageFlags));
8015     *ptr += sizeof(VkImageUsageFlags);
8016 }
8017 
reservedmarshal_VkVideoPictureResourceInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoPictureResourceInfoKHR * forMarshaling,uint8_t ** ptr)8018 void reservedmarshal_VkVideoPictureResourceInfoKHR(
8019     VulkanStreamGuest* vkStream, VkStructureType rootType,
8020     const VkVideoPictureResourceInfoKHR* forMarshaling, uint8_t** ptr) {
8021     (void)vkStream;
8022     (void)rootType;
8023     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8024     *ptr += sizeof(VkStructureType);
8025     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8026         rootType = forMarshaling->sType;
8027     }
8028     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8029     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->codedOffset), ptr);
8030     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->codedExtent), ptr);
8031     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
8032     *ptr += sizeof(uint32_t);
8033     uint64_t cgen_var_0;
8034     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageViewBinding));
8035     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8036     *ptr += 1 * 8;
8037 }
8038 
reservedmarshal_VkVideoReferenceSlotInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoReferenceSlotInfoKHR * forMarshaling,uint8_t ** ptr)8039 void reservedmarshal_VkVideoReferenceSlotInfoKHR(VulkanStreamGuest* vkStream,
8040                                                  VkStructureType rootType,
8041                                                  const VkVideoReferenceSlotInfoKHR* forMarshaling,
8042                                                  uint8_t** ptr) {
8043     (void)vkStream;
8044     (void)rootType;
8045     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8046     *ptr += sizeof(VkStructureType);
8047     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8048         rootType = forMarshaling->sType;
8049     }
8050     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8051     memcpy(*ptr, (int32_t*)&forMarshaling->slotIndex, sizeof(int32_t));
8052     *ptr += sizeof(int32_t);
8053     // WARNING PTR CHECK
8054     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pPictureResource;
8055     memcpy((*ptr), &cgen_var_0, 8);
8056     android::base::Stream::toBe64((uint8_t*)(*ptr));
8057     *ptr += 8;
8058     if (forMarshaling->pPictureResource) {
8059         reservedmarshal_VkVideoPictureResourceInfoKHR(
8060             vkStream, rootType,
8061             (const VkVideoPictureResourceInfoKHR*)(forMarshaling->pPictureResource), ptr);
8062     }
8063 }
8064 
reservedmarshal_VkVideoSessionMemoryRequirementsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoSessionMemoryRequirementsKHR * forMarshaling,uint8_t ** ptr)8065 void reservedmarshal_VkVideoSessionMemoryRequirementsKHR(
8066     VulkanStreamGuest* vkStream, VkStructureType rootType,
8067     const VkVideoSessionMemoryRequirementsKHR* forMarshaling, uint8_t** ptr) {
8068     (void)vkStream;
8069     (void)rootType;
8070     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8071     *ptr += sizeof(VkStructureType);
8072     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8073         rootType = forMarshaling->sType;
8074     }
8075     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8076     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryBindIndex, sizeof(uint32_t));
8077     *ptr += sizeof(uint32_t);
8078     reservedmarshal_VkMemoryRequirements(
8079         vkStream, rootType, (VkMemoryRequirements*)(&forMarshaling->memoryRequirements), ptr);
8080 }
8081 
reservedmarshal_VkBindVideoSessionMemoryInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindVideoSessionMemoryInfoKHR * forMarshaling,uint8_t ** ptr)8082 void reservedmarshal_VkBindVideoSessionMemoryInfoKHR(
8083     VulkanStreamGuest* vkStream, VkStructureType rootType,
8084     const VkBindVideoSessionMemoryInfoKHR* forMarshaling, uint8_t** ptr) {
8085     (void)vkStream;
8086     (void)rootType;
8087     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8088     *ptr += sizeof(VkStructureType);
8089     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8090         rootType = forMarshaling->sType;
8091     }
8092     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8093     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryBindIndex, sizeof(uint32_t));
8094     *ptr += sizeof(uint32_t);
8095     uint64_t cgen_var_0;
8096     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
8097     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8098     *ptr += 1 * 8;
8099     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
8100     *ptr += sizeof(VkDeviceSize);
8101     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memorySize, sizeof(VkDeviceSize));
8102     *ptr += sizeof(VkDeviceSize);
8103 }
8104 
reservedmarshal_VkVideoSessionCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoSessionCreateInfoKHR * forMarshaling,uint8_t ** ptr)8105 void reservedmarshal_VkVideoSessionCreateInfoKHR(VulkanStreamGuest* vkStream,
8106                                                  VkStructureType rootType,
8107                                                  const VkVideoSessionCreateInfoKHR* forMarshaling,
8108                                                  uint8_t** ptr) {
8109     (void)vkStream;
8110     (void)rootType;
8111     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8112     *ptr += sizeof(VkStructureType);
8113     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8114         rootType = forMarshaling->sType;
8115     }
8116     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8117     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
8118     *ptr += sizeof(uint32_t);
8119     memcpy(*ptr, (VkVideoSessionCreateFlagsKHR*)&forMarshaling->flags,
8120            sizeof(VkVideoSessionCreateFlagsKHR));
8121     *ptr += sizeof(VkVideoSessionCreateFlagsKHR);
8122     reservedmarshal_VkVideoProfileInfoKHR(
8123         vkStream, rootType, (const VkVideoProfileInfoKHR*)(forMarshaling->pVideoProfile), ptr);
8124     memcpy(*ptr, (VkFormat*)&forMarshaling->pictureFormat, sizeof(VkFormat));
8125     *ptr += sizeof(VkFormat);
8126     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxCodedExtent),
8127                                ptr);
8128     memcpy(*ptr, (VkFormat*)&forMarshaling->referencePictureFormat, sizeof(VkFormat));
8129     *ptr += sizeof(VkFormat);
8130     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDpbSlots, sizeof(uint32_t));
8131     *ptr += sizeof(uint32_t);
8132     memcpy(*ptr, (uint32_t*)&forMarshaling->maxActiveReferencePictures, sizeof(uint32_t));
8133     *ptr += sizeof(uint32_t);
8134     reservedmarshal_VkExtensionProperties(
8135         vkStream, rootType, (const VkExtensionProperties*)(forMarshaling->pStdHeaderVersion), ptr);
8136 }
8137 
reservedmarshal_VkVideoSessionParametersCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoSessionParametersCreateInfoKHR * forMarshaling,uint8_t ** ptr)8138 void reservedmarshal_VkVideoSessionParametersCreateInfoKHR(
8139     VulkanStreamGuest* vkStream, VkStructureType rootType,
8140     const VkVideoSessionParametersCreateInfoKHR* forMarshaling, uint8_t** ptr) {
8141     (void)vkStream;
8142     (void)rootType;
8143     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8144     *ptr += sizeof(VkStructureType);
8145     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8146         rootType = forMarshaling->sType;
8147     }
8148     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8149     memcpy(*ptr, (VkVideoSessionParametersCreateFlagsKHR*)&forMarshaling->flags,
8150            sizeof(VkVideoSessionParametersCreateFlagsKHR));
8151     *ptr += sizeof(VkVideoSessionParametersCreateFlagsKHR);
8152     uint64_t cgen_var_0 = (uint64_t)forMarshaling->videoSessionParametersTemplate;
8153     memcpy((*ptr), &cgen_var_0, 8);
8154     android::base::Stream::toBe64((uint8_t*)(*ptr));
8155     *ptr += 8;
8156     uint64_t cgen_var_1 = (uint64_t)forMarshaling->videoSession;
8157     memcpy((*ptr), &cgen_var_1, 8);
8158     android::base::Stream::toBe64((uint8_t*)(*ptr));
8159     *ptr += 8;
8160 }
8161 
reservedmarshal_VkVideoSessionParametersUpdateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoSessionParametersUpdateInfoKHR * forMarshaling,uint8_t ** ptr)8162 void reservedmarshal_VkVideoSessionParametersUpdateInfoKHR(
8163     VulkanStreamGuest* vkStream, VkStructureType rootType,
8164     const VkVideoSessionParametersUpdateInfoKHR* forMarshaling, uint8_t** ptr) {
8165     (void)vkStream;
8166     (void)rootType;
8167     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8168     *ptr += sizeof(VkStructureType);
8169     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8170         rootType = forMarshaling->sType;
8171     }
8172     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8173     memcpy(*ptr, (uint32_t*)&forMarshaling->updateSequenceCount, sizeof(uint32_t));
8174     *ptr += sizeof(uint32_t);
8175 }
8176 
reservedmarshal_VkVideoBeginCodingInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoBeginCodingInfoKHR * forMarshaling,uint8_t ** ptr)8177 void reservedmarshal_VkVideoBeginCodingInfoKHR(VulkanStreamGuest* vkStream,
8178                                                VkStructureType rootType,
8179                                                const VkVideoBeginCodingInfoKHR* forMarshaling,
8180                                                uint8_t** ptr) {
8181     (void)vkStream;
8182     (void)rootType;
8183     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8184     *ptr += sizeof(VkStructureType);
8185     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8186         rootType = forMarshaling->sType;
8187     }
8188     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8189     memcpy(*ptr, (VkVideoBeginCodingFlagsKHR*)&forMarshaling->flags,
8190            sizeof(VkVideoBeginCodingFlagsKHR));
8191     *ptr += sizeof(VkVideoBeginCodingFlagsKHR);
8192     uint64_t cgen_var_0 = (uint64_t)forMarshaling->videoSession;
8193     memcpy((*ptr), &cgen_var_0, 8);
8194     android::base::Stream::toBe64((uint8_t*)(*ptr));
8195     *ptr += 8;
8196     uint64_t cgen_var_1 = (uint64_t)forMarshaling->videoSessionParameters;
8197     memcpy((*ptr), &cgen_var_1, 8);
8198     android::base::Stream::toBe64((uint8_t*)(*ptr));
8199     *ptr += 8;
8200     memcpy(*ptr, (uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t));
8201     *ptr += sizeof(uint32_t);
8202     for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) {
8203         reservedmarshal_VkVideoReferenceSlotInfoKHR(
8204             vkStream, rootType,
8205             (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i), ptr);
8206     }
8207 }
8208 
reservedmarshal_VkVideoEndCodingInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEndCodingInfoKHR * forMarshaling,uint8_t ** ptr)8209 void reservedmarshal_VkVideoEndCodingInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8210                                              const VkVideoEndCodingInfoKHR* forMarshaling,
8211                                              uint8_t** ptr) {
8212     (void)vkStream;
8213     (void)rootType;
8214     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8215     *ptr += sizeof(VkStructureType);
8216     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8217         rootType = forMarshaling->sType;
8218     }
8219     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8220     memcpy(*ptr, (VkVideoEndCodingFlagsKHR*)&forMarshaling->flags,
8221            sizeof(VkVideoEndCodingFlagsKHR));
8222     *ptr += sizeof(VkVideoEndCodingFlagsKHR);
8223 }
8224 
reservedmarshal_VkVideoCodingControlInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoCodingControlInfoKHR * forMarshaling,uint8_t ** ptr)8225 void reservedmarshal_VkVideoCodingControlInfoKHR(VulkanStreamGuest* vkStream,
8226                                                  VkStructureType rootType,
8227                                                  const VkVideoCodingControlInfoKHR* forMarshaling,
8228                                                  uint8_t** ptr) {
8229     (void)vkStream;
8230     (void)rootType;
8231     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8232     *ptr += sizeof(VkStructureType);
8233     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8234         rootType = forMarshaling->sType;
8235     }
8236     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8237     memcpy(*ptr, (VkVideoCodingControlFlagsKHR*)&forMarshaling->flags,
8238            sizeof(VkVideoCodingControlFlagsKHR));
8239     *ptr += sizeof(VkVideoCodingControlFlagsKHR);
8240 }
8241 
8242 #endif
8243 #ifdef VK_KHR_video_decode_queue
reservedmarshal_VkVideoDecodeCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeCapabilitiesKHR * forMarshaling,uint8_t ** ptr)8244 void reservedmarshal_VkVideoDecodeCapabilitiesKHR(VulkanStreamGuest* vkStream,
8245                                                   VkStructureType rootType,
8246                                                   const VkVideoDecodeCapabilitiesKHR* forMarshaling,
8247                                                   uint8_t** ptr) {
8248     (void)vkStream;
8249     (void)rootType;
8250     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8251     *ptr += sizeof(VkStructureType);
8252     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8253         rootType = forMarshaling->sType;
8254     }
8255     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8256     memcpy(*ptr, (VkVideoDecodeCapabilityFlagsKHR*)&forMarshaling->flags,
8257            sizeof(VkVideoDecodeCapabilityFlagsKHR));
8258     *ptr += sizeof(VkVideoDecodeCapabilityFlagsKHR);
8259 }
8260 
reservedmarshal_VkVideoDecodeUsageInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeUsageInfoKHR * forMarshaling,uint8_t ** ptr)8261 void reservedmarshal_VkVideoDecodeUsageInfoKHR(VulkanStreamGuest* vkStream,
8262                                                VkStructureType rootType,
8263                                                const VkVideoDecodeUsageInfoKHR* forMarshaling,
8264                                                uint8_t** ptr) {
8265     (void)vkStream;
8266     (void)rootType;
8267     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8268     *ptr += sizeof(VkStructureType);
8269     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8270         rootType = forMarshaling->sType;
8271     }
8272     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8273     memcpy(*ptr, (VkVideoDecodeUsageFlagsKHR*)&forMarshaling->videoUsageHints,
8274            sizeof(VkVideoDecodeUsageFlagsKHR));
8275     *ptr += sizeof(VkVideoDecodeUsageFlagsKHR);
8276 }
8277 
reservedmarshal_VkVideoDecodeInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeInfoKHR * forMarshaling,uint8_t ** ptr)8278 void reservedmarshal_VkVideoDecodeInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8279                                           const VkVideoDecodeInfoKHR* forMarshaling,
8280                                           uint8_t** ptr) {
8281     (void)vkStream;
8282     (void)rootType;
8283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8284     *ptr += sizeof(VkStructureType);
8285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8286         rootType = forMarshaling->sType;
8287     }
8288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8289     memcpy(*ptr, (VkVideoDecodeFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoDecodeFlagsKHR));
8290     *ptr += sizeof(VkVideoDecodeFlagsKHR);
8291     uint64_t cgen_var_0;
8292     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->srcBuffer));
8293     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8294     *ptr += 1 * 8;
8295     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcBufferOffset, sizeof(VkDeviceSize));
8296     *ptr += sizeof(VkDeviceSize);
8297     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcBufferRange, sizeof(VkDeviceSize));
8298     *ptr += sizeof(VkDeviceSize);
8299     reservedmarshal_VkVideoPictureResourceInfoKHR(
8300         vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forMarshaling->dstPictureResource),
8301         ptr);
8302     reservedmarshal_VkVideoReferenceSlotInfoKHR(
8303         vkStream, rootType,
8304         (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pSetupReferenceSlot), ptr);
8305     memcpy(*ptr, (uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t));
8306     *ptr += sizeof(uint32_t);
8307     for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) {
8308         reservedmarshal_VkVideoReferenceSlotInfoKHR(
8309             vkStream, rootType,
8310             (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i), ptr);
8311     }
8312 }
8313 
8314 #endif
8315 #ifdef VK_KHR_video_decode_h264
reservedmarshal_VkVideoDecodeH264ProfileInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264ProfileInfoKHR * forMarshaling,uint8_t ** ptr)8316 void reservedmarshal_VkVideoDecodeH264ProfileInfoKHR(
8317     VulkanStreamGuest* vkStream, VkStructureType rootType,
8318     const VkVideoDecodeH264ProfileInfoKHR* forMarshaling, uint8_t** ptr) {
8319     (void)vkStream;
8320     (void)rootType;
8321     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8322     *ptr += sizeof(VkStructureType);
8323     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8324         rootType = forMarshaling->sType;
8325     }
8326     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8327     memcpy(*ptr, (StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc,
8328            sizeof(StdVideoH264ProfileIdc));
8329     *ptr += sizeof(StdVideoH264ProfileIdc);
8330     memcpy(*ptr, (VkVideoDecodeH264PictureLayoutFlagBitsKHR*)&forMarshaling->pictureLayout,
8331            sizeof(VkVideoDecodeH264PictureLayoutFlagBitsKHR));
8332     *ptr += sizeof(VkVideoDecodeH264PictureLayoutFlagBitsKHR);
8333 }
8334 
reservedmarshal_VkVideoDecodeH264CapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264CapabilitiesKHR * forMarshaling,uint8_t ** ptr)8335 void reservedmarshal_VkVideoDecodeH264CapabilitiesKHR(
8336     VulkanStreamGuest* vkStream, VkStructureType rootType,
8337     const VkVideoDecodeH264CapabilitiesKHR* forMarshaling, uint8_t** ptr) {
8338     (void)vkStream;
8339     (void)rootType;
8340     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8341     *ptr += sizeof(VkStructureType);
8342     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8343         rootType = forMarshaling->sType;
8344     }
8345     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8346     memcpy(*ptr, (StdVideoH264LevelIdc*)&forMarshaling->maxLevelIdc, sizeof(StdVideoH264LevelIdc));
8347     *ptr += sizeof(StdVideoH264LevelIdc);
8348     reservedmarshal_VkOffset2D(vkStream, rootType,
8349                                (VkOffset2D*)(&forMarshaling->fieldOffsetGranularity), ptr);
8350 }
8351 
reservedmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264SessionParametersAddInfoKHR * forMarshaling,uint8_t ** ptr)8352 void reservedmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR(
8353     VulkanStreamGuest* vkStream, VkStructureType rootType,
8354     const VkVideoDecodeH264SessionParametersAddInfoKHR* forMarshaling, uint8_t** ptr) {
8355     (void)vkStream;
8356     (void)rootType;
8357     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8358     *ptr += sizeof(VkStructureType);
8359     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8360         rootType = forMarshaling->sType;
8361     }
8362     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8363     memcpy(*ptr, (uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t));
8364     *ptr += sizeof(uint32_t);
8365     memcpy(*ptr, (const StdVideoH264SequenceParameterSet*)forMarshaling->pStdSPSs,
8366            forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet));
8367     *ptr += forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet);
8368     memcpy(*ptr, (uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t));
8369     *ptr += sizeof(uint32_t);
8370     memcpy(*ptr, (const StdVideoH264PictureParameterSet*)forMarshaling->pStdPPSs,
8371            forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet));
8372     *ptr += forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet);
8373 }
8374 
reservedmarshal_VkVideoDecodeH264SessionParametersCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264SessionParametersCreateInfoKHR * forMarshaling,uint8_t ** ptr)8375 void reservedmarshal_VkVideoDecodeH264SessionParametersCreateInfoKHR(
8376     VulkanStreamGuest* vkStream, VkStructureType rootType,
8377     const VkVideoDecodeH264SessionParametersCreateInfoKHR* forMarshaling, uint8_t** ptr) {
8378     (void)vkStream;
8379     (void)rootType;
8380     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8381     *ptr += sizeof(VkStructureType);
8382     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8383         rootType = forMarshaling->sType;
8384     }
8385     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8386     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t));
8387     *ptr += sizeof(uint32_t);
8388     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t));
8389     *ptr += sizeof(uint32_t);
8390     // WARNING PTR CHECK
8391     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo;
8392     memcpy((*ptr), &cgen_var_0, 8);
8393     android::base::Stream::toBe64((uint8_t*)(*ptr));
8394     *ptr += 8;
8395     if (forMarshaling->pParametersAddInfo) {
8396         reservedmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR(
8397             vkStream, rootType,
8398             (const VkVideoDecodeH264SessionParametersAddInfoKHR*)(forMarshaling
8399                                                                       ->pParametersAddInfo),
8400             ptr);
8401     }
8402 }
8403 
reservedmarshal_VkVideoDecodeH264PictureInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264PictureInfoKHR * forMarshaling,uint8_t ** ptr)8404 void reservedmarshal_VkVideoDecodeH264PictureInfoKHR(
8405     VulkanStreamGuest* vkStream, VkStructureType rootType,
8406     const VkVideoDecodeH264PictureInfoKHR* forMarshaling, uint8_t** ptr) {
8407     (void)vkStream;
8408     (void)rootType;
8409     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8410     *ptr += sizeof(VkStructureType);
8411     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8412         rootType = forMarshaling->sType;
8413     }
8414     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8415     memcpy(*ptr, (const StdVideoDecodeH264PictureInfo*)forMarshaling->pStdPictureInfo,
8416            sizeof(const StdVideoDecodeH264PictureInfo));
8417     *ptr += sizeof(const StdVideoDecodeH264PictureInfo);
8418     memcpy(*ptr, (uint32_t*)&forMarshaling->sliceCount, sizeof(uint32_t));
8419     *ptr += sizeof(uint32_t);
8420     memcpy(*ptr, (const uint32_t*)forMarshaling->pSliceOffsets,
8421            forMarshaling->sliceCount * sizeof(const uint32_t));
8422     *ptr += forMarshaling->sliceCount * sizeof(const uint32_t);
8423 }
8424 
reservedmarshal_VkVideoDecodeH264DpbSlotInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH264DpbSlotInfoKHR * forMarshaling,uint8_t ** ptr)8425 void reservedmarshal_VkVideoDecodeH264DpbSlotInfoKHR(
8426     VulkanStreamGuest* vkStream, VkStructureType rootType,
8427     const VkVideoDecodeH264DpbSlotInfoKHR* forMarshaling, uint8_t** ptr) {
8428     (void)vkStream;
8429     (void)rootType;
8430     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8431     *ptr += sizeof(VkStructureType);
8432     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8433         rootType = forMarshaling->sType;
8434     }
8435     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8436     memcpy(*ptr, (const StdVideoDecodeH264ReferenceInfo*)forMarshaling->pStdReferenceInfo,
8437            sizeof(const StdVideoDecodeH264ReferenceInfo));
8438     *ptr += sizeof(const StdVideoDecodeH264ReferenceInfo);
8439 }
8440 
8441 #endif
8442 #ifdef VK_KHR_dynamic_rendering
reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * forMarshaling,uint8_t ** ptr)8443 void reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
8444     VulkanStreamGuest* vkStream, VkStructureType rootType,
8445     const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling, uint8_t** ptr) {
8446     (void)vkStream;
8447     (void)rootType;
8448     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8449     *ptr += sizeof(VkStructureType);
8450     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8451         rootType = forMarshaling->sType;
8452     }
8453     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8454     uint64_t cgen_var_0;
8455     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
8456     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8457     *ptr += 1 * 8;
8458     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
8459     *ptr += sizeof(VkImageLayout);
8460     reservedmarshal_VkExtent2D(vkStream, rootType,
8461                                (VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize), ptr);
8462 }
8463 
reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * forMarshaling,uint8_t ** ptr)8464 void reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
8465     VulkanStreamGuest* vkStream, VkStructureType rootType,
8466     const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling, uint8_t** ptr) {
8467     (void)vkStream;
8468     (void)rootType;
8469     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8470     *ptr += sizeof(VkStructureType);
8471     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8472         rootType = forMarshaling->sType;
8473     }
8474     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8475     uint64_t cgen_var_0;
8476     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
8477     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8478     *ptr += 1 * 8;
8479     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
8480     *ptr += sizeof(VkImageLayout);
8481 }
8482 
reservedmarshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * forMarshaling,uint8_t ** ptr)8483 void reservedmarshal_VkAttachmentSampleCountInfoAMD(
8484     VulkanStreamGuest* vkStream, VkStructureType rootType,
8485     const VkAttachmentSampleCountInfoAMD* forMarshaling, uint8_t** ptr) {
8486     (void)vkStream;
8487     (void)rootType;
8488     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8489     *ptr += sizeof(VkStructureType);
8490     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8491         rootType = forMarshaling->sType;
8492     }
8493     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8494     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
8495     *ptr += sizeof(uint32_t);
8496     // WARNING PTR CHECK
8497     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentSamples;
8498     memcpy((*ptr), &cgen_var_0, 8);
8499     android::base::Stream::toBe64((uint8_t*)(*ptr));
8500     *ptr += 8;
8501     if (forMarshaling->pColorAttachmentSamples) {
8502         memcpy(*ptr, (const VkSampleCountFlagBits*)forMarshaling->pColorAttachmentSamples,
8503                forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
8504         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits);
8505     }
8506     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->depthStencilAttachmentSamples,
8507            sizeof(VkSampleCountFlagBits));
8508     *ptr += sizeof(VkSampleCountFlagBits);
8509 }
8510 
reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * forMarshaling,uint8_t ** ptr)8511 void reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(
8512     VulkanStreamGuest* vkStream, VkStructureType rootType,
8513     const VkMultiviewPerViewAttributesInfoNVX* forMarshaling, uint8_t** ptr) {
8514     (void)vkStream;
8515     (void)rootType;
8516     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8517     *ptr += sizeof(VkStructureType);
8518     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8519         rootType = forMarshaling->sType;
8520     }
8521     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8522     memcpy(*ptr, (VkBool32*)&forMarshaling->perViewAttributes, sizeof(VkBool32));
8523     *ptr += sizeof(VkBool32);
8524     memcpy(*ptr, (VkBool32*)&forMarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
8525     *ptr += sizeof(VkBool32);
8526 }
8527 
8528 #endif
8529 #ifdef VK_KHR_multiview
8530 #endif
8531 #ifdef VK_KHR_get_physical_device_properties2
8532 #endif
8533 #ifdef VK_KHR_device_group
8534 #endif
8535 #ifdef VK_KHR_shader_draw_parameters
8536 #endif
8537 #ifdef VK_KHR_maintenance1
8538 #endif
8539 #ifdef VK_KHR_device_group_creation
8540 #endif
8541 #ifdef VK_KHR_external_memory_capabilities
8542 #endif
8543 #ifdef VK_KHR_external_memory
8544 #endif
8545 #ifdef VK_KHR_external_memory_win32
reservedmarshal_VkImportMemoryWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8546 void reservedmarshal_VkImportMemoryWin32HandleInfoKHR(
8547     VulkanStreamGuest* vkStream, VkStructureType rootType,
8548     const VkImportMemoryWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8549     (void)vkStream;
8550     (void)rootType;
8551     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8552     *ptr += sizeof(VkStructureType);
8553     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8554         rootType = forMarshaling->sType;
8555     }
8556     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8557     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
8558            sizeof(VkExternalMemoryHandleTypeFlagBits));
8559     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
8560     memcpy(*ptr, (HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
8561     *ptr += sizeof(HANDLE);
8562     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
8563     *ptr += sizeof(LPCWSTR);
8564 }
8565 
reservedmarshal_VkExportMemoryWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8566 void reservedmarshal_VkExportMemoryWin32HandleInfoKHR(
8567     VulkanStreamGuest* vkStream, VkStructureType rootType,
8568     const VkExportMemoryWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8569     (void)vkStream;
8570     (void)rootType;
8571     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8572     *ptr += sizeof(VkStructureType);
8573     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8574         rootType = forMarshaling->sType;
8575     }
8576     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8577     // WARNING PTR CHECK
8578     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
8579     memcpy((*ptr), &cgen_var_0, 8);
8580     android::base::Stream::toBe64((uint8_t*)(*ptr));
8581     *ptr += 8;
8582     if (forMarshaling->pAttributes) {
8583         memcpy(*ptr, (const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes,
8584                sizeof(const SECURITY_ATTRIBUTES));
8585         *ptr += sizeof(const SECURITY_ATTRIBUTES);
8586     }
8587     memcpy(*ptr, (DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
8588     *ptr += sizeof(DWORD);
8589     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
8590     *ptr += sizeof(LPCWSTR);
8591 }
8592 
reservedmarshal_VkMemoryWin32HandlePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryWin32HandlePropertiesKHR * forMarshaling,uint8_t ** ptr)8593 void reservedmarshal_VkMemoryWin32HandlePropertiesKHR(
8594     VulkanStreamGuest* vkStream, VkStructureType rootType,
8595     const VkMemoryWin32HandlePropertiesKHR* forMarshaling, uint8_t** ptr) {
8596     (void)vkStream;
8597     (void)rootType;
8598     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8599     *ptr += sizeof(VkStructureType);
8600     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8601         rootType = forMarshaling->sType;
8602     }
8603     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8604     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
8605     *ptr += sizeof(uint32_t);
8606 }
8607 
reservedmarshal_VkMemoryGetWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryGetWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8608 void reservedmarshal_VkMemoryGetWin32HandleInfoKHR(
8609     VulkanStreamGuest* vkStream, VkStructureType rootType,
8610     const VkMemoryGetWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8611     (void)vkStream;
8612     (void)rootType;
8613     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8614     *ptr += sizeof(VkStructureType);
8615     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8616         rootType = forMarshaling->sType;
8617     }
8618     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8619     uint64_t cgen_var_0;
8620     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
8621     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8622     *ptr += 1 * 8;
8623     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
8624            sizeof(VkExternalMemoryHandleTypeFlagBits));
8625     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
8626 }
8627 
8628 #endif
8629 #ifdef VK_KHR_external_memory_fd
reservedmarshal_VkImportMemoryFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryFdInfoKHR * forMarshaling,uint8_t ** ptr)8630 void reservedmarshal_VkImportMemoryFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8631                                              const VkImportMemoryFdInfoKHR* forMarshaling,
8632                                              uint8_t** ptr) {
8633     (void)vkStream;
8634     (void)rootType;
8635     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8636     *ptr += sizeof(VkStructureType);
8637     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8638         rootType = forMarshaling->sType;
8639     }
8640     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8641     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
8642            sizeof(VkExternalMemoryHandleTypeFlagBits));
8643     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
8644     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
8645     *ptr += sizeof(int);
8646 }
8647 
reservedmarshal_VkMemoryFdPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryFdPropertiesKHR * forMarshaling,uint8_t ** ptr)8648 void reservedmarshal_VkMemoryFdPropertiesKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8649                                              const VkMemoryFdPropertiesKHR* forMarshaling,
8650                                              uint8_t** ptr) {
8651     (void)vkStream;
8652     (void)rootType;
8653     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8654     *ptr += sizeof(VkStructureType);
8655     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8656         rootType = forMarshaling->sType;
8657     }
8658     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8659     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
8660     *ptr += sizeof(uint32_t);
8661 }
8662 
reservedmarshal_VkMemoryGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryGetFdInfoKHR * forMarshaling,uint8_t ** ptr)8663 void reservedmarshal_VkMemoryGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8664                                           const VkMemoryGetFdInfoKHR* forMarshaling,
8665                                           uint8_t** ptr) {
8666     (void)vkStream;
8667     (void)rootType;
8668     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8669     *ptr += sizeof(VkStructureType);
8670     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8671         rootType = forMarshaling->sType;
8672     }
8673     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8674     uint64_t cgen_var_0;
8675     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
8676     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8677     *ptr += 1 * 8;
8678     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
8679            sizeof(VkExternalMemoryHandleTypeFlagBits));
8680     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
8681 }
8682 
8683 #endif
8684 #ifdef VK_KHR_win32_keyed_mutex
reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWin32KeyedMutexAcquireReleaseInfoKHR * forMarshaling,uint8_t ** ptr)8685 void reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
8686     VulkanStreamGuest* vkStream, VkStructureType rootType,
8687     const VkWin32KeyedMutexAcquireReleaseInfoKHR* forMarshaling, uint8_t** ptr) {
8688     (void)vkStream;
8689     (void)rootType;
8690     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8691     *ptr += sizeof(VkStructureType);
8692     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8693         rootType = forMarshaling->sType;
8694     }
8695     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8696     memcpy(*ptr, (uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t));
8697     *ptr += sizeof(uint32_t);
8698     if (forMarshaling->acquireCount) {
8699         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
8700         if (forMarshaling) {
8701             for (uint32_t k = 0; k < forMarshaling->acquireCount; ++k) {
8702                 uint64_t tmpval = get_host_u64_VkDeviceMemory(forMarshaling->pAcquireSyncs[k]);
8703                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
8704             }
8705         }
8706         *ptr += 8 * forMarshaling->acquireCount;
8707     }
8708     memcpy(*ptr, (const uint64_t*)forMarshaling->pAcquireKeys,
8709            forMarshaling->acquireCount * sizeof(const uint64_t));
8710     *ptr += forMarshaling->acquireCount * sizeof(const uint64_t);
8711     memcpy(*ptr, (const uint32_t*)forMarshaling->pAcquireTimeouts,
8712            forMarshaling->acquireCount * sizeof(const uint32_t));
8713     *ptr += forMarshaling->acquireCount * sizeof(const uint32_t);
8714     memcpy(*ptr, (uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t));
8715     *ptr += sizeof(uint32_t);
8716     if (forMarshaling->releaseCount) {
8717         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
8718         if (forMarshaling) {
8719             for (uint32_t k = 0; k < forMarshaling->releaseCount; ++k) {
8720                 uint64_t tmpval = get_host_u64_VkDeviceMemory(forMarshaling->pReleaseSyncs[k]);
8721                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
8722             }
8723         }
8724         *ptr += 8 * forMarshaling->releaseCount;
8725     }
8726     memcpy(*ptr, (const uint64_t*)forMarshaling->pReleaseKeys,
8727            forMarshaling->releaseCount * sizeof(const uint64_t));
8728     *ptr += forMarshaling->releaseCount * sizeof(const uint64_t);
8729 }
8730 
8731 #endif
8732 #ifdef VK_KHR_external_semaphore_capabilities
8733 #endif
8734 #ifdef VK_KHR_external_semaphore
8735 #endif
8736 #ifdef VK_KHR_external_semaphore_win32
reservedmarshal_VkImportSemaphoreWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8737 void reservedmarshal_VkImportSemaphoreWin32HandleInfoKHR(
8738     VulkanStreamGuest* vkStream, VkStructureType rootType,
8739     const VkImportSemaphoreWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8740     (void)vkStream;
8741     (void)rootType;
8742     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8743     *ptr += sizeof(VkStructureType);
8744     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8745         rootType = forMarshaling->sType;
8746     }
8747     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8748     uint64_t cgen_var_0;
8749     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8750     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8751     *ptr += 1 * 8;
8752     memcpy(*ptr, (VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
8753     *ptr += sizeof(VkSemaphoreImportFlags);
8754     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8755            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8756     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8757     memcpy(*ptr, (HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
8758     *ptr += sizeof(HANDLE);
8759     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
8760     *ptr += sizeof(LPCWSTR);
8761 }
8762 
reservedmarshal_VkExportSemaphoreWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportSemaphoreWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8763 void reservedmarshal_VkExportSemaphoreWin32HandleInfoKHR(
8764     VulkanStreamGuest* vkStream, VkStructureType rootType,
8765     const VkExportSemaphoreWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8766     (void)vkStream;
8767     (void)rootType;
8768     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8769     *ptr += sizeof(VkStructureType);
8770     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8771         rootType = forMarshaling->sType;
8772     }
8773     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8774     // WARNING PTR CHECK
8775     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
8776     memcpy((*ptr), &cgen_var_0, 8);
8777     android::base::Stream::toBe64((uint8_t*)(*ptr));
8778     *ptr += 8;
8779     if (forMarshaling->pAttributes) {
8780         memcpy(*ptr, (const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes,
8781                sizeof(const SECURITY_ATTRIBUTES));
8782         *ptr += sizeof(const SECURITY_ATTRIBUTES);
8783     }
8784     memcpy(*ptr, (DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
8785     *ptr += sizeof(DWORD);
8786     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
8787     *ptr += sizeof(LPCWSTR);
8788 }
8789 
reservedmarshal_VkD3D12FenceSubmitInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkD3D12FenceSubmitInfoKHR * forMarshaling,uint8_t ** ptr)8790 void reservedmarshal_VkD3D12FenceSubmitInfoKHR(VulkanStreamGuest* vkStream,
8791                                                VkStructureType rootType,
8792                                                const VkD3D12FenceSubmitInfoKHR* forMarshaling,
8793                                                uint8_t** ptr) {
8794     (void)vkStream;
8795     (void)rootType;
8796     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8797     *ptr += sizeof(VkStructureType);
8798     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8799         rootType = forMarshaling->sType;
8800     }
8801     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8802     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreValuesCount, sizeof(uint32_t));
8803     *ptr += sizeof(uint32_t);
8804     // WARNING PTR CHECK
8805     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
8806     memcpy((*ptr), &cgen_var_0, 8);
8807     android::base::Stream::toBe64((uint8_t*)(*ptr));
8808     *ptr += 8;
8809     if (forMarshaling->pWaitSemaphoreValues) {
8810         memcpy(*ptr, (const uint64_t*)forMarshaling->pWaitSemaphoreValues,
8811                forMarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t));
8812         *ptr += forMarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t);
8813     }
8814     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreValuesCount, sizeof(uint32_t));
8815     *ptr += sizeof(uint32_t);
8816     // WARNING PTR CHECK
8817     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
8818     memcpy((*ptr), &cgen_var_1, 8);
8819     android::base::Stream::toBe64((uint8_t*)(*ptr));
8820     *ptr += 8;
8821     if (forMarshaling->pSignalSemaphoreValues) {
8822         memcpy(*ptr, (const uint64_t*)forMarshaling->pSignalSemaphoreValues,
8823                forMarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t));
8824         *ptr += forMarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t);
8825     }
8826 }
8827 
reservedmarshal_VkSemaphoreGetWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)8828 void reservedmarshal_VkSemaphoreGetWin32HandleInfoKHR(
8829     VulkanStreamGuest* vkStream, VkStructureType rootType,
8830     const VkSemaphoreGetWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
8831     (void)vkStream;
8832     (void)rootType;
8833     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8834     *ptr += sizeof(VkStructureType);
8835     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8836         rootType = forMarshaling->sType;
8837     }
8838     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8839     uint64_t cgen_var_0;
8840     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8841     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8842     *ptr += 1 * 8;
8843     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8844            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8845     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8846 }
8847 
8848 #endif
8849 #ifdef VK_KHR_external_semaphore_fd
reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * forMarshaling,uint8_t ** ptr)8850 void reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest* vkStream,
8851                                                 VkStructureType rootType,
8852                                                 const VkImportSemaphoreFdInfoKHR* forMarshaling,
8853                                                 uint8_t** ptr) {
8854     (void)vkStream;
8855     (void)rootType;
8856     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8857     *ptr += sizeof(VkStructureType);
8858     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8859         rootType = forMarshaling->sType;
8860     }
8861     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8862     uint64_t cgen_var_0;
8863     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8864     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8865     *ptr += 1 * 8;
8866     memcpy(*ptr, (VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
8867     *ptr += sizeof(VkSemaphoreImportFlags);
8868     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8869            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8870     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8871     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
8872     *ptr += sizeof(int);
8873 }
8874 
reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * forMarshaling,uint8_t ** ptr)8875 void reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8876                                              const VkSemaphoreGetFdInfoKHR* forMarshaling,
8877                                              uint8_t** ptr) {
8878     (void)vkStream;
8879     (void)rootType;
8880     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8881     *ptr += sizeof(VkStructureType);
8882     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8883         rootType = forMarshaling->sType;
8884     }
8885     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8886     uint64_t cgen_var_0;
8887     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8888     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8889     *ptr += 1 * 8;
8890     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8891            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8892     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8893 }
8894 
8895 #endif
8896 #ifdef VK_KHR_push_descriptor
reservedmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePushDescriptorPropertiesKHR * forMarshaling,uint8_t ** ptr)8897 void reservedmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
8898     VulkanStreamGuest* vkStream, VkStructureType rootType,
8899     const VkPhysicalDevicePushDescriptorPropertiesKHR* forMarshaling, uint8_t** ptr) {
8900     (void)vkStream;
8901     (void)rootType;
8902     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8903     *ptr += sizeof(VkStructureType);
8904     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8905         rootType = forMarshaling->sType;
8906     }
8907     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8908     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPushDescriptors, sizeof(uint32_t));
8909     *ptr += sizeof(uint32_t);
8910 }
8911 
8912 #endif
8913 #ifdef VK_KHR_shader_float16_int8
8914 #endif
8915 #ifdef VK_KHR_16bit_storage
8916 #endif
8917 #ifdef VK_KHR_incremental_present
reservedmarshal_VkRectLayerKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRectLayerKHR * forMarshaling,uint8_t ** ptr)8918 void reservedmarshal_VkRectLayerKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8919                                     const VkRectLayerKHR* forMarshaling, uint8_t** ptr) {
8920     (void)vkStream;
8921     (void)rootType;
8922     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset), ptr);
8923     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent), ptr);
8924     memcpy(*ptr, (uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
8925     *ptr += sizeof(uint32_t);
8926 }
8927 
reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionKHR * forMarshaling,uint8_t ** ptr)8928 void reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8929                                         const VkPresentRegionKHR* forMarshaling, uint8_t** ptr) {
8930     (void)vkStream;
8931     (void)rootType;
8932     memcpy(*ptr, (uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
8933     *ptr += sizeof(uint32_t);
8934     // WARNING PTR CHECK
8935     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
8936     memcpy((*ptr), &cgen_var_0, 8);
8937     android::base::Stream::toBe64((uint8_t*)(*ptr));
8938     *ptr += 8;
8939     if (forMarshaling->pRectangles) {
8940         for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
8941             reservedmarshal_VkRectLayerKHR(
8942                 vkStream, rootType, (const VkRectLayerKHR*)(forMarshaling->pRectangles + i), ptr);
8943         }
8944     }
8945 }
8946 
reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionsKHR * forMarshaling,uint8_t ** ptr)8947 void reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8948                                          const VkPresentRegionsKHR* forMarshaling, uint8_t** ptr) {
8949     (void)vkStream;
8950     (void)rootType;
8951     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8952     *ptr += sizeof(VkStructureType);
8953     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8954         rootType = forMarshaling->sType;
8955     }
8956     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8957     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
8958     *ptr += sizeof(uint32_t);
8959     // WARNING PTR CHECK
8960     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
8961     memcpy((*ptr), &cgen_var_0, 8);
8962     android::base::Stream::toBe64((uint8_t*)(*ptr));
8963     *ptr += 8;
8964     if (forMarshaling->pRegions) {
8965         for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
8966             reservedmarshal_VkPresentRegionKHR(
8967                 vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i), ptr);
8968         }
8969     }
8970 }
8971 
8972 #endif
8973 #ifdef VK_KHR_descriptor_update_template
8974 #endif
8975 #ifdef VK_KHR_imageless_framebuffer
8976 #endif
8977 #ifdef VK_KHR_create_renderpass2
8978 #endif
8979 #ifdef VK_KHR_shared_presentable_image
reservedmarshal_VkSharedPresentSurfaceCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSharedPresentSurfaceCapabilitiesKHR * forMarshaling,uint8_t ** ptr)8980 void reservedmarshal_VkSharedPresentSurfaceCapabilitiesKHR(
8981     VulkanStreamGuest* vkStream, VkStructureType rootType,
8982     const VkSharedPresentSurfaceCapabilitiesKHR* forMarshaling, uint8_t** ptr) {
8983     (void)vkStream;
8984     (void)rootType;
8985     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8986     *ptr += sizeof(VkStructureType);
8987     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8988         rootType = forMarshaling->sType;
8989     }
8990     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8991     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->sharedPresentSupportedUsageFlags,
8992            sizeof(VkImageUsageFlags));
8993     *ptr += sizeof(VkImageUsageFlags);
8994 }
8995 
8996 #endif
8997 #ifdef VK_KHR_external_fence_capabilities
8998 #endif
8999 #ifdef VK_KHR_external_fence
9000 #endif
9001 #ifdef VK_KHR_external_fence_win32
reservedmarshal_VkImportFenceWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportFenceWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)9002 void reservedmarshal_VkImportFenceWin32HandleInfoKHR(
9003     VulkanStreamGuest* vkStream, VkStructureType rootType,
9004     const VkImportFenceWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
9005     (void)vkStream;
9006     (void)rootType;
9007     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9008     *ptr += sizeof(VkStructureType);
9009     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9010         rootType = forMarshaling->sType;
9011     }
9012     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9013     uint64_t cgen_var_0;
9014     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
9015     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9016     *ptr += 1 * 8;
9017     memcpy(*ptr, (VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
9018     *ptr += sizeof(VkFenceImportFlags);
9019     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
9020            sizeof(VkExternalFenceHandleTypeFlagBits));
9021     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
9022     memcpy(*ptr, (HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
9023     *ptr += sizeof(HANDLE);
9024     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
9025     *ptr += sizeof(LPCWSTR);
9026 }
9027 
reservedmarshal_VkExportFenceWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportFenceWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)9028 void reservedmarshal_VkExportFenceWin32HandleInfoKHR(
9029     VulkanStreamGuest* vkStream, VkStructureType rootType,
9030     const VkExportFenceWin32HandleInfoKHR* forMarshaling, uint8_t** ptr) {
9031     (void)vkStream;
9032     (void)rootType;
9033     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9034     *ptr += sizeof(VkStructureType);
9035     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9036         rootType = forMarshaling->sType;
9037     }
9038     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9039     // WARNING PTR CHECK
9040     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
9041     memcpy((*ptr), &cgen_var_0, 8);
9042     android::base::Stream::toBe64((uint8_t*)(*ptr));
9043     *ptr += 8;
9044     if (forMarshaling->pAttributes) {
9045         memcpy(*ptr, (const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes,
9046                sizeof(const SECURITY_ATTRIBUTES));
9047         *ptr += sizeof(const SECURITY_ATTRIBUTES);
9048     }
9049     memcpy(*ptr, (DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
9050     *ptr += sizeof(DWORD);
9051     memcpy(*ptr, (LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
9052     *ptr += sizeof(LPCWSTR);
9053 }
9054 
reservedmarshal_VkFenceGetWin32HandleInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceGetWin32HandleInfoKHR * forMarshaling,uint8_t ** ptr)9055 void reservedmarshal_VkFenceGetWin32HandleInfoKHR(VulkanStreamGuest* vkStream,
9056                                                   VkStructureType rootType,
9057                                                   const VkFenceGetWin32HandleInfoKHR* forMarshaling,
9058                                                   uint8_t** ptr) {
9059     (void)vkStream;
9060     (void)rootType;
9061     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9062     *ptr += sizeof(VkStructureType);
9063     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9064         rootType = forMarshaling->sType;
9065     }
9066     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9067     uint64_t cgen_var_0;
9068     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
9069     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9070     *ptr += 1 * 8;
9071     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
9072            sizeof(VkExternalFenceHandleTypeFlagBits));
9073     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
9074 }
9075 
9076 #endif
9077 #ifdef VK_KHR_external_fence_fd
reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportFenceFdInfoKHR * forMarshaling,uint8_t ** ptr)9078 void reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9079                                             const VkImportFenceFdInfoKHR* forMarshaling,
9080                                             uint8_t** ptr) {
9081     (void)vkStream;
9082     (void)rootType;
9083     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9084     *ptr += sizeof(VkStructureType);
9085     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9086         rootType = forMarshaling->sType;
9087     }
9088     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9089     uint64_t cgen_var_0;
9090     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
9091     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9092     *ptr += 1 * 8;
9093     memcpy(*ptr, (VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
9094     *ptr += sizeof(VkFenceImportFlags);
9095     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
9096            sizeof(VkExternalFenceHandleTypeFlagBits));
9097     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
9098     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
9099     *ptr += sizeof(int);
9100 }
9101 
reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceGetFdInfoKHR * forMarshaling,uint8_t ** ptr)9102 void reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9103                                          const VkFenceGetFdInfoKHR* forMarshaling, uint8_t** ptr) {
9104     (void)vkStream;
9105     (void)rootType;
9106     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9107     *ptr += sizeof(VkStructureType);
9108     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9109         rootType = forMarshaling->sType;
9110     }
9111     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9112     uint64_t cgen_var_0;
9113     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
9114     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9115     *ptr += 1 * 8;
9116     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
9117            sizeof(VkExternalFenceHandleTypeFlagBits));
9118     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
9119 }
9120 
9121 #endif
9122 #ifdef VK_KHR_performance_query
reservedmarshal_VkPhysicalDevicePerformanceQueryFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePerformanceQueryFeaturesKHR * forMarshaling,uint8_t ** ptr)9123 void reservedmarshal_VkPhysicalDevicePerformanceQueryFeaturesKHR(
9124     VulkanStreamGuest* vkStream, VkStructureType rootType,
9125     const VkPhysicalDevicePerformanceQueryFeaturesKHR* forMarshaling, uint8_t** ptr) {
9126     (void)vkStream;
9127     (void)rootType;
9128     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9129     *ptr += sizeof(VkStructureType);
9130     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9131         rootType = forMarshaling->sType;
9132     }
9133     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9134     memcpy(*ptr, (VkBool32*)&forMarshaling->performanceCounterQueryPools, sizeof(VkBool32));
9135     *ptr += sizeof(VkBool32);
9136     memcpy(*ptr, (VkBool32*)&forMarshaling->performanceCounterMultipleQueryPools, sizeof(VkBool32));
9137     *ptr += sizeof(VkBool32);
9138 }
9139 
reservedmarshal_VkPhysicalDevicePerformanceQueryPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePerformanceQueryPropertiesKHR * forMarshaling,uint8_t ** ptr)9140 void reservedmarshal_VkPhysicalDevicePerformanceQueryPropertiesKHR(
9141     VulkanStreamGuest* vkStream, VkStructureType rootType,
9142     const VkPhysicalDevicePerformanceQueryPropertiesKHR* forMarshaling, uint8_t** ptr) {
9143     (void)vkStream;
9144     (void)rootType;
9145     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9146     *ptr += sizeof(VkStructureType);
9147     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9148         rootType = forMarshaling->sType;
9149     }
9150     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9151     memcpy(*ptr, (VkBool32*)&forMarshaling->allowCommandBufferQueryCopies, sizeof(VkBool32));
9152     *ptr += sizeof(VkBool32);
9153 }
9154 
reservedmarshal_VkPerformanceCounterKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceCounterKHR * forMarshaling,uint8_t ** ptr)9155 void reservedmarshal_VkPerformanceCounterKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9156                                              const VkPerformanceCounterKHR* forMarshaling,
9157                                              uint8_t** ptr) {
9158     (void)vkStream;
9159     (void)rootType;
9160     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9161     *ptr += sizeof(VkStructureType);
9162     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9163         rootType = forMarshaling->sType;
9164     }
9165     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9166     memcpy(*ptr, (VkPerformanceCounterUnitKHR*)&forMarshaling->unit,
9167            sizeof(VkPerformanceCounterUnitKHR));
9168     *ptr += sizeof(VkPerformanceCounterUnitKHR);
9169     memcpy(*ptr, (VkPerformanceCounterScopeKHR*)&forMarshaling->scope,
9170            sizeof(VkPerformanceCounterScopeKHR));
9171     *ptr += sizeof(VkPerformanceCounterScopeKHR);
9172     memcpy(*ptr, (VkPerformanceCounterStorageKHR*)&forMarshaling->storage,
9173            sizeof(VkPerformanceCounterStorageKHR));
9174     *ptr += sizeof(VkPerformanceCounterStorageKHR);
9175     memcpy(*ptr, (uint8_t*)forMarshaling->uuid, VK_UUID_SIZE * sizeof(uint8_t));
9176     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
9177 }
9178 
reservedmarshal_VkPerformanceCounterDescriptionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceCounterDescriptionKHR * forMarshaling,uint8_t ** ptr)9179 void reservedmarshal_VkPerformanceCounterDescriptionKHR(
9180     VulkanStreamGuest* vkStream, VkStructureType rootType,
9181     const VkPerformanceCounterDescriptionKHR* forMarshaling, uint8_t** ptr) {
9182     (void)vkStream;
9183     (void)rootType;
9184     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9185     *ptr += sizeof(VkStructureType);
9186     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9187         rootType = forMarshaling->sType;
9188     }
9189     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9190     memcpy(*ptr, (VkPerformanceCounterDescriptionFlagsKHR*)&forMarshaling->flags,
9191            sizeof(VkPerformanceCounterDescriptionFlagsKHR));
9192     *ptr += sizeof(VkPerformanceCounterDescriptionFlagsKHR);
9193     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9194     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9195     memcpy(*ptr, (char*)forMarshaling->category, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9196     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9197     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9198     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9199 }
9200 
reservedmarshal_VkQueryPoolPerformanceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolPerformanceCreateInfoKHR * forMarshaling,uint8_t ** ptr)9201 void reservedmarshal_VkQueryPoolPerformanceCreateInfoKHR(
9202     VulkanStreamGuest* vkStream, VkStructureType rootType,
9203     const VkQueryPoolPerformanceCreateInfoKHR* forMarshaling, uint8_t** ptr) {
9204     (void)vkStream;
9205     (void)rootType;
9206     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9207     *ptr += sizeof(VkStructureType);
9208     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9209         rootType = forMarshaling->sType;
9210     }
9211     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9212     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
9213     *ptr += sizeof(uint32_t);
9214     memcpy(*ptr, (uint32_t*)&forMarshaling->counterIndexCount, sizeof(uint32_t));
9215     *ptr += sizeof(uint32_t);
9216     memcpy(*ptr, (const uint32_t*)forMarshaling->pCounterIndices,
9217            forMarshaling->counterIndexCount * sizeof(const uint32_t));
9218     *ptr += forMarshaling->counterIndexCount * sizeof(const uint32_t);
9219 }
9220 
reservedmarshal_VkPerformanceCounterResultKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceCounterResultKHR * forMarshaling,uint8_t ** ptr)9221 void reservedmarshal_VkPerformanceCounterResultKHR(
9222     VulkanStreamGuest* vkStream, VkStructureType rootType,
9223     const VkPerformanceCounterResultKHR* forMarshaling, uint8_t** ptr) {
9224     (void)vkStream;
9225     (void)rootType;
9226     memcpy(*ptr, (int32_t*)&forMarshaling->int32, sizeof(int32_t));
9227     *ptr += sizeof(int32_t);
9228 }
9229 
reservedmarshal_VkAcquireProfilingLockInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAcquireProfilingLockInfoKHR * forMarshaling,uint8_t ** ptr)9230 void reservedmarshal_VkAcquireProfilingLockInfoKHR(
9231     VulkanStreamGuest* vkStream, VkStructureType rootType,
9232     const VkAcquireProfilingLockInfoKHR* forMarshaling, uint8_t** ptr) {
9233     (void)vkStream;
9234     (void)rootType;
9235     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9236     *ptr += sizeof(VkStructureType);
9237     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9238         rootType = forMarshaling->sType;
9239     }
9240     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9241     memcpy(*ptr, (VkAcquireProfilingLockFlagsKHR*)&forMarshaling->flags,
9242            sizeof(VkAcquireProfilingLockFlagsKHR));
9243     *ptr += sizeof(VkAcquireProfilingLockFlagsKHR);
9244     memcpy(*ptr, (uint64_t*)&forMarshaling->timeout, sizeof(uint64_t));
9245     *ptr += sizeof(uint64_t);
9246 }
9247 
reservedmarshal_VkPerformanceQuerySubmitInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceQuerySubmitInfoKHR * forMarshaling,uint8_t ** ptr)9248 void reservedmarshal_VkPerformanceQuerySubmitInfoKHR(
9249     VulkanStreamGuest* vkStream, VkStructureType rootType,
9250     const VkPerformanceQuerySubmitInfoKHR* forMarshaling, uint8_t** ptr) {
9251     (void)vkStream;
9252     (void)rootType;
9253     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9254     *ptr += sizeof(VkStructureType);
9255     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9256         rootType = forMarshaling->sType;
9257     }
9258     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9259     memcpy(*ptr, (uint32_t*)&forMarshaling->counterPassIndex, sizeof(uint32_t));
9260     *ptr += sizeof(uint32_t);
9261 }
9262 
9263 #endif
9264 #ifdef VK_KHR_maintenance2
9265 #endif
9266 #ifdef VK_KHR_get_surface_capabilities2
reservedmarshal_VkPhysicalDeviceSurfaceInfo2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSurfaceInfo2KHR * forMarshaling,uint8_t ** ptr)9267 void reservedmarshal_VkPhysicalDeviceSurfaceInfo2KHR(
9268     VulkanStreamGuest* vkStream, VkStructureType rootType,
9269     const VkPhysicalDeviceSurfaceInfo2KHR* forMarshaling, uint8_t** ptr) {
9270     (void)vkStream;
9271     (void)rootType;
9272     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9273     *ptr += sizeof(VkStructureType);
9274     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9275         rootType = forMarshaling->sType;
9276     }
9277     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9278     uint64_t cgen_var_0;
9279     *&cgen_var_0 = get_host_u64_VkSurfaceKHR((*&forMarshaling->surface));
9280     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9281     *ptr += 1 * 8;
9282 }
9283 
reservedmarshal_VkSurfaceCapabilities2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceCapabilities2KHR * forMarshaling,uint8_t ** ptr)9284 void reservedmarshal_VkSurfaceCapabilities2KHR(VulkanStreamGuest* vkStream,
9285                                                VkStructureType rootType,
9286                                                const VkSurfaceCapabilities2KHR* forMarshaling,
9287                                                uint8_t** ptr) {
9288     (void)vkStream;
9289     (void)rootType;
9290     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9291     *ptr += sizeof(VkStructureType);
9292     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9293         rootType = forMarshaling->sType;
9294     }
9295     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9296     reservedmarshal_VkSurfaceCapabilitiesKHR(
9297         vkStream, rootType, (VkSurfaceCapabilitiesKHR*)(&forMarshaling->surfaceCapabilities), ptr);
9298 }
9299 
reservedmarshal_VkSurfaceFormat2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceFormat2KHR * forMarshaling,uint8_t ** ptr)9300 void reservedmarshal_VkSurfaceFormat2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9301                                          const VkSurfaceFormat2KHR* forMarshaling, uint8_t** ptr) {
9302     (void)vkStream;
9303     (void)rootType;
9304     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9305     *ptr += sizeof(VkStructureType);
9306     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9307         rootType = forMarshaling->sType;
9308     }
9309     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9310     reservedmarshal_VkSurfaceFormatKHR(vkStream, rootType,
9311                                        (VkSurfaceFormatKHR*)(&forMarshaling->surfaceFormat), ptr);
9312 }
9313 
9314 #endif
9315 #ifdef VK_KHR_variable_pointers
9316 #endif
9317 #ifdef VK_KHR_get_display_properties2
reservedmarshal_VkDisplayProperties2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayProperties2KHR * forMarshaling,uint8_t ** ptr)9318 void reservedmarshal_VkDisplayProperties2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9319                                              const VkDisplayProperties2KHR* forMarshaling,
9320                                              uint8_t** ptr) {
9321     (void)vkStream;
9322     (void)rootType;
9323     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9324     *ptr += sizeof(VkStructureType);
9325     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9326         rootType = forMarshaling->sType;
9327     }
9328     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9329     reservedmarshal_VkDisplayPropertiesKHR(
9330         vkStream, rootType, (VkDisplayPropertiesKHR*)(&forMarshaling->displayProperties), ptr);
9331 }
9332 
reservedmarshal_VkDisplayPlaneProperties2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPlaneProperties2KHR * forMarshaling,uint8_t ** ptr)9333 void reservedmarshal_VkDisplayPlaneProperties2KHR(VulkanStreamGuest* vkStream,
9334                                                   VkStructureType rootType,
9335                                                   const VkDisplayPlaneProperties2KHR* forMarshaling,
9336                                                   uint8_t** ptr) {
9337     (void)vkStream;
9338     (void)rootType;
9339     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9340     *ptr += sizeof(VkStructureType);
9341     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9342         rootType = forMarshaling->sType;
9343     }
9344     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9345     reservedmarshal_VkDisplayPlanePropertiesKHR(
9346         vkStream, rootType, (VkDisplayPlanePropertiesKHR*)(&forMarshaling->displayPlaneProperties),
9347         ptr);
9348 }
9349 
reservedmarshal_VkDisplayModeProperties2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayModeProperties2KHR * forMarshaling,uint8_t ** ptr)9350 void reservedmarshal_VkDisplayModeProperties2KHR(VulkanStreamGuest* vkStream,
9351                                                  VkStructureType rootType,
9352                                                  const VkDisplayModeProperties2KHR* forMarshaling,
9353                                                  uint8_t** ptr) {
9354     (void)vkStream;
9355     (void)rootType;
9356     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9357     *ptr += sizeof(VkStructureType);
9358     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9359         rootType = forMarshaling->sType;
9360     }
9361     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9362     reservedmarshal_VkDisplayModePropertiesKHR(
9363         vkStream, rootType, (VkDisplayModePropertiesKHR*)(&forMarshaling->displayModeProperties),
9364         ptr);
9365 }
9366 
reservedmarshal_VkDisplayPlaneInfo2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPlaneInfo2KHR * forMarshaling,uint8_t ** ptr)9367 void reservedmarshal_VkDisplayPlaneInfo2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9368                                             const VkDisplayPlaneInfo2KHR* forMarshaling,
9369                                             uint8_t** ptr) {
9370     (void)vkStream;
9371     (void)rootType;
9372     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9373     *ptr += sizeof(VkStructureType);
9374     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9375         rootType = forMarshaling->sType;
9376     }
9377     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9378     uint64_t cgen_var_0;
9379     *&cgen_var_0 = get_host_u64_VkDisplayModeKHR((*&forMarshaling->mode));
9380     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9381     *ptr += 1 * 8;
9382     memcpy(*ptr, (uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t));
9383     *ptr += sizeof(uint32_t);
9384 }
9385 
reservedmarshal_VkDisplayPlaneCapabilities2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPlaneCapabilities2KHR * forMarshaling,uint8_t ** ptr)9386 void reservedmarshal_VkDisplayPlaneCapabilities2KHR(
9387     VulkanStreamGuest* vkStream, VkStructureType rootType,
9388     const VkDisplayPlaneCapabilities2KHR* forMarshaling, uint8_t** ptr) {
9389     (void)vkStream;
9390     (void)rootType;
9391     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9392     *ptr += sizeof(VkStructureType);
9393     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9394         rootType = forMarshaling->sType;
9395     }
9396     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9397     reservedmarshal_VkDisplayPlaneCapabilitiesKHR(
9398         vkStream, rootType, (VkDisplayPlaneCapabilitiesKHR*)(&forMarshaling->capabilities), ptr);
9399 }
9400 
9401 #endif
9402 #ifdef VK_KHR_dedicated_allocation
9403 #endif
9404 #ifdef VK_KHR_storage_buffer_storage_class
9405 #endif
9406 #ifdef VK_KHR_relaxed_block_layout
9407 #endif
9408 #ifdef VK_KHR_get_memory_requirements2
9409 #endif
9410 #ifdef VK_KHR_image_format_list
9411 #endif
9412 #ifdef VK_KHR_sampler_ycbcr_conversion
9413 #endif
9414 #ifdef VK_KHR_bind_memory2
9415 #endif
9416 #ifdef VK_KHR_portability_subset
reservedmarshal_VkPhysicalDevicePortabilitySubsetFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePortabilitySubsetFeaturesKHR * forMarshaling,uint8_t ** ptr)9417 void reservedmarshal_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
9418     VulkanStreamGuest* vkStream, VkStructureType rootType,
9419     const VkPhysicalDevicePortabilitySubsetFeaturesKHR* forMarshaling, uint8_t** ptr) {
9420     (void)vkStream;
9421     (void)rootType;
9422     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9423     *ptr += sizeof(VkStructureType);
9424     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9425         rootType = forMarshaling->sType;
9426     }
9427     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9428     memcpy(*ptr, (VkBool32*)&forMarshaling->constantAlphaColorBlendFactors, sizeof(VkBool32));
9429     *ptr += sizeof(VkBool32);
9430     memcpy(*ptr, (VkBool32*)&forMarshaling->events, sizeof(VkBool32));
9431     *ptr += sizeof(VkBool32);
9432     memcpy(*ptr, (VkBool32*)&forMarshaling->imageViewFormatReinterpretation, sizeof(VkBool32));
9433     *ptr += sizeof(VkBool32);
9434     memcpy(*ptr, (VkBool32*)&forMarshaling->imageViewFormatSwizzle, sizeof(VkBool32));
9435     *ptr += sizeof(VkBool32);
9436     memcpy(*ptr, (VkBool32*)&forMarshaling->imageView2DOn3DImage, sizeof(VkBool32));
9437     *ptr += sizeof(VkBool32);
9438     memcpy(*ptr, (VkBool32*)&forMarshaling->multisampleArrayImage, sizeof(VkBool32));
9439     *ptr += sizeof(VkBool32);
9440     memcpy(*ptr, (VkBool32*)&forMarshaling->mutableComparisonSamplers, sizeof(VkBool32));
9441     *ptr += sizeof(VkBool32);
9442     memcpy(*ptr, (VkBool32*)&forMarshaling->pointPolygons, sizeof(VkBool32));
9443     *ptr += sizeof(VkBool32);
9444     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerMipLodBias, sizeof(VkBool32));
9445     *ptr += sizeof(VkBool32);
9446     memcpy(*ptr, (VkBool32*)&forMarshaling->separateStencilMaskRef, sizeof(VkBool32));
9447     *ptr += sizeof(VkBool32);
9448     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampleRateInterpolationFunctions,
9449            sizeof(VkBool32));
9450     *ptr += sizeof(VkBool32);
9451     memcpy(*ptr, (VkBool32*)&forMarshaling->tessellationIsolines, sizeof(VkBool32));
9452     *ptr += sizeof(VkBool32);
9453     memcpy(*ptr, (VkBool32*)&forMarshaling->tessellationPointMode, sizeof(VkBool32));
9454     *ptr += sizeof(VkBool32);
9455     memcpy(*ptr, (VkBool32*)&forMarshaling->triangleFans, sizeof(VkBool32));
9456     *ptr += sizeof(VkBool32);
9457     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeAccessBeyondStride, sizeof(VkBool32));
9458     *ptr += sizeof(VkBool32);
9459 }
9460 
reservedmarshal_VkPhysicalDevicePortabilitySubsetPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePortabilitySubsetPropertiesKHR * forMarshaling,uint8_t ** ptr)9461 void reservedmarshal_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
9462     VulkanStreamGuest* vkStream, VkStructureType rootType,
9463     const VkPhysicalDevicePortabilitySubsetPropertiesKHR* forMarshaling, uint8_t** ptr) {
9464     (void)vkStream;
9465     (void)rootType;
9466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9467     *ptr += sizeof(VkStructureType);
9468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9469         rootType = forMarshaling->sType;
9470     }
9471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9472     memcpy(*ptr, (uint32_t*)&forMarshaling->minVertexInputBindingStrideAlignment, sizeof(uint32_t));
9473     *ptr += sizeof(uint32_t);
9474 }
9475 
9476 #endif
9477 #ifdef VK_KHR_maintenance3
9478 #endif
9479 #ifdef VK_KHR_draw_indirect_count
9480 #endif
9481 #ifdef VK_KHR_shader_subgroup_extended_types
9482 #endif
9483 #ifdef VK_KHR_8bit_storage
9484 #endif
9485 #ifdef VK_KHR_shader_atomic_int64
9486 #endif
9487 #ifdef VK_KHR_shader_clock
reservedmarshal_VkPhysicalDeviceShaderClockFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderClockFeaturesKHR * forMarshaling,uint8_t ** ptr)9488 void reservedmarshal_VkPhysicalDeviceShaderClockFeaturesKHR(
9489     VulkanStreamGuest* vkStream, VkStructureType rootType,
9490     const VkPhysicalDeviceShaderClockFeaturesKHR* forMarshaling, uint8_t** ptr) {
9491     (void)vkStream;
9492     (void)rootType;
9493     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9494     *ptr += sizeof(VkStructureType);
9495     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9496         rootType = forMarshaling->sType;
9497     }
9498     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9499     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupClock, sizeof(VkBool32));
9500     *ptr += sizeof(VkBool32);
9501     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDeviceClock, sizeof(VkBool32));
9502     *ptr += sizeof(VkBool32);
9503 }
9504 
9505 #endif
9506 #ifdef VK_KHR_video_decode_h265
reservedmarshal_VkVideoDecodeH265ProfileInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265ProfileInfoKHR * forMarshaling,uint8_t ** ptr)9507 void reservedmarshal_VkVideoDecodeH265ProfileInfoKHR(
9508     VulkanStreamGuest* vkStream, VkStructureType rootType,
9509     const VkVideoDecodeH265ProfileInfoKHR* forMarshaling, uint8_t** ptr) {
9510     (void)vkStream;
9511     (void)rootType;
9512     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9513     *ptr += sizeof(VkStructureType);
9514     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9515         rootType = forMarshaling->sType;
9516     }
9517     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9518     memcpy(*ptr, (StdVideoH265ProfileIdc*)&forMarshaling->stdProfileIdc,
9519            sizeof(StdVideoH265ProfileIdc));
9520     *ptr += sizeof(StdVideoH265ProfileIdc);
9521 }
9522 
reservedmarshal_VkVideoDecodeH265CapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265CapabilitiesKHR * forMarshaling,uint8_t ** ptr)9523 void reservedmarshal_VkVideoDecodeH265CapabilitiesKHR(
9524     VulkanStreamGuest* vkStream, VkStructureType rootType,
9525     const VkVideoDecodeH265CapabilitiesKHR* forMarshaling, uint8_t** ptr) {
9526     (void)vkStream;
9527     (void)rootType;
9528     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9529     *ptr += sizeof(VkStructureType);
9530     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9531         rootType = forMarshaling->sType;
9532     }
9533     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9534     memcpy(*ptr, (StdVideoH265LevelIdc*)&forMarshaling->maxLevelIdc, sizeof(StdVideoH265LevelIdc));
9535     *ptr += sizeof(StdVideoH265LevelIdc);
9536 }
9537 
reservedmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265SessionParametersAddInfoKHR * forMarshaling,uint8_t ** ptr)9538 void reservedmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR(
9539     VulkanStreamGuest* vkStream, VkStructureType rootType,
9540     const VkVideoDecodeH265SessionParametersAddInfoKHR* forMarshaling, uint8_t** ptr) {
9541     (void)vkStream;
9542     (void)rootType;
9543     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9544     *ptr += sizeof(VkStructureType);
9545     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9546         rootType = forMarshaling->sType;
9547     }
9548     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9549     memcpy(*ptr, (uint32_t*)&forMarshaling->stdVPSCount, sizeof(uint32_t));
9550     *ptr += sizeof(uint32_t);
9551     memcpy(*ptr, (const StdVideoH265VideoParameterSet*)forMarshaling->pStdVPSs,
9552            forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet));
9553     *ptr += forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet);
9554     memcpy(*ptr, (uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t));
9555     *ptr += sizeof(uint32_t);
9556     memcpy(*ptr, (const StdVideoH265SequenceParameterSet*)forMarshaling->pStdSPSs,
9557            forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet));
9558     *ptr += forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet);
9559     memcpy(*ptr, (uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t));
9560     *ptr += sizeof(uint32_t);
9561     memcpy(*ptr, (const StdVideoH265PictureParameterSet*)forMarshaling->pStdPPSs,
9562            forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet));
9563     *ptr += forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet);
9564 }
9565 
reservedmarshal_VkVideoDecodeH265SessionParametersCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265SessionParametersCreateInfoKHR * forMarshaling,uint8_t ** ptr)9566 void reservedmarshal_VkVideoDecodeH265SessionParametersCreateInfoKHR(
9567     VulkanStreamGuest* vkStream, VkStructureType rootType,
9568     const VkVideoDecodeH265SessionParametersCreateInfoKHR* forMarshaling, uint8_t** ptr) {
9569     (void)vkStream;
9570     (void)rootType;
9571     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9572     *ptr += sizeof(VkStructureType);
9573     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9574         rootType = forMarshaling->sType;
9575     }
9576     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9577     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdVPSCount, sizeof(uint32_t));
9578     *ptr += sizeof(uint32_t);
9579     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t));
9580     *ptr += sizeof(uint32_t);
9581     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t));
9582     *ptr += sizeof(uint32_t);
9583     // WARNING PTR CHECK
9584     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo;
9585     memcpy((*ptr), &cgen_var_0, 8);
9586     android::base::Stream::toBe64((uint8_t*)(*ptr));
9587     *ptr += 8;
9588     if (forMarshaling->pParametersAddInfo) {
9589         reservedmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR(
9590             vkStream, rootType,
9591             (const VkVideoDecodeH265SessionParametersAddInfoKHR*)(forMarshaling
9592                                                                       ->pParametersAddInfo),
9593             ptr);
9594     }
9595 }
9596 
reservedmarshal_VkVideoDecodeH265PictureInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265PictureInfoKHR * forMarshaling,uint8_t ** ptr)9597 void reservedmarshal_VkVideoDecodeH265PictureInfoKHR(
9598     VulkanStreamGuest* vkStream, VkStructureType rootType,
9599     const VkVideoDecodeH265PictureInfoKHR* forMarshaling, uint8_t** ptr) {
9600     (void)vkStream;
9601     (void)rootType;
9602     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9603     *ptr += sizeof(VkStructureType);
9604     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9605         rootType = forMarshaling->sType;
9606     }
9607     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9608     memcpy(*ptr, (const StdVideoDecodeH265PictureInfo*)forMarshaling->pStdPictureInfo,
9609            sizeof(const StdVideoDecodeH265PictureInfo));
9610     *ptr += sizeof(const StdVideoDecodeH265PictureInfo);
9611     memcpy(*ptr, (uint32_t*)&forMarshaling->sliceSegmentCount, sizeof(uint32_t));
9612     *ptr += sizeof(uint32_t);
9613     memcpy(*ptr, (const uint32_t*)forMarshaling->pSliceSegmentOffsets,
9614            forMarshaling->sliceSegmentCount * sizeof(const uint32_t));
9615     *ptr += forMarshaling->sliceSegmentCount * sizeof(const uint32_t);
9616 }
9617 
reservedmarshal_VkVideoDecodeH265DpbSlotInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoDecodeH265DpbSlotInfoKHR * forMarshaling,uint8_t ** ptr)9618 void reservedmarshal_VkVideoDecodeH265DpbSlotInfoKHR(
9619     VulkanStreamGuest* vkStream, VkStructureType rootType,
9620     const VkVideoDecodeH265DpbSlotInfoKHR* forMarshaling, uint8_t** ptr) {
9621     (void)vkStream;
9622     (void)rootType;
9623     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9624     *ptr += sizeof(VkStructureType);
9625     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9626         rootType = forMarshaling->sType;
9627     }
9628     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9629     memcpy(*ptr, (const StdVideoDecodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo,
9630            sizeof(const StdVideoDecodeH265ReferenceInfo));
9631     *ptr += sizeof(const StdVideoDecodeH265ReferenceInfo);
9632 }
9633 
9634 #endif
9635 #ifdef VK_KHR_global_priority
reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueGlobalPriorityCreateInfoKHR * forMarshaling,uint8_t ** ptr)9636 void reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfoKHR(
9637     VulkanStreamGuest* vkStream, VkStructureType rootType,
9638     const VkDeviceQueueGlobalPriorityCreateInfoKHR* forMarshaling, uint8_t** ptr) {
9639     (void)vkStream;
9640     (void)rootType;
9641     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9642     *ptr += sizeof(VkStructureType);
9643     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9644         rootType = forMarshaling->sType;
9645     }
9646     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9647     memcpy(*ptr, (VkQueueGlobalPriorityKHR*)&forMarshaling->globalPriority,
9648            sizeof(VkQueueGlobalPriorityKHR));
9649     *ptr += sizeof(VkQueueGlobalPriorityKHR);
9650 }
9651 
reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR * forMarshaling,uint8_t ** ptr)9652 void reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(
9653     VulkanStreamGuest* vkStream, VkStructureType rootType,
9654     const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* forMarshaling, uint8_t** ptr) {
9655     (void)vkStream;
9656     (void)rootType;
9657     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9658     *ptr += sizeof(VkStructureType);
9659     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9660         rootType = forMarshaling->sType;
9661     }
9662     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9663     memcpy(*ptr, (VkBool32*)&forMarshaling->globalPriorityQuery, sizeof(VkBool32));
9664     *ptr += sizeof(VkBool32);
9665 }
9666 
reservedmarshal_VkQueueFamilyGlobalPriorityPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyGlobalPriorityPropertiesKHR * forMarshaling,uint8_t ** ptr)9667 void reservedmarshal_VkQueueFamilyGlobalPriorityPropertiesKHR(
9668     VulkanStreamGuest* vkStream, VkStructureType rootType,
9669     const VkQueueFamilyGlobalPriorityPropertiesKHR* forMarshaling, uint8_t** ptr) {
9670     (void)vkStream;
9671     (void)rootType;
9672     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9673     *ptr += sizeof(VkStructureType);
9674     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9675         rootType = forMarshaling->sType;
9676     }
9677     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9678     memcpy(*ptr, (uint32_t*)&forMarshaling->priorityCount, sizeof(uint32_t));
9679     *ptr += sizeof(uint32_t);
9680     memcpy(*ptr, (VkQueueGlobalPriorityKHR*)forMarshaling->priorities,
9681            VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR));
9682     *ptr += VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR);
9683 }
9684 
9685 #endif
9686 #ifdef VK_KHR_driver_properties
9687 #endif
9688 #ifdef VK_KHR_shader_float_controls
9689 #endif
9690 #ifdef VK_KHR_depth_stencil_resolve
9691 #endif
9692 #ifdef VK_KHR_swapchain_mutable_format
9693 #endif
9694 #ifdef VK_KHR_timeline_semaphore
9695 #endif
9696 #ifdef VK_KHR_vulkan_memory_model
9697 #endif
9698 #ifdef VK_KHR_shader_terminate_invocation
9699 #endif
9700 #ifdef VK_KHR_fragment_shading_rate
reservedmarshal_VkFragmentShadingRateAttachmentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFragmentShadingRateAttachmentInfoKHR * forMarshaling,uint8_t ** ptr)9701 void reservedmarshal_VkFragmentShadingRateAttachmentInfoKHR(
9702     VulkanStreamGuest* vkStream, VkStructureType rootType,
9703     const VkFragmentShadingRateAttachmentInfoKHR* forMarshaling, uint8_t** ptr) {
9704     (void)vkStream;
9705     (void)rootType;
9706     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9707     *ptr += sizeof(VkStructureType);
9708     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9709         rootType = forMarshaling->sType;
9710     }
9711     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9712     // WARNING PTR CHECK
9713     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFragmentShadingRateAttachment;
9714     memcpy((*ptr), &cgen_var_0, 8);
9715     android::base::Stream::toBe64((uint8_t*)(*ptr));
9716     *ptr += 8;
9717     if (forMarshaling->pFragmentShadingRateAttachment) {
9718         reservedmarshal_VkAttachmentReference2(
9719             vkStream, rootType,
9720             (const VkAttachmentReference2*)(forMarshaling->pFragmentShadingRateAttachment), ptr);
9721     }
9722     reservedmarshal_VkExtent2D(vkStream, rootType,
9723                                (VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize), ptr);
9724 }
9725 
reservedmarshal_VkPipelineFragmentShadingRateStateCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineFragmentShadingRateStateCreateInfoKHR * forMarshaling,uint8_t ** ptr)9726 void reservedmarshal_VkPipelineFragmentShadingRateStateCreateInfoKHR(
9727     VulkanStreamGuest* vkStream, VkStructureType rootType,
9728     const VkPipelineFragmentShadingRateStateCreateInfoKHR* forMarshaling, uint8_t** ptr) {
9729     (void)vkStream;
9730     (void)rootType;
9731     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9732     *ptr += sizeof(VkStructureType);
9733     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9734         rootType = forMarshaling->sType;
9735     }
9736     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9737     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->fragmentSize),
9738                                ptr);
9739     memcpy(*ptr, (VkFragmentShadingRateCombinerOpKHR*)forMarshaling->combinerOps,
9740            2 * sizeof(VkFragmentShadingRateCombinerOpKHR));
9741     *ptr += 2 * sizeof(VkFragmentShadingRateCombinerOpKHR);
9742 }
9743 
reservedmarshal_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateFeaturesKHR * forMarshaling,uint8_t ** ptr)9744 void reservedmarshal_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
9745     VulkanStreamGuest* vkStream, VkStructureType rootType,
9746     const VkPhysicalDeviceFragmentShadingRateFeaturesKHR* forMarshaling, uint8_t** ptr) {
9747     (void)vkStream;
9748     (void)rootType;
9749     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9750     *ptr += sizeof(VkStructureType);
9751     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9752         rootType = forMarshaling->sType;
9753     }
9754     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9755     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineFragmentShadingRate, sizeof(VkBool32));
9756     *ptr += sizeof(VkBool32);
9757     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveFragmentShadingRate, sizeof(VkBool32));
9758     *ptr += sizeof(VkBool32);
9759     memcpy(*ptr, (VkBool32*)&forMarshaling->attachmentFragmentShadingRate, sizeof(VkBool32));
9760     *ptr += sizeof(VkBool32);
9761 }
9762 
reservedmarshal_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRatePropertiesKHR * forMarshaling,uint8_t ** ptr)9763 void reservedmarshal_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
9764     VulkanStreamGuest* vkStream, VkStructureType rootType,
9765     const VkPhysicalDeviceFragmentShadingRatePropertiesKHR* forMarshaling, uint8_t** ptr) {
9766     (void)vkStream;
9767     (void)rootType;
9768     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9769     *ptr += sizeof(VkStructureType);
9770     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9771         rootType = forMarshaling->sType;
9772     }
9773     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9774     reservedmarshal_VkExtent2D(
9775         vkStream, rootType,
9776         (VkExtent2D*)(&forMarshaling->minFragmentShadingRateAttachmentTexelSize), ptr);
9777     reservedmarshal_VkExtent2D(
9778         vkStream, rootType,
9779         (VkExtent2D*)(&forMarshaling->maxFragmentShadingRateAttachmentTexelSize), ptr);
9780     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentShadingRateAttachmentTexelSizeAspectRatio,
9781            sizeof(uint32_t));
9782     *ptr += sizeof(uint32_t);
9783     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveFragmentShadingRateWithMultipleViewports,
9784            sizeof(VkBool32));
9785     *ptr += sizeof(VkBool32);
9786     memcpy(*ptr, (VkBool32*)&forMarshaling->layeredShadingRateAttachments, sizeof(VkBool32));
9787     *ptr += sizeof(VkBool32);
9788     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateNonTrivialCombinerOps,
9789            sizeof(VkBool32));
9790     *ptr += sizeof(VkBool32);
9791     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxFragmentSize),
9792                                ptr);
9793     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentSizeAspectRatio, sizeof(uint32_t));
9794     *ptr += sizeof(uint32_t);
9795     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentShadingRateCoverageSamples,
9796            sizeof(uint32_t));
9797     *ptr += sizeof(uint32_t);
9798     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->maxFragmentShadingRateRasterizationSamples,
9799            sizeof(VkSampleCountFlagBits));
9800     *ptr += sizeof(VkSampleCountFlagBits);
9801     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithShaderDepthStencilWrites,
9802            sizeof(VkBool32));
9803     *ptr += sizeof(VkBool32);
9804     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithSampleMask, sizeof(VkBool32));
9805     *ptr += sizeof(VkBool32);
9806     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithShaderSampleMask,
9807            sizeof(VkBool32));
9808     *ptr += sizeof(VkBool32);
9809     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithConservativeRasterization,
9810            sizeof(VkBool32));
9811     *ptr += sizeof(VkBool32);
9812     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithFragmentShaderInterlock,
9813            sizeof(VkBool32));
9814     *ptr += sizeof(VkBool32);
9815     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateWithCustomSampleLocations,
9816            sizeof(VkBool32));
9817     *ptr += sizeof(VkBool32);
9818     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateStrictMultiplyCombiner,
9819            sizeof(VkBool32));
9820     *ptr += sizeof(VkBool32);
9821 }
9822 
reservedmarshal_VkPhysicalDeviceFragmentShadingRateKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateKHR * forMarshaling,uint8_t ** ptr)9823 void reservedmarshal_VkPhysicalDeviceFragmentShadingRateKHR(
9824     VulkanStreamGuest* vkStream, VkStructureType rootType,
9825     const VkPhysicalDeviceFragmentShadingRateKHR* forMarshaling, uint8_t** ptr) {
9826     (void)vkStream;
9827     (void)rootType;
9828     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9829     *ptr += sizeof(VkStructureType);
9830     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9831         rootType = forMarshaling->sType;
9832     }
9833     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9834     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
9835     *ptr += sizeof(VkSampleCountFlags);
9836     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->fragmentSize),
9837                                ptr);
9838 }
9839 
9840 #endif
9841 #ifdef VK_KHR_spirv_1_4
9842 #endif
9843 #ifdef VK_KHR_surface_protected_capabilities
reservedmarshal_VkSurfaceProtectedCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceProtectedCapabilitiesKHR * forMarshaling,uint8_t ** ptr)9844 void reservedmarshal_VkSurfaceProtectedCapabilitiesKHR(
9845     VulkanStreamGuest* vkStream, VkStructureType rootType,
9846     const VkSurfaceProtectedCapabilitiesKHR* forMarshaling, uint8_t** ptr) {
9847     (void)vkStream;
9848     (void)rootType;
9849     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9850     *ptr += sizeof(VkStructureType);
9851     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9852         rootType = forMarshaling->sType;
9853     }
9854     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9855     memcpy(*ptr, (VkBool32*)&forMarshaling->supportsProtected, sizeof(VkBool32));
9856     *ptr += sizeof(VkBool32);
9857 }
9858 
9859 #endif
9860 #ifdef VK_KHR_separate_depth_stencil_layouts
9861 #endif
9862 #ifdef VK_KHR_present_wait
reservedmarshal_VkPhysicalDevicePresentWaitFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentWaitFeaturesKHR * forMarshaling,uint8_t ** ptr)9863 void reservedmarshal_VkPhysicalDevicePresentWaitFeaturesKHR(
9864     VulkanStreamGuest* vkStream, VkStructureType rootType,
9865     const VkPhysicalDevicePresentWaitFeaturesKHR* forMarshaling, uint8_t** ptr) {
9866     (void)vkStream;
9867     (void)rootType;
9868     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9869     *ptr += sizeof(VkStructureType);
9870     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9871         rootType = forMarshaling->sType;
9872     }
9873     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9874     memcpy(*ptr, (VkBool32*)&forMarshaling->presentWait, sizeof(VkBool32));
9875     *ptr += sizeof(VkBool32);
9876 }
9877 
9878 #endif
9879 #ifdef VK_KHR_uniform_buffer_standard_layout
9880 #endif
9881 #ifdef VK_KHR_buffer_device_address
9882 #endif
9883 #ifdef VK_KHR_deferred_host_operations
9884 #endif
9885 #ifdef VK_KHR_pipeline_executable_properties
reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forMarshaling,uint8_t ** ptr)9886 void reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
9887     VulkanStreamGuest* vkStream, VkStructureType rootType,
9888     const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling, uint8_t** ptr) {
9889     (void)vkStream;
9890     (void)rootType;
9891     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9892     *ptr += sizeof(VkStructureType);
9893     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9894         rootType = forMarshaling->sType;
9895     }
9896     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9897     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineExecutableInfo, sizeof(VkBool32));
9898     *ptr += sizeof(VkBool32);
9899 }
9900 
reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInfoKHR * forMarshaling,uint8_t ** ptr)9901 void reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
9902                                        const VkPipelineInfoKHR* forMarshaling, uint8_t** ptr) {
9903     (void)vkStream;
9904     (void)rootType;
9905     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9906     *ptr += sizeof(VkStructureType);
9907     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9908         rootType = forMarshaling->sType;
9909     }
9910     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9911     uint64_t cgen_var_0;
9912     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
9913     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9914     *ptr += 1 * 8;
9915 }
9916 
reservedmarshal_VkPipelineExecutablePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * forMarshaling,uint8_t ** ptr)9917 void reservedmarshal_VkPipelineExecutablePropertiesKHR(
9918     VulkanStreamGuest* vkStream, VkStructureType rootType,
9919     const VkPipelineExecutablePropertiesKHR* forMarshaling, uint8_t** ptr) {
9920     (void)vkStream;
9921     (void)rootType;
9922     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9923     *ptr += sizeof(VkStructureType);
9924     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9925         rootType = forMarshaling->sType;
9926     }
9927     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9928     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
9929     *ptr += sizeof(VkShaderStageFlags);
9930     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9931     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9932     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9933     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9934     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
9935     *ptr += sizeof(uint32_t);
9936 }
9937 
reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInfoKHR * forMarshaling,uint8_t ** ptr)9938 void reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest* vkStream,
9939                                                  VkStructureType rootType,
9940                                                  const VkPipelineExecutableInfoKHR* forMarshaling,
9941                                                  uint8_t** ptr) {
9942     (void)vkStream;
9943     (void)rootType;
9944     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9945     *ptr += sizeof(VkStructureType);
9946     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9947         rootType = forMarshaling->sType;
9948     }
9949     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9950     uint64_t cgen_var_0;
9951     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
9952     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9953     *ptr += 1 * 8;
9954     memcpy(*ptr, (uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
9955     *ptr += sizeof(uint32_t);
9956 }
9957 
reservedmarshal_VkPipelineExecutableStatisticValueKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * forMarshaling,uint8_t ** ptr)9958 void reservedmarshal_VkPipelineExecutableStatisticValueKHR(
9959     VulkanStreamGuest* vkStream, VkStructureType rootType,
9960     const VkPipelineExecutableStatisticValueKHR* forMarshaling, uint8_t** ptr) {
9961     (void)vkStream;
9962     (void)rootType;
9963     memcpy(*ptr, (VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
9964     *ptr += sizeof(VkBool32);
9965 }
9966 
reservedmarshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * forMarshaling,uint8_t ** ptr)9967 void reservedmarshal_VkPipelineExecutableStatisticKHR(
9968     VulkanStreamGuest* vkStream, VkStructureType rootType,
9969     const VkPipelineExecutableStatisticKHR* forMarshaling, uint8_t** ptr) {
9970     (void)vkStream;
9971     (void)rootType;
9972     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9973     *ptr += sizeof(VkStructureType);
9974     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9975         rootType = forMarshaling->sType;
9976     }
9977     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9978     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9979     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9980     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
9981     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
9982     memcpy(*ptr, (VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
9983            sizeof(VkPipelineExecutableStatisticFormatKHR));
9984     *ptr += sizeof(VkPipelineExecutableStatisticFormatKHR);
9985     reservedmarshal_VkPipelineExecutableStatisticValueKHR(
9986         vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value), ptr);
9987 }
9988 
reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * forMarshaling,uint8_t ** ptr)9989 void reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(
9990     VulkanStreamGuest* vkStream, VkStructureType rootType,
9991     const VkPipelineExecutableInternalRepresentationKHR* forMarshaling, uint8_t** ptr) {
9992     (void)vkStream;
9993     (void)rootType;
9994     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9995     *ptr += sizeof(VkStructureType);
9996     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9997         rootType = forMarshaling->sType;
9998     }
9999     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10000     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
10001     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
10002     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
10003     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
10004     memcpy(*ptr, (VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
10005     *ptr += sizeof(VkBool32);
10006     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
10007     memcpy((*ptr), &cgen_var_0, 8);
10008     android::base::Stream::toBe64((uint8_t*)(*ptr));
10009     *ptr += 8;
10010     // WARNING PTR CHECK
10011     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
10012     memcpy((*ptr), &cgen_var_1, 8);
10013     android::base::Stream::toBe64((uint8_t*)(*ptr));
10014     *ptr += 8;
10015     if (forMarshaling->pData) {
10016         memcpy(*ptr, (void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
10017         *ptr += forMarshaling->dataSize * sizeof(uint8_t);
10018     }
10019 }
10020 
10021 #endif
10022 #ifdef VK_KHR_map_memory2
reservedmarshal_VkMemoryMapInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryMapInfoKHR * forMarshaling,uint8_t ** ptr)10023 void reservedmarshal_VkMemoryMapInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10024                                         const VkMemoryMapInfoKHR* forMarshaling, uint8_t** ptr) {
10025     (void)vkStream;
10026     (void)rootType;
10027     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10028     *ptr += sizeof(VkStructureType);
10029     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10030         rootType = forMarshaling->sType;
10031     }
10032     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10033     memcpy(*ptr, (VkMemoryMapFlags*)&forMarshaling->flags, sizeof(VkMemoryMapFlags));
10034     *ptr += sizeof(VkMemoryMapFlags);
10035     uint64_t cgen_var_0;
10036     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
10037     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
10038     *ptr += 1 * 8;
10039     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
10040     *ptr += sizeof(VkDeviceSize);
10041     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
10042     *ptr += sizeof(VkDeviceSize);
10043 }
10044 
reservedmarshal_VkMemoryUnmapInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryUnmapInfoKHR * forMarshaling,uint8_t ** ptr)10045 void reservedmarshal_VkMemoryUnmapInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10046                                           const VkMemoryUnmapInfoKHR* forMarshaling,
10047                                           uint8_t** ptr) {
10048     (void)vkStream;
10049     (void)rootType;
10050     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10051     *ptr += sizeof(VkStructureType);
10052     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10053         rootType = forMarshaling->sType;
10054     }
10055     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10056     memcpy(*ptr, (VkMemoryUnmapFlagsKHR*)&forMarshaling->flags, sizeof(VkMemoryUnmapFlagsKHR));
10057     *ptr += sizeof(VkMemoryUnmapFlagsKHR);
10058     uint64_t cgen_var_0;
10059     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
10060     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
10061     *ptr += 1 * 8;
10062 }
10063 
10064 #endif
10065 #ifdef VK_KHR_shader_integer_dot_product
10066 #endif
10067 #ifdef VK_KHR_pipeline_library
reservedmarshal_VkPipelineLibraryCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineLibraryCreateInfoKHR * forMarshaling,uint8_t ** ptr)10068 void reservedmarshal_VkPipelineLibraryCreateInfoKHR(
10069     VulkanStreamGuest* vkStream, VkStructureType rootType,
10070     const VkPipelineLibraryCreateInfoKHR* forMarshaling, uint8_t** ptr) {
10071     (void)vkStream;
10072     (void)rootType;
10073     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10074     *ptr += sizeof(VkStructureType);
10075     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10076         rootType = forMarshaling->sType;
10077     }
10078     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10079     memcpy(*ptr, (uint32_t*)&forMarshaling->libraryCount, sizeof(uint32_t));
10080     *ptr += sizeof(uint32_t);
10081     if (forMarshaling->libraryCount) {
10082         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
10083         if (forMarshaling) {
10084             for (uint32_t k = 0; k < forMarshaling->libraryCount; ++k) {
10085                 uint64_t tmpval = get_host_u64_VkPipeline(forMarshaling->pLibraries[k]);
10086                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
10087             }
10088         }
10089         *ptr += 8 * forMarshaling->libraryCount;
10090     }
10091 }
10092 
10093 #endif
10094 #ifdef VK_KHR_shader_non_semantic_info
10095 #endif
10096 #ifdef VK_KHR_present_id
reservedmarshal_VkPresentIdKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentIdKHR * forMarshaling,uint8_t ** ptr)10097 void reservedmarshal_VkPresentIdKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10098                                     const VkPresentIdKHR* forMarshaling, uint8_t** ptr) {
10099     (void)vkStream;
10100     (void)rootType;
10101     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10102     *ptr += sizeof(VkStructureType);
10103     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10104         rootType = forMarshaling->sType;
10105     }
10106     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10107     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
10108     *ptr += sizeof(uint32_t);
10109     // WARNING PTR CHECK
10110     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pPresentIds;
10111     memcpy((*ptr), &cgen_var_0, 8);
10112     android::base::Stream::toBe64((uint8_t*)(*ptr));
10113     *ptr += 8;
10114     if (forMarshaling->pPresentIds) {
10115         memcpy(*ptr, (const uint64_t*)forMarshaling->pPresentIds,
10116                forMarshaling->swapchainCount * sizeof(const uint64_t));
10117         *ptr += forMarshaling->swapchainCount * sizeof(const uint64_t);
10118     }
10119 }
10120 
reservedmarshal_VkPhysicalDevicePresentIdFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentIdFeaturesKHR * forMarshaling,uint8_t ** ptr)10121 void reservedmarshal_VkPhysicalDevicePresentIdFeaturesKHR(
10122     VulkanStreamGuest* vkStream, VkStructureType rootType,
10123     const VkPhysicalDevicePresentIdFeaturesKHR* forMarshaling, uint8_t** ptr) {
10124     (void)vkStream;
10125     (void)rootType;
10126     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10127     *ptr += sizeof(VkStructureType);
10128     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10129         rootType = forMarshaling->sType;
10130     }
10131     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10132     memcpy(*ptr, (VkBool32*)&forMarshaling->presentId, sizeof(VkBool32));
10133     *ptr += sizeof(VkBool32);
10134 }
10135 
10136 #endif
10137 #ifdef VK_KHR_video_encode_queue
reservedmarshal_VkVideoEncodeInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeInfoKHR * forMarshaling,uint8_t ** ptr)10138 void reservedmarshal_VkVideoEncodeInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10139                                           const VkVideoEncodeInfoKHR* forMarshaling,
10140                                           uint8_t** ptr) {
10141     (void)vkStream;
10142     (void)rootType;
10143     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10144     *ptr += sizeof(VkStructureType);
10145     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10146         rootType = forMarshaling->sType;
10147     }
10148     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10149     memcpy(*ptr, (VkVideoEncodeFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoEncodeFlagsKHR));
10150     *ptr += sizeof(VkVideoEncodeFlagsKHR);
10151     memcpy(*ptr, (uint32_t*)&forMarshaling->qualityLevel, sizeof(uint32_t));
10152     *ptr += sizeof(uint32_t);
10153     uint64_t cgen_var_0;
10154     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->dstBuffer));
10155     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
10156     *ptr += 1 * 8;
10157     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstBufferOffset, sizeof(VkDeviceSize));
10158     *ptr += sizeof(VkDeviceSize);
10159     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstBufferRange, sizeof(VkDeviceSize));
10160     *ptr += sizeof(VkDeviceSize);
10161     reservedmarshal_VkVideoPictureResourceInfoKHR(
10162         vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forMarshaling->srcPictureResource),
10163         ptr);
10164     // WARNING PTR CHECK
10165     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSetupReferenceSlot;
10166     memcpy((*ptr), &cgen_var_1, 8);
10167     android::base::Stream::toBe64((uint8_t*)(*ptr));
10168     *ptr += 8;
10169     if (forMarshaling->pSetupReferenceSlot) {
10170         reservedmarshal_VkVideoReferenceSlotInfoKHR(
10171             vkStream, rootType,
10172             (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pSetupReferenceSlot), ptr);
10173     }
10174     memcpy(*ptr, (uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t));
10175     *ptr += sizeof(uint32_t);
10176     for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) {
10177         reservedmarshal_VkVideoReferenceSlotInfoKHR(
10178             vkStream, rootType,
10179             (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i), ptr);
10180     }
10181     memcpy(*ptr, (uint32_t*)&forMarshaling->precedingExternallyEncodedBytes, sizeof(uint32_t));
10182     *ptr += sizeof(uint32_t);
10183 }
10184 
reservedmarshal_VkVideoEncodeCapabilitiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeCapabilitiesKHR * forMarshaling,uint8_t ** ptr)10185 void reservedmarshal_VkVideoEncodeCapabilitiesKHR(VulkanStreamGuest* vkStream,
10186                                                   VkStructureType rootType,
10187                                                   const VkVideoEncodeCapabilitiesKHR* forMarshaling,
10188                                                   uint8_t** ptr) {
10189     (void)vkStream;
10190     (void)rootType;
10191     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10192     *ptr += sizeof(VkStructureType);
10193     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10194         rootType = forMarshaling->sType;
10195     }
10196     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10197     memcpy(*ptr, (VkVideoEncodeCapabilityFlagsKHR*)&forMarshaling->flags,
10198            sizeof(VkVideoEncodeCapabilityFlagsKHR));
10199     *ptr += sizeof(VkVideoEncodeCapabilityFlagsKHR);
10200     memcpy(*ptr, (VkVideoEncodeRateControlModeFlagsKHR*)&forMarshaling->rateControlModes,
10201            sizeof(VkVideoEncodeRateControlModeFlagsKHR));
10202     *ptr += sizeof(VkVideoEncodeRateControlModeFlagsKHR);
10203     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRateControlLayers, sizeof(uint32_t));
10204     *ptr += sizeof(uint32_t);
10205     memcpy(*ptr, (uint32_t*)&forMarshaling->maxQualityLevels, sizeof(uint32_t));
10206     *ptr += sizeof(uint32_t);
10207     reservedmarshal_VkExtent2D(vkStream, rootType,
10208                                (VkExtent2D*)(&forMarshaling->inputImageDataFillAlignment), ptr);
10209     memcpy(*ptr, (VkVideoEncodeFeedbackFlagsKHR*)&forMarshaling->supportedEncodeFeedbackFlags,
10210            sizeof(VkVideoEncodeFeedbackFlagsKHR));
10211     *ptr += sizeof(VkVideoEncodeFeedbackFlagsKHR);
10212 }
10213 
reservedmarshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR * forMarshaling,uint8_t ** ptr)10214 void reservedmarshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(
10215     VulkanStreamGuest* vkStream, VkStructureType rootType,
10216     const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR* forMarshaling, uint8_t** ptr) {
10217     (void)vkStream;
10218     (void)rootType;
10219     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10220     *ptr += sizeof(VkStructureType);
10221     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10222         rootType = forMarshaling->sType;
10223     }
10224     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10225     memcpy(*ptr, (VkVideoEncodeFeedbackFlagsKHR*)&forMarshaling->encodeFeedbackFlags,
10226            sizeof(VkVideoEncodeFeedbackFlagsKHR));
10227     *ptr += sizeof(VkVideoEncodeFeedbackFlagsKHR);
10228 }
10229 
reservedmarshal_VkVideoEncodeUsageInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeUsageInfoKHR * forMarshaling,uint8_t ** ptr)10230 void reservedmarshal_VkVideoEncodeUsageInfoKHR(VulkanStreamGuest* vkStream,
10231                                                VkStructureType rootType,
10232                                                const VkVideoEncodeUsageInfoKHR* forMarshaling,
10233                                                uint8_t** ptr) {
10234     (void)vkStream;
10235     (void)rootType;
10236     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10237     *ptr += sizeof(VkStructureType);
10238     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10239         rootType = forMarshaling->sType;
10240     }
10241     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10242     memcpy(*ptr, (VkVideoEncodeUsageFlagsKHR*)&forMarshaling->videoUsageHints,
10243            sizeof(VkVideoEncodeUsageFlagsKHR));
10244     *ptr += sizeof(VkVideoEncodeUsageFlagsKHR);
10245     memcpy(*ptr, (VkVideoEncodeContentFlagsKHR*)&forMarshaling->videoContentHints,
10246            sizeof(VkVideoEncodeContentFlagsKHR));
10247     *ptr += sizeof(VkVideoEncodeContentFlagsKHR);
10248     memcpy(*ptr, (VkVideoEncodeTuningModeKHR*)&forMarshaling->tuningMode,
10249            sizeof(VkVideoEncodeTuningModeKHR));
10250     *ptr += sizeof(VkVideoEncodeTuningModeKHR);
10251 }
10252 
reservedmarshal_VkVideoEncodeRateControlLayerInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeRateControlLayerInfoKHR * forMarshaling,uint8_t ** ptr)10253 void reservedmarshal_VkVideoEncodeRateControlLayerInfoKHR(
10254     VulkanStreamGuest* vkStream, VkStructureType rootType,
10255     const VkVideoEncodeRateControlLayerInfoKHR* forMarshaling, uint8_t** ptr) {
10256     (void)vkStream;
10257     (void)rootType;
10258     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10259     *ptr += sizeof(VkStructureType);
10260     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10261         rootType = forMarshaling->sType;
10262     }
10263     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10264     memcpy(*ptr, (uint64_t*)&forMarshaling->averageBitrate, sizeof(uint64_t));
10265     *ptr += sizeof(uint64_t);
10266     memcpy(*ptr, (uint64_t*)&forMarshaling->maxBitrate, sizeof(uint64_t));
10267     *ptr += sizeof(uint64_t);
10268     memcpy(*ptr, (uint32_t*)&forMarshaling->frameRateNumerator, sizeof(uint32_t));
10269     *ptr += sizeof(uint32_t);
10270     memcpy(*ptr, (uint32_t*)&forMarshaling->frameRateDenominator, sizeof(uint32_t));
10271     *ptr += sizeof(uint32_t);
10272     memcpy(*ptr, (uint32_t*)&forMarshaling->virtualBufferSizeInMs, sizeof(uint32_t));
10273     *ptr += sizeof(uint32_t);
10274     memcpy(*ptr, (uint32_t*)&forMarshaling->initialVirtualBufferSizeInMs, sizeof(uint32_t));
10275     *ptr += sizeof(uint32_t);
10276 }
10277 
reservedmarshal_VkVideoEncodeRateControlInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeRateControlInfoKHR * forMarshaling,uint8_t ** ptr)10278 void reservedmarshal_VkVideoEncodeRateControlInfoKHR(
10279     VulkanStreamGuest* vkStream, VkStructureType rootType,
10280     const VkVideoEncodeRateControlInfoKHR* forMarshaling, uint8_t** ptr) {
10281     (void)vkStream;
10282     (void)rootType;
10283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10284     *ptr += sizeof(VkStructureType);
10285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10286         rootType = forMarshaling->sType;
10287     }
10288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10289     memcpy(*ptr, (VkVideoEncodeRateControlFlagsKHR*)&forMarshaling->flags,
10290            sizeof(VkVideoEncodeRateControlFlagsKHR));
10291     *ptr += sizeof(VkVideoEncodeRateControlFlagsKHR);
10292     memcpy(*ptr, (VkVideoEncodeRateControlModeFlagBitsKHR*)&forMarshaling->rateControlMode,
10293            sizeof(VkVideoEncodeRateControlModeFlagBitsKHR));
10294     *ptr += sizeof(VkVideoEncodeRateControlModeFlagBitsKHR);
10295     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
10296     *ptr += sizeof(uint32_t);
10297     for (uint32_t i = 0; i < (uint32_t)forMarshaling->layerCount; ++i) {
10298         reservedmarshal_VkVideoEncodeRateControlLayerInfoKHR(
10299             vkStream, rootType,
10300             (const VkVideoEncodeRateControlLayerInfoKHR*)(forMarshaling->pLayers + i), ptr);
10301     }
10302 }
10303 
10304 #endif
10305 #ifdef VK_KHR_synchronization2
reservedmarshal_VkQueueFamilyCheckpointProperties2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * forMarshaling,uint8_t ** ptr)10306 void reservedmarshal_VkQueueFamilyCheckpointProperties2NV(
10307     VulkanStreamGuest* vkStream, VkStructureType rootType,
10308     const VkQueueFamilyCheckpointProperties2NV* forMarshaling, uint8_t** ptr) {
10309     (void)vkStream;
10310     (void)rootType;
10311     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10312     *ptr += sizeof(VkStructureType);
10313     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10314         rootType = forMarshaling->sType;
10315     }
10316     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10317     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask,
10318            sizeof(VkPipelineStageFlags2));
10319     *ptr += sizeof(VkPipelineStageFlags2);
10320 }
10321 
reservedmarshal_VkCheckpointData2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCheckpointData2NV * forMarshaling,uint8_t ** ptr)10322 void reservedmarshal_VkCheckpointData2NV(VulkanStreamGuest* vkStream, VkStructureType rootType,
10323                                          const VkCheckpointData2NV* forMarshaling, uint8_t** ptr) {
10324     (void)vkStream;
10325     (void)rootType;
10326     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10327     *ptr += sizeof(VkStructureType);
10328     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10329         rootType = forMarshaling->sType;
10330     }
10331     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10332     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->stage, sizeof(VkPipelineStageFlags2));
10333     *ptr += sizeof(VkPipelineStageFlags2);
10334     // WARNING PTR CHECK
10335     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
10336     memcpy((*ptr), &cgen_var_0, 8);
10337     android::base::Stream::toBe64((uint8_t*)(*ptr));
10338     *ptr += 8;
10339     if (forMarshaling->pCheckpointMarker) {
10340         memcpy(*ptr, (void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
10341         *ptr += sizeof(uint8_t);
10342     }
10343 }
10344 
10345 #endif
10346 #ifdef VK_KHR_fragment_shader_barycentric
reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR * forMarshaling,uint8_t ** ptr)10347 void reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(
10348     VulkanStreamGuest* vkStream, VkStructureType rootType,
10349     const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* forMarshaling, uint8_t** ptr) {
10350     (void)vkStream;
10351     (void)rootType;
10352     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10353     *ptr += sizeof(VkStructureType);
10354     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10355         rootType = forMarshaling->sType;
10356     }
10357     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10358     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShaderBarycentric, sizeof(VkBool32));
10359     *ptr += sizeof(VkBool32);
10360 }
10361 
reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR * forMarshaling,uint8_t ** ptr)10362 void reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(
10363     VulkanStreamGuest* vkStream, VkStructureType rootType,
10364     const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* forMarshaling, uint8_t** ptr) {
10365     (void)vkStream;
10366     (void)rootType;
10367     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10368     *ptr += sizeof(VkStructureType);
10369     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10370         rootType = forMarshaling->sType;
10371     }
10372     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10373     memcpy(*ptr, (VkBool32*)&forMarshaling->triStripVertexOrderIndependentOfProvokingVertex,
10374            sizeof(VkBool32));
10375     *ptr += sizeof(VkBool32);
10376 }
10377 
10378 #endif
10379 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
reservedmarshal_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR * forMarshaling,uint8_t ** ptr)10380 void reservedmarshal_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
10381     VulkanStreamGuest* vkStream, VkStructureType rootType,
10382     const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* forMarshaling,
10383     uint8_t** ptr) {
10384     (void)vkStream;
10385     (void)rootType;
10386     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10387     *ptr += sizeof(VkStructureType);
10388     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10389         rootType = forMarshaling->sType;
10390     }
10391     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10392     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupUniformControlFlow, sizeof(VkBool32));
10393     *ptr += sizeof(VkBool32);
10394 }
10395 
10396 #endif
10397 #ifdef VK_KHR_zero_initialize_workgroup_memory
10398 #endif
10399 #ifdef VK_KHR_workgroup_memory_explicit_layout
reservedmarshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR * forMarshaling,uint8_t ** ptr)10400 void reservedmarshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
10401     VulkanStreamGuest* vkStream, VkStructureType rootType,
10402     const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* forMarshaling, uint8_t** ptr) {
10403     (void)vkStream;
10404     (void)rootType;
10405     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10406     *ptr += sizeof(VkStructureType);
10407     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10408         rootType = forMarshaling->sType;
10409     }
10410     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10411     memcpy(*ptr, (VkBool32*)&forMarshaling->workgroupMemoryExplicitLayout, sizeof(VkBool32));
10412     *ptr += sizeof(VkBool32);
10413     memcpy(*ptr, (VkBool32*)&forMarshaling->workgroupMemoryExplicitLayoutScalarBlockLayout,
10414            sizeof(VkBool32));
10415     *ptr += sizeof(VkBool32);
10416     memcpy(*ptr, (VkBool32*)&forMarshaling->workgroupMemoryExplicitLayout8BitAccess,
10417            sizeof(VkBool32));
10418     *ptr += sizeof(VkBool32);
10419     memcpy(*ptr, (VkBool32*)&forMarshaling->workgroupMemoryExplicitLayout16BitAccess,
10420            sizeof(VkBool32));
10421     *ptr += sizeof(VkBool32);
10422 }
10423 
10424 #endif
10425 #ifdef VK_KHR_copy_commands2
10426 #endif
10427 #ifdef VK_KHR_format_feature_flags2
10428 #endif
10429 #ifdef VK_KHR_ray_tracing_maintenance1
reservedmarshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR * forMarshaling,uint8_t ** ptr)10430 void reservedmarshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(
10431     VulkanStreamGuest* vkStream, VkStructureType rootType,
10432     const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* forMarshaling, uint8_t** ptr) {
10433     (void)vkStream;
10434     (void)rootType;
10435     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10436     *ptr += sizeof(VkStructureType);
10437     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10438         rootType = forMarshaling->sType;
10439     }
10440     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10441     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingMaintenance1, sizeof(VkBool32));
10442     *ptr += sizeof(VkBool32);
10443     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPipelineTraceRaysIndirect2, sizeof(VkBool32));
10444     *ptr += sizeof(VkBool32);
10445 }
10446 
reservedmarshal_VkTraceRaysIndirectCommand2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTraceRaysIndirectCommand2KHR * forMarshaling,uint8_t ** ptr)10447 void reservedmarshal_VkTraceRaysIndirectCommand2KHR(
10448     VulkanStreamGuest* vkStream, VkStructureType rootType,
10449     const VkTraceRaysIndirectCommand2KHR* forMarshaling, uint8_t** ptr) {
10450     (void)vkStream;
10451     (void)rootType;
10452     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->raygenShaderRecordAddress,
10453            sizeof(VkDeviceAddress));
10454     *ptr += sizeof(VkDeviceAddress);
10455     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->raygenShaderRecordSize, sizeof(VkDeviceSize));
10456     *ptr += sizeof(VkDeviceSize);
10457     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->missShaderBindingTableAddress,
10458            sizeof(VkDeviceAddress));
10459     *ptr += sizeof(VkDeviceAddress);
10460     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->missShaderBindingTableSize, sizeof(VkDeviceSize));
10461     *ptr += sizeof(VkDeviceSize);
10462     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->missShaderBindingTableStride, sizeof(VkDeviceSize));
10463     *ptr += sizeof(VkDeviceSize);
10464     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->hitShaderBindingTableAddress,
10465            sizeof(VkDeviceAddress));
10466     *ptr += sizeof(VkDeviceAddress);
10467     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->hitShaderBindingTableSize, sizeof(VkDeviceSize));
10468     *ptr += sizeof(VkDeviceSize);
10469     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->hitShaderBindingTableStride, sizeof(VkDeviceSize));
10470     *ptr += sizeof(VkDeviceSize);
10471     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->callableShaderBindingTableAddress,
10472            sizeof(VkDeviceAddress));
10473     *ptr += sizeof(VkDeviceAddress);
10474     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->callableShaderBindingTableSize,
10475            sizeof(VkDeviceSize));
10476     *ptr += sizeof(VkDeviceSize);
10477     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->callableShaderBindingTableStride,
10478            sizeof(VkDeviceSize));
10479     *ptr += sizeof(VkDeviceSize);
10480     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
10481     *ptr += sizeof(uint32_t);
10482     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
10483     *ptr += sizeof(uint32_t);
10484     memcpy(*ptr, (uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
10485     *ptr += sizeof(uint32_t);
10486 }
10487 
10488 #endif
10489 #ifdef VK_KHR_portability_enumeration
10490 #endif
10491 #ifdef VK_KHR_maintenance4
10492 #endif
10493 #ifdef VK_KHR_ray_tracing_position_fetch
reservedmarshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR * forMarshaling,uint8_t ** ptr)10494 void reservedmarshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(
10495     VulkanStreamGuest* vkStream, VkStructureType rootType,
10496     const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* forMarshaling, uint8_t** ptr) {
10497     (void)vkStream;
10498     (void)rootType;
10499     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10500     *ptr += sizeof(VkStructureType);
10501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10502         rootType = forMarshaling->sType;
10503     }
10504     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10505     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPositionFetch, sizeof(VkBool32));
10506     *ptr += sizeof(VkBool32);
10507 }
10508 
10509 #endif
10510 #ifdef VK_ANDROID_native_buffer
reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * forMarshaling,uint8_t ** ptr)10511 void reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest* vkStream,
10512                                                  VkStructureType rootType,
10513                                                  const VkNativeBufferUsage2ANDROID* forMarshaling,
10514                                                  uint8_t** ptr) {
10515     (void)vkStream;
10516     (void)rootType;
10517     memcpy(*ptr, (uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
10518     *ptr += sizeof(uint64_t);
10519     memcpy(*ptr, (uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
10520     *ptr += sizeof(uint64_t);
10521 }
10522 
reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferANDROID * forMarshaling,uint8_t ** ptr)10523 void reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
10524                                            const VkNativeBufferANDROID* forMarshaling,
10525                                            uint8_t** ptr) {
10526     (void)vkStream;
10527     (void)rootType;
10528     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10529     *ptr += sizeof(VkStructureType);
10530     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10531         rootType = forMarshaling->sType;
10532     }
10533     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10534     // WARNING PTR CHECK
10535     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle;
10536     memcpy((*ptr), &cgen_var_0, 8);
10537     android::base::Stream::toBe64((uint8_t*)(*ptr));
10538     *ptr += 8;
10539     if (forMarshaling->handle) {
10540         memcpy(*ptr, (const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
10541         *ptr += sizeof(const uint32_t);
10542     }
10543     memcpy(*ptr, (int*)&forMarshaling->stride, sizeof(int));
10544     *ptr += sizeof(int);
10545     memcpy(*ptr, (int*)&forMarshaling->format, sizeof(int));
10546     *ptr += sizeof(int);
10547     memcpy(*ptr, (int*)&forMarshaling->usage, sizeof(int));
10548     *ptr += sizeof(int);
10549     reservedmarshal_VkNativeBufferUsage2ANDROID(
10550         vkStream, rootType, (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2), ptr);
10551 }
10552 
reservedmarshal_VkSwapchainImageCreateInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * forMarshaling,uint8_t ** ptr)10553 void reservedmarshal_VkSwapchainImageCreateInfoANDROID(
10554     VulkanStreamGuest* vkStream, VkStructureType rootType,
10555     const VkSwapchainImageCreateInfoANDROID* forMarshaling, uint8_t** ptr) {
10556     (void)vkStream;
10557     (void)rootType;
10558     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10559     *ptr += sizeof(VkStructureType);
10560     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10561         rootType = forMarshaling->sType;
10562     }
10563     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10564     memcpy(*ptr, (VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
10565            sizeof(VkSwapchainImageUsageFlagsANDROID));
10566     *ptr += sizeof(VkSwapchainImageUsageFlagsANDROID);
10567 }
10568 
reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * forMarshaling,uint8_t ** ptr)10569 void reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
10570     VulkanStreamGuest* vkStream, VkStructureType rootType,
10571     const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling, uint8_t** ptr) {
10572     (void)vkStream;
10573     (void)rootType;
10574     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10575     *ptr += sizeof(VkStructureType);
10576     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10577         rootType = forMarshaling->sType;
10578     }
10579     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10580     memcpy(*ptr, (VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
10581     *ptr += sizeof(VkBool32);
10582 }
10583 
10584 #endif
10585 #ifdef VK_EXT_debug_report
reservedmarshal_VkDebugReportCallbackCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugReportCallbackCreateInfoEXT * forMarshaling,uint8_t ** ptr)10586 void reservedmarshal_VkDebugReportCallbackCreateInfoEXT(
10587     VulkanStreamGuest* vkStream, VkStructureType rootType,
10588     const VkDebugReportCallbackCreateInfoEXT* forMarshaling, uint8_t** ptr) {
10589     (void)vkStream;
10590     (void)rootType;
10591     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10592     *ptr += sizeof(VkStructureType);
10593     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10594         rootType = forMarshaling->sType;
10595     }
10596     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10597     memcpy(*ptr, (VkDebugReportFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugReportFlagsEXT));
10598     *ptr += sizeof(VkDebugReportFlagsEXT);
10599     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnCallback;
10600     memcpy((*ptr), &cgen_var_0, 8);
10601     android::base::Stream::toBe64((uint8_t*)(*ptr));
10602     *ptr += 8;
10603     // WARNING PTR CHECK
10604     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
10605     memcpy((*ptr), &cgen_var_1, 8);
10606     android::base::Stream::toBe64((uint8_t*)(*ptr));
10607     *ptr += 8;
10608     if (forMarshaling->pUserData) {
10609         memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
10610         *ptr += sizeof(uint8_t);
10611     }
10612 }
10613 
10614 #endif
10615 #ifdef VK_NV_glsl_shader
10616 #endif
10617 #ifdef VK_EXT_depth_range_unrestricted
10618 #endif
10619 #ifdef VK_IMG_filter_cubic
10620 #endif
10621 #ifdef VK_AMD_rasterization_order
reservedmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateRasterizationOrderAMD * forMarshaling,uint8_t ** ptr)10622 void reservedmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(
10623     VulkanStreamGuest* vkStream, VkStructureType rootType,
10624     const VkPipelineRasterizationStateRasterizationOrderAMD* forMarshaling, uint8_t** ptr) {
10625     (void)vkStream;
10626     (void)rootType;
10627     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10628     *ptr += sizeof(VkStructureType);
10629     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10630         rootType = forMarshaling->sType;
10631     }
10632     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10633     memcpy(*ptr, (VkRasterizationOrderAMD*)&forMarshaling->rasterizationOrder,
10634            sizeof(VkRasterizationOrderAMD));
10635     *ptr += sizeof(VkRasterizationOrderAMD);
10636 }
10637 
10638 #endif
10639 #ifdef VK_AMD_shader_trinary_minmax
10640 #endif
10641 #ifdef VK_AMD_shader_explicit_vertex_parameter
10642 #endif
10643 #ifdef VK_EXT_debug_marker
reservedmarshal_VkDebugMarkerObjectNameInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugMarkerObjectNameInfoEXT * forMarshaling,uint8_t ** ptr)10644 void reservedmarshal_VkDebugMarkerObjectNameInfoEXT(
10645     VulkanStreamGuest* vkStream, VkStructureType rootType,
10646     const VkDebugMarkerObjectNameInfoEXT* forMarshaling, uint8_t** ptr) {
10647     (void)vkStream;
10648     (void)rootType;
10649     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10650     *ptr += sizeof(VkStructureType);
10651     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10652         rootType = forMarshaling->sType;
10653     }
10654     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10655     memcpy(*ptr, (VkDebugReportObjectTypeEXT*)&forMarshaling->objectType,
10656            sizeof(VkDebugReportObjectTypeEXT));
10657     *ptr += sizeof(VkDebugReportObjectTypeEXT);
10658     memcpy(*ptr, (uint64_t*)&forMarshaling->object, sizeof(uint64_t));
10659     *ptr += sizeof(uint64_t);
10660     {
10661         uint32_t l = forMarshaling->pObjectName ? strlen(forMarshaling->pObjectName) : 0;
10662         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
10663         android::base::Stream::toBe32((uint8_t*)*ptr);
10664         *ptr += sizeof(uint32_t);
10665         memcpy(*ptr, (char*)forMarshaling->pObjectName, l);
10666         *ptr += l;
10667     }
10668 }
10669 
reservedmarshal_VkDebugMarkerObjectTagInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugMarkerObjectTagInfoEXT * forMarshaling,uint8_t ** ptr)10670 void reservedmarshal_VkDebugMarkerObjectTagInfoEXT(
10671     VulkanStreamGuest* vkStream, VkStructureType rootType,
10672     const VkDebugMarkerObjectTagInfoEXT* forMarshaling, uint8_t** ptr) {
10673     (void)vkStream;
10674     (void)rootType;
10675     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10676     *ptr += sizeof(VkStructureType);
10677     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10678         rootType = forMarshaling->sType;
10679     }
10680     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10681     memcpy(*ptr, (VkDebugReportObjectTypeEXT*)&forMarshaling->objectType,
10682            sizeof(VkDebugReportObjectTypeEXT));
10683     *ptr += sizeof(VkDebugReportObjectTypeEXT);
10684     memcpy(*ptr, (uint64_t*)&forMarshaling->object, sizeof(uint64_t));
10685     *ptr += sizeof(uint64_t);
10686     memcpy(*ptr, (uint64_t*)&forMarshaling->tagName, sizeof(uint64_t));
10687     *ptr += sizeof(uint64_t);
10688     uint64_t cgen_var_0 = (uint64_t)forMarshaling->tagSize;
10689     memcpy((*ptr), &cgen_var_0, 8);
10690     android::base::Stream::toBe64((uint8_t*)(*ptr));
10691     *ptr += 8;
10692     memcpy(*ptr, (const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t));
10693     *ptr += forMarshaling->tagSize * sizeof(const uint8_t);
10694 }
10695 
reservedmarshal_VkDebugMarkerMarkerInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugMarkerMarkerInfoEXT * forMarshaling,uint8_t ** ptr)10696 void reservedmarshal_VkDebugMarkerMarkerInfoEXT(VulkanStreamGuest* vkStream,
10697                                                 VkStructureType rootType,
10698                                                 const VkDebugMarkerMarkerInfoEXT* forMarshaling,
10699                                                 uint8_t** ptr) {
10700     (void)vkStream;
10701     (void)rootType;
10702     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10703     *ptr += sizeof(VkStructureType);
10704     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10705         rootType = forMarshaling->sType;
10706     }
10707     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10708     {
10709         uint32_t l = forMarshaling->pMarkerName ? strlen(forMarshaling->pMarkerName) : 0;
10710         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
10711         android::base::Stream::toBe32((uint8_t*)*ptr);
10712         *ptr += sizeof(uint32_t);
10713         memcpy(*ptr, (char*)forMarshaling->pMarkerName, l);
10714         *ptr += l;
10715     }
10716     memcpy(*ptr, (float*)forMarshaling->color, 4 * sizeof(float));
10717     *ptr += 4 * sizeof(float);
10718 }
10719 
10720 #endif
10721 #ifdef VK_AMD_gcn_shader
10722 #endif
10723 #ifdef VK_NV_dedicated_allocation
reservedmarshal_VkDedicatedAllocationImageCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDedicatedAllocationImageCreateInfoNV * forMarshaling,uint8_t ** ptr)10724 void reservedmarshal_VkDedicatedAllocationImageCreateInfoNV(
10725     VulkanStreamGuest* vkStream, VkStructureType rootType,
10726     const VkDedicatedAllocationImageCreateInfoNV* forMarshaling, uint8_t** ptr) {
10727     (void)vkStream;
10728     (void)rootType;
10729     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10730     *ptr += sizeof(VkStructureType);
10731     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10732         rootType = forMarshaling->sType;
10733     }
10734     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10735     memcpy(*ptr, (VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32));
10736     *ptr += sizeof(VkBool32);
10737 }
10738 
reservedmarshal_VkDedicatedAllocationBufferCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDedicatedAllocationBufferCreateInfoNV * forMarshaling,uint8_t ** ptr)10739 void reservedmarshal_VkDedicatedAllocationBufferCreateInfoNV(
10740     VulkanStreamGuest* vkStream, VkStructureType rootType,
10741     const VkDedicatedAllocationBufferCreateInfoNV* forMarshaling, uint8_t** ptr) {
10742     (void)vkStream;
10743     (void)rootType;
10744     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10745     *ptr += sizeof(VkStructureType);
10746     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10747         rootType = forMarshaling->sType;
10748     }
10749     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10750     memcpy(*ptr, (VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32));
10751     *ptr += sizeof(VkBool32);
10752 }
10753 
reservedmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDedicatedAllocationMemoryAllocateInfoNV * forMarshaling,uint8_t ** ptr)10754 void reservedmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(
10755     VulkanStreamGuest* vkStream, VkStructureType rootType,
10756     const VkDedicatedAllocationMemoryAllocateInfoNV* forMarshaling, uint8_t** ptr) {
10757     (void)vkStream;
10758     (void)rootType;
10759     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10760     *ptr += sizeof(VkStructureType);
10761     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10762         rootType = forMarshaling->sType;
10763     }
10764     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10765     uint64_t cgen_var_0;
10766     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
10767     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
10768     *ptr += 1 * 8;
10769     uint64_t cgen_var_1;
10770     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
10771     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
10772     *ptr += 1 * 8;
10773 }
10774 
10775 #endif
10776 #ifdef VK_EXT_transform_feedback
reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * forMarshaling,uint8_t ** ptr)10777 void reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
10778     VulkanStreamGuest* vkStream, VkStructureType rootType,
10779     const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling, uint8_t** ptr) {
10780     (void)vkStream;
10781     (void)rootType;
10782     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10783     *ptr += sizeof(VkStructureType);
10784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10785         rootType = forMarshaling->sType;
10786     }
10787     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10788     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedback, sizeof(VkBool32));
10789     *ptr += sizeof(VkBool32);
10790     memcpy(*ptr, (VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
10791     *ptr += sizeof(VkBool32);
10792 }
10793 
reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * forMarshaling,uint8_t ** ptr)10794 void reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
10795     VulkanStreamGuest* vkStream, VkStructureType rootType,
10796     const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling, uint8_t** ptr) {
10797     (void)vkStream;
10798     (void)rootType;
10799     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10800     *ptr += sizeof(VkStructureType);
10801     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10802         rootType = forMarshaling->sType;
10803     }
10804     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10805     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
10806     *ptr += sizeof(uint32_t);
10807     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
10808     *ptr += sizeof(uint32_t);
10809     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
10810            sizeof(VkDeviceSize));
10811     *ptr += sizeof(VkDeviceSize);
10812     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize, sizeof(uint32_t));
10813     *ptr += sizeof(uint32_t);
10814     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize, sizeof(uint32_t));
10815     *ptr += sizeof(uint32_t);
10816     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride, sizeof(uint32_t));
10817     *ptr += sizeof(uint32_t);
10818     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
10819     *ptr += sizeof(VkBool32);
10820     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
10821            sizeof(VkBool32));
10822     *ptr += sizeof(VkBool32);
10823     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
10824            sizeof(VkBool32));
10825     *ptr += sizeof(VkBool32);
10826     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
10827     *ptr += sizeof(VkBool32);
10828 }
10829 
reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * forMarshaling,uint8_t ** ptr)10830 void reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
10831     VulkanStreamGuest* vkStream, VkStructureType rootType,
10832     const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling, uint8_t** ptr) {
10833     (void)vkStream;
10834     (void)rootType;
10835     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10836     *ptr += sizeof(VkStructureType);
10837     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10838         rootType = forMarshaling->sType;
10839     }
10840     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10841     memcpy(*ptr, (VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
10842            sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
10843     *ptr += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
10844     memcpy(*ptr, (uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
10845     *ptr += sizeof(uint32_t);
10846 }
10847 
10848 #endif
10849 #ifdef VK_NVX_binary_import
reservedmarshal_VkCuModuleCreateInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCuModuleCreateInfoNVX * forMarshaling,uint8_t ** ptr)10850 void reservedmarshal_VkCuModuleCreateInfoNVX(VulkanStreamGuest* vkStream, VkStructureType rootType,
10851                                              const VkCuModuleCreateInfoNVX* forMarshaling,
10852                                              uint8_t** ptr) {
10853     (void)vkStream;
10854     (void)rootType;
10855     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10856     *ptr += sizeof(VkStructureType);
10857     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10858         rootType = forMarshaling->sType;
10859     }
10860     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10861     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
10862     memcpy((*ptr), &cgen_var_0, 8);
10863     android::base::Stream::toBe64((uint8_t*)(*ptr));
10864     *ptr += 8;
10865     memcpy(*ptr, (const void*)forMarshaling->pData,
10866            forMarshaling->dataSize * sizeof(const uint8_t));
10867     *ptr += forMarshaling->dataSize * sizeof(const uint8_t);
10868 }
10869 
reservedmarshal_VkCuFunctionCreateInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCuFunctionCreateInfoNVX * forMarshaling,uint8_t ** ptr)10870 void reservedmarshal_VkCuFunctionCreateInfoNVX(VulkanStreamGuest* vkStream,
10871                                                VkStructureType rootType,
10872                                                const VkCuFunctionCreateInfoNVX* forMarshaling,
10873                                                uint8_t** ptr) {
10874     (void)vkStream;
10875     (void)rootType;
10876     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10877     *ptr += sizeof(VkStructureType);
10878     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10879         rootType = forMarshaling->sType;
10880     }
10881     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10882     uint64_t cgen_var_0 = (uint64_t)forMarshaling->module;
10883     memcpy((*ptr), &cgen_var_0, 8);
10884     android::base::Stream::toBe64((uint8_t*)(*ptr));
10885     *ptr += 8;
10886     {
10887         uint32_t l = forMarshaling->pName ? strlen(forMarshaling->pName) : 0;
10888         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
10889         android::base::Stream::toBe32((uint8_t*)*ptr);
10890         *ptr += sizeof(uint32_t);
10891         memcpy(*ptr, (char*)forMarshaling->pName, l);
10892         *ptr += l;
10893     }
10894 }
10895 
reservedmarshal_VkCuLaunchInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCuLaunchInfoNVX * forMarshaling,uint8_t ** ptr)10896 void reservedmarshal_VkCuLaunchInfoNVX(VulkanStreamGuest* vkStream, VkStructureType rootType,
10897                                        const VkCuLaunchInfoNVX* forMarshaling, uint8_t** ptr) {
10898     (void)vkStream;
10899     (void)rootType;
10900     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10901     *ptr += sizeof(VkStructureType);
10902     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10903         rootType = forMarshaling->sType;
10904     }
10905     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10906     uint64_t cgen_var_0 = (uint64_t)forMarshaling->function;
10907     memcpy((*ptr), &cgen_var_0, 8);
10908     android::base::Stream::toBe64((uint8_t*)(*ptr));
10909     *ptr += 8;
10910     memcpy(*ptr, (uint32_t*)&forMarshaling->gridDimX, sizeof(uint32_t));
10911     *ptr += sizeof(uint32_t);
10912     memcpy(*ptr, (uint32_t*)&forMarshaling->gridDimY, sizeof(uint32_t));
10913     *ptr += sizeof(uint32_t);
10914     memcpy(*ptr, (uint32_t*)&forMarshaling->gridDimZ, sizeof(uint32_t));
10915     *ptr += sizeof(uint32_t);
10916     memcpy(*ptr, (uint32_t*)&forMarshaling->blockDimX, sizeof(uint32_t));
10917     *ptr += sizeof(uint32_t);
10918     memcpy(*ptr, (uint32_t*)&forMarshaling->blockDimY, sizeof(uint32_t));
10919     *ptr += sizeof(uint32_t);
10920     memcpy(*ptr, (uint32_t*)&forMarshaling->blockDimZ, sizeof(uint32_t));
10921     *ptr += sizeof(uint32_t);
10922     memcpy(*ptr, (uint32_t*)&forMarshaling->sharedMemBytes, sizeof(uint32_t));
10923     *ptr += sizeof(uint32_t);
10924     uint64_t cgen_var_1 = (uint64_t)forMarshaling->paramCount;
10925     memcpy((*ptr), &cgen_var_1, 8);
10926     android::base::Stream::toBe64((uint8_t*)(*ptr));
10927     *ptr += 8;
10928     uint64_t cgen_var_2 = (uint64_t)forMarshaling->extraCount;
10929     memcpy((*ptr), &cgen_var_2, 8);
10930     android::base::Stream::toBe64((uint8_t*)(*ptr));
10931     *ptr += 8;
10932 }
10933 
10934 #endif
10935 #ifdef VK_NVX_image_view_handle
reservedmarshal_VkImageViewHandleInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewHandleInfoNVX * forMarshaling,uint8_t ** ptr)10936 void reservedmarshal_VkImageViewHandleInfoNVX(VulkanStreamGuest* vkStream, VkStructureType rootType,
10937                                               const VkImageViewHandleInfoNVX* forMarshaling,
10938                                               uint8_t** ptr) {
10939     (void)vkStream;
10940     (void)rootType;
10941     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10942     *ptr += sizeof(VkStructureType);
10943     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10944         rootType = forMarshaling->sType;
10945     }
10946     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10947     uint64_t cgen_var_0;
10948     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
10949     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
10950     *ptr += 1 * 8;
10951     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
10952     *ptr += sizeof(VkDescriptorType);
10953     uint64_t cgen_var_1;
10954     *&cgen_var_1 = get_host_u64_VkSampler((*&forMarshaling->sampler));
10955     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
10956     *ptr += 1 * 8;
10957 }
10958 
reservedmarshal_VkImageViewAddressPropertiesNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewAddressPropertiesNVX * forMarshaling,uint8_t ** ptr)10959 void reservedmarshal_VkImageViewAddressPropertiesNVX(
10960     VulkanStreamGuest* vkStream, VkStructureType rootType,
10961     const VkImageViewAddressPropertiesNVX* forMarshaling, uint8_t** ptr) {
10962     (void)vkStream;
10963     (void)rootType;
10964     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10965     *ptr += sizeof(VkStructureType);
10966     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10967         rootType = forMarshaling->sType;
10968     }
10969     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10970     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
10971     *ptr += sizeof(VkDeviceAddress);
10972     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
10973     *ptr += sizeof(VkDeviceSize);
10974 }
10975 
10976 #endif
10977 #ifdef VK_AMD_draw_indirect_count
10978 #endif
10979 #ifdef VK_AMD_negative_viewport_height
10980 #endif
10981 #ifdef VK_AMD_gpu_shader_half_float
10982 #endif
10983 #ifdef VK_AMD_shader_ballot
10984 #endif
10985 #ifdef VK_EXT_video_encode_h264
reservedmarshal_VkVideoEncodeH264CapabilitiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264CapabilitiesEXT * forMarshaling,uint8_t ** ptr)10986 void reservedmarshal_VkVideoEncodeH264CapabilitiesEXT(
10987     VulkanStreamGuest* vkStream, VkStructureType rootType,
10988     const VkVideoEncodeH264CapabilitiesEXT* forMarshaling, uint8_t** ptr) {
10989     (void)vkStream;
10990     (void)rootType;
10991     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10992     *ptr += sizeof(VkStructureType);
10993     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10994         rootType = forMarshaling->sType;
10995     }
10996     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
10997     memcpy(*ptr, (VkVideoEncodeH264CapabilityFlagsEXT*)&forMarshaling->flags,
10998            sizeof(VkVideoEncodeH264CapabilityFlagsEXT));
10999     *ptr += sizeof(VkVideoEncodeH264CapabilityFlagsEXT);
11000     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t));
11001     *ptr += sizeof(uint32_t);
11002     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t));
11003     *ptr += sizeof(uint32_t);
11004     memcpy(*ptr, (uint32_t*)&forMarshaling->maxL1ReferenceCount, sizeof(uint32_t));
11005     *ptr += sizeof(uint32_t);
11006     memcpy(*ptr, (VkBool32*)&forMarshaling->motionVectorsOverPicBoundariesFlag, sizeof(VkBool32));
11007     *ptr += sizeof(VkBool32);
11008     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBytesPerPicDenom, sizeof(uint32_t));
11009     *ptr += sizeof(uint32_t);
11010     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBitsPerMbDenom, sizeof(uint32_t));
11011     *ptr += sizeof(uint32_t);
11012     memcpy(*ptr, (uint32_t*)&forMarshaling->log2MaxMvLengthHorizontal, sizeof(uint32_t));
11013     *ptr += sizeof(uint32_t);
11014     memcpy(*ptr, (uint32_t*)&forMarshaling->log2MaxMvLengthVertical, sizeof(uint32_t));
11015     *ptr += sizeof(uint32_t);
11016 }
11017 
reservedmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264SessionParametersAddInfoEXT * forMarshaling,uint8_t ** ptr)11018 void reservedmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT(
11019     VulkanStreamGuest* vkStream, VkStructureType rootType,
11020     const VkVideoEncodeH264SessionParametersAddInfoEXT* forMarshaling, uint8_t** ptr) {
11021     (void)vkStream;
11022     (void)rootType;
11023     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11024     *ptr += sizeof(VkStructureType);
11025     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11026         rootType = forMarshaling->sType;
11027     }
11028     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11029     memcpy(*ptr, (uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t));
11030     *ptr += sizeof(uint32_t);
11031     // WARNING PTR CHECK
11032     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdSPSs;
11033     memcpy((*ptr), &cgen_var_0, 8);
11034     android::base::Stream::toBe64((uint8_t*)(*ptr));
11035     *ptr += 8;
11036     if (forMarshaling->pStdSPSs) {
11037         memcpy(*ptr, (const StdVideoH264SequenceParameterSet*)forMarshaling->pStdSPSs,
11038                forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet));
11039         *ptr += forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet);
11040     }
11041     memcpy(*ptr, (uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t));
11042     *ptr += sizeof(uint32_t);
11043     // WARNING PTR CHECK
11044     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStdPPSs;
11045     memcpy((*ptr), &cgen_var_1, 8);
11046     android::base::Stream::toBe64((uint8_t*)(*ptr));
11047     *ptr += 8;
11048     if (forMarshaling->pStdPPSs) {
11049         memcpy(*ptr, (const StdVideoH264PictureParameterSet*)forMarshaling->pStdPPSs,
11050                forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet));
11051         *ptr += forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet);
11052     }
11053 }
11054 
reservedmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264SessionParametersCreateInfoEXT * forMarshaling,uint8_t ** ptr)11055 void reservedmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT(
11056     VulkanStreamGuest* vkStream, VkStructureType rootType,
11057     const VkVideoEncodeH264SessionParametersCreateInfoEXT* forMarshaling, uint8_t** ptr) {
11058     (void)vkStream;
11059     (void)rootType;
11060     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11061     *ptr += sizeof(VkStructureType);
11062     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11063         rootType = forMarshaling->sType;
11064     }
11065     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11066     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t));
11067     *ptr += sizeof(uint32_t);
11068     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t));
11069     *ptr += sizeof(uint32_t);
11070     // WARNING PTR CHECK
11071     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo;
11072     memcpy((*ptr), &cgen_var_0, 8);
11073     android::base::Stream::toBe64((uint8_t*)(*ptr));
11074     *ptr += 8;
11075     if (forMarshaling->pParametersAddInfo) {
11076         reservedmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT(
11077             vkStream, rootType,
11078             (const VkVideoEncodeH264SessionParametersAddInfoEXT*)(forMarshaling
11079                                                                       ->pParametersAddInfo),
11080             ptr);
11081     }
11082 }
11083 
reservedmarshal_VkVideoEncodeH264NaluSliceInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264NaluSliceInfoEXT * forMarshaling,uint8_t ** ptr)11084 void reservedmarshal_VkVideoEncodeH264NaluSliceInfoEXT(
11085     VulkanStreamGuest* vkStream, VkStructureType rootType,
11086     const VkVideoEncodeH264NaluSliceInfoEXT* forMarshaling, uint8_t** ptr) {
11087     (void)vkStream;
11088     (void)rootType;
11089     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11090     *ptr += sizeof(VkStructureType);
11091     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11092         rootType = forMarshaling->sType;
11093     }
11094     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11095     memcpy(*ptr, (uint32_t*)&forMarshaling->mbCount, sizeof(uint32_t));
11096     *ptr += sizeof(uint32_t);
11097     // WARNING PTR CHECK
11098     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists;
11099     memcpy((*ptr), &cgen_var_0, 8);
11100     android::base::Stream::toBe64((uint8_t*)(*ptr));
11101     *ptr += 8;
11102     if (forMarshaling->pStdReferenceFinalLists) {
11103         memcpy(*ptr,
11104                (const StdVideoEncodeH264ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists,
11105                sizeof(const StdVideoEncodeH264ReferenceListsInfo));
11106         *ptr += sizeof(const StdVideoEncodeH264ReferenceListsInfo);
11107     }
11108     memcpy(*ptr, (const StdVideoEncodeH264SliceHeader*)forMarshaling->pStdSliceHeader,
11109            sizeof(const StdVideoEncodeH264SliceHeader));
11110     *ptr += sizeof(const StdVideoEncodeH264SliceHeader);
11111 }
11112 
reservedmarshal_VkVideoEncodeH264VclFrameInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264VclFrameInfoEXT * forMarshaling,uint8_t ** ptr)11113 void reservedmarshal_VkVideoEncodeH264VclFrameInfoEXT(
11114     VulkanStreamGuest* vkStream, VkStructureType rootType,
11115     const VkVideoEncodeH264VclFrameInfoEXT* forMarshaling, uint8_t** ptr) {
11116     (void)vkStream;
11117     (void)rootType;
11118     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11119     *ptr += sizeof(VkStructureType);
11120     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11121         rootType = forMarshaling->sType;
11122     }
11123     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11124     // WARNING PTR CHECK
11125     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists;
11126     memcpy((*ptr), &cgen_var_0, 8);
11127     android::base::Stream::toBe64((uint8_t*)(*ptr));
11128     *ptr += 8;
11129     if (forMarshaling->pStdReferenceFinalLists) {
11130         memcpy(*ptr,
11131                (const StdVideoEncodeH264ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists,
11132                sizeof(const StdVideoEncodeH264ReferenceListsInfo));
11133         *ptr += sizeof(const StdVideoEncodeH264ReferenceListsInfo);
11134     }
11135     memcpy(*ptr, (uint32_t*)&forMarshaling->naluSliceEntryCount, sizeof(uint32_t));
11136     *ptr += sizeof(uint32_t);
11137     for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceEntryCount; ++i) {
11138         reservedmarshal_VkVideoEncodeH264NaluSliceInfoEXT(
11139             vkStream, rootType,
11140             (const VkVideoEncodeH264NaluSliceInfoEXT*)(forMarshaling->pNaluSliceEntries + i), ptr);
11141     }
11142     memcpy(*ptr, (const StdVideoEncodeH264PictureInfo*)forMarshaling->pStdPictureInfo,
11143            sizeof(const StdVideoEncodeH264PictureInfo));
11144     *ptr += sizeof(const StdVideoEncodeH264PictureInfo);
11145 }
11146 
reservedmarshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264DpbSlotInfoEXT * forMarshaling,uint8_t ** ptr)11147 void reservedmarshal_VkVideoEncodeH264DpbSlotInfoEXT(
11148     VulkanStreamGuest* vkStream, VkStructureType rootType,
11149     const VkVideoEncodeH264DpbSlotInfoEXT* forMarshaling, uint8_t** ptr) {
11150     (void)vkStream;
11151     (void)rootType;
11152     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11153     *ptr += sizeof(VkStructureType);
11154     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11155         rootType = forMarshaling->sType;
11156     }
11157     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11158     memcpy(*ptr, (const StdVideoEncodeH264ReferenceInfo*)forMarshaling->pStdReferenceInfo,
11159            sizeof(const StdVideoEncodeH264ReferenceInfo));
11160     *ptr += sizeof(const StdVideoEncodeH264ReferenceInfo);
11161 }
11162 
reservedmarshal_VkVideoEncodeH264ProfileInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264ProfileInfoEXT * forMarshaling,uint8_t ** ptr)11163 void reservedmarshal_VkVideoEncodeH264ProfileInfoEXT(
11164     VulkanStreamGuest* vkStream, VkStructureType rootType,
11165     const VkVideoEncodeH264ProfileInfoEXT* forMarshaling, uint8_t** ptr) {
11166     (void)vkStream;
11167     (void)rootType;
11168     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11169     *ptr += sizeof(VkStructureType);
11170     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11171         rootType = forMarshaling->sType;
11172     }
11173     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11174     memcpy(*ptr, (StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc,
11175            sizeof(StdVideoH264ProfileIdc));
11176     *ptr += sizeof(StdVideoH264ProfileIdc);
11177 }
11178 
reservedmarshal_VkVideoEncodeH264RateControlInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264RateControlInfoEXT * forMarshaling,uint8_t ** ptr)11179 void reservedmarshal_VkVideoEncodeH264RateControlInfoEXT(
11180     VulkanStreamGuest* vkStream, VkStructureType rootType,
11181     const VkVideoEncodeH264RateControlInfoEXT* forMarshaling, uint8_t** ptr) {
11182     (void)vkStream;
11183     (void)rootType;
11184     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11185     *ptr += sizeof(VkStructureType);
11186     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11187         rootType = forMarshaling->sType;
11188     }
11189     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11190     memcpy(*ptr, (uint32_t*)&forMarshaling->gopFrameCount, sizeof(uint32_t));
11191     *ptr += sizeof(uint32_t);
11192     memcpy(*ptr, (uint32_t*)&forMarshaling->idrPeriod, sizeof(uint32_t));
11193     *ptr += sizeof(uint32_t);
11194     memcpy(*ptr, (uint32_t*)&forMarshaling->consecutiveBFrameCount, sizeof(uint32_t));
11195     *ptr += sizeof(uint32_t);
11196     memcpy(*ptr, (VkVideoEncodeH264RateControlStructureEXT*)&forMarshaling->rateControlStructure,
11197            sizeof(VkVideoEncodeH264RateControlStructureEXT));
11198     *ptr += sizeof(VkVideoEncodeH264RateControlStructureEXT);
11199     memcpy(*ptr, (uint32_t*)&forMarshaling->temporalLayerCount, sizeof(uint32_t));
11200     *ptr += sizeof(uint32_t);
11201 }
11202 
reservedmarshal_VkVideoEncodeH264QpEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264QpEXT * forMarshaling,uint8_t ** ptr)11203 void reservedmarshal_VkVideoEncodeH264QpEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
11204                                             const VkVideoEncodeH264QpEXT* forMarshaling,
11205                                             uint8_t** ptr) {
11206     (void)vkStream;
11207     (void)rootType;
11208     memcpy(*ptr, (int32_t*)&forMarshaling->qpI, sizeof(int32_t));
11209     *ptr += sizeof(int32_t);
11210     memcpy(*ptr, (int32_t*)&forMarshaling->qpP, sizeof(int32_t));
11211     *ptr += sizeof(int32_t);
11212     memcpy(*ptr, (int32_t*)&forMarshaling->qpB, sizeof(int32_t));
11213     *ptr += sizeof(int32_t);
11214 }
11215 
reservedmarshal_VkVideoEncodeH264FrameSizeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264FrameSizeEXT * forMarshaling,uint8_t ** ptr)11216 void reservedmarshal_VkVideoEncodeH264FrameSizeEXT(
11217     VulkanStreamGuest* vkStream, VkStructureType rootType,
11218     const VkVideoEncodeH264FrameSizeEXT* forMarshaling, uint8_t** ptr) {
11219     (void)vkStream;
11220     (void)rootType;
11221     memcpy(*ptr, (uint32_t*)&forMarshaling->frameISize, sizeof(uint32_t));
11222     *ptr += sizeof(uint32_t);
11223     memcpy(*ptr, (uint32_t*)&forMarshaling->framePSize, sizeof(uint32_t));
11224     *ptr += sizeof(uint32_t);
11225     memcpy(*ptr, (uint32_t*)&forMarshaling->frameBSize, sizeof(uint32_t));
11226     *ptr += sizeof(uint32_t);
11227 }
11228 
reservedmarshal_VkVideoEncodeH264RateControlLayerInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH264RateControlLayerInfoEXT * forMarshaling,uint8_t ** ptr)11229 void reservedmarshal_VkVideoEncodeH264RateControlLayerInfoEXT(
11230     VulkanStreamGuest* vkStream, VkStructureType rootType,
11231     const VkVideoEncodeH264RateControlLayerInfoEXT* forMarshaling, uint8_t** ptr) {
11232     (void)vkStream;
11233     (void)rootType;
11234     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11235     *ptr += sizeof(VkStructureType);
11236     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11237         rootType = forMarshaling->sType;
11238     }
11239     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11240     memcpy(*ptr, (uint32_t*)&forMarshaling->temporalLayerId, sizeof(uint32_t));
11241     *ptr += sizeof(uint32_t);
11242     memcpy(*ptr, (VkBool32*)&forMarshaling->useInitialRcQp, sizeof(VkBool32));
11243     *ptr += sizeof(VkBool32);
11244     reservedmarshal_VkVideoEncodeH264QpEXT(
11245         vkStream, rootType, (VkVideoEncodeH264QpEXT*)(&forMarshaling->initialRcQp), ptr);
11246     memcpy(*ptr, (VkBool32*)&forMarshaling->useMinQp, sizeof(VkBool32));
11247     *ptr += sizeof(VkBool32);
11248     reservedmarshal_VkVideoEncodeH264QpEXT(vkStream, rootType,
11249                                            (VkVideoEncodeH264QpEXT*)(&forMarshaling->minQp), ptr);
11250     memcpy(*ptr, (VkBool32*)&forMarshaling->useMaxQp, sizeof(VkBool32));
11251     *ptr += sizeof(VkBool32);
11252     reservedmarshal_VkVideoEncodeH264QpEXT(vkStream, rootType,
11253                                            (VkVideoEncodeH264QpEXT*)(&forMarshaling->maxQp), ptr);
11254     memcpy(*ptr, (VkBool32*)&forMarshaling->useMaxFrameSize, sizeof(VkBool32));
11255     *ptr += sizeof(VkBool32);
11256     reservedmarshal_VkVideoEncodeH264FrameSizeEXT(
11257         vkStream, rootType, (VkVideoEncodeH264FrameSizeEXT*)(&forMarshaling->maxFrameSize), ptr);
11258 }
11259 
11260 #endif
11261 #ifdef VK_EXT_video_encode_h265
reservedmarshal_VkVideoEncodeH265CapabilitiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265CapabilitiesEXT * forMarshaling,uint8_t ** ptr)11262 void reservedmarshal_VkVideoEncodeH265CapabilitiesEXT(
11263     VulkanStreamGuest* vkStream, VkStructureType rootType,
11264     const VkVideoEncodeH265CapabilitiesEXT* forMarshaling, uint8_t** ptr) {
11265     (void)vkStream;
11266     (void)rootType;
11267     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11268     *ptr += sizeof(VkStructureType);
11269     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11270         rootType = forMarshaling->sType;
11271     }
11272     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11273     memcpy(*ptr, (VkVideoEncodeH265CapabilityFlagsEXT*)&forMarshaling->flags,
11274            sizeof(VkVideoEncodeH265CapabilityFlagsEXT));
11275     *ptr += sizeof(VkVideoEncodeH265CapabilityFlagsEXT);
11276     memcpy(*ptr, (VkVideoEncodeH265CtbSizeFlagsEXT*)&forMarshaling->ctbSizes,
11277            sizeof(VkVideoEncodeH265CtbSizeFlagsEXT));
11278     *ptr += sizeof(VkVideoEncodeH265CtbSizeFlagsEXT);
11279     memcpy(*ptr, (VkVideoEncodeH265TransformBlockSizeFlagsEXT*)&forMarshaling->transformBlockSizes,
11280            sizeof(VkVideoEncodeH265TransformBlockSizeFlagsEXT));
11281     *ptr += sizeof(VkVideoEncodeH265TransformBlockSizeFlagsEXT);
11282     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t));
11283     *ptr += sizeof(uint32_t);
11284     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t));
11285     *ptr += sizeof(uint32_t);
11286     memcpy(*ptr, (uint32_t*)&forMarshaling->maxL1ReferenceCount, sizeof(uint32_t));
11287     *ptr += sizeof(uint32_t);
11288     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubLayersCount, sizeof(uint32_t));
11289     *ptr += sizeof(uint32_t);
11290     memcpy(*ptr, (uint32_t*)&forMarshaling->minLog2MinLumaCodingBlockSizeMinus3, sizeof(uint32_t));
11291     *ptr += sizeof(uint32_t);
11292     memcpy(*ptr, (uint32_t*)&forMarshaling->maxLog2MinLumaCodingBlockSizeMinus3, sizeof(uint32_t));
11293     *ptr += sizeof(uint32_t);
11294     memcpy(*ptr, (uint32_t*)&forMarshaling->minLog2MinLumaTransformBlockSizeMinus2,
11295            sizeof(uint32_t));
11296     *ptr += sizeof(uint32_t);
11297     memcpy(*ptr, (uint32_t*)&forMarshaling->maxLog2MinLumaTransformBlockSizeMinus2,
11298            sizeof(uint32_t));
11299     *ptr += sizeof(uint32_t);
11300     memcpy(*ptr, (uint32_t*)&forMarshaling->minMaxTransformHierarchyDepthInter, sizeof(uint32_t));
11301     *ptr += sizeof(uint32_t);
11302     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMaxTransformHierarchyDepthInter, sizeof(uint32_t));
11303     *ptr += sizeof(uint32_t);
11304     memcpy(*ptr, (uint32_t*)&forMarshaling->minMaxTransformHierarchyDepthIntra, sizeof(uint32_t));
11305     *ptr += sizeof(uint32_t);
11306     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMaxTransformHierarchyDepthIntra, sizeof(uint32_t));
11307     *ptr += sizeof(uint32_t);
11308     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDiffCuQpDeltaDepth, sizeof(uint32_t));
11309     *ptr += sizeof(uint32_t);
11310     memcpy(*ptr, (uint32_t*)&forMarshaling->minMaxNumMergeCand, sizeof(uint32_t));
11311     *ptr += sizeof(uint32_t);
11312     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMaxNumMergeCand, sizeof(uint32_t));
11313     *ptr += sizeof(uint32_t);
11314 }
11315 
reservedmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265SessionParametersAddInfoEXT * forMarshaling,uint8_t ** ptr)11316 void reservedmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT(
11317     VulkanStreamGuest* vkStream, VkStructureType rootType,
11318     const VkVideoEncodeH265SessionParametersAddInfoEXT* forMarshaling, uint8_t** ptr) {
11319     (void)vkStream;
11320     (void)rootType;
11321     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11322     *ptr += sizeof(VkStructureType);
11323     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11324         rootType = forMarshaling->sType;
11325     }
11326     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11327     memcpy(*ptr, (uint32_t*)&forMarshaling->stdVPSCount, sizeof(uint32_t));
11328     *ptr += sizeof(uint32_t);
11329     // WARNING PTR CHECK
11330     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdVPSs;
11331     memcpy((*ptr), &cgen_var_0, 8);
11332     android::base::Stream::toBe64((uint8_t*)(*ptr));
11333     *ptr += 8;
11334     if (forMarshaling->pStdVPSs) {
11335         memcpy(*ptr, (const StdVideoH265VideoParameterSet*)forMarshaling->pStdVPSs,
11336                forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet));
11337         *ptr += forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet);
11338     }
11339     memcpy(*ptr, (uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t));
11340     *ptr += sizeof(uint32_t);
11341     // WARNING PTR CHECK
11342     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStdSPSs;
11343     memcpy((*ptr), &cgen_var_1, 8);
11344     android::base::Stream::toBe64((uint8_t*)(*ptr));
11345     *ptr += 8;
11346     if (forMarshaling->pStdSPSs) {
11347         memcpy(*ptr, (const StdVideoH265SequenceParameterSet*)forMarshaling->pStdSPSs,
11348                forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet));
11349         *ptr += forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet);
11350     }
11351     memcpy(*ptr, (uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t));
11352     *ptr += sizeof(uint32_t);
11353     // WARNING PTR CHECK
11354     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pStdPPSs;
11355     memcpy((*ptr), &cgen_var_2, 8);
11356     android::base::Stream::toBe64((uint8_t*)(*ptr));
11357     *ptr += 8;
11358     if (forMarshaling->pStdPPSs) {
11359         memcpy(*ptr, (const StdVideoH265PictureParameterSet*)forMarshaling->pStdPPSs,
11360                forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet));
11361         *ptr += forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet);
11362     }
11363 }
11364 
reservedmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265SessionParametersCreateInfoEXT * forMarshaling,uint8_t ** ptr)11365 void reservedmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT(
11366     VulkanStreamGuest* vkStream, VkStructureType rootType,
11367     const VkVideoEncodeH265SessionParametersCreateInfoEXT* forMarshaling, uint8_t** ptr) {
11368     (void)vkStream;
11369     (void)rootType;
11370     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11371     *ptr += sizeof(VkStructureType);
11372     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11373         rootType = forMarshaling->sType;
11374     }
11375     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11376     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdVPSCount, sizeof(uint32_t));
11377     *ptr += sizeof(uint32_t);
11378     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t));
11379     *ptr += sizeof(uint32_t);
11380     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t));
11381     *ptr += sizeof(uint32_t);
11382     // WARNING PTR CHECK
11383     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo;
11384     memcpy((*ptr), &cgen_var_0, 8);
11385     android::base::Stream::toBe64((uint8_t*)(*ptr));
11386     *ptr += 8;
11387     if (forMarshaling->pParametersAddInfo) {
11388         reservedmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT(
11389             vkStream, rootType,
11390             (const VkVideoEncodeH265SessionParametersAddInfoEXT*)(forMarshaling
11391                                                                       ->pParametersAddInfo),
11392             ptr);
11393     }
11394 }
11395 
reservedmarshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265NaluSliceSegmentInfoEXT * forMarshaling,uint8_t ** ptr)11396 void reservedmarshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT(
11397     VulkanStreamGuest* vkStream, VkStructureType rootType,
11398     const VkVideoEncodeH265NaluSliceSegmentInfoEXT* forMarshaling, uint8_t** ptr) {
11399     (void)vkStream;
11400     (void)rootType;
11401     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11402     *ptr += sizeof(VkStructureType);
11403     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11404         rootType = forMarshaling->sType;
11405     }
11406     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11407     memcpy(*ptr, (uint32_t*)&forMarshaling->ctbCount, sizeof(uint32_t));
11408     *ptr += sizeof(uint32_t);
11409     // WARNING PTR CHECK
11410     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists;
11411     memcpy((*ptr), &cgen_var_0, 8);
11412     android::base::Stream::toBe64((uint8_t*)(*ptr));
11413     *ptr += 8;
11414     if (forMarshaling->pStdReferenceFinalLists) {
11415         memcpy(*ptr,
11416                (const StdVideoEncodeH265ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists,
11417                sizeof(const StdVideoEncodeH265ReferenceListsInfo));
11418         *ptr += sizeof(const StdVideoEncodeH265ReferenceListsInfo);
11419     }
11420     memcpy(*ptr, (const StdVideoEncodeH265SliceSegmentHeader*)forMarshaling->pStdSliceSegmentHeader,
11421            sizeof(const StdVideoEncodeH265SliceSegmentHeader));
11422     *ptr += sizeof(const StdVideoEncodeH265SliceSegmentHeader);
11423 }
11424 
reservedmarshal_VkVideoEncodeH265VclFrameInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265VclFrameInfoEXT * forMarshaling,uint8_t ** ptr)11425 void reservedmarshal_VkVideoEncodeH265VclFrameInfoEXT(
11426     VulkanStreamGuest* vkStream, VkStructureType rootType,
11427     const VkVideoEncodeH265VclFrameInfoEXT* forMarshaling, uint8_t** ptr) {
11428     (void)vkStream;
11429     (void)rootType;
11430     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11431     *ptr += sizeof(VkStructureType);
11432     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11433         rootType = forMarshaling->sType;
11434     }
11435     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11436     // WARNING PTR CHECK
11437     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists;
11438     memcpy((*ptr), &cgen_var_0, 8);
11439     android::base::Stream::toBe64((uint8_t*)(*ptr));
11440     *ptr += 8;
11441     if (forMarshaling->pStdReferenceFinalLists) {
11442         memcpy(*ptr,
11443                (const StdVideoEncodeH265ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists,
11444                sizeof(const StdVideoEncodeH265ReferenceListsInfo));
11445         *ptr += sizeof(const StdVideoEncodeH265ReferenceListsInfo);
11446     }
11447     memcpy(*ptr, (uint32_t*)&forMarshaling->naluSliceSegmentEntryCount, sizeof(uint32_t));
11448     *ptr += sizeof(uint32_t);
11449     for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceSegmentEntryCount; ++i) {
11450         reservedmarshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT(
11451             vkStream, rootType,
11452             (const VkVideoEncodeH265NaluSliceSegmentInfoEXT*)(forMarshaling
11453                                                                   ->pNaluSliceSegmentEntries +
11454                                                               i),
11455             ptr);
11456     }
11457     memcpy(*ptr, (const StdVideoEncodeH265PictureInfo*)forMarshaling->pStdPictureInfo,
11458            sizeof(const StdVideoEncodeH265PictureInfo));
11459     *ptr += sizeof(const StdVideoEncodeH265PictureInfo);
11460 }
11461 
reservedmarshal_VkVideoEncodeH265DpbSlotInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265DpbSlotInfoEXT * forMarshaling,uint8_t ** ptr)11462 void reservedmarshal_VkVideoEncodeH265DpbSlotInfoEXT(
11463     VulkanStreamGuest* vkStream, VkStructureType rootType,
11464     const VkVideoEncodeH265DpbSlotInfoEXT* forMarshaling, uint8_t** ptr) {
11465     (void)vkStream;
11466     (void)rootType;
11467     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11468     *ptr += sizeof(VkStructureType);
11469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11470         rootType = forMarshaling->sType;
11471     }
11472     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11473     memcpy(*ptr, (const StdVideoEncodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo,
11474            sizeof(const StdVideoEncodeH265ReferenceInfo));
11475     *ptr += sizeof(const StdVideoEncodeH265ReferenceInfo);
11476 }
11477 
reservedmarshal_VkVideoEncodeH265ProfileInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265ProfileInfoEXT * forMarshaling,uint8_t ** ptr)11478 void reservedmarshal_VkVideoEncodeH265ProfileInfoEXT(
11479     VulkanStreamGuest* vkStream, VkStructureType rootType,
11480     const VkVideoEncodeH265ProfileInfoEXT* forMarshaling, uint8_t** ptr) {
11481     (void)vkStream;
11482     (void)rootType;
11483     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11484     *ptr += sizeof(VkStructureType);
11485     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11486         rootType = forMarshaling->sType;
11487     }
11488     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11489     memcpy(*ptr, (StdVideoH265ProfileIdc*)&forMarshaling->stdProfileIdc,
11490            sizeof(StdVideoH265ProfileIdc));
11491     *ptr += sizeof(StdVideoH265ProfileIdc);
11492 }
11493 
reservedmarshal_VkVideoEncodeH265RateControlInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265RateControlInfoEXT * forMarshaling,uint8_t ** ptr)11494 void reservedmarshal_VkVideoEncodeH265RateControlInfoEXT(
11495     VulkanStreamGuest* vkStream, VkStructureType rootType,
11496     const VkVideoEncodeH265RateControlInfoEXT* forMarshaling, uint8_t** ptr) {
11497     (void)vkStream;
11498     (void)rootType;
11499     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11500     *ptr += sizeof(VkStructureType);
11501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11502         rootType = forMarshaling->sType;
11503     }
11504     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11505     memcpy(*ptr, (uint32_t*)&forMarshaling->gopFrameCount, sizeof(uint32_t));
11506     *ptr += sizeof(uint32_t);
11507     memcpy(*ptr, (uint32_t*)&forMarshaling->idrPeriod, sizeof(uint32_t));
11508     *ptr += sizeof(uint32_t);
11509     memcpy(*ptr, (uint32_t*)&forMarshaling->consecutiveBFrameCount, sizeof(uint32_t));
11510     *ptr += sizeof(uint32_t);
11511     memcpy(*ptr, (VkVideoEncodeH265RateControlStructureEXT*)&forMarshaling->rateControlStructure,
11512            sizeof(VkVideoEncodeH265RateControlStructureEXT));
11513     *ptr += sizeof(VkVideoEncodeH265RateControlStructureEXT);
11514     memcpy(*ptr, (uint32_t*)&forMarshaling->subLayerCount, sizeof(uint32_t));
11515     *ptr += sizeof(uint32_t);
11516 }
11517 
reservedmarshal_VkVideoEncodeH265QpEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265QpEXT * forMarshaling,uint8_t ** ptr)11518 void reservedmarshal_VkVideoEncodeH265QpEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
11519                                             const VkVideoEncodeH265QpEXT* forMarshaling,
11520                                             uint8_t** ptr) {
11521     (void)vkStream;
11522     (void)rootType;
11523     memcpy(*ptr, (int32_t*)&forMarshaling->qpI, sizeof(int32_t));
11524     *ptr += sizeof(int32_t);
11525     memcpy(*ptr, (int32_t*)&forMarshaling->qpP, sizeof(int32_t));
11526     *ptr += sizeof(int32_t);
11527     memcpy(*ptr, (int32_t*)&forMarshaling->qpB, sizeof(int32_t));
11528     *ptr += sizeof(int32_t);
11529 }
11530 
reservedmarshal_VkVideoEncodeH265FrameSizeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265FrameSizeEXT * forMarshaling,uint8_t ** ptr)11531 void reservedmarshal_VkVideoEncodeH265FrameSizeEXT(
11532     VulkanStreamGuest* vkStream, VkStructureType rootType,
11533     const VkVideoEncodeH265FrameSizeEXT* forMarshaling, uint8_t** ptr) {
11534     (void)vkStream;
11535     (void)rootType;
11536     memcpy(*ptr, (uint32_t*)&forMarshaling->frameISize, sizeof(uint32_t));
11537     *ptr += sizeof(uint32_t);
11538     memcpy(*ptr, (uint32_t*)&forMarshaling->framePSize, sizeof(uint32_t));
11539     *ptr += sizeof(uint32_t);
11540     memcpy(*ptr, (uint32_t*)&forMarshaling->frameBSize, sizeof(uint32_t));
11541     *ptr += sizeof(uint32_t);
11542 }
11543 
reservedmarshal_VkVideoEncodeH265RateControlLayerInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVideoEncodeH265RateControlLayerInfoEXT * forMarshaling,uint8_t ** ptr)11544 void reservedmarshal_VkVideoEncodeH265RateControlLayerInfoEXT(
11545     VulkanStreamGuest* vkStream, VkStructureType rootType,
11546     const VkVideoEncodeH265RateControlLayerInfoEXT* forMarshaling, uint8_t** ptr) {
11547     (void)vkStream;
11548     (void)rootType;
11549     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11550     *ptr += sizeof(VkStructureType);
11551     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11552         rootType = forMarshaling->sType;
11553     }
11554     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11555     memcpy(*ptr, (uint32_t*)&forMarshaling->temporalId, sizeof(uint32_t));
11556     *ptr += sizeof(uint32_t);
11557     memcpy(*ptr, (VkBool32*)&forMarshaling->useInitialRcQp, sizeof(VkBool32));
11558     *ptr += sizeof(VkBool32);
11559     reservedmarshal_VkVideoEncodeH265QpEXT(
11560         vkStream, rootType, (VkVideoEncodeH265QpEXT*)(&forMarshaling->initialRcQp), ptr);
11561     memcpy(*ptr, (VkBool32*)&forMarshaling->useMinQp, sizeof(VkBool32));
11562     *ptr += sizeof(VkBool32);
11563     reservedmarshal_VkVideoEncodeH265QpEXT(vkStream, rootType,
11564                                            (VkVideoEncodeH265QpEXT*)(&forMarshaling->minQp), ptr);
11565     memcpy(*ptr, (VkBool32*)&forMarshaling->useMaxQp, sizeof(VkBool32));
11566     *ptr += sizeof(VkBool32);
11567     reservedmarshal_VkVideoEncodeH265QpEXT(vkStream, rootType,
11568                                            (VkVideoEncodeH265QpEXT*)(&forMarshaling->maxQp), ptr);
11569     memcpy(*ptr, (VkBool32*)&forMarshaling->useMaxFrameSize, sizeof(VkBool32));
11570     *ptr += sizeof(VkBool32);
11571     reservedmarshal_VkVideoEncodeH265FrameSizeEXT(
11572         vkStream, rootType, (VkVideoEncodeH265FrameSizeEXT*)(&forMarshaling->maxFrameSize), ptr);
11573 }
11574 
11575 #endif
11576 #ifdef VK_AMD_texture_gather_bias_lod
reservedmarshal_VkTextureLODGatherFormatPropertiesAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTextureLODGatherFormatPropertiesAMD * forMarshaling,uint8_t ** ptr)11577 void reservedmarshal_VkTextureLODGatherFormatPropertiesAMD(
11578     VulkanStreamGuest* vkStream, VkStructureType rootType,
11579     const VkTextureLODGatherFormatPropertiesAMD* forMarshaling, uint8_t** ptr) {
11580     (void)vkStream;
11581     (void)rootType;
11582     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11583     *ptr += sizeof(VkStructureType);
11584     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11585         rootType = forMarshaling->sType;
11586     }
11587     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11588     memcpy(*ptr, (VkBool32*)&forMarshaling->supportsTextureGatherLODBiasAMD, sizeof(VkBool32));
11589     *ptr += sizeof(VkBool32);
11590 }
11591 
11592 #endif
11593 #ifdef VK_AMD_shader_info
reservedmarshal_VkShaderResourceUsageAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderResourceUsageAMD * forMarshaling,uint8_t ** ptr)11594 void reservedmarshal_VkShaderResourceUsageAMD(VulkanStreamGuest* vkStream, VkStructureType rootType,
11595                                               const VkShaderResourceUsageAMD* forMarshaling,
11596                                               uint8_t** ptr) {
11597     (void)vkStream;
11598     (void)rootType;
11599     memcpy(*ptr, (uint32_t*)&forMarshaling->numUsedVgprs, sizeof(uint32_t));
11600     *ptr += sizeof(uint32_t);
11601     memcpy(*ptr, (uint32_t*)&forMarshaling->numUsedSgprs, sizeof(uint32_t));
11602     *ptr += sizeof(uint32_t);
11603     memcpy(*ptr, (uint32_t*)&forMarshaling->ldsSizePerLocalWorkGroup, sizeof(uint32_t));
11604     *ptr += sizeof(uint32_t);
11605     uint64_t cgen_var_0 = (uint64_t)forMarshaling->ldsUsageSizeInBytes;
11606     memcpy((*ptr), &cgen_var_0, 8);
11607     android::base::Stream::toBe64((uint8_t*)(*ptr));
11608     *ptr += 8;
11609     uint64_t cgen_var_1 = (uint64_t)forMarshaling->scratchMemUsageInBytes;
11610     memcpy((*ptr), &cgen_var_1, 8);
11611     android::base::Stream::toBe64((uint8_t*)(*ptr));
11612     *ptr += 8;
11613 }
11614 
reservedmarshal_VkShaderStatisticsInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderStatisticsInfoAMD * forMarshaling,uint8_t ** ptr)11615 void reservedmarshal_VkShaderStatisticsInfoAMD(VulkanStreamGuest* vkStream,
11616                                                VkStructureType rootType,
11617                                                const VkShaderStatisticsInfoAMD* forMarshaling,
11618                                                uint8_t** ptr) {
11619     (void)vkStream;
11620     (void)rootType;
11621     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->shaderStageMask, sizeof(VkShaderStageFlags));
11622     *ptr += sizeof(VkShaderStageFlags);
11623     reservedmarshal_VkShaderResourceUsageAMD(
11624         vkStream, rootType, (VkShaderResourceUsageAMD*)(&forMarshaling->resourceUsage), ptr);
11625     memcpy(*ptr, (uint32_t*)&forMarshaling->numPhysicalVgprs, sizeof(uint32_t));
11626     *ptr += sizeof(uint32_t);
11627     memcpy(*ptr, (uint32_t*)&forMarshaling->numPhysicalSgprs, sizeof(uint32_t));
11628     *ptr += sizeof(uint32_t);
11629     memcpy(*ptr, (uint32_t*)&forMarshaling->numAvailableVgprs, sizeof(uint32_t));
11630     *ptr += sizeof(uint32_t);
11631     memcpy(*ptr, (uint32_t*)&forMarshaling->numAvailableSgprs, sizeof(uint32_t));
11632     *ptr += sizeof(uint32_t);
11633     memcpy(*ptr, (uint32_t*)forMarshaling->computeWorkGroupSize, 3 * sizeof(uint32_t));
11634     *ptr += 3 * sizeof(uint32_t);
11635 }
11636 
11637 #endif
11638 #ifdef VK_AMD_shader_image_load_store_lod
11639 #endif
11640 #ifdef VK_GGP_stream_descriptor_surface
reservedmarshal_VkStreamDescriptorSurfaceCreateInfoGGP(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkStreamDescriptorSurfaceCreateInfoGGP * forMarshaling,uint8_t ** ptr)11641 void reservedmarshal_VkStreamDescriptorSurfaceCreateInfoGGP(
11642     VulkanStreamGuest* vkStream, VkStructureType rootType,
11643     const VkStreamDescriptorSurfaceCreateInfoGGP* forMarshaling, uint8_t** ptr) {
11644     (void)vkStream;
11645     (void)rootType;
11646     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11647     *ptr += sizeof(VkStructureType);
11648     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11649         rootType = forMarshaling->sType;
11650     }
11651     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11652     memcpy(*ptr, (VkStreamDescriptorSurfaceCreateFlagsGGP*)&forMarshaling->flags,
11653            sizeof(VkStreamDescriptorSurfaceCreateFlagsGGP));
11654     *ptr += sizeof(VkStreamDescriptorSurfaceCreateFlagsGGP);
11655     memcpy(*ptr, (GgpStreamDescriptor*)&forMarshaling->streamDescriptor,
11656            sizeof(GgpStreamDescriptor));
11657     *ptr += sizeof(GgpStreamDescriptor);
11658 }
11659 
11660 #endif
11661 #ifdef VK_NV_corner_sampled_image
reservedmarshal_VkPhysicalDeviceCornerSampledImageFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCornerSampledImageFeaturesNV * forMarshaling,uint8_t ** ptr)11662 void reservedmarshal_VkPhysicalDeviceCornerSampledImageFeaturesNV(
11663     VulkanStreamGuest* vkStream, VkStructureType rootType,
11664     const VkPhysicalDeviceCornerSampledImageFeaturesNV* forMarshaling, uint8_t** ptr) {
11665     (void)vkStream;
11666     (void)rootType;
11667     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11668     *ptr += sizeof(VkStructureType);
11669     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11670         rootType = forMarshaling->sType;
11671     }
11672     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11673     memcpy(*ptr, (VkBool32*)&forMarshaling->cornerSampledImage, sizeof(VkBool32));
11674     *ptr += sizeof(VkBool32);
11675 }
11676 
11677 #endif
11678 #ifdef VK_IMG_format_pvrtc
11679 #endif
11680 #ifdef VK_NV_external_memory_capabilities
reservedmarshal_VkExternalImageFormatPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalImageFormatPropertiesNV * forMarshaling,uint8_t ** ptr)11681 void reservedmarshal_VkExternalImageFormatPropertiesNV(
11682     VulkanStreamGuest* vkStream, VkStructureType rootType,
11683     const VkExternalImageFormatPropertiesNV* forMarshaling, uint8_t** ptr) {
11684     (void)vkStream;
11685     (void)rootType;
11686     reservedmarshal_VkImageFormatProperties(
11687         vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties), ptr);
11688     memcpy(*ptr, (VkExternalMemoryFeatureFlagsNV*)&forMarshaling->externalMemoryFeatures,
11689            sizeof(VkExternalMemoryFeatureFlagsNV));
11690     *ptr += sizeof(VkExternalMemoryFeatureFlagsNV);
11691     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->exportFromImportedHandleTypes,
11692            sizeof(VkExternalMemoryHandleTypeFlagsNV));
11693     *ptr += sizeof(VkExternalMemoryHandleTypeFlagsNV);
11694     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->compatibleHandleTypes,
11695            sizeof(VkExternalMemoryHandleTypeFlagsNV));
11696     *ptr += sizeof(VkExternalMemoryHandleTypeFlagsNV);
11697 }
11698 
11699 #endif
11700 #ifdef VK_NV_external_memory
reservedmarshal_VkExternalMemoryImageCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryImageCreateInfoNV * forMarshaling,uint8_t ** ptr)11701 void reservedmarshal_VkExternalMemoryImageCreateInfoNV(
11702     VulkanStreamGuest* vkStream, VkStructureType rootType,
11703     const VkExternalMemoryImageCreateInfoNV* forMarshaling, uint8_t** ptr) {
11704     (void)vkStream;
11705     (void)rootType;
11706     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11707     *ptr += sizeof(VkStructureType);
11708     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11709         rootType = forMarshaling->sType;
11710     }
11711     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11712     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes,
11713            sizeof(VkExternalMemoryHandleTypeFlagsNV));
11714     *ptr += sizeof(VkExternalMemoryHandleTypeFlagsNV);
11715 }
11716 
reservedmarshal_VkExportMemoryAllocateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryAllocateInfoNV * forMarshaling,uint8_t ** ptr)11717 void reservedmarshal_VkExportMemoryAllocateInfoNV(VulkanStreamGuest* vkStream,
11718                                                   VkStructureType rootType,
11719                                                   const VkExportMemoryAllocateInfoNV* forMarshaling,
11720                                                   uint8_t** ptr) {
11721     (void)vkStream;
11722     (void)rootType;
11723     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11724     *ptr += sizeof(VkStructureType);
11725     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11726         rootType = forMarshaling->sType;
11727     }
11728     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11729     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes,
11730            sizeof(VkExternalMemoryHandleTypeFlagsNV));
11731     *ptr += sizeof(VkExternalMemoryHandleTypeFlagsNV);
11732 }
11733 
11734 #endif
11735 #ifdef VK_NV_external_memory_win32
reservedmarshal_VkImportMemoryWin32HandleInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryWin32HandleInfoNV * forMarshaling,uint8_t ** ptr)11736 void reservedmarshal_VkImportMemoryWin32HandleInfoNV(
11737     VulkanStreamGuest* vkStream, VkStructureType rootType,
11738     const VkImportMemoryWin32HandleInfoNV* forMarshaling, uint8_t** ptr) {
11739     (void)vkStream;
11740     (void)rootType;
11741     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11742     *ptr += sizeof(VkStructureType);
11743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11744         rootType = forMarshaling->sType;
11745     }
11746     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11747     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleType,
11748            sizeof(VkExternalMemoryHandleTypeFlagsNV));
11749     *ptr += sizeof(VkExternalMemoryHandleTypeFlagsNV);
11750     memcpy(*ptr, (HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
11751     *ptr += sizeof(HANDLE);
11752 }
11753 
reservedmarshal_VkExportMemoryWin32HandleInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryWin32HandleInfoNV * forMarshaling,uint8_t ** ptr)11754 void reservedmarshal_VkExportMemoryWin32HandleInfoNV(
11755     VulkanStreamGuest* vkStream, VkStructureType rootType,
11756     const VkExportMemoryWin32HandleInfoNV* forMarshaling, uint8_t** ptr) {
11757     (void)vkStream;
11758     (void)rootType;
11759     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11760     *ptr += sizeof(VkStructureType);
11761     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11762         rootType = forMarshaling->sType;
11763     }
11764     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11765     // WARNING PTR CHECK
11766     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
11767     memcpy((*ptr), &cgen_var_0, 8);
11768     android::base::Stream::toBe64((uint8_t*)(*ptr));
11769     *ptr += 8;
11770     if (forMarshaling->pAttributes) {
11771         memcpy(*ptr, (const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes,
11772                sizeof(const SECURITY_ATTRIBUTES));
11773         *ptr += sizeof(const SECURITY_ATTRIBUTES);
11774     }
11775     memcpy(*ptr, (DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
11776     *ptr += sizeof(DWORD);
11777 }
11778 
11779 #endif
11780 #ifdef VK_NV_win32_keyed_mutex
reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWin32KeyedMutexAcquireReleaseInfoNV * forMarshaling,uint8_t ** ptr)11781 void reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
11782     VulkanStreamGuest* vkStream, VkStructureType rootType,
11783     const VkWin32KeyedMutexAcquireReleaseInfoNV* forMarshaling, uint8_t** ptr) {
11784     (void)vkStream;
11785     (void)rootType;
11786     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11787     *ptr += sizeof(VkStructureType);
11788     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11789         rootType = forMarshaling->sType;
11790     }
11791     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11792     memcpy(*ptr, (uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t));
11793     *ptr += sizeof(uint32_t);
11794     if (forMarshaling->acquireCount) {
11795         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
11796         if (forMarshaling) {
11797             for (uint32_t k = 0; k < forMarshaling->acquireCount; ++k) {
11798                 uint64_t tmpval = get_host_u64_VkDeviceMemory(forMarshaling->pAcquireSyncs[k]);
11799                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
11800             }
11801         }
11802         *ptr += 8 * forMarshaling->acquireCount;
11803     }
11804     memcpy(*ptr, (const uint64_t*)forMarshaling->pAcquireKeys,
11805            forMarshaling->acquireCount * sizeof(const uint64_t));
11806     *ptr += forMarshaling->acquireCount * sizeof(const uint64_t);
11807     memcpy(*ptr, (const uint32_t*)forMarshaling->pAcquireTimeoutMilliseconds,
11808            forMarshaling->acquireCount * sizeof(const uint32_t));
11809     *ptr += forMarshaling->acquireCount * sizeof(const uint32_t);
11810     memcpy(*ptr, (uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t));
11811     *ptr += sizeof(uint32_t);
11812     if (forMarshaling->releaseCount) {
11813         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
11814         if (forMarshaling) {
11815             for (uint32_t k = 0; k < forMarshaling->releaseCount; ++k) {
11816                 uint64_t tmpval = get_host_u64_VkDeviceMemory(forMarshaling->pReleaseSyncs[k]);
11817                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
11818             }
11819         }
11820         *ptr += 8 * forMarshaling->releaseCount;
11821     }
11822     memcpy(*ptr, (const uint64_t*)forMarshaling->pReleaseKeys,
11823            forMarshaling->releaseCount * sizeof(const uint64_t));
11824     *ptr += forMarshaling->releaseCount * sizeof(const uint64_t);
11825 }
11826 
11827 #endif
11828 #ifdef VK_EXT_validation_flags
reservedmarshal_VkValidationFlagsEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkValidationFlagsEXT * forMarshaling,uint8_t ** ptr)11829 void reservedmarshal_VkValidationFlagsEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
11830                                           const VkValidationFlagsEXT* forMarshaling,
11831                                           uint8_t** ptr) {
11832     (void)vkStream;
11833     (void)rootType;
11834     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11835     *ptr += sizeof(VkStructureType);
11836     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11837         rootType = forMarshaling->sType;
11838     }
11839     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11840     memcpy(*ptr, (uint32_t*)&forMarshaling->disabledValidationCheckCount, sizeof(uint32_t));
11841     *ptr += sizeof(uint32_t);
11842     memcpy(*ptr, (const VkValidationCheckEXT*)forMarshaling->pDisabledValidationChecks,
11843            forMarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT));
11844     *ptr += forMarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT);
11845 }
11846 
11847 #endif
11848 #ifdef VK_NN_vi_surface
reservedmarshal_VkViSurfaceCreateInfoNN(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViSurfaceCreateInfoNN * forMarshaling,uint8_t ** ptr)11849 void reservedmarshal_VkViSurfaceCreateInfoNN(VulkanStreamGuest* vkStream, VkStructureType rootType,
11850                                              const VkViSurfaceCreateInfoNN* forMarshaling,
11851                                              uint8_t** ptr) {
11852     (void)vkStream;
11853     (void)rootType;
11854     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11855     *ptr += sizeof(VkStructureType);
11856     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11857         rootType = forMarshaling->sType;
11858     }
11859     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11860     memcpy(*ptr, (VkViSurfaceCreateFlagsNN*)&forMarshaling->flags,
11861            sizeof(VkViSurfaceCreateFlagsNN));
11862     *ptr += sizeof(VkViSurfaceCreateFlagsNN);
11863     // WARNING PTR CHECK
11864     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->window;
11865     memcpy((*ptr), &cgen_var_0, 8);
11866     android::base::Stream::toBe64((uint8_t*)(*ptr));
11867     *ptr += 8;
11868     if (forMarshaling->window) {
11869         memcpy(*ptr, (void*)forMarshaling->window, sizeof(uint8_t));
11870         *ptr += sizeof(uint8_t);
11871     }
11872 }
11873 
11874 #endif
11875 #ifdef VK_EXT_shader_subgroup_ballot
11876 #endif
11877 #ifdef VK_EXT_shader_subgroup_vote
11878 #endif
11879 #ifdef VK_EXT_texture_compression_astc_hdr
11880 #endif
11881 #ifdef VK_EXT_astc_decode_mode
reservedmarshal_VkImageViewASTCDecodeModeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewASTCDecodeModeEXT * forMarshaling,uint8_t ** ptr)11882 void reservedmarshal_VkImageViewASTCDecodeModeEXT(VulkanStreamGuest* vkStream,
11883                                                   VkStructureType rootType,
11884                                                   const VkImageViewASTCDecodeModeEXT* forMarshaling,
11885                                                   uint8_t** ptr) {
11886     (void)vkStream;
11887     (void)rootType;
11888     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11889     *ptr += sizeof(VkStructureType);
11890     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11891         rootType = forMarshaling->sType;
11892     }
11893     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11894     memcpy(*ptr, (VkFormat*)&forMarshaling->decodeMode, sizeof(VkFormat));
11895     *ptr += sizeof(VkFormat);
11896 }
11897 
reservedmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceASTCDecodeFeaturesEXT * forMarshaling,uint8_t ** ptr)11898 void reservedmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT(
11899     VulkanStreamGuest* vkStream, VkStructureType rootType,
11900     const VkPhysicalDeviceASTCDecodeFeaturesEXT* forMarshaling, uint8_t** ptr) {
11901     (void)vkStream;
11902     (void)rootType;
11903     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11904     *ptr += sizeof(VkStructureType);
11905     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11906         rootType = forMarshaling->sType;
11907     }
11908     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11909     memcpy(*ptr, (VkBool32*)&forMarshaling->decodeModeSharedExponent, sizeof(VkBool32));
11910     *ptr += sizeof(VkBool32);
11911 }
11912 
11913 #endif
11914 #ifdef VK_EXT_pipeline_robustness
reservedmarshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessFeaturesEXT * forMarshaling,uint8_t ** ptr)11915 void reservedmarshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT(
11916     VulkanStreamGuest* vkStream, VkStructureType rootType,
11917     const VkPhysicalDevicePipelineRobustnessFeaturesEXT* forMarshaling, uint8_t** ptr) {
11918     (void)vkStream;
11919     (void)rootType;
11920     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11921     *ptr += sizeof(VkStructureType);
11922     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11923         rootType = forMarshaling->sType;
11924     }
11925     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11926     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineRobustness, sizeof(VkBool32));
11927     *ptr += sizeof(VkBool32);
11928 }
11929 
reservedmarshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessPropertiesEXT * forMarshaling,uint8_t ** ptr)11930 void reservedmarshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT(
11931     VulkanStreamGuest* vkStream, VkStructureType rootType,
11932     const VkPhysicalDevicePipelineRobustnessPropertiesEXT* forMarshaling, uint8_t** ptr) {
11933     (void)vkStream;
11934     (void)rootType;
11935     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11936     *ptr += sizeof(VkStructureType);
11937     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11938         rootType = forMarshaling->sType;
11939     }
11940     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11941     memcpy(*ptr,
11942            (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessStorageBuffers,
11943            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11944     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11945     memcpy(*ptr,
11946            (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessUniformBuffers,
11947            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11948     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11949     memcpy(*ptr,
11950            (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessVertexInputs,
11951            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11952     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11953     memcpy(*ptr, (VkPipelineRobustnessImageBehaviorEXT*)&forMarshaling->defaultRobustnessImages,
11954            sizeof(VkPipelineRobustnessImageBehaviorEXT));
11955     *ptr += sizeof(VkPipelineRobustnessImageBehaviorEXT);
11956 }
11957 
reservedmarshal_VkPipelineRobustnessCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRobustnessCreateInfoEXT * forMarshaling,uint8_t ** ptr)11958 void reservedmarshal_VkPipelineRobustnessCreateInfoEXT(
11959     VulkanStreamGuest* vkStream, VkStructureType rootType,
11960     const VkPipelineRobustnessCreateInfoEXT* forMarshaling, uint8_t** ptr) {
11961     (void)vkStream;
11962     (void)rootType;
11963     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11964     *ptr += sizeof(VkStructureType);
11965     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11966         rootType = forMarshaling->sType;
11967     }
11968     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11969     memcpy(*ptr, (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->storageBuffers,
11970            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11971     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11972     memcpy(*ptr, (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->uniformBuffers,
11973            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11974     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11975     memcpy(*ptr, (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->vertexInputs,
11976            sizeof(VkPipelineRobustnessBufferBehaviorEXT));
11977     *ptr += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
11978     memcpy(*ptr, (VkPipelineRobustnessImageBehaviorEXT*)&forMarshaling->images,
11979            sizeof(VkPipelineRobustnessImageBehaviorEXT));
11980     *ptr += sizeof(VkPipelineRobustnessImageBehaviorEXT);
11981 }
11982 
11983 #endif
11984 #ifdef VK_EXT_conditional_rendering
reservedmarshal_VkConditionalRenderingBeginInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkConditionalRenderingBeginInfoEXT * forMarshaling,uint8_t ** ptr)11985 void reservedmarshal_VkConditionalRenderingBeginInfoEXT(
11986     VulkanStreamGuest* vkStream, VkStructureType rootType,
11987     const VkConditionalRenderingBeginInfoEXT* forMarshaling, uint8_t** ptr) {
11988     (void)vkStream;
11989     (void)rootType;
11990     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11991     *ptr += sizeof(VkStructureType);
11992     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11993         rootType = forMarshaling->sType;
11994     }
11995     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
11996     uint64_t cgen_var_0;
11997     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
11998     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
11999     *ptr += 1 * 8;
12000     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
12001     *ptr += sizeof(VkDeviceSize);
12002     memcpy(*ptr, (VkConditionalRenderingFlagsEXT*)&forMarshaling->flags,
12003            sizeof(VkConditionalRenderingFlagsEXT));
12004     *ptr += sizeof(VkConditionalRenderingFlagsEXT);
12005 }
12006 
reservedmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceConditionalRenderingFeaturesEXT * forMarshaling,uint8_t ** ptr)12007 void reservedmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
12008     VulkanStreamGuest* vkStream, VkStructureType rootType,
12009     const VkPhysicalDeviceConditionalRenderingFeaturesEXT* forMarshaling, uint8_t** ptr) {
12010     (void)vkStream;
12011     (void)rootType;
12012     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12013     *ptr += sizeof(VkStructureType);
12014     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12015         rootType = forMarshaling->sType;
12016     }
12017     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12018     memcpy(*ptr, (VkBool32*)&forMarshaling->conditionalRendering, sizeof(VkBool32));
12019     *ptr += sizeof(VkBool32);
12020     memcpy(*ptr, (VkBool32*)&forMarshaling->inheritedConditionalRendering, sizeof(VkBool32));
12021     *ptr += sizeof(VkBool32);
12022 }
12023 
reservedmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceConditionalRenderingInfoEXT * forMarshaling,uint8_t ** ptr)12024 void reservedmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
12025     VulkanStreamGuest* vkStream, VkStructureType rootType,
12026     const VkCommandBufferInheritanceConditionalRenderingInfoEXT* forMarshaling, uint8_t** ptr) {
12027     (void)vkStream;
12028     (void)rootType;
12029     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12030     *ptr += sizeof(VkStructureType);
12031     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12032         rootType = forMarshaling->sType;
12033     }
12034     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12035     memcpy(*ptr, (VkBool32*)&forMarshaling->conditionalRenderingEnable, sizeof(VkBool32));
12036     *ptr += sizeof(VkBool32);
12037 }
12038 
12039 #endif
12040 #ifdef VK_NV_clip_space_w_scaling
reservedmarshal_VkViewportWScalingNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViewportWScalingNV * forMarshaling,uint8_t ** ptr)12041 void reservedmarshal_VkViewportWScalingNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
12042                                           const VkViewportWScalingNV* forMarshaling,
12043                                           uint8_t** ptr) {
12044     (void)vkStream;
12045     (void)rootType;
12046     memcpy(*ptr, (float*)&forMarshaling->xcoeff, sizeof(float));
12047     *ptr += sizeof(float);
12048     memcpy(*ptr, (float*)&forMarshaling->ycoeff, sizeof(float));
12049     *ptr += sizeof(float);
12050 }
12051 
reservedmarshal_VkPipelineViewportWScalingStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportWScalingStateCreateInfoNV * forMarshaling,uint8_t ** ptr)12052 void reservedmarshal_VkPipelineViewportWScalingStateCreateInfoNV(
12053     VulkanStreamGuest* vkStream, VkStructureType rootType,
12054     const VkPipelineViewportWScalingStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
12055     (void)vkStream;
12056     (void)rootType;
12057     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12058     *ptr += sizeof(VkStructureType);
12059     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12060         rootType = forMarshaling->sType;
12061     }
12062     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12063     memcpy(*ptr, (VkBool32*)&forMarshaling->viewportWScalingEnable, sizeof(VkBool32));
12064     *ptr += sizeof(VkBool32);
12065     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
12066     *ptr += sizeof(uint32_t);
12067     // WARNING PTR CHECK
12068     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewportWScalings;
12069     memcpy((*ptr), &cgen_var_0, 8);
12070     android::base::Stream::toBe64((uint8_t*)(*ptr));
12071     *ptr += 8;
12072     if (forMarshaling->pViewportWScalings) {
12073         for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
12074             reservedmarshal_VkViewportWScalingNV(
12075                 vkStream, rootType,
12076                 (const VkViewportWScalingNV*)(forMarshaling->pViewportWScalings + i), ptr);
12077         }
12078     }
12079 }
12080 
12081 #endif
12082 #ifdef VK_EXT_direct_mode_display
12083 #endif
12084 #ifdef VK_EXT_acquire_xlib_display
12085 #endif
12086 #ifdef VK_EXT_display_surface_counter
reservedmarshal_VkSurfaceCapabilities2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceCapabilities2EXT * forMarshaling,uint8_t ** ptr)12087 void reservedmarshal_VkSurfaceCapabilities2EXT(VulkanStreamGuest* vkStream,
12088                                                VkStructureType rootType,
12089                                                const VkSurfaceCapabilities2EXT* forMarshaling,
12090                                                uint8_t** ptr) {
12091     (void)vkStream;
12092     (void)rootType;
12093     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12094     *ptr += sizeof(VkStructureType);
12095     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12096         rootType = forMarshaling->sType;
12097     }
12098     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12099     memcpy(*ptr, (uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
12100     *ptr += sizeof(uint32_t);
12101     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t));
12102     *ptr += sizeof(uint32_t);
12103     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->currentExtent),
12104                                ptr);
12105     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minImageExtent),
12106                                ptr);
12107     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxImageExtent),
12108                                ptr);
12109     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
12110     *ptr += sizeof(uint32_t);
12111     memcpy(*ptr, (VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms,
12112            sizeof(VkSurfaceTransformFlagsKHR));
12113     *ptr += sizeof(VkSurfaceTransformFlagsKHR);
12114     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform,
12115            sizeof(VkSurfaceTransformFlagBitsKHR));
12116     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
12117     memcpy(*ptr, (VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha,
12118            sizeof(VkCompositeAlphaFlagsKHR));
12119     *ptr += sizeof(VkCompositeAlphaFlagsKHR);
12120     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->supportedUsageFlags,
12121            sizeof(VkImageUsageFlags));
12122     *ptr += sizeof(VkImageUsageFlags);
12123     memcpy(*ptr, (VkSurfaceCounterFlagsEXT*)&forMarshaling->supportedSurfaceCounters,
12124            sizeof(VkSurfaceCounterFlagsEXT));
12125     *ptr += sizeof(VkSurfaceCounterFlagsEXT);
12126 }
12127 
12128 #endif
12129 #ifdef VK_EXT_display_control
reservedmarshal_VkDisplayPowerInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayPowerInfoEXT * forMarshaling,uint8_t ** ptr)12130 void reservedmarshal_VkDisplayPowerInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12131                                            const VkDisplayPowerInfoEXT* forMarshaling,
12132                                            uint8_t** ptr) {
12133     (void)vkStream;
12134     (void)rootType;
12135     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12136     *ptr += sizeof(VkStructureType);
12137     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12138         rootType = forMarshaling->sType;
12139     }
12140     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12141     memcpy(*ptr, (VkDisplayPowerStateEXT*)&forMarshaling->powerState,
12142            sizeof(VkDisplayPowerStateEXT));
12143     *ptr += sizeof(VkDisplayPowerStateEXT);
12144 }
12145 
reservedmarshal_VkDeviceEventInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceEventInfoEXT * forMarshaling,uint8_t ** ptr)12146 void reservedmarshal_VkDeviceEventInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12147                                           const VkDeviceEventInfoEXT* forMarshaling,
12148                                           uint8_t** ptr) {
12149     (void)vkStream;
12150     (void)rootType;
12151     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12152     *ptr += sizeof(VkStructureType);
12153     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12154         rootType = forMarshaling->sType;
12155     }
12156     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12157     memcpy(*ptr, (VkDeviceEventTypeEXT*)&forMarshaling->deviceEvent, sizeof(VkDeviceEventTypeEXT));
12158     *ptr += sizeof(VkDeviceEventTypeEXT);
12159 }
12160 
reservedmarshal_VkDisplayEventInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayEventInfoEXT * forMarshaling,uint8_t ** ptr)12161 void reservedmarshal_VkDisplayEventInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12162                                            const VkDisplayEventInfoEXT* forMarshaling,
12163                                            uint8_t** ptr) {
12164     (void)vkStream;
12165     (void)rootType;
12166     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12167     *ptr += sizeof(VkStructureType);
12168     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12169         rootType = forMarshaling->sType;
12170     }
12171     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12172     memcpy(*ptr, (VkDisplayEventTypeEXT*)&forMarshaling->displayEvent,
12173            sizeof(VkDisplayEventTypeEXT));
12174     *ptr += sizeof(VkDisplayEventTypeEXT);
12175 }
12176 
reservedmarshal_VkSwapchainCounterCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainCounterCreateInfoEXT * forMarshaling,uint8_t ** ptr)12177 void reservedmarshal_VkSwapchainCounterCreateInfoEXT(
12178     VulkanStreamGuest* vkStream, VkStructureType rootType,
12179     const VkSwapchainCounterCreateInfoEXT* forMarshaling, uint8_t** ptr) {
12180     (void)vkStream;
12181     (void)rootType;
12182     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12183     *ptr += sizeof(VkStructureType);
12184     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12185         rootType = forMarshaling->sType;
12186     }
12187     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12188     memcpy(*ptr, (VkSurfaceCounterFlagsEXT*)&forMarshaling->surfaceCounters,
12189            sizeof(VkSurfaceCounterFlagsEXT));
12190     *ptr += sizeof(VkSurfaceCounterFlagsEXT);
12191 }
12192 
12193 #endif
12194 #ifdef VK_GOOGLE_display_timing
reservedmarshal_VkRefreshCycleDurationGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRefreshCycleDurationGOOGLE * forMarshaling,uint8_t ** ptr)12195 void reservedmarshal_VkRefreshCycleDurationGOOGLE(VulkanStreamGuest* vkStream,
12196                                                   VkStructureType rootType,
12197                                                   const VkRefreshCycleDurationGOOGLE* forMarshaling,
12198                                                   uint8_t** ptr) {
12199     (void)vkStream;
12200     (void)rootType;
12201     memcpy(*ptr, (uint64_t*)&forMarshaling->refreshDuration, sizeof(uint64_t));
12202     *ptr += sizeof(uint64_t);
12203 }
12204 
reservedmarshal_VkPastPresentationTimingGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPastPresentationTimingGOOGLE * forMarshaling,uint8_t ** ptr)12205 void reservedmarshal_VkPastPresentationTimingGOOGLE(
12206     VulkanStreamGuest* vkStream, VkStructureType rootType,
12207     const VkPastPresentationTimingGOOGLE* forMarshaling, uint8_t** ptr) {
12208     (void)vkStream;
12209     (void)rootType;
12210     memcpy(*ptr, (uint32_t*)&forMarshaling->presentID, sizeof(uint32_t));
12211     *ptr += sizeof(uint32_t);
12212     memcpy(*ptr, (uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t));
12213     *ptr += sizeof(uint64_t);
12214     memcpy(*ptr, (uint64_t*)&forMarshaling->actualPresentTime, sizeof(uint64_t));
12215     *ptr += sizeof(uint64_t);
12216     memcpy(*ptr, (uint64_t*)&forMarshaling->earliestPresentTime, sizeof(uint64_t));
12217     *ptr += sizeof(uint64_t);
12218     memcpy(*ptr, (uint64_t*)&forMarshaling->presentMargin, sizeof(uint64_t));
12219     *ptr += sizeof(uint64_t);
12220 }
12221 
reservedmarshal_VkPresentTimeGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentTimeGOOGLE * forMarshaling,uint8_t ** ptr)12222 void reservedmarshal_VkPresentTimeGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
12223                                          const VkPresentTimeGOOGLE* forMarshaling, uint8_t** ptr) {
12224     (void)vkStream;
12225     (void)rootType;
12226     memcpy(*ptr, (uint32_t*)&forMarshaling->presentID, sizeof(uint32_t));
12227     *ptr += sizeof(uint32_t);
12228     memcpy(*ptr, (uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t));
12229     *ptr += sizeof(uint64_t);
12230 }
12231 
reservedmarshal_VkPresentTimesInfoGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentTimesInfoGOOGLE * forMarshaling,uint8_t ** ptr)12232 void reservedmarshal_VkPresentTimesInfoGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
12233                                               const VkPresentTimesInfoGOOGLE* forMarshaling,
12234                                               uint8_t** ptr) {
12235     (void)vkStream;
12236     (void)rootType;
12237     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12238     *ptr += sizeof(VkStructureType);
12239     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12240         rootType = forMarshaling->sType;
12241     }
12242     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12243     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
12244     *ptr += sizeof(uint32_t);
12245     // WARNING PTR CHECK
12246     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTimes;
12247     memcpy((*ptr), &cgen_var_0, 8);
12248     android::base::Stream::toBe64((uint8_t*)(*ptr));
12249     *ptr += 8;
12250     if (forMarshaling->pTimes) {
12251         for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
12252             reservedmarshal_VkPresentTimeGOOGLE(
12253                 vkStream, rootType, (const VkPresentTimeGOOGLE*)(forMarshaling->pTimes + i), ptr);
12254         }
12255     }
12256 }
12257 
12258 #endif
12259 #ifdef VK_NV_sample_mask_override_coverage
12260 #endif
12261 #ifdef VK_NV_geometry_shader_passthrough
12262 #endif
12263 #ifdef VK_NV_viewport_array2
12264 #endif
12265 #ifdef VK_NVX_multiview_per_view_attributes
reservedmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX * forMarshaling,uint8_t ** ptr)12266 void reservedmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
12267     VulkanStreamGuest* vkStream, VkStructureType rootType,
12268     const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forMarshaling, uint8_t** ptr) {
12269     (void)vkStream;
12270     (void)rootType;
12271     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12272     *ptr += sizeof(VkStructureType);
12273     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12274         rootType = forMarshaling->sType;
12275     }
12276     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12277     memcpy(*ptr, (VkBool32*)&forMarshaling->perViewPositionAllComponents, sizeof(VkBool32));
12278     *ptr += sizeof(VkBool32);
12279 }
12280 
12281 #endif
12282 #ifdef VK_NV_viewport_swizzle
reservedmarshal_VkViewportSwizzleNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViewportSwizzleNV * forMarshaling,uint8_t ** ptr)12283 void reservedmarshal_VkViewportSwizzleNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
12284                                          const VkViewportSwizzleNV* forMarshaling, uint8_t** ptr) {
12285     (void)vkStream;
12286     (void)rootType;
12287     memcpy(*ptr, (VkViewportCoordinateSwizzleNV*)&forMarshaling->x,
12288            sizeof(VkViewportCoordinateSwizzleNV));
12289     *ptr += sizeof(VkViewportCoordinateSwizzleNV);
12290     memcpy(*ptr, (VkViewportCoordinateSwizzleNV*)&forMarshaling->y,
12291            sizeof(VkViewportCoordinateSwizzleNV));
12292     *ptr += sizeof(VkViewportCoordinateSwizzleNV);
12293     memcpy(*ptr, (VkViewportCoordinateSwizzleNV*)&forMarshaling->z,
12294            sizeof(VkViewportCoordinateSwizzleNV));
12295     *ptr += sizeof(VkViewportCoordinateSwizzleNV);
12296     memcpy(*ptr, (VkViewportCoordinateSwizzleNV*)&forMarshaling->w,
12297            sizeof(VkViewportCoordinateSwizzleNV));
12298     *ptr += sizeof(VkViewportCoordinateSwizzleNV);
12299 }
12300 
reservedmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportSwizzleStateCreateInfoNV * forMarshaling,uint8_t ** ptr)12301 void reservedmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(
12302     VulkanStreamGuest* vkStream, VkStructureType rootType,
12303     const VkPipelineViewportSwizzleStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
12304     (void)vkStream;
12305     (void)rootType;
12306     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12307     *ptr += sizeof(VkStructureType);
12308     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12309         rootType = forMarshaling->sType;
12310     }
12311     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12312     memcpy(*ptr, (VkPipelineViewportSwizzleStateCreateFlagsNV*)&forMarshaling->flags,
12313            sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV));
12314     *ptr += sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV);
12315     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
12316     *ptr += sizeof(uint32_t);
12317     for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
12318         reservedmarshal_VkViewportSwizzleNV(
12319             vkStream, rootType, (const VkViewportSwizzleNV*)(forMarshaling->pViewportSwizzles + i),
12320             ptr);
12321     }
12322 }
12323 
12324 #endif
12325 #ifdef VK_EXT_discard_rectangles
reservedmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDiscardRectanglePropertiesEXT * forMarshaling,uint8_t ** ptr)12326 void reservedmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
12327     VulkanStreamGuest* vkStream, VkStructureType rootType,
12328     const VkPhysicalDeviceDiscardRectanglePropertiesEXT* forMarshaling, uint8_t** ptr) {
12329     (void)vkStream;
12330     (void)rootType;
12331     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12332     *ptr += sizeof(VkStructureType);
12333     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12334         rootType = forMarshaling->sType;
12335     }
12336     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12337     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDiscardRectangles, sizeof(uint32_t));
12338     *ptr += sizeof(uint32_t);
12339 }
12340 
reservedmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDiscardRectangleStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)12341 void reservedmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
12342     VulkanStreamGuest* vkStream, VkStructureType rootType,
12343     const VkPipelineDiscardRectangleStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
12344     (void)vkStream;
12345     (void)rootType;
12346     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12347     *ptr += sizeof(VkStructureType);
12348     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12349         rootType = forMarshaling->sType;
12350     }
12351     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12352     memcpy(*ptr, (VkPipelineDiscardRectangleStateCreateFlagsEXT*)&forMarshaling->flags,
12353            sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT));
12354     *ptr += sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT);
12355     memcpy(*ptr, (VkDiscardRectangleModeEXT*)&forMarshaling->discardRectangleMode,
12356            sizeof(VkDiscardRectangleModeEXT));
12357     *ptr += sizeof(VkDiscardRectangleModeEXT);
12358     memcpy(*ptr, (uint32_t*)&forMarshaling->discardRectangleCount, sizeof(uint32_t));
12359     *ptr += sizeof(uint32_t);
12360     // WARNING PTR CHECK
12361     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDiscardRectangles;
12362     memcpy((*ptr), &cgen_var_0, 8);
12363     android::base::Stream::toBe64((uint8_t*)(*ptr));
12364     *ptr += 8;
12365     if (forMarshaling->pDiscardRectangles) {
12366         for (uint32_t i = 0; i < (uint32_t)forMarshaling->discardRectangleCount; ++i) {
12367             reservedmarshal_VkRect2D(vkStream, rootType,
12368                                      (const VkRect2D*)(forMarshaling->pDiscardRectangles + i), ptr);
12369         }
12370     }
12371 }
12372 
12373 #endif
12374 #ifdef VK_EXT_conservative_rasterization
reservedmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * forMarshaling,uint8_t ** ptr)12375 void reservedmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
12376     VulkanStreamGuest* vkStream, VkStructureType rootType,
12377     const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forMarshaling, uint8_t** ptr) {
12378     (void)vkStream;
12379     (void)rootType;
12380     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12381     *ptr += sizeof(VkStructureType);
12382     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12383         rootType = forMarshaling->sType;
12384     }
12385     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12386     memcpy(*ptr, (float*)&forMarshaling->primitiveOverestimationSize, sizeof(float));
12387     *ptr += sizeof(float);
12388     memcpy(*ptr, (float*)&forMarshaling->maxExtraPrimitiveOverestimationSize, sizeof(float));
12389     *ptr += sizeof(float);
12390     memcpy(*ptr, (float*)&forMarshaling->extraPrimitiveOverestimationSizeGranularity,
12391            sizeof(float));
12392     *ptr += sizeof(float);
12393     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveUnderestimation, sizeof(VkBool32));
12394     *ptr += sizeof(VkBool32);
12395     memcpy(*ptr, (VkBool32*)&forMarshaling->conservativePointAndLineRasterization,
12396            sizeof(VkBool32));
12397     *ptr += sizeof(VkBool32);
12398     memcpy(*ptr, (VkBool32*)&forMarshaling->degenerateTrianglesRasterized, sizeof(VkBool32));
12399     *ptr += sizeof(VkBool32);
12400     memcpy(*ptr, (VkBool32*)&forMarshaling->degenerateLinesRasterized, sizeof(VkBool32));
12401     *ptr += sizeof(VkBool32);
12402     memcpy(*ptr, (VkBool32*)&forMarshaling->fullyCoveredFragmentShaderInputVariable,
12403            sizeof(VkBool32));
12404     *ptr += sizeof(VkBool32);
12405     memcpy(*ptr, (VkBool32*)&forMarshaling->conservativeRasterizationPostDepthCoverage,
12406            sizeof(VkBool32));
12407     *ptr += sizeof(VkBool32);
12408 }
12409 
reservedmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationConservativeStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)12410 void reservedmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
12411     VulkanStreamGuest* vkStream, VkStructureType rootType,
12412     const VkPipelineRasterizationConservativeStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
12413     (void)vkStream;
12414     (void)rootType;
12415     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12416     *ptr += sizeof(VkStructureType);
12417     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12418         rootType = forMarshaling->sType;
12419     }
12420     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12421     memcpy(*ptr, (VkPipelineRasterizationConservativeStateCreateFlagsEXT*)&forMarshaling->flags,
12422            sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT));
12423     *ptr += sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT);
12424     memcpy(*ptr, (VkConservativeRasterizationModeEXT*)&forMarshaling->conservativeRasterizationMode,
12425            sizeof(VkConservativeRasterizationModeEXT));
12426     *ptr += sizeof(VkConservativeRasterizationModeEXT);
12427     memcpy(*ptr, (float*)&forMarshaling->extraPrimitiveOverestimationSize, sizeof(float));
12428     *ptr += sizeof(float);
12429 }
12430 
12431 #endif
12432 #ifdef VK_EXT_depth_clip_enable
reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * forMarshaling,uint8_t ** ptr)12433 void reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
12434     VulkanStreamGuest* vkStream, VkStructureType rootType,
12435     const VkPhysicalDeviceDepthClipEnableFeaturesEXT* forMarshaling, uint8_t** ptr) {
12436     (void)vkStream;
12437     (void)rootType;
12438     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12439     *ptr += sizeof(VkStructureType);
12440     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12441         rootType = forMarshaling->sType;
12442     }
12443     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12444     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
12445     *ptr += sizeof(VkBool32);
12446 }
12447 
reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)12448 void reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
12449     VulkanStreamGuest* vkStream, VkStructureType rootType,
12450     const VkPipelineRasterizationDepthClipStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
12451     (void)vkStream;
12452     (void)rootType;
12453     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12454     *ptr += sizeof(VkStructureType);
12455     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12456         rootType = forMarshaling->sType;
12457     }
12458     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12459     memcpy(*ptr, (VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forMarshaling->flags,
12460            sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
12461     *ptr += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
12462     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
12463     *ptr += sizeof(VkBool32);
12464 }
12465 
12466 #endif
12467 #ifdef VK_EXT_swapchain_colorspace
12468 #endif
12469 #ifdef VK_EXT_hdr_metadata
reservedmarshal_VkXYColorEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkXYColorEXT * forMarshaling,uint8_t ** ptr)12470 void reservedmarshal_VkXYColorEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12471                                   const VkXYColorEXT* forMarshaling, uint8_t** ptr) {
12472     (void)vkStream;
12473     (void)rootType;
12474     memcpy(*ptr, (float*)&forMarshaling->x, sizeof(float));
12475     *ptr += sizeof(float);
12476     memcpy(*ptr, (float*)&forMarshaling->y, sizeof(float));
12477     *ptr += sizeof(float);
12478 }
12479 
reservedmarshal_VkHdrMetadataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHdrMetadataEXT * forMarshaling,uint8_t ** ptr)12480 void reservedmarshal_VkHdrMetadataEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12481                                       const VkHdrMetadataEXT* forMarshaling, uint8_t** ptr) {
12482     (void)vkStream;
12483     (void)rootType;
12484     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12485     *ptr += sizeof(VkStructureType);
12486     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12487         rootType = forMarshaling->sType;
12488     }
12489     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12490     reservedmarshal_VkXYColorEXT(vkStream, rootType,
12491                                  (VkXYColorEXT*)(&forMarshaling->displayPrimaryRed), ptr);
12492     reservedmarshal_VkXYColorEXT(vkStream, rootType,
12493                                  (VkXYColorEXT*)(&forMarshaling->displayPrimaryGreen), ptr);
12494     reservedmarshal_VkXYColorEXT(vkStream, rootType,
12495                                  (VkXYColorEXT*)(&forMarshaling->displayPrimaryBlue), ptr);
12496     reservedmarshal_VkXYColorEXT(vkStream, rootType, (VkXYColorEXT*)(&forMarshaling->whitePoint),
12497                                  ptr);
12498     memcpy(*ptr, (float*)&forMarshaling->maxLuminance, sizeof(float));
12499     *ptr += sizeof(float);
12500     memcpy(*ptr, (float*)&forMarshaling->minLuminance, sizeof(float));
12501     *ptr += sizeof(float);
12502     memcpy(*ptr, (float*)&forMarshaling->maxContentLightLevel, sizeof(float));
12503     *ptr += sizeof(float);
12504     memcpy(*ptr, (float*)&forMarshaling->maxFrameAverageLightLevel, sizeof(float));
12505     *ptr += sizeof(float);
12506 }
12507 
12508 #endif
12509 #ifdef VK_MVK_ios_surface
reservedmarshal_VkIOSSurfaceCreateInfoMVK(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkIOSSurfaceCreateInfoMVK * forMarshaling,uint8_t ** ptr)12510 void reservedmarshal_VkIOSSurfaceCreateInfoMVK(VulkanStreamGuest* vkStream,
12511                                                VkStructureType rootType,
12512                                                const VkIOSSurfaceCreateInfoMVK* forMarshaling,
12513                                                uint8_t** ptr) {
12514     (void)vkStream;
12515     (void)rootType;
12516     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12517     *ptr += sizeof(VkStructureType);
12518     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12519         rootType = forMarshaling->sType;
12520     }
12521     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12522     memcpy(*ptr, (VkIOSSurfaceCreateFlagsMVK*)&forMarshaling->flags,
12523            sizeof(VkIOSSurfaceCreateFlagsMVK));
12524     *ptr += sizeof(VkIOSSurfaceCreateFlagsMVK);
12525     // WARNING PTR CHECK
12526     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pView;
12527     memcpy((*ptr), &cgen_var_0, 8);
12528     android::base::Stream::toBe64((uint8_t*)(*ptr));
12529     *ptr += 8;
12530     if (forMarshaling->pView) {
12531         memcpy(*ptr, (const void*)forMarshaling->pView, sizeof(const uint8_t));
12532         *ptr += sizeof(const uint8_t);
12533     }
12534 }
12535 
12536 #endif
12537 #ifdef VK_MVK_macos_surface
reservedmarshal_VkMacOSSurfaceCreateInfoMVK(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMacOSSurfaceCreateInfoMVK * forMarshaling,uint8_t ** ptr)12538 void reservedmarshal_VkMacOSSurfaceCreateInfoMVK(VulkanStreamGuest* vkStream,
12539                                                  VkStructureType rootType,
12540                                                  const VkMacOSSurfaceCreateInfoMVK* forMarshaling,
12541                                                  uint8_t** ptr) {
12542     (void)vkStream;
12543     (void)rootType;
12544     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12545     *ptr += sizeof(VkStructureType);
12546     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12547         rootType = forMarshaling->sType;
12548     }
12549     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12550     memcpy(*ptr, (VkMacOSSurfaceCreateFlagsMVK*)&forMarshaling->flags,
12551            sizeof(VkMacOSSurfaceCreateFlagsMVK));
12552     *ptr += sizeof(VkMacOSSurfaceCreateFlagsMVK);
12553     // WARNING PTR CHECK
12554     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pView;
12555     memcpy((*ptr), &cgen_var_0, 8);
12556     android::base::Stream::toBe64((uint8_t*)(*ptr));
12557     *ptr += 8;
12558     if (forMarshaling->pView) {
12559         memcpy(*ptr, (const void*)forMarshaling->pView, sizeof(const uint8_t));
12560         *ptr += sizeof(const uint8_t);
12561     }
12562 }
12563 
12564 #endif
12565 #ifdef VK_EXT_external_memory_dma_buf
12566 #endif
12567 #ifdef VK_EXT_queue_family_foreign
12568 #endif
12569 #ifdef VK_EXT_debug_utils
reservedmarshal_VkDebugUtilsLabelEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugUtilsLabelEXT * forMarshaling,uint8_t ** ptr)12570 void reservedmarshal_VkDebugUtilsLabelEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12571                                           const VkDebugUtilsLabelEXT* forMarshaling,
12572                                           uint8_t** ptr) {
12573     (void)vkStream;
12574     (void)rootType;
12575     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12576     *ptr += sizeof(VkStructureType);
12577     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12578         rootType = forMarshaling->sType;
12579     }
12580     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12581     {
12582         uint32_t l = forMarshaling->pLabelName ? strlen(forMarshaling->pLabelName) : 0;
12583         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12584         android::base::Stream::toBe32((uint8_t*)*ptr);
12585         *ptr += sizeof(uint32_t);
12586         memcpy(*ptr, (char*)forMarshaling->pLabelName, l);
12587         *ptr += l;
12588     }
12589     memcpy(*ptr, (float*)forMarshaling->color, 4 * sizeof(float));
12590     *ptr += 4 * sizeof(float);
12591 }
12592 
reservedmarshal_VkDebugUtilsObjectNameInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugUtilsObjectNameInfoEXT * forMarshaling,uint8_t ** ptr)12593 void reservedmarshal_VkDebugUtilsObjectNameInfoEXT(
12594     VulkanStreamGuest* vkStream, VkStructureType rootType,
12595     const VkDebugUtilsObjectNameInfoEXT* forMarshaling, uint8_t** ptr) {
12596     (void)vkStream;
12597     (void)rootType;
12598     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12599     *ptr += sizeof(VkStructureType);
12600     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12601         rootType = forMarshaling->sType;
12602     }
12603     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12604     memcpy(*ptr, (VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
12605     *ptr += sizeof(VkObjectType);
12606     memcpy(*ptr, (uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
12607     *ptr += sizeof(uint64_t);
12608     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
12609         // WARNING PTR CHECK
12610         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pObjectName;
12611         memcpy((*ptr), &cgen_var_0, 8);
12612         android::base::Stream::toBe64((uint8_t*)(*ptr));
12613         *ptr += 8;
12614         if (forMarshaling->pObjectName) {
12615             {
12616                 uint32_t l = forMarshaling->pObjectName ? strlen(forMarshaling->pObjectName) : 0;
12617                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12618                 android::base::Stream::toBe32((uint8_t*)*ptr);
12619                 *ptr += sizeof(uint32_t);
12620                 memcpy(*ptr, (char*)forMarshaling->pObjectName, l);
12621                 *ptr += l;
12622             }
12623         }
12624     } else {
12625         {
12626             uint32_t l = forMarshaling->pObjectName ? strlen(forMarshaling->pObjectName) : 0;
12627             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12628             android::base::Stream::toBe32((uint8_t*)*ptr);
12629             *ptr += sizeof(uint32_t);
12630             memcpy(*ptr, (char*)forMarshaling->pObjectName, l);
12631             *ptr += l;
12632         }
12633     }
12634 }
12635 
reservedmarshal_VkDebugUtilsMessengerCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugUtilsMessengerCallbackDataEXT * forMarshaling,uint8_t ** ptr)12636 void reservedmarshal_VkDebugUtilsMessengerCallbackDataEXT(
12637     VulkanStreamGuest* vkStream, VkStructureType rootType,
12638     const VkDebugUtilsMessengerCallbackDataEXT* forMarshaling, uint8_t** ptr) {
12639     (void)vkStream;
12640     (void)rootType;
12641     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12642     *ptr += sizeof(VkStructureType);
12643     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12644         rootType = forMarshaling->sType;
12645     }
12646     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12647     memcpy(*ptr, (VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forMarshaling->flags,
12648            sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT));
12649     *ptr += sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT);
12650     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
12651         // WARNING PTR CHECK
12652         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pMessageIdName;
12653         memcpy((*ptr), &cgen_var_0, 8);
12654         android::base::Stream::toBe64((uint8_t*)(*ptr));
12655         *ptr += 8;
12656         if (forMarshaling->pMessageIdName) {
12657             {
12658                 uint32_t l =
12659                     forMarshaling->pMessageIdName ? strlen(forMarshaling->pMessageIdName) : 0;
12660                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12661                 android::base::Stream::toBe32((uint8_t*)*ptr);
12662                 *ptr += sizeof(uint32_t);
12663                 memcpy(*ptr, (char*)forMarshaling->pMessageIdName, l);
12664                 *ptr += l;
12665             }
12666         }
12667     } else {
12668         {
12669             uint32_t l = forMarshaling->pMessageIdName ? strlen(forMarshaling->pMessageIdName) : 0;
12670             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12671             android::base::Stream::toBe32((uint8_t*)*ptr);
12672             *ptr += sizeof(uint32_t);
12673             memcpy(*ptr, (char*)forMarshaling->pMessageIdName, l);
12674             *ptr += l;
12675         }
12676     }
12677     memcpy(*ptr, (int32_t*)&forMarshaling->messageIdNumber, sizeof(int32_t));
12678     *ptr += sizeof(int32_t);
12679     {
12680         uint32_t l = forMarshaling->pMessage ? strlen(forMarshaling->pMessage) : 0;
12681         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
12682         android::base::Stream::toBe32((uint8_t*)*ptr);
12683         *ptr += sizeof(uint32_t);
12684         memcpy(*ptr, (char*)forMarshaling->pMessage, l);
12685         *ptr += l;
12686     }
12687     memcpy(*ptr, (uint32_t*)&forMarshaling->queueLabelCount, sizeof(uint32_t));
12688     *ptr += sizeof(uint32_t);
12689     for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i) {
12690         reservedmarshal_VkDebugUtilsLabelEXT(
12691             vkStream, rootType, (const VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i),
12692             ptr);
12693     }
12694     memcpy(*ptr, (uint32_t*)&forMarshaling->cmdBufLabelCount, sizeof(uint32_t));
12695     *ptr += sizeof(uint32_t);
12696     for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i) {
12697         reservedmarshal_VkDebugUtilsLabelEXT(
12698             vkStream, rootType, (const VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i),
12699             ptr);
12700     }
12701     memcpy(*ptr, (uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t));
12702     *ptr += sizeof(uint32_t);
12703     for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i) {
12704         reservedmarshal_VkDebugUtilsObjectNameInfoEXT(
12705             vkStream, rootType, (const VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i),
12706             ptr);
12707     }
12708 }
12709 
reservedmarshal_VkDebugUtilsMessengerCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugUtilsMessengerCreateInfoEXT * forMarshaling,uint8_t ** ptr)12710 void reservedmarshal_VkDebugUtilsMessengerCreateInfoEXT(
12711     VulkanStreamGuest* vkStream, VkStructureType rootType,
12712     const VkDebugUtilsMessengerCreateInfoEXT* forMarshaling, uint8_t** ptr) {
12713     (void)vkStream;
12714     (void)rootType;
12715     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12716     *ptr += sizeof(VkStructureType);
12717     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12718         rootType = forMarshaling->sType;
12719     }
12720     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12721     memcpy(*ptr, (VkDebugUtilsMessengerCreateFlagsEXT*)&forMarshaling->flags,
12722            sizeof(VkDebugUtilsMessengerCreateFlagsEXT));
12723     *ptr += sizeof(VkDebugUtilsMessengerCreateFlagsEXT);
12724     memcpy(*ptr, (VkDebugUtilsMessageSeverityFlagsEXT*)&forMarshaling->messageSeverity,
12725            sizeof(VkDebugUtilsMessageSeverityFlagsEXT));
12726     *ptr += sizeof(VkDebugUtilsMessageSeverityFlagsEXT);
12727     memcpy(*ptr, (VkDebugUtilsMessageTypeFlagsEXT*)&forMarshaling->messageType,
12728            sizeof(VkDebugUtilsMessageTypeFlagsEXT));
12729     *ptr += sizeof(VkDebugUtilsMessageTypeFlagsEXT);
12730     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
12731     memcpy((*ptr), &cgen_var_0, 8);
12732     android::base::Stream::toBe64((uint8_t*)(*ptr));
12733     *ptr += 8;
12734     // WARNING PTR CHECK
12735     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
12736     memcpy((*ptr), &cgen_var_1, 8);
12737     android::base::Stream::toBe64((uint8_t*)(*ptr));
12738     *ptr += 8;
12739     if (forMarshaling->pUserData) {
12740         memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
12741         *ptr += sizeof(uint8_t);
12742     }
12743 }
12744 
reservedmarshal_VkDebugUtilsObjectTagInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDebugUtilsObjectTagInfoEXT * forMarshaling,uint8_t ** ptr)12745 void reservedmarshal_VkDebugUtilsObjectTagInfoEXT(VulkanStreamGuest* vkStream,
12746                                                   VkStructureType rootType,
12747                                                   const VkDebugUtilsObjectTagInfoEXT* forMarshaling,
12748                                                   uint8_t** ptr) {
12749     (void)vkStream;
12750     (void)rootType;
12751     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12752     *ptr += sizeof(VkStructureType);
12753     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12754         rootType = forMarshaling->sType;
12755     }
12756     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12757     memcpy(*ptr, (VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
12758     *ptr += sizeof(VkObjectType);
12759     memcpy(*ptr, (uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
12760     *ptr += sizeof(uint64_t);
12761     memcpy(*ptr, (uint64_t*)&forMarshaling->tagName, sizeof(uint64_t));
12762     *ptr += sizeof(uint64_t);
12763     uint64_t cgen_var_0 = (uint64_t)forMarshaling->tagSize;
12764     memcpy((*ptr), &cgen_var_0, 8);
12765     android::base::Stream::toBe64((uint8_t*)(*ptr));
12766     *ptr += 8;
12767     memcpy(*ptr, (const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t));
12768     *ptr += forMarshaling->tagSize * sizeof(const uint8_t);
12769 }
12770 
12771 #endif
12772 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
reservedmarshal_VkAndroidHardwareBufferUsageANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAndroidHardwareBufferUsageANDROID * forMarshaling,uint8_t ** ptr)12773 void reservedmarshal_VkAndroidHardwareBufferUsageANDROID(
12774     VulkanStreamGuest* vkStream, VkStructureType rootType,
12775     const VkAndroidHardwareBufferUsageANDROID* forMarshaling, uint8_t** ptr) {
12776     (void)vkStream;
12777     (void)rootType;
12778     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12779     *ptr += sizeof(VkStructureType);
12780     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12781         rootType = forMarshaling->sType;
12782     }
12783     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12784     memcpy(*ptr, (uint64_t*)&forMarshaling->androidHardwareBufferUsage, sizeof(uint64_t));
12785     *ptr += sizeof(uint64_t);
12786 }
12787 
reservedmarshal_VkAndroidHardwareBufferPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAndroidHardwareBufferPropertiesANDROID * forMarshaling,uint8_t ** ptr)12788 void reservedmarshal_VkAndroidHardwareBufferPropertiesANDROID(
12789     VulkanStreamGuest* vkStream, VkStructureType rootType,
12790     const VkAndroidHardwareBufferPropertiesANDROID* forMarshaling, uint8_t** ptr) {
12791     (void)vkStream;
12792     (void)rootType;
12793     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12794     *ptr += sizeof(VkStructureType);
12795     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12796         rootType = forMarshaling->sType;
12797     }
12798     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12799     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
12800     *ptr += sizeof(VkDeviceSize);
12801     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
12802     *ptr += sizeof(uint32_t);
12803 }
12804 
reservedmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAndroidHardwareBufferFormatPropertiesANDROID * forMarshaling,uint8_t ** ptr)12805 void reservedmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
12806     VulkanStreamGuest* vkStream, VkStructureType rootType,
12807     const VkAndroidHardwareBufferFormatPropertiesANDROID* forMarshaling, uint8_t** ptr) {
12808     (void)vkStream;
12809     (void)rootType;
12810     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12811     *ptr += sizeof(VkStructureType);
12812     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12813         rootType = forMarshaling->sType;
12814     }
12815     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12816     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
12817     *ptr += sizeof(VkFormat);
12818     memcpy(*ptr, (uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t));
12819     *ptr += sizeof(uint64_t);
12820     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->formatFeatures,
12821            sizeof(VkFormatFeatureFlags));
12822     *ptr += sizeof(VkFormatFeatureFlags);
12823     reservedmarshal_VkComponentMapping(
12824         vkStream, rootType, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents),
12825         ptr);
12826     memcpy(*ptr, (VkSamplerYcbcrModelConversion*)&forMarshaling->suggestedYcbcrModel,
12827            sizeof(VkSamplerYcbcrModelConversion));
12828     *ptr += sizeof(VkSamplerYcbcrModelConversion);
12829     memcpy(*ptr, (VkSamplerYcbcrRange*)&forMarshaling->suggestedYcbcrRange,
12830            sizeof(VkSamplerYcbcrRange));
12831     *ptr += sizeof(VkSamplerYcbcrRange);
12832     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedXChromaOffset,
12833            sizeof(VkChromaLocation));
12834     *ptr += sizeof(VkChromaLocation);
12835     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedYChromaOffset,
12836            sizeof(VkChromaLocation));
12837     *ptr += sizeof(VkChromaLocation);
12838 }
12839 
reservedmarshal_VkImportAndroidHardwareBufferInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportAndroidHardwareBufferInfoANDROID * forMarshaling,uint8_t ** ptr)12840 void reservedmarshal_VkImportAndroidHardwareBufferInfoANDROID(
12841     VulkanStreamGuest* vkStream, VkStructureType rootType,
12842     const VkImportAndroidHardwareBufferInfoANDROID* forMarshaling, uint8_t** ptr) {
12843     (void)vkStream;
12844     (void)rootType;
12845     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12846     *ptr += sizeof(VkStructureType);
12847     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12848         rootType = forMarshaling->sType;
12849     }
12850     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12851     memcpy(*ptr, (AHardwareBuffer*)forMarshaling->buffer, sizeof(AHardwareBuffer));
12852     *ptr += sizeof(AHardwareBuffer);
12853 }
12854 
reservedmarshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryGetAndroidHardwareBufferInfoANDROID * forMarshaling,uint8_t ** ptr)12855 void reservedmarshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(
12856     VulkanStreamGuest* vkStream, VkStructureType rootType,
12857     const VkMemoryGetAndroidHardwareBufferInfoANDROID* forMarshaling, uint8_t** ptr) {
12858     (void)vkStream;
12859     (void)rootType;
12860     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12861     *ptr += sizeof(VkStructureType);
12862     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12863         rootType = forMarshaling->sType;
12864     }
12865     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12866     uint64_t cgen_var_0;
12867     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
12868     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
12869     *ptr += 1 * 8;
12870 }
12871 
reservedmarshal_VkExternalFormatANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalFormatANDROID * forMarshaling,uint8_t ** ptr)12872 void reservedmarshal_VkExternalFormatANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
12873                                              const VkExternalFormatANDROID* forMarshaling,
12874                                              uint8_t** ptr) {
12875     (void)vkStream;
12876     (void)rootType;
12877     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12878     *ptr += sizeof(VkStructureType);
12879     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12880         rootType = forMarshaling->sType;
12881     }
12882     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12883     memcpy(*ptr, (uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t));
12884     *ptr += sizeof(uint64_t);
12885 }
12886 
reservedmarshal_VkAndroidHardwareBufferFormatProperties2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAndroidHardwareBufferFormatProperties2ANDROID * forMarshaling,uint8_t ** ptr)12887 void reservedmarshal_VkAndroidHardwareBufferFormatProperties2ANDROID(
12888     VulkanStreamGuest* vkStream, VkStructureType rootType,
12889     const VkAndroidHardwareBufferFormatProperties2ANDROID* forMarshaling, uint8_t** ptr) {
12890     (void)vkStream;
12891     (void)rootType;
12892     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12893     *ptr += sizeof(VkStructureType);
12894     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12895         rootType = forMarshaling->sType;
12896     }
12897     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12898     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
12899     *ptr += sizeof(VkFormat);
12900     memcpy(*ptr, (uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t));
12901     *ptr += sizeof(uint64_t);
12902     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->formatFeatures,
12903            sizeof(VkFormatFeatureFlags2));
12904     *ptr += sizeof(VkFormatFeatureFlags2);
12905     reservedmarshal_VkComponentMapping(
12906         vkStream, rootType, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents),
12907         ptr);
12908     memcpy(*ptr, (VkSamplerYcbcrModelConversion*)&forMarshaling->suggestedYcbcrModel,
12909            sizeof(VkSamplerYcbcrModelConversion));
12910     *ptr += sizeof(VkSamplerYcbcrModelConversion);
12911     memcpy(*ptr, (VkSamplerYcbcrRange*)&forMarshaling->suggestedYcbcrRange,
12912            sizeof(VkSamplerYcbcrRange));
12913     *ptr += sizeof(VkSamplerYcbcrRange);
12914     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedXChromaOffset,
12915            sizeof(VkChromaLocation));
12916     *ptr += sizeof(VkChromaLocation);
12917     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedYChromaOffset,
12918            sizeof(VkChromaLocation));
12919     *ptr += sizeof(VkChromaLocation);
12920 }
12921 
12922 #endif
12923 #ifdef VK_EXT_sampler_filter_minmax
12924 #endif
12925 #ifdef VK_AMD_gpu_shader_int16
12926 #endif
12927 #ifdef VK_AMD_mixed_attachment_samples
12928 #endif
12929 #ifdef VK_AMD_shader_fragment_mask
12930 #endif
12931 #ifdef VK_EXT_inline_uniform_block
12932 #endif
12933 #ifdef VK_EXT_shader_stencil_export
12934 #endif
12935 #ifdef VK_EXT_sample_locations
reservedmarshal_VkSampleLocationEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSampleLocationEXT * forMarshaling,uint8_t ** ptr)12936 void reservedmarshal_VkSampleLocationEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12937                                          const VkSampleLocationEXT* forMarshaling, uint8_t** ptr) {
12938     (void)vkStream;
12939     (void)rootType;
12940     memcpy(*ptr, (float*)&forMarshaling->x, sizeof(float));
12941     *ptr += sizeof(float);
12942     memcpy(*ptr, (float*)&forMarshaling->y, sizeof(float));
12943     *ptr += sizeof(float);
12944 }
12945 
reservedmarshal_VkSampleLocationsInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSampleLocationsInfoEXT * forMarshaling,uint8_t ** ptr)12946 void reservedmarshal_VkSampleLocationsInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12947                                               const VkSampleLocationsInfoEXT* forMarshaling,
12948                                               uint8_t** ptr) {
12949     (void)vkStream;
12950     (void)rootType;
12951     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12952     *ptr += sizeof(VkStructureType);
12953     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12954         rootType = forMarshaling->sType;
12955     }
12956     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
12957     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->sampleLocationsPerPixel,
12958            sizeof(VkSampleCountFlagBits));
12959     *ptr += sizeof(VkSampleCountFlagBits);
12960     reservedmarshal_VkExtent2D(vkStream, rootType,
12961                                (VkExtent2D*)(&forMarshaling->sampleLocationGridSize), ptr);
12962     memcpy(*ptr, (uint32_t*)&forMarshaling->sampleLocationsCount, sizeof(uint32_t));
12963     *ptr += sizeof(uint32_t);
12964     for (uint32_t i = 0; i < (uint32_t)forMarshaling->sampleLocationsCount; ++i) {
12965         reservedmarshal_VkSampleLocationEXT(
12966             vkStream, rootType, (const VkSampleLocationEXT*)(forMarshaling->pSampleLocations + i),
12967             ptr);
12968     }
12969 }
12970 
reservedmarshal_VkAttachmentSampleLocationsEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentSampleLocationsEXT * forMarshaling,uint8_t ** ptr)12971 void reservedmarshal_VkAttachmentSampleLocationsEXT(
12972     VulkanStreamGuest* vkStream, VkStructureType rootType,
12973     const VkAttachmentSampleLocationsEXT* forMarshaling, uint8_t** ptr) {
12974     (void)vkStream;
12975     (void)rootType;
12976     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentIndex, sizeof(uint32_t));
12977     *ptr += sizeof(uint32_t);
12978     reservedmarshal_VkSampleLocationsInfoEXT(
12979         vkStream, rootType, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo), ptr);
12980 }
12981 
reservedmarshal_VkSubpassSampleLocationsEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassSampleLocationsEXT * forMarshaling,uint8_t ** ptr)12982 void reservedmarshal_VkSubpassSampleLocationsEXT(VulkanStreamGuest* vkStream,
12983                                                  VkStructureType rootType,
12984                                                  const VkSubpassSampleLocationsEXT* forMarshaling,
12985                                                  uint8_t** ptr) {
12986     (void)vkStream;
12987     (void)rootType;
12988     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassIndex, sizeof(uint32_t));
12989     *ptr += sizeof(uint32_t);
12990     reservedmarshal_VkSampleLocationsInfoEXT(
12991         vkStream, rootType, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo), ptr);
12992 }
12993 
reservedmarshal_VkRenderPassSampleLocationsBeginInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassSampleLocationsBeginInfoEXT * forMarshaling,uint8_t ** ptr)12994 void reservedmarshal_VkRenderPassSampleLocationsBeginInfoEXT(
12995     VulkanStreamGuest* vkStream, VkStructureType rootType,
12996     const VkRenderPassSampleLocationsBeginInfoEXT* forMarshaling, uint8_t** ptr) {
12997     (void)vkStream;
12998     (void)rootType;
12999     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13000     *ptr += sizeof(VkStructureType);
13001     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13002         rootType = forMarshaling->sType;
13003     }
13004     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13005     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentInitialSampleLocationsCount,
13006            sizeof(uint32_t));
13007     *ptr += sizeof(uint32_t);
13008     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentInitialSampleLocationsCount; ++i) {
13009         reservedmarshal_VkAttachmentSampleLocationsEXT(
13010             vkStream, rootType,
13011             (const VkAttachmentSampleLocationsEXT*)(forMarshaling
13012                                                         ->pAttachmentInitialSampleLocations +
13013                                                     i),
13014             ptr);
13015     }
13016     memcpy(*ptr, (uint32_t*)&forMarshaling->postSubpassSampleLocationsCount, sizeof(uint32_t));
13017     *ptr += sizeof(uint32_t);
13018     for (uint32_t i = 0; i < (uint32_t)forMarshaling->postSubpassSampleLocationsCount; ++i) {
13019         reservedmarshal_VkSubpassSampleLocationsEXT(
13020             vkStream, rootType,
13021             (const VkSubpassSampleLocationsEXT*)(forMarshaling->pPostSubpassSampleLocations + i),
13022             ptr);
13023     }
13024 }
13025 
reservedmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineSampleLocationsStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)13026 void reservedmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(
13027     VulkanStreamGuest* vkStream, VkStructureType rootType,
13028     const VkPipelineSampleLocationsStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13029     (void)vkStream;
13030     (void)rootType;
13031     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13032     *ptr += sizeof(VkStructureType);
13033     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13034         rootType = forMarshaling->sType;
13035     }
13036     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13037     memcpy(*ptr, (VkBool32*)&forMarshaling->sampleLocationsEnable, sizeof(VkBool32));
13038     *ptr += sizeof(VkBool32);
13039     reservedmarshal_VkSampleLocationsInfoEXT(
13040         vkStream, rootType, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo), ptr);
13041 }
13042 
reservedmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSampleLocationsPropertiesEXT * forMarshaling,uint8_t ** ptr)13043 void reservedmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
13044     VulkanStreamGuest* vkStream, VkStructureType rootType,
13045     const VkPhysicalDeviceSampleLocationsPropertiesEXT* forMarshaling, uint8_t** ptr) {
13046     (void)vkStream;
13047     (void)rootType;
13048     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13049     *ptr += sizeof(VkStructureType);
13050     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13051         rootType = forMarshaling->sType;
13052     }
13053     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13054     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampleLocationSampleCounts,
13055            sizeof(VkSampleCountFlags));
13056     *ptr += sizeof(VkSampleCountFlags);
13057     reservedmarshal_VkExtent2D(vkStream, rootType,
13058                                (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize), ptr);
13059     memcpy(*ptr, (float*)forMarshaling->sampleLocationCoordinateRange, 2 * sizeof(float));
13060     *ptr += 2 * sizeof(float);
13061     memcpy(*ptr, (uint32_t*)&forMarshaling->sampleLocationSubPixelBits, sizeof(uint32_t));
13062     *ptr += sizeof(uint32_t);
13063     memcpy(*ptr, (VkBool32*)&forMarshaling->variableSampleLocations, sizeof(VkBool32));
13064     *ptr += sizeof(VkBool32);
13065 }
13066 
reservedmarshal_VkMultisamplePropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultisamplePropertiesEXT * forMarshaling,uint8_t ** ptr)13067 void reservedmarshal_VkMultisamplePropertiesEXT(VulkanStreamGuest* vkStream,
13068                                                 VkStructureType rootType,
13069                                                 const VkMultisamplePropertiesEXT* forMarshaling,
13070                                                 uint8_t** ptr) {
13071     (void)vkStream;
13072     (void)rootType;
13073     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13074     *ptr += sizeof(VkStructureType);
13075     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13076         rootType = forMarshaling->sType;
13077     }
13078     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13079     reservedmarshal_VkExtent2D(vkStream, rootType,
13080                                (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize), ptr);
13081 }
13082 
13083 #endif
13084 #ifdef VK_EXT_blend_operation_advanced
reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT * forMarshaling,uint8_t ** ptr)13085 void reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
13086     VulkanStreamGuest* vkStream, VkStructureType rootType,
13087     const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forMarshaling, uint8_t** ptr) {
13088     (void)vkStream;
13089     (void)rootType;
13090     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13091     *ptr += sizeof(VkStructureType);
13092     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13093         rootType = forMarshaling->sType;
13094     }
13095     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13096     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendCoherentOperations, sizeof(VkBool32));
13097     *ptr += sizeof(VkBool32);
13098 }
13099 
reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT * forMarshaling,uint8_t ** ptr)13100 void reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
13101     VulkanStreamGuest* vkStream, VkStructureType rootType,
13102     const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forMarshaling, uint8_t** ptr) {
13103     (void)vkStream;
13104     (void)rootType;
13105     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13106     *ptr += sizeof(VkStructureType);
13107     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13108         rootType = forMarshaling->sType;
13109     }
13110     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13111     memcpy(*ptr, (uint32_t*)&forMarshaling->advancedBlendMaxColorAttachments, sizeof(uint32_t));
13112     *ptr += sizeof(uint32_t);
13113     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendIndependentBlend, sizeof(VkBool32));
13114     *ptr += sizeof(VkBool32);
13115     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendNonPremultipliedSrcColor,
13116            sizeof(VkBool32));
13117     *ptr += sizeof(VkBool32);
13118     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendNonPremultipliedDstColor,
13119            sizeof(VkBool32));
13120     *ptr += sizeof(VkBool32);
13121     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendCorrelatedOverlap, sizeof(VkBool32));
13122     *ptr += sizeof(VkBool32);
13123     memcpy(*ptr, (VkBool32*)&forMarshaling->advancedBlendAllOperations, sizeof(VkBool32));
13124     *ptr += sizeof(VkBool32);
13125 }
13126 
reservedmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendAdvancedStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)13127 void reservedmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
13128     VulkanStreamGuest* vkStream, VkStructureType rootType,
13129     const VkPipelineColorBlendAdvancedStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13130     (void)vkStream;
13131     (void)rootType;
13132     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13133     *ptr += sizeof(VkStructureType);
13134     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13135         rootType = forMarshaling->sType;
13136     }
13137     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13138     memcpy(*ptr, (VkBool32*)&forMarshaling->srcPremultiplied, sizeof(VkBool32));
13139     *ptr += sizeof(VkBool32);
13140     memcpy(*ptr, (VkBool32*)&forMarshaling->dstPremultiplied, sizeof(VkBool32));
13141     *ptr += sizeof(VkBool32);
13142     memcpy(*ptr, (VkBlendOverlapEXT*)&forMarshaling->blendOverlap, sizeof(VkBlendOverlapEXT));
13143     *ptr += sizeof(VkBlendOverlapEXT);
13144 }
13145 
13146 #endif
13147 #ifdef VK_NV_fragment_coverage_to_color
reservedmarshal_VkPipelineCoverageToColorStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCoverageToColorStateCreateInfoNV * forMarshaling,uint8_t ** ptr)13148 void reservedmarshal_VkPipelineCoverageToColorStateCreateInfoNV(
13149     VulkanStreamGuest* vkStream, VkStructureType rootType,
13150     const VkPipelineCoverageToColorStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
13151     (void)vkStream;
13152     (void)rootType;
13153     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13154     *ptr += sizeof(VkStructureType);
13155     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13156         rootType = forMarshaling->sType;
13157     }
13158     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13159     memcpy(*ptr, (VkPipelineCoverageToColorStateCreateFlagsNV*)&forMarshaling->flags,
13160            sizeof(VkPipelineCoverageToColorStateCreateFlagsNV));
13161     *ptr += sizeof(VkPipelineCoverageToColorStateCreateFlagsNV);
13162     memcpy(*ptr, (VkBool32*)&forMarshaling->coverageToColorEnable, sizeof(VkBool32));
13163     *ptr += sizeof(VkBool32);
13164     memcpy(*ptr, (uint32_t*)&forMarshaling->coverageToColorLocation, sizeof(uint32_t));
13165     *ptr += sizeof(uint32_t);
13166 }
13167 
13168 #endif
13169 #ifdef VK_NV_framebuffer_mixed_samples
reservedmarshal_VkPipelineCoverageModulationStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCoverageModulationStateCreateInfoNV * forMarshaling,uint8_t ** ptr)13170 void reservedmarshal_VkPipelineCoverageModulationStateCreateInfoNV(
13171     VulkanStreamGuest* vkStream, VkStructureType rootType,
13172     const VkPipelineCoverageModulationStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
13173     (void)vkStream;
13174     (void)rootType;
13175     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13176     *ptr += sizeof(VkStructureType);
13177     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13178         rootType = forMarshaling->sType;
13179     }
13180     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13181     memcpy(*ptr, (VkPipelineCoverageModulationStateCreateFlagsNV*)&forMarshaling->flags,
13182            sizeof(VkPipelineCoverageModulationStateCreateFlagsNV));
13183     *ptr += sizeof(VkPipelineCoverageModulationStateCreateFlagsNV);
13184     memcpy(*ptr, (VkCoverageModulationModeNV*)&forMarshaling->coverageModulationMode,
13185            sizeof(VkCoverageModulationModeNV));
13186     *ptr += sizeof(VkCoverageModulationModeNV);
13187     memcpy(*ptr, (VkBool32*)&forMarshaling->coverageModulationTableEnable, sizeof(VkBool32));
13188     *ptr += sizeof(VkBool32);
13189     memcpy(*ptr, (uint32_t*)&forMarshaling->coverageModulationTableCount, sizeof(uint32_t));
13190     *ptr += sizeof(uint32_t);
13191     // WARNING PTR CHECK
13192     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCoverageModulationTable;
13193     memcpy((*ptr), &cgen_var_0, 8);
13194     android::base::Stream::toBe64((uint8_t*)(*ptr));
13195     *ptr += 8;
13196     if (forMarshaling->pCoverageModulationTable) {
13197         memcpy(*ptr, (const float*)forMarshaling->pCoverageModulationTable,
13198                forMarshaling->coverageModulationTableCount * sizeof(const float));
13199         *ptr += forMarshaling->coverageModulationTableCount * sizeof(const float);
13200     }
13201 }
13202 
13203 #endif
13204 #ifdef VK_NV_fill_rectangle
13205 #endif
13206 #ifdef VK_NV_shader_sm_builtins
reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV * forMarshaling,uint8_t ** ptr)13207 void reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
13208     VulkanStreamGuest* vkStream, VkStructureType rootType,
13209     const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* forMarshaling, uint8_t** ptr) {
13210     (void)vkStream;
13211     (void)rootType;
13212     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13213     *ptr += sizeof(VkStructureType);
13214     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13215         rootType = forMarshaling->sType;
13216     }
13217     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13218     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderSMCount, sizeof(uint32_t));
13219     *ptr += sizeof(uint32_t);
13220     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderWarpsPerSM, sizeof(uint32_t));
13221     *ptr += sizeof(uint32_t);
13222 }
13223 
reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * forMarshaling,uint8_t ** ptr)13224 void reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
13225     VulkanStreamGuest* vkStream, VkStructureType rootType,
13226     const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* forMarshaling, uint8_t** ptr) {
13227     (void)vkStream;
13228     (void)rootType;
13229     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13230     *ptr += sizeof(VkStructureType);
13231     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13232         rootType = forMarshaling->sType;
13233     }
13234     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13235     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSMBuiltins, sizeof(VkBool32));
13236     *ptr += sizeof(VkBool32);
13237 }
13238 
13239 #endif
13240 #ifdef VK_EXT_post_depth_coverage
13241 #endif
13242 #ifdef VK_EXT_image_drm_format_modifier
reservedmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * forMarshaling,uint8_t ** ptr)13243 void reservedmarshal_VkDrmFormatModifierPropertiesEXT(
13244     VulkanStreamGuest* vkStream, VkStructureType rootType,
13245     const VkDrmFormatModifierPropertiesEXT* forMarshaling, uint8_t** ptr) {
13246     (void)vkStream;
13247     (void)rootType;
13248     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
13249     *ptr += sizeof(uint64_t);
13250     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
13251     *ptr += sizeof(uint32_t);
13252     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->drmFormatModifierTilingFeatures,
13253            sizeof(VkFormatFeatureFlags));
13254     *ptr += sizeof(VkFormatFeatureFlags);
13255 }
13256 
reservedmarshal_VkDrmFormatModifierPropertiesListEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * forMarshaling,uint8_t ** ptr)13257 void reservedmarshal_VkDrmFormatModifierPropertiesListEXT(
13258     VulkanStreamGuest* vkStream, VkStructureType rootType,
13259     const VkDrmFormatModifierPropertiesListEXT* forMarshaling, uint8_t** ptr) {
13260     (void)vkStream;
13261     (void)rootType;
13262     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13263     *ptr += sizeof(VkStructureType);
13264     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13265         rootType = forMarshaling->sType;
13266     }
13267     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13268     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
13269     *ptr += sizeof(uint32_t);
13270     // WARNING PTR CHECK
13271     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
13272     memcpy((*ptr), &cgen_var_0, 8);
13273     android::base::Stream::toBe64((uint8_t*)(*ptr));
13274     *ptr += 8;
13275     if (forMarshaling->pDrmFormatModifierProperties) {
13276         for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
13277             reservedmarshal_VkDrmFormatModifierPropertiesEXT(
13278                 vkStream, rootType,
13279                 (VkDrmFormatModifierPropertiesEXT*)(forMarshaling->pDrmFormatModifierProperties +
13280                                                     i),
13281                 ptr);
13282         }
13283     }
13284 }
13285 
reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forMarshaling,uint8_t ** ptr)13286 void reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
13287     VulkanStreamGuest* vkStream, VkStructureType rootType,
13288     const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forMarshaling, uint8_t** ptr) {
13289     (void)vkStream;
13290     (void)rootType;
13291     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13292     *ptr += sizeof(VkStructureType);
13293     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13294         rootType = forMarshaling->sType;
13295     }
13296     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13297     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
13298     *ptr += sizeof(uint64_t);
13299     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
13300     *ptr += sizeof(VkSharingMode);
13301     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
13302     *ptr += sizeof(uint32_t);
13303     // WARNING PTR CHECK
13304     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
13305     memcpy((*ptr), &cgen_var_0, 8);
13306     android::base::Stream::toBe64((uint8_t*)(*ptr));
13307     *ptr += 8;
13308     if (forMarshaling->pQueueFamilyIndices) {
13309         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
13310                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
13311         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
13312     }
13313 }
13314 
reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * forMarshaling,uint8_t ** ptr)13315 void reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
13316     VulkanStreamGuest* vkStream, VkStructureType rootType,
13317     const VkImageDrmFormatModifierListCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13318     (void)vkStream;
13319     (void)rootType;
13320     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13321     *ptr += sizeof(VkStructureType);
13322     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13323         rootType = forMarshaling->sType;
13324     }
13325     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13326     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
13327     *ptr += sizeof(uint32_t);
13328     memcpy(*ptr, (const uint64_t*)forMarshaling->pDrmFormatModifiers,
13329            forMarshaling->drmFormatModifierCount * sizeof(const uint64_t));
13330     *ptr += forMarshaling->drmFormatModifierCount * sizeof(const uint64_t);
13331 }
13332 
reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * forMarshaling,uint8_t ** ptr)13333 void reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
13334     VulkanStreamGuest* vkStream, VkStructureType rootType,
13335     const VkImageDrmFormatModifierExplicitCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13336     (void)vkStream;
13337     (void)rootType;
13338     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13339     *ptr += sizeof(VkStructureType);
13340     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13341         rootType = forMarshaling->sType;
13342     }
13343     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13344     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
13345     *ptr += sizeof(uint64_t);
13346     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
13347     *ptr += sizeof(uint32_t);
13348     for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierPlaneCount; ++i) {
13349         reservedmarshal_VkSubresourceLayout(
13350             vkStream, rootType, (const VkSubresourceLayout*)(forMarshaling->pPlaneLayouts + i),
13351             ptr);
13352     }
13353 }
13354 
reservedmarshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * forMarshaling,uint8_t ** ptr)13355 void reservedmarshal_VkImageDrmFormatModifierPropertiesEXT(
13356     VulkanStreamGuest* vkStream, VkStructureType rootType,
13357     const VkImageDrmFormatModifierPropertiesEXT* forMarshaling, uint8_t** ptr) {
13358     (void)vkStream;
13359     (void)rootType;
13360     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13361     *ptr += sizeof(VkStructureType);
13362     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13363         rootType = forMarshaling->sType;
13364     }
13365     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13366     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
13367     *ptr += sizeof(uint64_t);
13368 }
13369 
reservedmarshal_VkDrmFormatModifierProperties2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * forMarshaling,uint8_t ** ptr)13370 void reservedmarshal_VkDrmFormatModifierProperties2EXT(
13371     VulkanStreamGuest* vkStream, VkStructureType rootType,
13372     const VkDrmFormatModifierProperties2EXT* forMarshaling, uint8_t** ptr) {
13373     (void)vkStream;
13374     (void)rootType;
13375     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
13376     *ptr += sizeof(uint64_t);
13377     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
13378     *ptr += sizeof(uint32_t);
13379     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->drmFormatModifierTilingFeatures,
13380            sizeof(VkFormatFeatureFlags2));
13381     *ptr += sizeof(VkFormatFeatureFlags2);
13382 }
13383 
reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * forMarshaling,uint8_t ** ptr)13384 void reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(
13385     VulkanStreamGuest* vkStream, VkStructureType rootType,
13386     const VkDrmFormatModifierPropertiesList2EXT* forMarshaling, uint8_t** ptr) {
13387     (void)vkStream;
13388     (void)rootType;
13389     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13390     *ptr += sizeof(VkStructureType);
13391     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13392         rootType = forMarshaling->sType;
13393     }
13394     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13395     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
13396     *ptr += sizeof(uint32_t);
13397     // WARNING PTR CHECK
13398     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
13399     memcpy((*ptr), &cgen_var_0, 8);
13400     android::base::Stream::toBe64((uint8_t*)(*ptr));
13401     *ptr += 8;
13402     if (forMarshaling->pDrmFormatModifierProperties) {
13403         for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
13404             reservedmarshal_VkDrmFormatModifierProperties2EXT(
13405                 vkStream, rootType,
13406                 (VkDrmFormatModifierProperties2EXT*)(forMarshaling->pDrmFormatModifierProperties +
13407                                                      i),
13408                 ptr);
13409         }
13410     }
13411 }
13412 
13413 #endif
13414 #ifdef VK_EXT_validation_cache
reservedmarshal_VkValidationCacheCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkValidationCacheCreateInfoEXT * forMarshaling,uint8_t ** ptr)13415 void reservedmarshal_VkValidationCacheCreateInfoEXT(
13416     VulkanStreamGuest* vkStream, VkStructureType rootType,
13417     const VkValidationCacheCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13418     (void)vkStream;
13419     (void)rootType;
13420     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13421     *ptr += sizeof(VkStructureType);
13422     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13423         rootType = forMarshaling->sType;
13424     }
13425     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13426     memcpy(*ptr, (VkValidationCacheCreateFlagsEXT*)&forMarshaling->flags,
13427            sizeof(VkValidationCacheCreateFlagsEXT));
13428     *ptr += sizeof(VkValidationCacheCreateFlagsEXT);
13429     uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
13430     memcpy((*ptr), &cgen_var_0, 8);
13431     android::base::Stream::toBe64((uint8_t*)(*ptr));
13432     *ptr += 8;
13433     memcpy(*ptr, (const void*)forMarshaling->pInitialData,
13434            forMarshaling->initialDataSize * sizeof(const uint8_t));
13435     *ptr += forMarshaling->initialDataSize * sizeof(const uint8_t);
13436 }
13437 
reservedmarshal_VkShaderModuleValidationCacheCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderModuleValidationCacheCreateInfoEXT * forMarshaling,uint8_t ** ptr)13438 void reservedmarshal_VkShaderModuleValidationCacheCreateInfoEXT(
13439     VulkanStreamGuest* vkStream, VkStructureType rootType,
13440     const VkShaderModuleValidationCacheCreateInfoEXT* forMarshaling, uint8_t** ptr) {
13441     (void)vkStream;
13442     (void)rootType;
13443     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13444     *ptr += sizeof(VkStructureType);
13445     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13446         rootType = forMarshaling->sType;
13447     }
13448     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13449     uint64_t cgen_var_0;
13450     *&cgen_var_0 = get_host_u64_VkValidationCacheEXT((*&forMarshaling->validationCache));
13451     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13452     *ptr += 1 * 8;
13453 }
13454 
13455 #endif
13456 #ifdef VK_EXT_descriptor_indexing
13457 #endif
13458 #ifdef VK_EXT_shader_viewport_index_layer
13459 #endif
13460 #ifdef VK_NV_shading_rate_image
reservedmarshal_VkShadingRatePaletteNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShadingRatePaletteNV * forMarshaling,uint8_t ** ptr)13461 void reservedmarshal_VkShadingRatePaletteNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13462                                             const VkShadingRatePaletteNV* forMarshaling,
13463                                             uint8_t** ptr) {
13464     (void)vkStream;
13465     (void)rootType;
13466     memcpy(*ptr, (uint32_t*)&forMarshaling->shadingRatePaletteEntryCount, sizeof(uint32_t));
13467     *ptr += sizeof(uint32_t);
13468     memcpy(*ptr, (const VkShadingRatePaletteEntryNV*)forMarshaling->pShadingRatePaletteEntries,
13469            forMarshaling->shadingRatePaletteEntryCount * sizeof(const VkShadingRatePaletteEntryNV));
13470     *ptr += forMarshaling->shadingRatePaletteEntryCount * sizeof(const VkShadingRatePaletteEntryNV);
13471 }
13472 
reservedmarshal_VkPipelineViewportShadingRateImageStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportShadingRateImageStateCreateInfoNV * forMarshaling,uint8_t ** ptr)13473 void reservedmarshal_VkPipelineViewportShadingRateImageStateCreateInfoNV(
13474     VulkanStreamGuest* vkStream, VkStructureType rootType,
13475     const VkPipelineViewportShadingRateImageStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
13476     (void)vkStream;
13477     (void)rootType;
13478     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13479     *ptr += sizeof(VkStructureType);
13480     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13481         rootType = forMarshaling->sType;
13482     }
13483     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13484     memcpy(*ptr, (VkBool32*)&forMarshaling->shadingRateImageEnable, sizeof(VkBool32));
13485     *ptr += sizeof(VkBool32);
13486     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
13487     *ptr += sizeof(uint32_t);
13488     // WARNING PTR CHECK
13489     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pShadingRatePalettes;
13490     memcpy((*ptr), &cgen_var_0, 8);
13491     android::base::Stream::toBe64((uint8_t*)(*ptr));
13492     *ptr += 8;
13493     if (forMarshaling->pShadingRatePalettes) {
13494         for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
13495             reservedmarshal_VkShadingRatePaletteNV(
13496                 vkStream, rootType,
13497                 (const VkShadingRatePaletteNV*)(forMarshaling->pShadingRatePalettes + i), ptr);
13498         }
13499     }
13500 }
13501 
reservedmarshal_VkPhysicalDeviceShadingRateImageFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShadingRateImageFeaturesNV * forMarshaling,uint8_t ** ptr)13502 void reservedmarshal_VkPhysicalDeviceShadingRateImageFeaturesNV(
13503     VulkanStreamGuest* vkStream, VkStructureType rootType,
13504     const VkPhysicalDeviceShadingRateImageFeaturesNV* forMarshaling, uint8_t** ptr) {
13505     (void)vkStream;
13506     (void)rootType;
13507     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13508     *ptr += sizeof(VkStructureType);
13509     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13510         rootType = forMarshaling->sType;
13511     }
13512     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13513     memcpy(*ptr, (VkBool32*)&forMarshaling->shadingRateImage, sizeof(VkBool32));
13514     *ptr += sizeof(VkBool32);
13515     memcpy(*ptr, (VkBool32*)&forMarshaling->shadingRateCoarseSampleOrder, sizeof(VkBool32));
13516     *ptr += sizeof(VkBool32);
13517 }
13518 
reservedmarshal_VkPhysicalDeviceShadingRateImagePropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShadingRateImagePropertiesNV * forMarshaling,uint8_t ** ptr)13519 void reservedmarshal_VkPhysicalDeviceShadingRateImagePropertiesNV(
13520     VulkanStreamGuest* vkStream, VkStructureType rootType,
13521     const VkPhysicalDeviceShadingRateImagePropertiesNV* forMarshaling, uint8_t** ptr) {
13522     (void)vkStream;
13523     (void)rootType;
13524     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13525     *ptr += sizeof(VkStructureType);
13526     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13527         rootType = forMarshaling->sType;
13528     }
13529     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13530     reservedmarshal_VkExtent2D(vkStream, rootType,
13531                                (VkExtent2D*)(&forMarshaling->shadingRateTexelSize), ptr);
13532     memcpy(*ptr, (uint32_t*)&forMarshaling->shadingRatePaletteSize, sizeof(uint32_t));
13533     *ptr += sizeof(uint32_t);
13534     memcpy(*ptr, (uint32_t*)&forMarshaling->shadingRateMaxCoarseSamples, sizeof(uint32_t));
13535     *ptr += sizeof(uint32_t);
13536 }
13537 
reservedmarshal_VkCoarseSampleLocationNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCoarseSampleLocationNV * forMarshaling,uint8_t ** ptr)13538 void reservedmarshal_VkCoarseSampleLocationNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13539                                               const VkCoarseSampleLocationNV* forMarshaling,
13540                                               uint8_t** ptr) {
13541     (void)vkStream;
13542     (void)rootType;
13543     memcpy(*ptr, (uint32_t*)&forMarshaling->pixelX, sizeof(uint32_t));
13544     *ptr += sizeof(uint32_t);
13545     memcpy(*ptr, (uint32_t*)&forMarshaling->pixelY, sizeof(uint32_t));
13546     *ptr += sizeof(uint32_t);
13547     memcpy(*ptr, (uint32_t*)&forMarshaling->sample, sizeof(uint32_t));
13548     *ptr += sizeof(uint32_t);
13549 }
13550 
reservedmarshal_VkCoarseSampleOrderCustomNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCoarseSampleOrderCustomNV * forMarshaling,uint8_t ** ptr)13551 void reservedmarshal_VkCoarseSampleOrderCustomNV(VulkanStreamGuest* vkStream,
13552                                                  VkStructureType rootType,
13553                                                  const VkCoarseSampleOrderCustomNV* forMarshaling,
13554                                                  uint8_t** ptr) {
13555     (void)vkStream;
13556     (void)rootType;
13557     memcpy(*ptr, (VkShadingRatePaletteEntryNV*)&forMarshaling->shadingRate,
13558            sizeof(VkShadingRatePaletteEntryNV));
13559     *ptr += sizeof(VkShadingRatePaletteEntryNV);
13560     memcpy(*ptr, (uint32_t*)&forMarshaling->sampleCount, sizeof(uint32_t));
13561     *ptr += sizeof(uint32_t);
13562     memcpy(*ptr, (uint32_t*)&forMarshaling->sampleLocationCount, sizeof(uint32_t));
13563     *ptr += sizeof(uint32_t);
13564     for (uint32_t i = 0; i < (uint32_t)forMarshaling->sampleLocationCount; ++i) {
13565         reservedmarshal_VkCoarseSampleLocationNV(
13566             vkStream, rootType,
13567             (const VkCoarseSampleLocationNV*)(forMarshaling->pSampleLocations + i), ptr);
13568     }
13569 }
13570 
reservedmarshal_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV * forMarshaling,uint8_t ** ptr)13571 void reservedmarshal_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
13572     VulkanStreamGuest* vkStream, VkStructureType rootType,
13573     const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
13574     (void)vkStream;
13575     (void)rootType;
13576     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13577     *ptr += sizeof(VkStructureType);
13578     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13579         rootType = forMarshaling->sType;
13580     }
13581     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13582     memcpy(*ptr, (VkCoarseSampleOrderTypeNV*)&forMarshaling->sampleOrderType,
13583            sizeof(VkCoarseSampleOrderTypeNV));
13584     *ptr += sizeof(VkCoarseSampleOrderTypeNV);
13585     memcpy(*ptr, (uint32_t*)&forMarshaling->customSampleOrderCount, sizeof(uint32_t));
13586     *ptr += sizeof(uint32_t);
13587     for (uint32_t i = 0; i < (uint32_t)forMarshaling->customSampleOrderCount; ++i) {
13588         reservedmarshal_VkCoarseSampleOrderCustomNV(
13589             vkStream, rootType,
13590             (const VkCoarseSampleOrderCustomNV*)(forMarshaling->pCustomSampleOrders + i), ptr);
13591     }
13592 }
13593 
13594 #endif
13595 #ifdef VK_NV_ray_tracing
reservedmarshal_VkRayTracingShaderGroupCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRayTracingShaderGroupCreateInfoNV * forMarshaling,uint8_t ** ptr)13596 void reservedmarshal_VkRayTracingShaderGroupCreateInfoNV(
13597     VulkanStreamGuest* vkStream, VkStructureType rootType,
13598     const VkRayTracingShaderGroupCreateInfoNV* forMarshaling, uint8_t** ptr) {
13599     (void)vkStream;
13600     (void)rootType;
13601     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13602     *ptr += sizeof(VkStructureType);
13603     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13604         rootType = forMarshaling->sType;
13605     }
13606     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13607     memcpy(*ptr, (VkRayTracingShaderGroupTypeKHR*)&forMarshaling->type,
13608            sizeof(VkRayTracingShaderGroupTypeKHR));
13609     *ptr += sizeof(VkRayTracingShaderGroupTypeKHR);
13610     memcpy(*ptr, (uint32_t*)&forMarshaling->generalShader, sizeof(uint32_t));
13611     *ptr += sizeof(uint32_t);
13612     memcpy(*ptr, (uint32_t*)&forMarshaling->closestHitShader, sizeof(uint32_t));
13613     *ptr += sizeof(uint32_t);
13614     memcpy(*ptr, (uint32_t*)&forMarshaling->anyHitShader, sizeof(uint32_t));
13615     *ptr += sizeof(uint32_t);
13616     memcpy(*ptr, (uint32_t*)&forMarshaling->intersectionShader, sizeof(uint32_t));
13617     *ptr += sizeof(uint32_t);
13618 }
13619 
reservedmarshal_VkRayTracingPipelineCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRayTracingPipelineCreateInfoNV * forMarshaling,uint8_t ** ptr)13620 void reservedmarshal_VkRayTracingPipelineCreateInfoNV(
13621     VulkanStreamGuest* vkStream, VkStructureType rootType,
13622     const VkRayTracingPipelineCreateInfoNV* forMarshaling, uint8_t** ptr) {
13623     (void)vkStream;
13624     (void)rootType;
13625     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13626     *ptr += sizeof(VkStructureType);
13627     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13628         rootType = forMarshaling->sType;
13629     }
13630     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13631     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
13632     *ptr += sizeof(VkPipelineCreateFlags);
13633     memcpy(*ptr, (uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
13634     *ptr += sizeof(uint32_t);
13635     for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
13636         reservedmarshal_VkPipelineShaderStageCreateInfo(
13637             vkStream, rootType,
13638             (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i), ptr);
13639     }
13640     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCount, sizeof(uint32_t));
13641     *ptr += sizeof(uint32_t);
13642     for (uint32_t i = 0; i < (uint32_t)forMarshaling->groupCount; ++i) {
13643         reservedmarshal_VkRayTracingShaderGroupCreateInfoNV(
13644             vkStream, rootType,
13645             (const VkRayTracingShaderGroupCreateInfoNV*)(forMarshaling->pGroups + i), ptr);
13646     }
13647     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRecursionDepth, sizeof(uint32_t));
13648     *ptr += sizeof(uint32_t);
13649     uint64_t cgen_var_0;
13650     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
13651     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13652     *ptr += 1 * 8;
13653     uint64_t cgen_var_1;
13654     *&cgen_var_1 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
13655     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
13656     *ptr += 1 * 8;
13657     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
13658     *ptr += sizeof(int32_t);
13659 }
13660 
reservedmarshal_VkGeometryTrianglesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeometryTrianglesNV * forMarshaling,uint8_t ** ptr)13661 void reservedmarshal_VkGeometryTrianglesNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13662                                            const VkGeometryTrianglesNV* forMarshaling,
13663                                            uint8_t** ptr) {
13664     (void)vkStream;
13665     (void)rootType;
13666     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13667     *ptr += sizeof(VkStructureType);
13668     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13669         rootType = forMarshaling->sType;
13670     }
13671     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13672     uint64_t cgen_var_0;
13673     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->vertexData));
13674     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13675     *ptr += 1 * 8;
13676     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->vertexOffset, sizeof(VkDeviceSize));
13677     *ptr += sizeof(VkDeviceSize);
13678     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
13679     *ptr += sizeof(uint32_t);
13680     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->vertexStride, sizeof(VkDeviceSize));
13681     *ptr += sizeof(VkDeviceSize);
13682     memcpy(*ptr, (VkFormat*)&forMarshaling->vertexFormat, sizeof(VkFormat));
13683     *ptr += sizeof(VkFormat);
13684     uint64_t cgen_var_1;
13685     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->indexData));
13686     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
13687     *ptr += 1 * 8;
13688     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->indexOffset, sizeof(VkDeviceSize));
13689     *ptr += sizeof(VkDeviceSize);
13690     memcpy(*ptr, (uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
13691     *ptr += sizeof(uint32_t);
13692     memcpy(*ptr, (VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
13693     *ptr += sizeof(VkIndexType);
13694     uint64_t cgen_var_2;
13695     *&cgen_var_2 = get_host_u64_VkBuffer((*&forMarshaling->transformData));
13696     memcpy(*ptr, (uint64_t*)&cgen_var_2, 1 * 8);
13697     *ptr += 1 * 8;
13698     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->transformOffset, sizeof(VkDeviceSize));
13699     *ptr += sizeof(VkDeviceSize);
13700 }
13701 
reservedmarshal_VkGeometryAABBNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeometryAABBNV * forMarshaling,uint8_t ** ptr)13702 void reservedmarshal_VkGeometryAABBNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13703                                       const VkGeometryAABBNV* forMarshaling, uint8_t** ptr) {
13704     (void)vkStream;
13705     (void)rootType;
13706     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13707     *ptr += sizeof(VkStructureType);
13708     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13709         rootType = forMarshaling->sType;
13710     }
13711     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13712     uint64_t cgen_var_0;
13713     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->aabbData));
13714     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13715     *ptr += 1 * 8;
13716     memcpy(*ptr, (uint32_t*)&forMarshaling->numAABBs, sizeof(uint32_t));
13717     *ptr += sizeof(uint32_t);
13718     memcpy(*ptr, (uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
13719     *ptr += sizeof(uint32_t);
13720     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
13721     *ptr += sizeof(VkDeviceSize);
13722 }
13723 
reservedmarshal_VkGeometryDataNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeometryDataNV * forMarshaling,uint8_t ** ptr)13724 void reservedmarshal_VkGeometryDataNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13725                                       const VkGeometryDataNV* forMarshaling, uint8_t** ptr) {
13726     (void)vkStream;
13727     (void)rootType;
13728     reservedmarshal_VkGeometryTrianglesNV(vkStream, rootType,
13729                                           (VkGeometryTrianglesNV*)(&forMarshaling->triangles), ptr);
13730     reservedmarshal_VkGeometryAABBNV(vkStream, rootType, (VkGeometryAABBNV*)(&forMarshaling->aabbs),
13731                                      ptr);
13732 }
13733 
reservedmarshal_VkGeometryNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeometryNV * forMarshaling,uint8_t ** ptr)13734 void reservedmarshal_VkGeometryNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
13735                                   const VkGeometryNV* forMarshaling, uint8_t** ptr) {
13736     (void)vkStream;
13737     (void)rootType;
13738     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13739     *ptr += sizeof(VkStructureType);
13740     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13741         rootType = forMarshaling->sType;
13742     }
13743     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13744     memcpy(*ptr, (VkGeometryTypeKHR*)&forMarshaling->geometryType, sizeof(VkGeometryTypeKHR));
13745     *ptr += sizeof(VkGeometryTypeKHR);
13746     reservedmarshal_VkGeometryDataNV(vkStream, rootType,
13747                                      (VkGeometryDataNV*)(&forMarshaling->geometry), ptr);
13748     memcpy(*ptr, (VkGeometryFlagsKHR*)&forMarshaling->flags, sizeof(VkGeometryFlagsKHR));
13749     *ptr += sizeof(VkGeometryFlagsKHR);
13750 }
13751 
reservedmarshal_VkAccelerationStructureInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureInfoNV * forMarshaling,uint8_t ** ptr)13752 void reservedmarshal_VkAccelerationStructureInfoNV(
13753     VulkanStreamGuest* vkStream, VkStructureType rootType,
13754     const VkAccelerationStructureInfoNV* forMarshaling, uint8_t** ptr) {
13755     (void)vkStream;
13756     (void)rootType;
13757     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13758     *ptr += sizeof(VkStructureType);
13759     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13760         rootType = forMarshaling->sType;
13761     }
13762     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13763     memcpy(*ptr, (VkAccelerationStructureTypeNV*)&forMarshaling->type,
13764            sizeof(VkAccelerationStructureTypeNV));
13765     *ptr += sizeof(VkAccelerationStructureTypeNV);
13766     memcpy(*ptr, (VkBuildAccelerationStructureFlagsNV*)&forMarshaling->flags,
13767            sizeof(VkBuildAccelerationStructureFlagsNV));
13768     *ptr += sizeof(VkBuildAccelerationStructureFlagsNV);
13769     memcpy(*ptr, (uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
13770     *ptr += sizeof(uint32_t);
13771     memcpy(*ptr, (uint32_t*)&forMarshaling->geometryCount, sizeof(uint32_t));
13772     *ptr += sizeof(uint32_t);
13773     for (uint32_t i = 0; i < (uint32_t)forMarshaling->geometryCount; ++i) {
13774         reservedmarshal_VkGeometryNV(vkStream, rootType,
13775                                      (const VkGeometryNV*)(forMarshaling->pGeometries + i), ptr);
13776     }
13777 }
13778 
reservedmarshal_VkAccelerationStructureCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureCreateInfoNV * forMarshaling,uint8_t ** ptr)13779 void reservedmarshal_VkAccelerationStructureCreateInfoNV(
13780     VulkanStreamGuest* vkStream, VkStructureType rootType,
13781     const VkAccelerationStructureCreateInfoNV* forMarshaling, uint8_t** ptr) {
13782     (void)vkStream;
13783     (void)rootType;
13784     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13785     *ptr += sizeof(VkStructureType);
13786     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13787         rootType = forMarshaling->sType;
13788     }
13789     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13790     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->compactedSize, sizeof(VkDeviceSize));
13791     *ptr += sizeof(VkDeviceSize);
13792     reservedmarshal_VkAccelerationStructureInfoNV(
13793         vkStream, rootType, (VkAccelerationStructureInfoNV*)(&forMarshaling->info), ptr);
13794 }
13795 
reservedmarshal_VkBindAccelerationStructureMemoryInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindAccelerationStructureMemoryInfoNV * forMarshaling,uint8_t ** ptr)13796 void reservedmarshal_VkBindAccelerationStructureMemoryInfoNV(
13797     VulkanStreamGuest* vkStream, VkStructureType rootType,
13798     const VkBindAccelerationStructureMemoryInfoNV* forMarshaling, uint8_t** ptr) {
13799     (void)vkStream;
13800     (void)rootType;
13801     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13802     *ptr += sizeof(VkStructureType);
13803     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13804         rootType = forMarshaling->sType;
13805     }
13806     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13807     uint64_t cgen_var_0;
13808     *&cgen_var_0 = get_host_u64_VkAccelerationStructureNV((*&forMarshaling->accelerationStructure));
13809     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13810     *ptr += 1 * 8;
13811     uint64_t cgen_var_1;
13812     *&cgen_var_1 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
13813     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
13814     *ptr += 1 * 8;
13815     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
13816     *ptr += sizeof(VkDeviceSize);
13817     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
13818     *ptr += sizeof(uint32_t);
13819     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceIndices,
13820            forMarshaling->deviceIndexCount * sizeof(const uint32_t));
13821     *ptr += forMarshaling->deviceIndexCount * sizeof(const uint32_t);
13822 }
13823 
reservedmarshal_VkWriteDescriptorSetAccelerationStructureNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSetAccelerationStructureNV * forMarshaling,uint8_t ** ptr)13824 void reservedmarshal_VkWriteDescriptorSetAccelerationStructureNV(
13825     VulkanStreamGuest* vkStream, VkStructureType rootType,
13826     const VkWriteDescriptorSetAccelerationStructureNV* forMarshaling, uint8_t** ptr) {
13827     (void)vkStream;
13828     (void)rootType;
13829     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13830     *ptr += sizeof(VkStructureType);
13831     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13832         rootType = forMarshaling->sType;
13833     }
13834     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13835     memcpy(*ptr, (uint32_t*)&forMarshaling->accelerationStructureCount, sizeof(uint32_t));
13836     *ptr += sizeof(uint32_t);
13837     // WARNING PTR CHECK
13838     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAccelerationStructures;
13839     memcpy((*ptr), &cgen_var_0, 8);
13840     android::base::Stream::toBe64((uint8_t*)(*ptr));
13841     *ptr += 8;
13842     if (forMarshaling->pAccelerationStructures) {
13843         if (forMarshaling->accelerationStructureCount) {
13844             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
13845             if (forMarshaling) {
13846                 for (uint32_t k = 0; k < forMarshaling->accelerationStructureCount; ++k) {
13847                     uint64_t tmpval = get_host_u64_VkAccelerationStructureNV(
13848                         forMarshaling->pAccelerationStructures[k]);
13849                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
13850                 }
13851             }
13852             *ptr += 8 * forMarshaling->accelerationStructureCount;
13853         }
13854     }
13855 }
13856 
reservedmarshal_VkAccelerationStructureMemoryRequirementsInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureMemoryRequirementsInfoNV * forMarshaling,uint8_t ** ptr)13857 void reservedmarshal_VkAccelerationStructureMemoryRequirementsInfoNV(
13858     VulkanStreamGuest* vkStream, VkStructureType rootType,
13859     const VkAccelerationStructureMemoryRequirementsInfoNV* forMarshaling, uint8_t** ptr) {
13860     (void)vkStream;
13861     (void)rootType;
13862     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13863     *ptr += sizeof(VkStructureType);
13864     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13865         rootType = forMarshaling->sType;
13866     }
13867     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13868     memcpy(*ptr, (VkAccelerationStructureMemoryRequirementsTypeNV*)&forMarshaling->type,
13869            sizeof(VkAccelerationStructureMemoryRequirementsTypeNV));
13870     *ptr += sizeof(VkAccelerationStructureMemoryRequirementsTypeNV);
13871     uint64_t cgen_var_0;
13872     *&cgen_var_0 = get_host_u64_VkAccelerationStructureNV((*&forMarshaling->accelerationStructure));
13873     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
13874     *ptr += 1 * 8;
13875 }
13876 
reservedmarshal_VkPhysicalDeviceRayTracingPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPropertiesNV * forMarshaling,uint8_t ** ptr)13877 void reservedmarshal_VkPhysicalDeviceRayTracingPropertiesNV(
13878     VulkanStreamGuest* vkStream, VkStructureType rootType,
13879     const VkPhysicalDeviceRayTracingPropertiesNV* forMarshaling, uint8_t** ptr) {
13880     (void)vkStream;
13881     (void)rootType;
13882     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13883     *ptr += sizeof(VkStructureType);
13884     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13885         rootType = forMarshaling->sType;
13886     }
13887     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13888     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupHandleSize, sizeof(uint32_t));
13889     *ptr += sizeof(uint32_t);
13890     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRecursionDepth, sizeof(uint32_t));
13891     *ptr += sizeof(uint32_t);
13892     memcpy(*ptr, (uint32_t*)&forMarshaling->maxShaderGroupStride, sizeof(uint32_t));
13893     *ptr += sizeof(uint32_t);
13894     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupBaseAlignment, sizeof(uint32_t));
13895     *ptr += sizeof(uint32_t);
13896     memcpy(*ptr, (uint64_t*)&forMarshaling->maxGeometryCount, sizeof(uint64_t));
13897     *ptr += sizeof(uint64_t);
13898     memcpy(*ptr, (uint64_t*)&forMarshaling->maxInstanceCount, sizeof(uint64_t));
13899     *ptr += sizeof(uint64_t);
13900     memcpy(*ptr, (uint64_t*)&forMarshaling->maxTriangleCount, sizeof(uint64_t));
13901     *ptr += sizeof(uint64_t);
13902     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetAccelerationStructures,
13903            sizeof(uint32_t));
13904     *ptr += sizeof(uint32_t);
13905 }
13906 
reservedmarshal_VkTransformMatrixKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTransformMatrixKHR * forMarshaling,uint8_t ** ptr)13907 void reservedmarshal_VkTransformMatrixKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
13908                                           const VkTransformMatrixKHR* forMarshaling,
13909                                           uint8_t** ptr) {
13910     (void)vkStream;
13911     (void)rootType;
13912     memcpy(*ptr, (float*)forMarshaling->matrix, ((3) * (4)) * sizeof(float));
13913     *ptr += ((3) * (4)) * sizeof(float);
13914 }
13915 
reservedmarshal_VkAabbPositionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAabbPositionsKHR * forMarshaling,uint8_t ** ptr)13916 void reservedmarshal_VkAabbPositionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
13917                                         const VkAabbPositionsKHR* forMarshaling, uint8_t** ptr) {
13918     (void)vkStream;
13919     (void)rootType;
13920     memcpy(*ptr, (float*)&forMarshaling->minX, sizeof(float));
13921     *ptr += sizeof(float);
13922     memcpy(*ptr, (float*)&forMarshaling->minY, sizeof(float));
13923     *ptr += sizeof(float);
13924     memcpy(*ptr, (float*)&forMarshaling->minZ, sizeof(float));
13925     *ptr += sizeof(float);
13926     memcpy(*ptr, (float*)&forMarshaling->maxX, sizeof(float));
13927     *ptr += sizeof(float);
13928     memcpy(*ptr, (float*)&forMarshaling->maxY, sizeof(float));
13929     *ptr += sizeof(float);
13930     memcpy(*ptr, (float*)&forMarshaling->maxZ, sizeof(float));
13931     *ptr += sizeof(float);
13932 }
13933 
reservedmarshal_VkAccelerationStructureInstanceKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureInstanceKHR * forMarshaling,uint8_t ** ptr)13934 void reservedmarshal_VkAccelerationStructureInstanceKHR(
13935     VulkanStreamGuest* vkStream, VkStructureType rootType,
13936     const VkAccelerationStructureInstanceKHR* forMarshaling, uint8_t** ptr) {
13937     typedef struct VkAccelerationStructureInstanceKHRWithoutBitFields {
13938         VkTransformMatrixKHR transform;
13939         uint32_t dwords[2];
13940         uint64_t accelerationStructureReference;
13941     } VkAccelerationStructureInstanceKHRWithoutBitFields;
13942 
13943     (void)vkStream;
13944     const VkAccelerationStructureInstanceKHRWithoutBitFields* forMarshaling_new =
13945         (const VkAccelerationStructureInstanceKHRWithoutBitFields*)(forMarshaling);
13946     reservedmarshal_VkTransformMatrixKHR(
13947         vkStream, rootType, (VkTransformMatrixKHR*)(&forMarshaling_new->transform), ptr);
13948     for (uint32_t i = 0; i < 2; i++) {
13949         memcpy(*ptr, (uint32_t*)&(forMarshaling_new->dwords[i]), sizeof(uint32_t));
13950         *ptr += sizeof(uint32_t);
13951     }
13952     memcpy(*ptr, (uint64_t*)&forMarshaling_new->accelerationStructureReference, sizeof(uint64_t));
13953     *ptr += sizeof(uint64_t);
13954 }
13955 
13956 #endif
13957 #ifdef VK_NV_representative_fragment_test
reservedmarshal_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV * forMarshaling,uint8_t ** ptr)13958 void reservedmarshal_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
13959     VulkanStreamGuest* vkStream, VkStructureType rootType,
13960     const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* forMarshaling, uint8_t** ptr) {
13961     (void)vkStream;
13962     (void)rootType;
13963     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13964     *ptr += sizeof(VkStructureType);
13965     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13966         rootType = forMarshaling->sType;
13967     }
13968     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13969     memcpy(*ptr, (VkBool32*)&forMarshaling->representativeFragmentTest, sizeof(VkBool32));
13970     *ptr += sizeof(VkBool32);
13971 }
13972 
reservedmarshal_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRepresentativeFragmentTestStateCreateInfoNV * forMarshaling,uint8_t ** ptr)13973 void reservedmarshal_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
13974     VulkanStreamGuest* vkStream, VkStructureType rootType,
13975     const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
13976     (void)vkStream;
13977     (void)rootType;
13978     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13979     *ptr += sizeof(VkStructureType);
13980     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13981         rootType = forMarshaling->sType;
13982     }
13983     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
13984     memcpy(*ptr, (VkBool32*)&forMarshaling->representativeFragmentTestEnable, sizeof(VkBool32));
13985     *ptr += sizeof(VkBool32);
13986 }
13987 
13988 #endif
13989 #ifdef VK_EXT_filter_cubic
reservedmarshal_VkPhysicalDeviceImageViewImageFormatInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageViewImageFormatInfoEXT * forMarshaling,uint8_t ** ptr)13990 void reservedmarshal_VkPhysicalDeviceImageViewImageFormatInfoEXT(
13991     VulkanStreamGuest* vkStream, VkStructureType rootType,
13992     const VkPhysicalDeviceImageViewImageFormatInfoEXT* forMarshaling, uint8_t** ptr) {
13993     (void)vkStream;
13994     (void)rootType;
13995     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13996     *ptr += sizeof(VkStructureType);
13997     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13998         rootType = forMarshaling->sType;
13999     }
14000     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14001     memcpy(*ptr, (VkImageViewType*)&forMarshaling->imageViewType, sizeof(VkImageViewType));
14002     *ptr += sizeof(VkImageViewType);
14003 }
14004 
reservedmarshal_VkFilterCubicImageViewImageFormatPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFilterCubicImageViewImageFormatPropertiesEXT * forMarshaling,uint8_t ** ptr)14005 void reservedmarshal_VkFilterCubicImageViewImageFormatPropertiesEXT(
14006     VulkanStreamGuest* vkStream, VkStructureType rootType,
14007     const VkFilterCubicImageViewImageFormatPropertiesEXT* forMarshaling, uint8_t** ptr) {
14008     (void)vkStream;
14009     (void)rootType;
14010     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14011     *ptr += sizeof(VkStructureType);
14012     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14013         rootType = forMarshaling->sType;
14014     }
14015     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14016     memcpy(*ptr, (VkBool32*)&forMarshaling->filterCubic, sizeof(VkBool32));
14017     *ptr += sizeof(VkBool32);
14018     memcpy(*ptr, (VkBool32*)&forMarshaling->filterCubicMinmax, sizeof(VkBool32));
14019     *ptr += sizeof(VkBool32);
14020 }
14021 
14022 #endif
14023 #ifdef VK_QCOM_render_pass_shader_resolve
14024 #endif
14025 #ifdef VK_EXT_global_priority
14026 #endif
14027 #ifdef VK_EXT_external_memory_host
reservedmarshal_VkImportMemoryHostPointerInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryHostPointerInfoEXT * forMarshaling,uint8_t ** ptr)14028 void reservedmarshal_VkImportMemoryHostPointerInfoEXT(
14029     VulkanStreamGuest* vkStream, VkStructureType rootType,
14030     const VkImportMemoryHostPointerInfoEXT* forMarshaling, uint8_t** ptr) {
14031     (void)vkStream;
14032     (void)rootType;
14033     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14034     *ptr += sizeof(VkStructureType);
14035     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14036         rootType = forMarshaling->sType;
14037     }
14038     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14039     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
14040            sizeof(VkExternalMemoryHandleTypeFlagBits));
14041     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
14042     // WARNING PTR CHECK
14043     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pHostPointer;
14044     memcpy((*ptr), &cgen_var_0, 8);
14045     android::base::Stream::toBe64((uint8_t*)(*ptr));
14046     *ptr += 8;
14047     if (forMarshaling->pHostPointer) {
14048         memcpy(*ptr, (void*)forMarshaling->pHostPointer, sizeof(uint8_t));
14049         *ptr += sizeof(uint8_t);
14050     }
14051 }
14052 
reservedmarshal_VkMemoryHostPointerPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryHostPointerPropertiesEXT * forMarshaling,uint8_t ** ptr)14053 void reservedmarshal_VkMemoryHostPointerPropertiesEXT(
14054     VulkanStreamGuest* vkStream, VkStructureType rootType,
14055     const VkMemoryHostPointerPropertiesEXT* forMarshaling, uint8_t** ptr) {
14056     (void)vkStream;
14057     (void)rootType;
14058     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14059     *ptr += sizeof(VkStructureType);
14060     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14061         rootType = forMarshaling->sType;
14062     }
14063     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14064     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
14065     *ptr += sizeof(uint32_t);
14066 }
14067 
reservedmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalMemoryHostPropertiesEXT * forMarshaling,uint8_t ** ptr)14068 void reservedmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
14069     VulkanStreamGuest* vkStream, VkStructureType rootType,
14070     const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forMarshaling, uint8_t** ptr) {
14071     (void)vkStream;
14072     (void)rootType;
14073     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14074     *ptr += sizeof(VkStructureType);
14075     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14076         rootType = forMarshaling->sType;
14077     }
14078     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14079     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minImportedHostPointerAlignment,
14080            sizeof(VkDeviceSize));
14081     *ptr += sizeof(VkDeviceSize);
14082 }
14083 
14084 #endif
14085 #ifdef VK_AMD_buffer_marker
14086 #endif
14087 #ifdef VK_AMD_pipeline_compiler_control
reservedmarshal_VkPipelineCompilerControlCreateInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCompilerControlCreateInfoAMD * forMarshaling,uint8_t ** ptr)14088 void reservedmarshal_VkPipelineCompilerControlCreateInfoAMD(
14089     VulkanStreamGuest* vkStream, VkStructureType rootType,
14090     const VkPipelineCompilerControlCreateInfoAMD* forMarshaling, uint8_t** ptr) {
14091     (void)vkStream;
14092     (void)rootType;
14093     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14094     *ptr += sizeof(VkStructureType);
14095     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14096         rootType = forMarshaling->sType;
14097     }
14098     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14099     memcpy(*ptr, (VkPipelineCompilerControlFlagsAMD*)&forMarshaling->compilerControlFlags,
14100            sizeof(VkPipelineCompilerControlFlagsAMD));
14101     *ptr += sizeof(VkPipelineCompilerControlFlagsAMD);
14102 }
14103 
14104 #endif
14105 #ifdef VK_EXT_calibrated_timestamps
reservedmarshal_VkCalibratedTimestampInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCalibratedTimestampInfoEXT * forMarshaling,uint8_t ** ptr)14106 void reservedmarshal_VkCalibratedTimestampInfoEXT(VulkanStreamGuest* vkStream,
14107                                                   VkStructureType rootType,
14108                                                   const VkCalibratedTimestampInfoEXT* forMarshaling,
14109                                                   uint8_t** ptr) {
14110     (void)vkStream;
14111     (void)rootType;
14112     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14113     *ptr += sizeof(VkStructureType);
14114     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14115         rootType = forMarshaling->sType;
14116     }
14117     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14118     memcpy(*ptr, (VkTimeDomainEXT*)&forMarshaling->timeDomain, sizeof(VkTimeDomainEXT));
14119     *ptr += sizeof(VkTimeDomainEXT);
14120 }
14121 
14122 #endif
14123 #ifdef VK_AMD_shader_core_properties
reservedmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderCorePropertiesAMD * forMarshaling,uint8_t ** ptr)14124 void reservedmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(
14125     VulkanStreamGuest* vkStream, VkStructureType rootType,
14126     const VkPhysicalDeviceShaderCorePropertiesAMD* forMarshaling, uint8_t** ptr) {
14127     (void)vkStream;
14128     (void)rootType;
14129     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14130     *ptr += sizeof(VkStructureType);
14131     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14132         rootType = forMarshaling->sType;
14133     }
14134     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14135     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderEngineCount, sizeof(uint32_t));
14136     *ptr += sizeof(uint32_t);
14137     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderArraysPerEngineCount, sizeof(uint32_t));
14138     *ptr += sizeof(uint32_t);
14139     memcpy(*ptr, (uint32_t*)&forMarshaling->computeUnitsPerShaderArray, sizeof(uint32_t));
14140     *ptr += sizeof(uint32_t);
14141     memcpy(*ptr, (uint32_t*)&forMarshaling->simdPerComputeUnit, sizeof(uint32_t));
14142     *ptr += sizeof(uint32_t);
14143     memcpy(*ptr, (uint32_t*)&forMarshaling->wavefrontsPerSimd, sizeof(uint32_t));
14144     *ptr += sizeof(uint32_t);
14145     memcpy(*ptr, (uint32_t*)&forMarshaling->wavefrontSize, sizeof(uint32_t));
14146     *ptr += sizeof(uint32_t);
14147     memcpy(*ptr, (uint32_t*)&forMarshaling->sgprsPerSimd, sizeof(uint32_t));
14148     *ptr += sizeof(uint32_t);
14149     memcpy(*ptr, (uint32_t*)&forMarshaling->minSgprAllocation, sizeof(uint32_t));
14150     *ptr += sizeof(uint32_t);
14151     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSgprAllocation, sizeof(uint32_t));
14152     *ptr += sizeof(uint32_t);
14153     memcpy(*ptr, (uint32_t*)&forMarshaling->sgprAllocationGranularity, sizeof(uint32_t));
14154     *ptr += sizeof(uint32_t);
14155     memcpy(*ptr, (uint32_t*)&forMarshaling->vgprsPerSimd, sizeof(uint32_t));
14156     *ptr += sizeof(uint32_t);
14157     memcpy(*ptr, (uint32_t*)&forMarshaling->minVgprAllocation, sizeof(uint32_t));
14158     *ptr += sizeof(uint32_t);
14159     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVgprAllocation, sizeof(uint32_t));
14160     *ptr += sizeof(uint32_t);
14161     memcpy(*ptr, (uint32_t*)&forMarshaling->vgprAllocationGranularity, sizeof(uint32_t));
14162     *ptr += sizeof(uint32_t);
14163 }
14164 
14165 #endif
14166 #ifdef VK_AMD_memory_overallocation_behavior
reservedmarshal_VkDeviceMemoryOverallocationCreateInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryOverallocationCreateInfoAMD * forMarshaling,uint8_t ** ptr)14167 void reservedmarshal_VkDeviceMemoryOverallocationCreateInfoAMD(
14168     VulkanStreamGuest* vkStream, VkStructureType rootType,
14169     const VkDeviceMemoryOverallocationCreateInfoAMD* forMarshaling, uint8_t** ptr) {
14170     (void)vkStream;
14171     (void)rootType;
14172     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14173     *ptr += sizeof(VkStructureType);
14174     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14175         rootType = forMarshaling->sType;
14176     }
14177     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14178     memcpy(*ptr, (VkMemoryOverallocationBehaviorAMD*)&forMarshaling->overallocationBehavior,
14179            sizeof(VkMemoryOverallocationBehaviorAMD));
14180     *ptr += sizeof(VkMemoryOverallocationBehaviorAMD);
14181 }
14182 
14183 #endif
14184 #ifdef VK_EXT_vertex_attribute_divisor
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forMarshaling,uint8_t ** ptr)14185 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
14186     VulkanStreamGuest* vkStream, VkStructureType rootType,
14187     const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling, uint8_t** ptr) {
14188     (void)vkStream;
14189     (void)rootType;
14190     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14191     *ptr += sizeof(VkStructureType);
14192     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14193         rootType = forMarshaling->sType;
14194     }
14195     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14196     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
14197     *ptr += sizeof(uint32_t);
14198 }
14199 
reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDivisorDescriptionEXT * forMarshaling,uint8_t ** ptr)14200 void reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(
14201     VulkanStreamGuest* vkStream, VkStructureType rootType,
14202     const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling, uint8_t** ptr) {
14203     (void)vkStream;
14204     (void)rootType;
14205     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
14206     *ptr += sizeof(uint32_t);
14207     memcpy(*ptr, (uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
14208     *ptr += sizeof(uint32_t);
14209 }
14210 
reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)14211 void reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
14212     VulkanStreamGuest* vkStream, VkStructureType rootType,
14213     const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
14214     (void)vkStream;
14215     (void)rootType;
14216     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14217     *ptr += sizeof(VkStructureType);
14218     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14219         rootType = forMarshaling->sType;
14220     }
14221     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14222     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
14223     *ptr += sizeof(uint32_t);
14224     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i) {
14225         reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(
14226             vkStream, rootType,
14227             (const VkVertexInputBindingDivisorDescriptionEXT*)(forMarshaling
14228                                                                    ->pVertexBindingDivisors +
14229                                                                i),
14230             ptr);
14231     }
14232 }
14233 
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * forMarshaling,uint8_t ** ptr)14234 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
14235     VulkanStreamGuest* vkStream, VkStructureType rootType,
14236     const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* forMarshaling, uint8_t** ptr) {
14237     (void)vkStream;
14238     (void)rootType;
14239     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14240     *ptr += sizeof(VkStructureType);
14241     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14242         rootType = forMarshaling->sType;
14243     }
14244     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14245     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateDivisor, sizeof(VkBool32));
14246     *ptr += sizeof(VkBool32);
14247     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateZeroDivisor,
14248            sizeof(VkBool32));
14249     *ptr += sizeof(VkBool32);
14250 }
14251 
14252 #endif
14253 #ifdef VK_GGP_frame_token
reservedmarshal_VkPresentFrameTokenGGP(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentFrameTokenGGP * forMarshaling,uint8_t ** ptr)14254 void reservedmarshal_VkPresentFrameTokenGGP(VulkanStreamGuest* vkStream, VkStructureType rootType,
14255                                             const VkPresentFrameTokenGGP* forMarshaling,
14256                                             uint8_t** ptr) {
14257     (void)vkStream;
14258     (void)rootType;
14259     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14260     *ptr += sizeof(VkStructureType);
14261     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14262         rootType = forMarshaling->sType;
14263     }
14264     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14265     memcpy(*ptr, (GgpFrameToken*)&forMarshaling->frameToken, sizeof(GgpFrameToken));
14266     *ptr += sizeof(GgpFrameToken);
14267 }
14268 
14269 #endif
14270 #ifdef VK_EXT_pipeline_creation_feedback
14271 #endif
14272 #ifdef VK_NV_shader_subgroup_partitioned
14273 #endif
14274 #ifdef VK_NV_compute_shader_derivatives
reservedmarshal_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV * forMarshaling,uint8_t ** ptr)14275 void reservedmarshal_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
14276     VulkanStreamGuest* vkStream, VkStructureType rootType,
14277     const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* forMarshaling, uint8_t** ptr) {
14278     (void)vkStream;
14279     (void)rootType;
14280     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14281     *ptr += sizeof(VkStructureType);
14282     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14283         rootType = forMarshaling->sType;
14284     }
14285     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14286     memcpy(*ptr, (VkBool32*)&forMarshaling->computeDerivativeGroupQuads, sizeof(VkBool32));
14287     *ptr += sizeof(VkBool32);
14288     memcpy(*ptr, (VkBool32*)&forMarshaling->computeDerivativeGroupLinear, sizeof(VkBool32));
14289     *ptr += sizeof(VkBool32);
14290 }
14291 
14292 #endif
14293 #ifdef VK_NV_mesh_shader
reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMeshShaderFeaturesNV * forMarshaling,uint8_t ** ptr)14294 void reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesNV(
14295     VulkanStreamGuest* vkStream, VkStructureType rootType,
14296     const VkPhysicalDeviceMeshShaderFeaturesNV* forMarshaling, uint8_t** ptr) {
14297     (void)vkStream;
14298     (void)rootType;
14299     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14300     *ptr += sizeof(VkStructureType);
14301     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14302         rootType = forMarshaling->sType;
14303     }
14304     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14305     memcpy(*ptr, (VkBool32*)&forMarshaling->taskShader, sizeof(VkBool32));
14306     *ptr += sizeof(VkBool32);
14307     memcpy(*ptr, (VkBool32*)&forMarshaling->meshShader, sizeof(VkBool32));
14308     *ptr += sizeof(VkBool32);
14309 }
14310 
reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMeshShaderPropertiesNV * forMarshaling,uint8_t ** ptr)14311 void reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesNV(
14312     VulkanStreamGuest* vkStream, VkStructureType rootType,
14313     const VkPhysicalDeviceMeshShaderPropertiesNV* forMarshaling, uint8_t** ptr) {
14314     (void)vkStream;
14315     (void)rootType;
14316     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14317     *ptr += sizeof(VkStructureType);
14318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14319         rootType = forMarshaling->sType;
14320     }
14321     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14322     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDrawMeshTasksCount, sizeof(uint32_t));
14323     *ptr += sizeof(uint32_t);
14324     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskWorkGroupInvocations, sizeof(uint32_t));
14325     *ptr += sizeof(uint32_t);
14326     memcpy(*ptr, (uint32_t*)forMarshaling->maxTaskWorkGroupSize, 3 * sizeof(uint32_t));
14327     *ptr += 3 * sizeof(uint32_t);
14328     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskTotalMemorySize, sizeof(uint32_t));
14329     *ptr += sizeof(uint32_t);
14330     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskOutputCount, sizeof(uint32_t));
14331     *ptr += sizeof(uint32_t);
14332     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshWorkGroupInvocations, sizeof(uint32_t));
14333     *ptr += sizeof(uint32_t);
14334     memcpy(*ptr, (uint32_t*)forMarshaling->maxMeshWorkGroupSize, 3 * sizeof(uint32_t));
14335     *ptr += 3 * sizeof(uint32_t);
14336     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshTotalMemorySize, sizeof(uint32_t));
14337     *ptr += sizeof(uint32_t);
14338     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputVertices, sizeof(uint32_t));
14339     *ptr += sizeof(uint32_t);
14340     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputPrimitives, sizeof(uint32_t));
14341     *ptr += sizeof(uint32_t);
14342     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshMultiviewViewCount, sizeof(uint32_t));
14343     *ptr += sizeof(uint32_t);
14344     memcpy(*ptr, (uint32_t*)&forMarshaling->meshOutputPerVertexGranularity, sizeof(uint32_t));
14345     *ptr += sizeof(uint32_t);
14346     memcpy(*ptr, (uint32_t*)&forMarshaling->meshOutputPerPrimitiveGranularity, sizeof(uint32_t));
14347     *ptr += sizeof(uint32_t);
14348 }
14349 
reservedmarshal_VkDrawMeshTasksIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawMeshTasksIndirectCommandNV * forMarshaling,uint8_t ** ptr)14350 void reservedmarshal_VkDrawMeshTasksIndirectCommandNV(
14351     VulkanStreamGuest* vkStream, VkStructureType rootType,
14352     const VkDrawMeshTasksIndirectCommandNV* forMarshaling, uint8_t** ptr) {
14353     (void)vkStream;
14354     (void)rootType;
14355     memcpy(*ptr, (uint32_t*)&forMarshaling->taskCount, sizeof(uint32_t));
14356     *ptr += sizeof(uint32_t);
14357     memcpy(*ptr, (uint32_t*)&forMarshaling->firstTask, sizeof(uint32_t));
14358     *ptr += sizeof(uint32_t);
14359 }
14360 
14361 #endif
14362 #ifdef VK_NV_fragment_shader_barycentric
14363 #endif
14364 #ifdef VK_NV_shader_image_footprint
reservedmarshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderImageFootprintFeaturesNV * forMarshaling,uint8_t ** ptr)14365 void reservedmarshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
14366     VulkanStreamGuest* vkStream, VkStructureType rootType,
14367     const VkPhysicalDeviceShaderImageFootprintFeaturesNV* forMarshaling, uint8_t** ptr) {
14368     (void)vkStream;
14369     (void)rootType;
14370     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14371     *ptr += sizeof(VkStructureType);
14372     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14373         rootType = forMarshaling->sType;
14374     }
14375     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14376     memcpy(*ptr, (VkBool32*)&forMarshaling->imageFootprint, sizeof(VkBool32));
14377     *ptr += sizeof(VkBool32);
14378 }
14379 
14380 #endif
14381 #ifdef VK_NV_scissor_exclusive
reservedmarshal_VkPipelineViewportExclusiveScissorStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportExclusiveScissorStateCreateInfoNV * forMarshaling,uint8_t ** ptr)14382 void reservedmarshal_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
14383     VulkanStreamGuest* vkStream, VkStructureType rootType,
14384     const VkPipelineViewportExclusiveScissorStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
14385     (void)vkStream;
14386     (void)rootType;
14387     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14388     *ptr += sizeof(VkStructureType);
14389     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14390         rootType = forMarshaling->sType;
14391     }
14392     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14393     memcpy(*ptr, (uint32_t*)&forMarshaling->exclusiveScissorCount, sizeof(uint32_t));
14394     *ptr += sizeof(uint32_t);
14395     // WARNING PTR CHECK
14396     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pExclusiveScissors;
14397     memcpy((*ptr), &cgen_var_0, 8);
14398     android::base::Stream::toBe64((uint8_t*)(*ptr));
14399     *ptr += 8;
14400     if (forMarshaling->pExclusiveScissors) {
14401         for (uint32_t i = 0; i < (uint32_t)forMarshaling->exclusiveScissorCount; ++i) {
14402             reservedmarshal_VkRect2D(vkStream, rootType,
14403                                      (const VkRect2D*)(forMarshaling->pExclusiveScissors + i), ptr);
14404         }
14405     }
14406 }
14407 
reservedmarshal_VkPhysicalDeviceExclusiveScissorFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExclusiveScissorFeaturesNV * forMarshaling,uint8_t ** ptr)14408 void reservedmarshal_VkPhysicalDeviceExclusiveScissorFeaturesNV(
14409     VulkanStreamGuest* vkStream, VkStructureType rootType,
14410     const VkPhysicalDeviceExclusiveScissorFeaturesNV* forMarshaling, uint8_t** ptr) {
14411     (void)vkStream;
14412     (void)rootType;
14413     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14414     *ptr += sizeof(VkStructureType);
14415     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14416         rootType = forMarshaling->sType;
14417     }
14418     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14419     memcpy(*ptr, (VkBool32*)&forMarshaling->exclusiveScissor, sizeof(VkBool32));
14420     *ptr += sizeof(VkBool32);
14421 }
14422 
14423 #endif
14424 #ifdef VK_NV_device_diagnostic_checkpoints
reservedmarshal_VkQueueFamilyCheckpointPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyCheckpointPropertiesNV * forMarshaling,uint8_t ** ptr)14425 void reservedmarshal_VkQueueFamilyCheckpointPropertiesNV(
14426     VulkanStreamGuest* vkStream, VkStructureType rootType,
14427     const VkQueueFamilyCheckpointPropertiesNV* forMarshaling, uint8_t** ptr) {
14428     (void)vkStream;
14429     (void)rootType;
14430     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14431     *ptr += sizeof(VkStructureType);
14432     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14433         rootType = forMarshaling->sType;
14434     }
14435     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14436     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->checkpointExecutionStageMask,
14437            sizeof(VkPipelineStageFlags));
14438     *ptr += sizeof(VkPipelineStageFlags);
14439 }
14440 
reservedmarshal_VkCheckpointDataNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCheckpointDataNV * forMarshaling,uint8_t ** ptr)14441 void reservedmarshal_VkCheckpointDataNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
14442                                         const VkCheckpointDataNV* forMarshaling, uint8_t** ptr) {
14443     (void)vkStream;
14444     (void)rootType;
14445     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14446     *ptr += sizeof(VkStructureType);
14447     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14448         rootType = forMarshaling->sType;
14449     }
14450     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14451     memcpy(*ptr, (VkPipelineStageFlagBits*)&forMarshaling->stage, sizeof(VkPipelineStageFlagBits));
14452     *ptr += sizeof(VkPipelineStageFlagBits);
14453     // WARNING PTR CHECK
14454     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
14455     memcpy((*ptr), &cgen_var_0, 8);
14456     android::base::Stream::toBe64((uint8_t*)(*ptr));
14457     *ptr += 8;
14458     if (forMarshaling->pCheckpointMarker) {
14459         memcpy(*ptr, (void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
14460         *ptr += sizeof(uint8_t);
14461     }
14462 }
14463 
14464 #endif
14465 #ifdef VK_INTEL_shader_integer_functions2
reservedmarshal_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL * forMarshaling,uint8_t ** ptr)14466 void reservedmarshal_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
14467     VulkanStreamGuest* vkStream, VkStructureType rootType,
14468     const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* forMarshaling, uint8_t** ptr) {
14469     (void)vkStream;
14470     (void)rootType;
14471     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14472     *ptr += sizeof(VkStructureType);
14473     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14474         rootType = forMarshaling->sType;
14475     }
14476     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14477     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderIntegerFunctions2, sizeof(VkBool32));
14478     *ptr += sizeof(VkBool32);
14479 }
14480 
14481 #endif
14482 #ifdef VK_INTEL_performance_query
reservedmarshal_VkPerformanceValueDataINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceValueDataINTEL * forMarshaling,uint8_t ** ptr)14483 void reservedmarshal_VkPerformanceValueDataINTEL(VulkanStreamGuest* vkStream,
14484                                                  VkStructureType rootType,
14485                                                  const VkPerformanceValueDataINTEL* forMarshaling,
14486                                                  uint8_t** ptr) {
14487     (void)vkStream;
14488     (void)rootType;
14489     memcpy(*ptr, (uint32_t*)&forMarshaling->value32, sizeof(uint32_t));
14490     *ptr += sizeof(uint32_t);
14491 }
14492 
reservedmarshal_VkPerformanceValueINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceValueINTEL * forMarshaling,uint8_t ** ptr)14493 void reservedmarshal_VkPerformanceValueINTEL(VulkanStreamGuest* vkStream, VkStructureType rootType,
14494                                              const VkPerformanceValueINTEL* forMarshaling,
14495                                              uint8_t** ptr) {
14496     (void)vkStream;
14497     (void)rootType;
14498     memcpy(*ptr, (VkPerformanceValueTypeINTEL*)&forMarshaling->type,
14499            sizeof(VkPerformanceValueTypeINTEL));
14500     *ptr += sizeof(VkPerformanceValueTypeINTEL);
14501     reservedmarshal_VkPerformanceValueDataINTEL(
14502         vkStream, rootType, (VkPerformanceValueDataINTEL*)(&forMarshaling->data), ptr);
14503 }
14504 
reservedmarshal_VkInitializePerformanceApiInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInitializePerformanceApiInfoINTEL * forMarshaling,uint8_t ** ptr)14505 void reservedmarshal_VkInitializePerformanceApiInfoINTEL(
14506     VulkanStreamGuest* vkStream, VkStructureType rootType,
14507     const VkInitializePerformanceApiInfoINTEL* forMarshaling, uint8_t** ptr) {
14508     (void)vkStream;
14509     (void)rootType;
14510     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14511     *ptr += sizeof(VkStructureType);
14512     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14513         rootType = forMarshaling->sType;
14514     }
14515     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14516     // WARNING PTR CHECK
14517     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
14518     memcpy((*ptr), &cgen_var_0, 8);
14519     android::base::Stream::toBe64((uint8_t*)(*ptr));
14520     *ptr += 8;
14521     if (forMarshaling->pUserData) {
14522         memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
14523         *ptr += sizeof(uint8_t);
14524     }
14525 }
14526 
reservedmarshal_VkQueryPoolPerformanceQueryCreateInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolPerformanceQueryCreateInfoINTEL * forMarshaling,uint8_t ** ptr)14527 void reservedmarshal_VkQueryPoolPerformanceQueryCreateInfoINTEL(
14528     VulkanStreamGuest* vkStream, VkStructureType rootType,
14529     const VkQueryPoolPerformanceQueryCreateInfoINTEL* forMarshaling, uint8_t** ptr) {
14530     (void)vkStream;
14531     (void)rootType;
14532     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14533     *ptr += sizeof(VkStructureType);
14534     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14535         rootType = forMarshaling->sType;
14536     }
14537     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14538     memcpy(*ptr, (VkQueryPoolSamplingModeINTEL*)&forMarshaling->performanceCountersSampling,
14539            sizeof(VkQueryPoolSamplingModeINTEL));
14540     *ptr += sizeof(VkQueryPoolSamplingModeINTEL);
14541 }
14542 
reservedmarshal_VkPerformanceMarkerInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceMarkerInfoINTEL * forMarshaling,uint8_t ** ptr)14543 void reservedmarshal_VkPerformanceMarkerInfoINTEL(VulkanStreamGuest* vkStream,
14544                                                   VkStructureType rootType,
14545                                                   const VkPerformanceMarkerInfoINTEL* forMarshaling,
14546                                                   uint8_t** ptr) {
14547     (void)vkStream;
14548     (void)rootType;
14549     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14550     *ptr += sizeof(VkStructureType);
14551     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14552         rootType = forMarshaling->sType;
14553     }
14554     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14555     memcpy(*ptr, (uint64_t*)&forMarshaling->marker, sizeof(uint64_t));
14556     *ptr += sizeof(uint64_t);
14557 }
14558 
reservedmarshal_VkPerformanceStreamMarkerInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceStreamMarkerInfoINTEL * forMarshaling,uint8_t ** ptr)14559 void reservedmarshal_VkPerformanceStreamMarkerInfoINTEL(
14560     VulkanStreamGuest* vkStream, VkStructureType rootType,
14561     const VkPerformanceStreamMarkerInfoINTEL* forMarshaling, uint8_t** ptr) {
14562     (void)vkStream;
14563     (void)rootType;
14564     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14565     *ptr += sizeof(VkStructureType);
14566     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14567         rootType = forMarshaling->sType;
14568     }
14569     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14570     memcpy(*ptr, (uint32_t*)&forMarshaling->marker, sizeof(uint32_t));
14571     *ptr += sizeof(uint32_t);
14572 }
14573 
reservedmarshal_VkPerformanceOverrideInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceOverrideInfoINTEL * forMarshaling,uint8_t ** ptr)14574 void reservedmarshal_VkPerformanceOverrideInfoINTEL(
14575     VulkanStreamGuest* vkStream, VkStructureType rootType,
14576     const VkPerformanceOverrideInfoINTEL* forMarshaling, uint8_t** ptr) {
14577     (void)vkStream;
14578     (void)rootType;
14579     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14580     *ptr += sizeof(VkStructureType);
14581     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14582         rootType = forMarshaling->sType;
14583     }
14584     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14585     memcpy(*ptr, (VkPerformanceOverrideTypeINTEL*)&forMarshaling->type,
14586            sizeof(VkPerformanceOverrideTypeINTEL));
14587     *ptr += sizeof(VkPerformanceOverrideTypeINTEL);
14588     memcpy(*ptr, (VkBool32*)&forMarshaling->enable, sizeof(VkBool32));
14589     *ptr += sizeof(VkBool32);
14590     memcpy(*ptr, (uint64_t*)&forMarshaling->parameter, sizeof(uint64_t));
14591     *ptr += sizeof(uint64_t);
14592 }
14593 
reservedmarshal_VkPerformanceConfigurationAcquireInfoINTEL(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPerformanceConfigurationAcquireInfoINTEL * forMarshaling,uint8_t ** ptr)14594 void reservedmarshal_VkPerformanceConfigurationAcquireInfoINTEL(
14595     VulkanStreamGuest* vkStream, VkStructureType rootType,
14596     const VkPerformanceConfigurationAcquireInfoINTEL* forMarshaling, uint8_t** ptr) {
14597     (void)vkStream;
14598     (void)rootType;
14599     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14600     *ptr += sizeof(VkStructureType);
14601     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14602         rootType = forMarshaling->sType;
14603     }
14604     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14605     memcpy(*ptr, (VkPerformanceConfigurationTypeINTEL*)&forMarshaling->type,
14606            sizeof(VkPerformanceConfigurationTypeINTEL));
14607     *ptr += sizeof(VkPerformanceConfigurationTypeINTEL);
14608 }
14609 
14610 #endif
14611 #ifdef VK_EXT_pci_bus_info
reservedmarshal_VkPhysicalDevicePCIBusInfoPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePCIBusInfoPropertiesEXT * forMarshaling,uint8_t ** ptr)14612 void reservedmarshal_VkPhysicalDevicePCIBusInfoPropertiesEXT(
14613     VulkanStreamGuest* vkStream, VkStructureType rootType,
14614     const VkPhysicalDevicePCIBusInfoPropertiesEXT* forMarshaling, uint8_t** ptr) {
14615     (void)vkStream;
14616     (void)rootType;
14617     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14618     *ptr += sizeof(VkStructureType);
14619     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14620         rootType = forMarshaling->sType;
14621     }
14622     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14623     memcpy(*ptr, (uint32_t*)&forMarshaling->pciDomain, sizeof(uint32_t));
14624     *ptr += sizeof(uint32_t);
14625     memcpy(*ptr, (uint32_t*)&forMarshaling->pciBus, sizeof(uint32_t));
14626     *ptr += sizeof(uint32_t);
14627     memcpy(*ptr, (uint32_t*)&forMarshaling->pciDevice, sizeof(uint32_t));
14628     *ptr += sizeof(uint32_t);
14629     memcpy(*ptr, (uint32_t*)&forMarshaling->pciFunction, sizeof(uint32_t));
14630     *ptr += sizeof(uint32_t);
14631 }
14632 
14633 #endif
14634 #ifdef VK_AMD_display_native_hdr
reservedmarshal_VkDisplayNativeHdrSurfaceCapabilitiesAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDisplayNativeHdrSurfaceCapabilitiesAMD * forMarshaling,uint8_t ** ptr)14635 void reservedmarshal_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
14636     VulkanStreamGuest* vkStream, VkStructureType rootType,
14637     const VkDisplayNativeHdrSurfaceCapabilitiesAMD* forMarshaling, uint8_t** ptr) {
14638     (void)vkStream;
14639     (void)rootType;
14640     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14641     *ptr += sizeof(VkStructureType);
14642     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14643         rootType = forMarshaling->sType;
14644     }
14645     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14646     memcpy(*ptr, (VkBool32*)&forMarshaling->localDimmingSupport, sizeof(VkBool32));
14647     *ptr += sizeof(VkBool32);
14648 }
14649 
reservedmarshal_VkSwapchainDisplayNativeHdrCreateInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainDisplayNativeHdrCreateInfoAMD * forMarshaling,uint8_t ** ptr)14650 void reservedmarshal_VkSwapchainDisplayNativeHdrCreateInfoAMD(
14651     VulkanStreamGuest* vkStream, VkStructureType rootType,
14652     const VkSwapchainDisplayNativeHdrCreateInfoAMD* forMarshaling, uint8_t** ptr) {
14653     (void)vkStream;
14654     (void)rootType;
14655     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14656     *ptr += sizeof(VkStructureType);
14657     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14658         rootType = forMarshaling->sType;
14659     }
14660     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14661     memcpy(*ptr, (VkBool32*)&forMarshaling->localDimmingEnable, sizeof(VkBool32));
14662     *ptr += sizeof(VkBool32);
14663 }
14664 
14665 #endif
14666 #ifdef VK_FUCHSIA_imagepipe_surface
reservedmarshal_VkImagePipeSurfaceCreateInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImagePipeSurfaceCreateInfoFUCHSIA * forMarshaling,uint8_t ** ptr)14667 void reservedmarshal_VkImagePipeSurfaceCreateInfoFUCHSIA(
14668     VulkanStreamGuest* vkStream, VkStructureType rootType,
14669     const VkImagePipeSurfaceCreateInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
14670     (void)vkStream;
14671     (void)rootType;
14672     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14673     *ptr += sizeof(VkStructureType);
14674     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14675         rootType = forMarshaling->sType;
14676     }
14677     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14678     memcpy(*ptr, (VkImagePipeSurfaceCreateFlagsFUCHSIA*)&forMarshaling->flags,
14679            sizeof(VkImagePipeSurfaceCreateFlagsFUCHSIA));
14680     *ptr += sizeof(VkImagePipeSurfaceCreateFlagsFUCHSIA);
14681     memcpy(*ptr, (zx_handle_t*)&forMarshaling->imagePipeHandle, sizeof(zx_handle_t));
14682     *ptr += sizeof(zx_handle_t);
14683 }
14684 
14685 #endif
14686 #ifdef VK_EXT_metal_surface
reservedmarshal_VkMetalSurfaceCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMetalSurfaceCreateInfoEXT * forMarshaling,uint8_t ** ptr)14687 void reservedmarshal_VkMetalSurfaceCreateInfoEXT(VulkanStreamGuest* vkStream,
14688                                                  VkStructureType rootType,
14689                                                  const VkMetalSurfaceCreateInfoEXT* forMarshaling,
14690                                                  uint8_t** ptr) {
14691     // This struct should never be marshaled / unmarshaled.
14692     __builtin_trap();
14693 }
14694 
14695 #endif
14696 #ifdef VK_EXT_fragment_density_map
reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forMarshaling,uint8_t ** ptr)14697 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
14698     VulkanStreamGuest* vkStream, VkStructureType rootType,
14699     const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forMarshaling, uint8_t** ptr) {
14700     (void)vkStream;
14701     (void)rootType;
14702     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14703     *ptr += sizeof(VkStructureType);
14704     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14705         rootType = forMarshaling->sType;
14706     }
14707     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14708     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMap, sizeof(VkBool32));
14709     *ptr += sizeof(VkBool32);
14710     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
14711     *ptr += sizeof(VkBool32);
14712     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapNonSubsampledImages,
14713            sizeof(VkBool32));
14714     *ptr += sizeof(VkBool32);
14715 }
14716 
reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forMarshaling,uint8_t ** ptr)14717 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
14718     VulkanStreamGuest* vkStream, VkStructureType rootType,
14719     const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forMarshaling, uint8_t** ptr) {
14720     (void)vkStream;
14721     (void)rootType;
14722     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14723     *ptr += sizeof(VkStructureType);
14724     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14725         rootType = forMarshaling->sType;
14726     }
14727     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14728     reservedmarshal_VkExtent2D(vkStream, rootType,
14729                                (VkExtent2D*)(&forMarshaling->minFragmentDensityTexelSize), ptr);
14730     reservedmarshal_VkExtent2D(vkStream, rootType,
14731                                (VkExtent2D*)(&forMarshaling->maxFragmentDensityTexelSize), ptr);
14732     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityInvocations, sizeof(VkBool32));
14733     *ptr += sizeof(VkBool32);
14734 }
14735 
reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * forMarshaling,uint8_t ** ptr)14736 void reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
14737     VulkanStreamGuest* vkStream, VkStructureType rootType,
14738     const VkRenderPassFragmentDensityMapCreateInfoEXT* forMarshaling, uint8_t** ptr) {
14739     (void)vkStream;
14740     (void)rootType;
14741     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14742     *ptr += sizeof(VkStructureType);
14743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14744         rootType = forMarshaling->sType;
14745     }
14746     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14747     reservedmarshal_VkAttachmentReference(
14748         vkStream, rootType, (VkAttachmentReference*)(&forMarshaling->fragmentDensityMapAttachment),
14749         ptr);
14750 }
14751 
14752 #endif
14753 #ifdef VK_EXT_scalar_block_layout
14754 #endif
14755 #ifdef VK_GOOGLE_hlsl_functionality1
14756 #endif
14757 #ifdef VK_GOOGLE_decorate_string
14758 #endif
14759 #ifdef VK_EXT_subgroup_size_control
14760 #endif
14761 #ifdef VK_AMD_shader_core_properties2
reservedmarshal_VkPhysicalDeviceShaderCoreProperties2AMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderCoreProperties2AMD * forMarshaling,uint8_t ** ptr)14762 void reservedmarshal_VkPhysicalDeviceShaderCoreProperties2AMD(
14763     VulkanStreamGuest* vkStream, VkStructureType rootType,
14764     const VkPhysicalDeviceShaderCoreProperties2AMD* forMarshaling, uint8_t** ptr) {
14765     (void)vkStream;
14766     (void)rootType;
14767     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14768     *ptr += sizeof(VkStructureType);
14769     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14770         rootType = forMarshaling->sType;
14771     }
14772     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14773     memcpy(*ptr, (VkShaderCorePropertiesFlagsAMD*)&forMarshaling->shaderCoreFeatures,
14774            sizeof(VkShaderCorePropertiesFlagsAMD));
14775     *ptr += sizeof(VkShaderCorePropertiesFlagsAMD);
14776     memcpy(*ptr, (uint32_t*)&forMarshaling->activeComputeUnitCount, sizeof(uint32_t));
14777     *ptr += sizeof(uint32_t);
14778 }
14779 
14780 #endif
14781 #ifdef VK_AMD_device_coherent_memory
reservedmarshal_VkPhysicalDeviceCoherentMemoryFeaturesAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCoherentMemoryFeaturesAMD * forMarshaling,uint8_t ** ptr)14782 void reservedmarshal_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
14783     VulkanStreamGuest* vkStream, VkStructureType rootType,
14784     const VkPhysicalDeviceCoherentMemoryFeaturesAMD* forMarshaling, uint8_t** ptr) {
14785     (void)vkStream;
14786     (void)rootType;
14787     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14788     *ptr += sizeof(VkStructureType);
14789     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14790         rootType = forMarshaling->sType;
14791     }
14792     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14793     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceCoherentMemory, sizeof(VkBool32));
14794     *ptr += sizeof(VkBool32);
14795 }
14796 
14797 #endif
14798 #ifdef VK_EXT_shader_image_atomic_int64
reservedmarshal_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT * forMarshaling,uint8_t ** ptr)14799 void reservedmarshal_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
14800     VulkanStreamGuest* vkStream, VkStructureType rootType,
14801     const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* forMarshaling, uint8_t** ptr) {
14802     (void)vkStream;
14803     (void)rootType;
14804     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14805     *ptr += sizeof(VkStructureType);
14806     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14807         rootType = forMarshaling->sType;
14808     }
14809     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14810     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageInt64Atomics, sizeof(VkBool32));
14811     *ptr += sizeof(VkBool32);
14812     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseImageInt64Atomics, sizeof(VkBool32));
14813     *ptr += sizeof(VkBool32);
14814 }
14815 
14816 #endif
14817 #ifdef VK_EXT_memory_budget
reservedmarshal_VkPhysicalDeviceMemoryBudgetPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryBudgetPropertiesEXT * forMarshaling,uint8_t ** ptr)14818 void reservedmarshal_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
14819     VulkanStreamGuest* vkStream, VkStructureType rootType,
14820     const VkPhysicalDeviceMemoryBudgetPropertiesEXT* forMarshaling, uint8_t** ptr) {
14821     (void)vkStream;
14822     (void)rootType;
14823     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14824     *ptr += sizeof(VkStructureType);
14825     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14826         rootType = forMarshaling->sType;
14827     }
14828     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14829     memcpy(*ptr, (VkDeviceSize*)forMarshaling->heapBudget,
14830            VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize));
14831     *ptr += VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize);
14832     memcpy(*ptr, (VkDeviceSize*)forMarshaling->heapUsage,
14833            VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize));
14834     *ptr += VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize);
14835 }
14836 
14837 #endif
14838 #ifdef VK_EXT_memory_priority
reservedmarshal_VkPhysicalDeviceMemoryPriorityFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryPriorityFeaturesEXT * forMarshaling,uint8_t ** ptr)14839 void reservedmarshal_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
14840     VulkanStreamGuest* vkStream, VkStructureType rootType,
14841     const VkPhysicalDeviceMemoryPriorityFeaturesEXT* forMarshaling, uint8_t** ptr) {
14842     (void)vkStream;
14843     (void)rootType;
14844     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14845     *ptr += sizeof(VkStructureType);
14846     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14847         rootType = forMarshaling->sType;
14848     }
14849     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14850     memcpy(*ptr, (VkBool32*)&forMarshaling->memoryPriority, sizeof(VkBool32));
14851     *ptr += sizeof(VkBool32);
14852 }
14853 
reservedmarshal_VkMemoryPriorityAllocateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryPriorityAllocateInfoEXT * forMarshaling,uint8_t ** ptr)14854 void reservedmarshal_VkMemoryPriorityAllocateInfoEXT(
14855     VulkanStreamGuest* vkStream, VkStructureType rootType,
14856     const VkMemoryPriorityAllocateInfoEXT* forMarshaling, uint8_t** ptr) {
14857     (void)vkStream;
14858     (void)rootType;
14859     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14860     *ptr += sizeof(VkStructureType);
14861     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14862         rootType = forMarshaling->sType;
14863     }
14864     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14865     memcpy(*ptr, (float*)&forMarshaling->priority, sizeof(float));
14866     *ptr += sizeof(float);
14867 }
14868 
14869 #endif
14870 #ifdef VK_NV_dedicated_allocation_image_aliasing
reservedmarshal_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV * forMarshaling,uint8_t ** ptr)14871 void reservedmarshal_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
14872     VulkanStreamGuest* vkStream, VkStructureType rootType,
14873     const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* forMarshaling,
14874     uint8_t** ptr) {
14875     (void)vkStream;
14876     (void)rootType;
14877     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14878     *ptr += sizeof(VkStructureType);
14879     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14880         rootType = forMarshaling->sType;
14881     }
14882     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14883     memcpy(*ptr, (VkBool32*)&forMarshaling->dedicatedAllocationImageAliasing, sizeof(VkBool32));
14884     *ptr += sizeof(VkBool32);
14885 }
14886 
14887 #endif
14888 #ifdef VK_EXT_buffer_device_address
reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT * forMarshaling,uint8_t ** ptr)14889 void reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
14890     VulkanStreamGuest* vkStream, VkStructureType rootType,
14891     const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* forMarshaling, uint8_t** ptr) {
14892     (void)vkStream;
14893     (void)rootType;
14894     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14895     *ptr += sizeof(VkStructureType);
14896     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14897         rootType = forMarshaling->sType;
14898     }
14899     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14900     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
14901     *ptr += sizeof(VkBool32);
14902     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
14903     *ptr += sizeof(VkBool32);
14904     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
14905     *ptr += sizeof(VkBool32);
14906 }
14907 
reservedmarshal_VkBufferDeviceAddressCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferDeviceAddressCreateInfoEXT * forMarshaling,uint8_t ** ptr)14908 void reservedmarshal_VkBufferDeviceAddressCreateInfoEXT(
14909     VulkanStreamGuest* vkStream, VkStructureType rootType,
14910     const VkBufferDeviceAddressCreateInfoEXT* forMarshaling, uint8_t** ptr) {
14911     (void)vkStream;
14912     (void)rootType;
14913     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14914     *ptr += sizeof(VkStructureType);
14915     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14916         rootType = forMarshaling->sType;
14917     }
14918     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14919     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
14920     *ptr += sizeof(VkDeviceAddress);
14921 }
14922 
14923 #endif
14924 #ifdef VK_EXT_tooling_info
14925 #endif
14926 #ifdef VK_EXT_separate_stencil_usage
14927 #endif
14928 #ifdef VK_EXT_validation_features
reservedmarshal_VkValidationFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkValidationFeaturesEXT * forMarshaling,uint8_t ** ptr)14929 void reservedmarshal_VkValidationFeaturesEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
14930                                              const VkValidationFeaturesEXT* forMarshaling,
14931                                              uint8_t** ptr) {
14932     (void)vkStream;
14933     (void)rootType;
14934     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14935     *ptr += sizeof(VkStructureType);
14936     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14937         rootType = forMarshaling->sType;
14938     }
14939     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14940     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledValidationFeatureCount, sizeof(uint32_t));
14941     *ptr += sizeof(uint32_t);
14942     memcpy(
14943         *ptr, (const VkValidationFeatureEnableEXT*)forMarshaling->pEnabledValidationFeatures,
14944         forMarshaling->enabledValidationFeatureCount * sizeof(const VkValidationFeatureEnableEXT));
14945     *ptr +=
14946         forMarshaling->enabledValidationFeatureCount * sizeof(const VkValidationFeatureEnableEXT);
14947     memcpy(*ptr, (uint32_t*)&forMarshaling->disabledValidationFeatureCount, sizeof(uint32_t));
14948     *ptr += sizeof(uint32_t);
14949     memcpy(*ptr, (const VkValidationFeatureDisableEXT*)forMarshaling->pDisabledValidationFeatures,
14950            forMarshaling->disabledValidationFeatureCount *
14951                sizeof(const VkValidationFeatureDisableEXT));
14952     *ptr +=
14953         forMarshaling->disabledValidationFeatureCount * sizeof(const VkValidationFeatureDisableEXT);
14954 }
14955 
14956 #endif
14957 #ifdef VK_NV_cooperative_matrix
reservedmarshal_VkCooperativeMatrixPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCooperativeMatrixPropertiesNV * forMarshaling,uint8_t ** ptr)14958 void reservedmarshal_VkCooperativeMatrixPropertiesNV(
14959     VulkanStreamGuest* vkStream, VkStructureType rootType,
14960     const VkCooperativeMatrixPropertiesNV* forMarshaling, uint8_t** ptr) {
14961     (void)vkStream;
14962     (void)rootType;
14963     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14964     *ptr += sizeof(VkStructureType);
14965     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14966         rootType = forMarshaling->sType;
14967     }
14968     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14969     memcpy(*ptr, (uint32_t*)&forMarshaling->MSize, sizeof(uint32_t));
14970     *ptr += sizeof(uint32_t);
14971     memcpy(*ptr, (uint32_t*)&forMarshaling->NSize, sizeof(uint32_t));
14972     *ptr += sizeof(uint32_t);
14973     memcpy(*ptr, (uint32_t*)&forMarshaling->KSize, sizeof(uint32_t));
14974     *ptr += sizeof(uint32_t);
14975     memcpy(*ptr, (VkComponentTypeNV*)&forMarshaling->AType, sizeof(VkComponentTypeNV));
14976     *ptr += sizeof(VkComponentTypeNV);
14977     memcpy(*ptr, (VkComponentTypeNV*)&forMarshaling->BType, sizeof(VkComponentTypeNV));
14978     *ptr += sizeof(VkComponentTypeNV);
14979     memcpy(*ptr, (VkComponentTypeNV*)&forMarshaling->CType, sizeof(VkComponentTypeNV));
14980     *ptr += sizeof(VkComponentTypeNV);
14981     memcpy(*ptr, (VkComponentTypeNV*)&forMarshaling->DType, sizeof(VkComponentTypeNV));
14982     *ptr += sizeof(VkComponentTypeNV);
14983     memcpy(*ptr, (VkScopeNV*)&forMarshaling->scope, sizeof(VkScopeNV));
14984     *ptr += sizeof(VkScopeNV);
14985 }
14986 
reservedmarshal_VkPhysicalDeviceCooperativeMatrixFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCooperativeMatrixFeaturesNV * forMarshaling,uint8_t ** ptr)14987 void reservedmarshal_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
14988     VulkanStreamGuest* vkStream, VkStructureType rootType,
14989     const VkPhysicalDeviceCooperativeMatrixFeaturesNV* forMarshaling, uint8_t** ptr) {
14990     (void)vkStream;
14991     (void)rootType;
14992     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14993     *ptr += sizeof(VkStructureType);
14994     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14995         rootType = forMarshaling->sType;
14996     }
14997     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
14998     memcpy(*ptr, (VkBool32*)&forMarshaling->cooperativeMatrix, sizeof(VkBool32));
14999     *ptr += sizeof(VkBool32);
15000     memcpy(*ptr, (VkBool32*)&forMarshaling->cooperativeMatrixRobustBufferAccess, sizeof(VkBool32));
15001     *ptr += sizeof(VkBool32);
15002 }
15003 
reservedmarshal_VkPhysicalDeviceCooperativeMatrixPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCooperativeMatrixPropertiesNV * forMarshaling,uint8_t ** ptr)15004 void reservedmarshal_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
15005     VulkanStreamGuest* vkStream, VkStructureType rootType,
15006     const VkPhysicalDeviceCooperativeMatrixPropertiesNV* forMarshaling, uint8_t** ptr) {
15007     (void)vkStream;
15008     (void)rootType;
15009     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15010     *ptr += sizeof(VkStructureType);
15011     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15012         rootType = forMarshaling->sType;
15013     }
15014     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15015     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->cooperativeMatrixSupportedStages,
15016            sizeof(VkShaderStageFlags));
15017     *ptr += sizeof(VkShaderStageFlags);
15018 }
15019 
15020 #endif
15021 #ifdef VK_NV_coverage_reduction_mode
reservedmarshal_VkPhysicalDeviceCoverageReductionModeFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCoverageReductionModeFeaturesNV * forMarshaling,uint8_t ** ptr)15022 void reservedmarshal_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
15023     VulkanStreamGuest* vkStream, VkStructureType rootType,
15024     const VkPhysicalDeviceCoverageReductionModeFeaturesNV* forMarshaling, uint8_t** ptr) {
15025     (void)vkStream;
15026     (void)rootType;
15027     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15028     *ptr += sizeof(VkStructureType);
15029     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15030         rootType = forMarshaling->sType;
15031     }
15032     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15033     memcpy(*ptr, (VkBool32*)&forMarshaling->coverageReductionMode, sizeof(VkBool32));
15034     *ptr += sizeof(VkBool32);
15035 }
15036 
reservedmarshal_VkPipelineCoverageReductionStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCoverageReductionStateCreateInfoNV * forMarshaling,uint8_t ** ptr)15037 void reservedmarshal_VkPipelineCoverageReductionStateCreateInfoNV(
15038     VulkanStreamGuest* vkStream, VkStructureType rootType,
15039     const VkPipelineCoverageReductionStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
15040     (void)vkStream;
15041     (void)rootType;
15042     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15043     *ptr += sizeof(VkStructureType);
15044     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15045         rootType = forMarshaling->sType;
15046     }
15047     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15048     memcpy(*ptr, (VkPipelineCoverageReductionStateCreateFlagsNV*)&forMarshaling->flags,
15049            sizeof(VkPipelineCoverageReductionStateCreateFlagsNV));
15050     *ptr += sizeof(VkPipelineCoverageReductionStateCreateFlagsNV);
15051     memcpy(*ptr, (VkCoverageReductionModeNV*)&forMarshaling->coverageReductionMode,
15052            sizeof(VkCoverageReductionModeNV));
15053     *ptr += sizeof(VkCoverageReductionModeNV);
15054 }
15055 
reservedmarshal_VkFramebufferMixedSamplesCombinationNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferMixedSamplesCombinationNV * forMarshaling,uint8_t ** ptr)15056 void reservedmarshal_VkFramebufferMixedSamplesCombinationNV(
15057     VulkanStreamGuest* vkStream, VkStructureType rootType,
15058     const VkFramebufferMixedSamplesCombinationNV* forMarshaling, uint8_t** ptr) {
15059     (void)vkStream;
15060     (void)rootType;
15061     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15062     *ptr += sizeof(VkStructureType);
15063     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15064         rootType = forMarshaling->sType;
15065     }
15066     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15067     memcpy(*ptr, (VkCoverageReductionModeNV*)&forMarshaling->coverageReductionMode,
15068            sizeof(VkCoverageReductionModeNV));
15069     *ptr += sizeof(VkCoverageReductionModeNV);
15070     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
15071            sizeof(VkSampleCountFlagBits));
15072     *ptr += sizeof(VkSampleCountFlagBits);
15073     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->depthStencilSamples,
15074            sizeof(VkSampleCountFlags));
15075     *ptr += sizeof(VkSampleCountFlags);
15076     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->colorSamples, sizeof(VkSampleCountFlags));
15077     *ptr += sizeof(VkSampleCountFlags);
15078 }
15079 
15080 #endif
15081 #ifdef VK_EXT_fragment_shader_interlock
reservedmarshal_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT * forMarshaling,uint8_t ** ptr)15082 void reservedmarshal_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
15083     VulkanStreamGuest* vkStream, VkStructureType rootType,
15084     const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* forMarshaling, uint8_t** ptr) {
15085     (void)vkStream;
15086     (void)rootType;
15087     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15088     *ptr += sizeof(VkStructureType);
15089     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15090         rootType = forMarshaling->sType;
15091     }
15092     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15093     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShaderSampleInterlock, sizeof(VkBool32));
15094     *ptr += sizeof(VkBool32);
15095     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShaderPixelInterlock, sizeof(VkBool32));
15096     *ptr += sizeof(VkBool32);
15097     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShaderShadingRateInterlock, sizeof(VkBool32));
15098     *ptr += sizeof(VkBool32);
15099 }
15100 
15101 #endif
15102 #ifdef VK_EXT_ycbcr_image_arrays
reservedmarshal_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT * forMarshaling,uint8_t ** ptr)15103 void reservedmarshal_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
15104     VulkanStreamGuest* vkStream, VkStructureType rootType,
15105     const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* forMarshaling, uint8_t** ptr) {
15106     (void)vkStream;
15107     (void)rootType;
15108     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15109     *ptr += sizeof(VkStructureType);
15110     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15111         rootType = forMarshaling->sType;
15112     }
15113     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15114     memcpy(*ptr, (VkBool32*)&forMarshaling->ycbcrImageArrays, sizeof(VkBool32));
15115     *ptr += sizeof(VkBool32);
15116 }
15117 
15118 #endif
15119 #ifdef VK_EXT_provoking_vertex
reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * forMarshaling,uint8_t ** ptr)15120 void reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
15121     VulkanStreamGuest* vkStream, VkStructureType rootType,
15122     const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling, uint8_t** ptr) {
15123     (void)vkStream;
15124     (void)rootType;
15125     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15126     *ptr += sizeof(VkStructureType);
15127     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15128         rootType = forMarshaling->sType;
15129     }
15130     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15131     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexLast, sizeof(VkBool32));
15132     *ptr += sizeof(VkBool32);
15133     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
15134            sizeof(VkBool32));
15135     *ptr += sizeof(VkBool32);
15136 }
15137 
reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * forMarshaling,uint8_t ** ptr)15138 void reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
15139     VulkanStreamGuest* vkStream, VkStructureType rootType,
15140     const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling, uint8_t** ptr) {
15141     (void)vkStream;
15142     (void)rootType;
15143     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15144     *ptr += sizeof(VkStructureType);
15145     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15146         rootType = forMarshaling->sType;
15147     }
15148     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15149     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
15150     *ptr += sizeof(VkBool32);
15151     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
15152            sizeof(VkBool32));
15153     *ptr += sizeof(VkBool32);
15154 }
15155 
reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)15156 void reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
15157     VulkanStreamGuest* vkStream, VkStructureType rootType,
15158     const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
15159     (void)vkStream;
15160     (void)rootType;
15161     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15162     *ptr += sizeof(VkStructureType);
15163     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15164         rootType = forMarshaling->sType;
15165     }
15166     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15167     memcpy(*ptr, (VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
15168            sizeof(VkProvokingVertexModeEXT));
15169     *ptr += sizeof(VkProvokingVertexModeEXT);
15170 }
15171 
15172 #endif
15173 #ifdef VK_EXT_full_screen_exclusive
reservedmarshal_VkSurfaceFullScreenExclusiveInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceFullScreenExclusiveInfoEXT * forMarshaling,uint8_t ** ptr)15174 void reservedmarshal_VkSurfaceFullScreenExclusiveInfoEXT(
15175     VulkanStreamGuest* vkStream, VkStructureType rootType,
15176     const VkSurfaceFullScreenExclusiveInfoEXT* forMarshaling, uint8_t** ptr) {
15177     (void)vkStream;
15178     (void)rootType;
15179     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15180     *ptr += sizeof(VkStructureType);
15181     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15182         rootType = forMarshaling->sType;
15183     }
15184     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15185     memcpy(*ptr, (VkFullScreenExclusiveEXT*)&forMarshaling->fullScreenExclusive,
15186            sizeof(VkFullScreenExclusiveEXT));
15187     *ptr += sizeof(VkFullScreenExclusiveEXT);
15188 }
15189 
reservedmarshal_VkSurfaceCapabilitiesFullScreenExclusiveEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceCapabilitiesFullScreenExclusiveEXT * forMarshaling,uint8_t ** ptr)15190 void reservedmarshal_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
15191     VulkanStreamGuest* vkStream, VkStructureType rootType,
15192     const VkSurfaceCapabilitiesFullScreenExclusiveEXT* forMarshaling, uint8_t** ptr) {
15193     (void)vkStream;
15194     (void)rootType;
15195     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15196     *ptr += sizeof(VkStructureType);
15197     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15198         rootType = forMarshaling->sType;
15199     }
15200     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15201     memcpy(*ptr, (VkBool32*)&forMarshaling->fullScreenExclusiveSupported, sizeof(VkBool32));
15202     *ptr += sizeof(VkBool32);
15203 }
15204 
reservedmarshal_VkSurfaceFullScreenExclusiveWin32InfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceFullScreenExclusiveWin32InfoEXT * forMarshaling,uint8_t ** ptr)15205 void reservedmarshal_VkSurfaceFullScreenExclusiveWin32InfoEXT(
15206     VulkanStreamGuest* vkStream, VkStructureType rootType,
15207     const VkSurfaceFullScreenExclusiveWin32InfoEXT* forMarshaling, uint8_t** ptr) {
15208     (void)vkStream;
15209     (void)rootType;
15210     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15211     *ptr += sizeof(VkStructureType);
15212     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15213         rootType = forMarshaling->sType;
15214     }
15215     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15216     memcpy(*ptr, (HMONITOR*)&forMarshaling->hmonitor, sizeof(HMONITOR));
15217     *ptr += sizeof(HMONITOR);
15218 }
15219 
15220 #endif
15221 #ifdef VK_EXT_headless_surface
reservedmarshal_VkHeadlessSurfaceCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHeadlessSurfaceCreateInfoEXT * forMarshaling,uint8_t ** ptr)15222 void reservedmarshal_VkHeadlessSurfaceCreateInfoEXT(
15223     VulkanStreamGuest* vkStream, VkStructureType rootType,
15224     const VkHeadlessSurfaceCreateInfoEXT* forMarshaling, uint8_t** ptr) {
15225     (void)vkStream;
15226     (void)rootType;
15227     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15228     *ptr += sizeof(VkStructureType);
15229     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15230         rootType = forMarshaling->sType;
15231     }
15232     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15233     memcpy(*ptr, (VkHeadlessSurfaceCreateFlagsEXT*)&forMarshaling->flags,
15234            sizeof(VkHeadlessSurfaceCreateFlagsEXT));
15235     *ptr += sizeof(VkHeadlessSurfaceCreateFlagsEXT);
15236 }
15237 
15238 #endif
15239 #ifdef VK_EXT_line_rasterization
reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesEXT * forMarshaling,uint8_t ** ptr)15240 void reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
15241     VulkanStreamGuest* vkStream, VkStructureType rootType,
15242     const VkPhysicalDeviceLineRasterizationFeaturesEXT* forMarshaling, uint8_t** ptr) {
15243     (void)vkStream;
15244     (void)rootType;
15245     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15246     *ptr += sizeof(VkStructureType);
15247     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15248         rootType = forMarshaling->sType;
15249     }
15250     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15251     memcpy(*ptr, (VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
15252     *ptr += sizeof(VkBool32);
15253     memcpy(*ptr, (VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
15254     *ptr += sizeof(VkBool32);
15255     memcpy(*ptr, (VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
15256     *ptr += sizeof(VkBool32);
15257     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
15258     *ptr += sizeof(VkBool32);
15259     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
15260     *ptr += sizeof(VkBool32);
15261     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
15262     *ptr += sizeof(VkBool32);
15263 }
15264 
reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesEXT * forMarshaling,uint8_t ** ptr)15265 void reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
15266     VulkanStreamGuest* vkStream, VkStructureType rootType,
15267     const VkPhysicalDeviceLineRasterizationPropertiesEXT* forMarshaling, uint8_t** ptr) {
15268     (void)vkStream;
15269     (void)rootType;
15270     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15271     *ptr += sizeof(VkStructureType);
15272     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15273         rootType = forMarshaling->sType;
15274     }
15275     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15276     memcpy(*ptr, (uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
15277     *ptr += sizeof(uint32_t);
15278 }
15279 
reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)15280 void reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
15281     VulkanStreamGuest* vkStream, VkStructureType rootType,
15282     const VkPipelineRasterizationLineStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
15283     (void)vkStream;
15284     (void)rootType;
15285     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15286     *ptr += sizeof(VkStructureType);
15287     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15288         rootType = forMarshaling->sType;
15289     }
15290     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15291     memcpy(*ptr, (VkLineRasterizationModeEXT*)&forMarshaling->lineRasterizationMode,
15292            sizeof(VkLineRasterizationModeEXT));
15293     *ptr += sizeof(VkLineRasterizationModeEXT);
15294     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
15295     *ptr += sizeof(VkBool32);
15296     memcpy(*ptr, (uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
15297     *ptr += sizeof(uint32_t);
15298     memcpy(*ptr, (uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
15299     *ptr += sizeof(uint16_t);
15300 }
15301 
15302 #endif
15303 #ifdef VK_EXT_shader_atomic_float
reservedmarshal_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT * forMarshaling,uint8_t ** ptr)15304 void reservedmarshal_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
15305     VulkanStreamGuest* vkStream, VkStructureType rootType,
15306     const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* forMarshaling, uint8_t** ptr) {
15307     (void)vkStream;
15308     (void)rootType;
15309     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15310     *ptr += sizeof(VkStructureType);
15311     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15312         rootType = forMarshaling->sType;
15313     }
15314     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15315     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat32Atomics, sizeof(VkBool32));
15316     *ptr += sizeof(VkBool32);
15317     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat32AtomicAdd, sizeof(VkBool32));
15318     *ptr += sizeof(VkBool32);
15319     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat64Atomics, sizeof(VkBool32));
15320     *ptr += sizeof(VkBool32);
15321     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat64AtomicAdd, sizeof(VkBool32));
15322     *ptr += sizeof(VkBool32);
15323     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat32Atomics, sizeof(VkBool32));
15324     *ptr += sizeof(VkBool32);
15325     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat32AtomicAdd, sizeof(VkBool32));
15326     *ptr += sizeof(VkBool32);
15327     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat64Atomics, sizeof(VkBool32));
15328     *ptr += sizeof(VkBool32);
15329     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat64AtomicAdd, sizeof(VkBool32));
15330     *ptr += sizeof(VkBool32);
15331     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageFloat32Atomics, sizeof(VkBool32));
15332     *ptr += sizeof(VkBool32);
15333     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageFloat32AtomicAdd, sizeof(VkBool32));
15334     *ptr += sizeof(VkBool32);
15335     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseImageFloat32Atomics, sizeof(VkBool32));
15336     *ptr += sizeof(VkBool32);
15337     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseImageFloat32AtomicAdd, sizeof(VkBool32));
15338     *ptr += sizeof(VkBool32);
15339 }
15340 
15341 #endif
15342 #ifdef VK_EXT_host_query_reset
15343 #endif
15344 #ifdef VK_EXT_index_type_uint8
reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * forMarshaling,uint8_t ** ptr)15345 void reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
15346     VulkanStreamGuest* vkStream, VkStructureType rootType,
15347     const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forMarshaling, uint8_t** ptr) {
15348     (void)vkStream;
15349     (void)rootType;
15350     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15351     *ptr += sizeof(VkStructureType);
15352     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15353         rootType = forMarshaling->sType;
15354     }
15355     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15356     memcpy(*ptr, (VkBool32*)&forMarshaling->indexTypeUint8, sizeof(VkBool32));
15357     *ptr += sizeof(VkBool32);
15358 }
15359 
15360 #endif
15361 #ifdef VK_EXT_extended_dynamic_state
reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forMarshaling,uint8_t ** ptr)15362 void reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
15363     VulkanStreamGuest* vkStream, VkStructureType rootType,
15364     const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling, uint8_t** ptr) {
15365     (void)vkStream;
15366     (void)rootType;
15367     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15368     *ptr += sizeof(VkStructureType);
15369     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15370         rootType = forMarshaling->sType;
15371     }
15372     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15373     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState, sizeof(VkBool32));
15374     *ptr += sizeof(VkBool32);
15375 }
15376 
15377 #endif
15378 #ifdef VK_EXT_shader_atomic_float2
reservedmarshal_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT * forMarshaling,uint8_t ** ptr)15379 void reservedmarshal_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
15380     VulkanStreamGuest* vkStream, VkStructureType rootType,
15381     const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* forMarshaling, uint8_t** ptr) {
15382     (void)vkStream;
15383     (void)rootType;
15384     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15385     *ptr += sizeof(VkStructureType);
15386     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15387         rootType = forMarshaling->sType;
15388     }
15389     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15390     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat16Atomics, sizeof(VkBool32));
15391     *ptr += sizeof(VkBool32);
15392     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat16AtomicAdd, sizeof(VkBool32));
15393     *ptr += sizeof(VkBool32);
15394     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat16AtomicMinMax, sizeof(VkBool32));
15395     *ptr += sizeof(VkBool32);
15396     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat32AtomicMinMax, sizeof(VkBool32));
15397     *ptr += sizeof(VkBool32);
15398     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferFloat64AtomicMinMax, sizeof(VkBool32));
15399     *ptr += sizeof(VkBool32);
15400     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat16Atomics, sizeof(VkBool32));
15401     *ptr += sizeof(VkBool32);
15402     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat16AtomicAdd, sizeof(VkBool32));
15403     *ptr += sizeof(VkBool32);
15404     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat16AtomicMinMax, sizeof(VkBool32));
15405     *ptr += sizeof(VkBool32);
15406     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat32AtomicMinMax, sizeof(VkBool32));
15407     *ptr += sizeof(VkBool32);
15408     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedFloat64AtomicMinMax, sizeof(VkBool32));
15409     *ptr += sizeof(VkBool32);
15410     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageFloat32AtomicMinMax, sizeof(VkBool32));
15411     *ptr += sizeof(VkBool32);
15412     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseImageFloat32AtomicMinMax, sizeof(VkBool32));
15413     *ptr += sizeof(VkBool32);
15414 }
15415 
15416 #endif
15417 #ifdef VK_EXT_surface_maintenance1
reservedmarshal_VkSurfacePresentModeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfacePresentModeEXT * forMarshaling,uint8_t ** ptr)15418 void reservedmarshal_VkSurfacePresentModeEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
15419                                              const VkSurfacePresentModeEXT* forMarshaling,
15420                                              uint8_t** ptr) {
15421     (void)vkStream;
15422     (void)rootType;
15423     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15424     *ptr += sizeof(VkStructureType);
15425     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15426         rootType = forMarshaling->sType;
15427     }
15428     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15429     memcpy(*ptr, (VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR));
15430     *ptr += sizeof(VkPresentModeKHR);
15431 }
15432 
reservedmarshal_VkSurfacePresentScalingCapabilitiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfacePresentScalingCapabilitiesEXT * forMarshaling,uint8_t ** ptr)15433 void reservedmarshal_VkSurfacePresentScalingCapabilitiesEXT(
15434     VulkanStreamGuest* vkStream, VkStructureType rootType,
15435     const VkSurfacePresentScalingCapabilitiesEXT* forMarshaling, uint8_t** ptr) {
15436     (void)vkStream;
15437     (void)rootType;
15438     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15439     *ptr += sizeof(VkStructureType);
15440     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15441         rootType = forMarshaling->sType;
15442     }
15443     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15444     memcpy(*ptr, (VkPresentScalingFlagsEXT*)&forMarshaling->supportedPresentScaling,
15445            sizeof(VkPresentScalingFlagsEXT));
15446     *ptr += sizeof(VkPresentScalingFlagsEXT);
15447     memcpy(*ptr, (VkPresentGravityFlagsEXT*)&forMarshaling->supportedPresentGravityX,
15448            sizeof(VkPresentGravityFlagsEXT));
15449     *ptr += sizeof(VkPresentGravityFlagsEXT);
15450     memcpy(*ptr, (VkPresentGravityFlagsEXT*)&forMarshaling->supportedPresentGravityY,
15451            sizeof(VkPresentGravityFlagsEXT));
15452     *ptr += sizeof(VkPresentGravityFlagsEXT);
15453     reservedmarshal_VkExtent2D(vkStream, rootType,
15454                                (VkExtent2D*)(&forMarshaling->minScaledImageExtent), ptr);
15455     reservedmarshal_VkExtent2D(vkStream, rootType,
15456                                (VkExtent2D*)(&forMarshaling->maxScaledImageExtent), ptr);
15457 }
15458 
reservedmarshal_VkSurfacePresentModeCompatibilityEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfacePresentModeCompatibilityEXT * forMarshaling,uint8_t ** ptr)15459 void reservedmarshal_VkSurfacePresentModeCompatibilityEXT(
15460     VulkanStreamGuest* vkStream, VkStructureType rootType,
15461     const VkSurfacePresentModeCompatibilityEXT* forMarshaling, uint8_t** ptr) {
15462     (void)vkStream;
15463     (void)rootType;
15464     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15465     *ptr += sizeof(VkStructureType);
15466     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15467         rootType = forMarshaling->sType;
15468     }
15469     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15470     memcpy(*ptr, (uint32_t*)&forMarshaling->presentModeCount, sizeof(uint32_t));
15471     *ptr += sizeof(uint32_t);
15472     // WARNING PTR CHECK
15473     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pPresentModes;
15474     memcpy((*ptr), &cgen_var_0, 8);
15475     android::base::Stream::toBe64((uint8_t*)(*ptr));
15476     *ptr += 8;
15477     if (forMarshaling->pPresentModes) {
15478         memcpy(*ptr, (VkPresentModeKHR*)forMarshaling->pPresentModes,
15479                forMarshaling->presentModeCount * sizeof(VkPresentModeKHR));
15480         *ptr += forMarshaling->presentModeCount * sizeof(VkPresentModeKHR);
15481     }
15482 }
15483 
15484 #endif
15485 #ifdef VK_EXT_swapchain_maintenance1
reservedmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT * forMarshaling,uint8_t ** ptr)15486 void reservedmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
15487     VulkanStreamGuest* vkStream, VkStructureType rootType,
15488     const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forMarshaling, uint8_t** ptr) {
15489     (void)vkStream;
15490     (void)rootType;
15491     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15492     *ptr += sizeof(VkStructureType);
15493     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15494         rootType = forMarshaling->sType;
15495     }
15496     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15497     memcpy(*ptr, (VkBool32*)&forMarshaling->swapchainMaintenance1, sizeof(VkBool32));
15498     *ptr += sizeof(VkBool32);
15499 }
15500 
reservedmarshal_VkSwapchainPresentFenceInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainPresentFenceInfoEXT * forMarshaling,uint8_t ** ptr)15501 void reservedmarshal_VkSwapchainPresentFenceInfoEXT(
15502     VulkanStreamGuest* vkStream, VkStructureType rootType,
15503     const VkSwapchainPresentFenceInfoEXT* forMarshaling, uint8_t** ptr) {
15504     (void)vkStream;
15505     (void)rootType;
15506     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15507     *ptr += sizeof(VkStructureType);
15508     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15509         rootType = forMarshaling->sType;
15510     }
15511     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15512     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
15513     *ptr += sizeof(uint32_t);
15514     if (forMarshaling->swapchainCount) {
15515         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
15516         if (forMarshaling) {
15517             for (uint32_t k = 0; k < forMarshaling->swapchainCount; ++k) {
15518                 uint64_t tmpval = get_host_u64_VkFence(forMarshaling->pFences[k]);
15519                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
15520             }
15521         }
15522         *ptr += 8 * forMarshaling->swapchainCount;
15523     }
15524 }
15525 
reservedmarshal_VkSwapchainPresentModesCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainPresentModesCreateInfoEXT * forMarshaling,uint8_t ** ptr)15526 void reservedmarshal_VkSwapchainPresentModesCreateInfoEXT(
15527     VulkanStreamGuest* vkStream, VkStructureType rootType,
15528     const VkSwapchainPresentModesCreateInfoEXT* forMarshaling, uint8_t** ptr) {
15529     (void)vkStream;
15530     (void)rootType;
15531     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15532     *ptr += sizeof(VkStructureType);
15533     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15534         rootType = forMarshaling->sType;
15535     }
15536     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15537     memcpy(*ptr, (uint32_t*)&forMarshaling->presentModeCount, sizeof(uint32_t));
15538     *ptr += sizeof(uint32_t);
15539     memcpy(*ptr, (const VkPresentModeKHR*)forMarshaling->pPresentModes,
15540            forMarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
15541     *ptr += forMarshaling->presentModeCount * sizeof(const VkPresentModeKHR);
15542 }
15543 
reservedmarshal_VkSwapchainPresentModeInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainPresentModeInfoEXT * forMarshaling,uint8_t ** ptr)15544 void reservedmarshal_VkSwapchainPresentModeInfoEXT(
15545     VulkanStreamGuest* vkStream, VkStructureType rootType,
15546     const VkSwapchainPresentModeInfoEXT* forMarshaling, uint8_t** ptr) {
15547     (void)vkStream;
15548     (void)rootType;
15549     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15550     *ptr += sizeof(VkStructureType);
15551     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15552         rootType = forMarshaling->sType;
15553     }
15554     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15555     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
15556     *ptr += sizeof(uint32_t);
15557     memcpy(*ptr, (const VkPresentModeKHR*)forMarshaling->pPresentModes,
15558            forMarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
15559     *ptr += forMarshaling->swapchainCount * sizeof(const VkPresentModeKHR);
15560 }
15561 
reservedmarshal_VkSwapchainPresentScalingCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainPresentScalingCreateInfoEXT * forMarshaling,uint8_t ** ptr)15562 void reservedmarshal_VkSwapchainPresentScalingCreateInfoEXT(
15563     VulkanStreamGuest* vkStream, VkStructureType rootType,
15564     const VkSwapchainPresentScalingCreateInfoEXT* forMarshaling, uint8_t** ptr) {
15565     (void)vkStream;
15566     (void)rootType;
15567     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15568     *ptr += sizeof(VkStructureType);
15569     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15570         rootType = forMarshaling->sType;
15571     }
15572     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15573     memcpy(*ptr, (VkPresentScalingFlagsEXT*)&forMarshaling->scalingBehavior,
15574            sizeof(VkPresentScalingFlagsEXT));
15575     *ptr += sizeof(VkPresentScalingFlagsEXT);
15576     memcpy(*ptr, (VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityX,
15577            sizeof(VkPresentGravityFlagsEXT));
15578     *ptr += sizeof(VkPresentGravityFlagsEXT);
15579     memcpy(*ptr, (VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityY,
15580            sizeof(VkPresentGravityFlagsEXT));
15581     *ptr += sizeof(VkPresentGravityFlagsEXT);
15582 }
15583 
reservedmarshal_VkReleaseSwapchainImagesInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkReleaseSwapchainImagesInfoEXT * forMarshaling,uint8_t ** ptr)15584 void reservedmarshal_VkReleaseSwapchainImagesInfoEXT(
15585     VulkanStreamGuest* vkStream, VkStructureType rootType,
15586     const VkReleaseSwapchainImagesInfoEXT* forMarshaling, uint8_t** ptr) {
15587     (void)vkStream;
15588     (void)rootType;
15589     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15590     *ptr += sizeof(VkStructureType);
15591     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15592         rootType = forMarshaling->sType;
15593     }
15594     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15595     uint64_t cgen_var_0;
15596     *&cgen_var_0 = get_host_u64_VkSwapchainKHR((*&forMarshaling->swapchain));
15597     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
15598     *ptr += 1 * 8;
15599     memcpy(*ptr, (uint32_t*)&forMarshaling->imageIndexCount, sizeof(uint32_t));
15600     *ptr += sizeof(uint32_t);
15601     memcpy(*ptr, (const uint32_t*)forMarshaling->pImageIndices,
15602            forMarshaling->imageIndexCount * sizeof(const uint32_t));
15603     *ptr += forMarshaling->imageIndexCount * sizeof(const uint32_t);
15604 }
15605 
15606 #endif
15607 #ifdef VK_EXT_shader_demote_to_helper_invocation
15608 #endif
15609 #ifdef VK_NV_device_generated_commands
reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV * forMarshaling,uint8_t ** ptr)15610 void reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
15611     VulkanStreamGuest* vkStream, VkStructureType rootType,
15612     const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* forMarshaling, uint8_t** ptr) {
15613     (void)vkStream;
15614     (void)rootType;
15615     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15616     *ptr += sizeof(VkStructureType);
15617     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15618         rootType = forMarshaling->sType;
15619     }
15620     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15621     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGraphicsShaderGroupCount, sizeof(uint32_t));
15622     *ptr += sizeof(uint32_t);
15623     memcpy(*ptr, (uint32_t*)&forMarshaling->maxIndirectSequenceCount, sizeof(uint32_t));
15624     *ptr += sizeof(uint32_t);
15625     memcpy(*ptr, (uint32_t*)&forMarshaling->maxIndirectCommandsTokenCount, sizeof(uint32_t));
15626     *ptr += sizeof(uint32_t);
15627     memcpy(*ptr, (uint32_t*)&forMarshaling->maxIndirectCommandsStreamCount, sizeof(uint32_t));
15628     *ptr += sizeof(uint32_t);
15629     memcpy(*ptr, (uint32_t*)&forMarshaling->maxIndirectCommandsTokenOffset, sizeof(uint32_t));
15630     *ptr += sizeof(uint32_t);
15631     memcpy(*ptr, (uint32_t*)&forMarshaling->maxIndirectCommandsStreamStride, sizeof(uint32_t));
15632     *ptr += sizeof(uint32_t);
15633     memcpy(*ptr, (uint32_t*)&forMarshaling->minSequencesCountBufferOffsetAlignment,
15634            sizeof(uint32_t));
15635     *ptr += sizeof(uint32_t);
15636     memcpy(*ptr, (uint32_t*)&forMarshaling->minSequencesIndexBufferOffsetAlignment,
15637            sizeof(uint32_t));
15638     *ptr += sizeof(uint32_t);
15639     memcpy(*ptr, (uint32_t*)&forMarshaling->minIndirectCommandsBufferOffsetAlignment,
15640            sizeof(uint32_t));
15641     *ptr += sizeof(uint32_t);
15642 }
15643 
reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV * forMarshaling,uint8_t ** ptr)15644 void reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
15645     VulkanStreamGuest* vkStream, VkStructureType rootType,
15646     const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* forMarshaling, uint8_t** ptr) {
15647     (void)vkStream;
15648     (void)rootType;
15649     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15650     *ptr += sizeof(VkStructureType);
15651     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15652         rootType = forMarshaling->sType;
15653     }
15654     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15655     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceGeneratedCommands, sizeof(VkBool32));
15656     *ptr += sizeof(VkBool32);
15657 }
15658 
reservedmarshal_VkGraphicsShaderGroupCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsShaderGroupCreateInfoNV * forMarshaling,uint8_t ** ptr)15659 void reservedmarshal_VkGraphicsShaderGroupCreateInfoNV(
15660     VulkanStreamGuest* vkStream, VkStructureType rootType,
15661     const VkGraphicsShaderGroupCreateInfoNV* forMarshaling, uint8_t** ptr) {
15662     (void)vkStream;
15663     (void)rootType;
15664     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15665     *ptr += sizeof(VkStructureType);
15666     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15667         rootType = forMarshaling->sType;
15668     }
15669     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15670     memcpy(*ptr, (uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
15671     *ptr += sizeof(uint32_t);
15672     for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
15673         reservedmarshal_VkPipelineShaderStageCreateInfo(
15674             vkStream, rootType,
15675             (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i), ptr);
15676     }
15677     // WARNING PTR CHECK
15678     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
15679     memcpy((*ptr), &cgen_var_0, 8);
15680     android::base::Stream::toBe64((uint8_t*)(*ptr));
15681     *ptr += 8;
15682     if (forMarshaling->pVertexInputState) {
15683         reservedmarshal_VkPipelineVertexInputStateCreateInfo(
15684             vkStream, rootType,
15685             (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState), ptr);
15686     }
15687     // WARNING PTR CHECK
15688     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
15689     memcpy((*ptr), &cgen_var_1, 8);
15690     android::base::Stream::toBe64((uint8_t*)(*ptr));
15691     *ptr += 8;
15692     if (forMarshaling->pTessellationState) {
15693         reservedmarshal_VkPipelineTessellationStateCreateInfo(
15694             vkStream, rootType,
15695             (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState), ptr);
15696     }
15697 }
15698 
reservedmarshal_VkGraphicsPipelineShaderGroupsCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineShaderGroupsCreateInfoNV * forMarshaling,uint8_t ** ptr)15699 void reservedmarshal_VkGraphicsPipelineShaderGroupsCreateInfoNV(
15700     VulkanStreamGuest* vkStream, VkStructureType rootType,
15701     const VkGraphicsPipelineShaderGroupsCreateInfoNV* forMarshaling, uint8_t** ptr) {
15702     (void)vkStream;
15703     (void)rootType;
15704     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15705     *ptr += sizeof(VkStructureType);
15706     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15707         rootType = forMarshaling->sType;
15708     }
15709     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15710     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCount, sizeof(uint32_t));
15711     *ptr += sizeof(uint32_t);
15712     for (uint32_t i = 0; i < (uint32_t)forMarshaling->groupCount; ++i) {
15713         reservedmarshal_VkGraphicsShaderGroupCreateInfoNV(
15714             vkStream, rootType,
15715             (const VkGraphicsShaderGroupCreateInfoNV*)(forMarshaling->pGroups + i), ptr);
15716     }
15717     memcpy(*ptr, (uint32_t*)&forMarshaling->pipelineCount, sizeof(uint32_t));
15718     *ptr += sizeof(uint32_t);
15719     if (forMarshaling->pipelineCount) {
15720         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
15721         if (forMarshaling) {
15722             for (uint32_t k = 0; k < forMarshaling->pipelineCount; ++k) {
15723                 uint64_t tmpval = get_host_u64_VkPipeline(forMarshaling->pPipelines[k]);
15724                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
15725             }
15726         }
15727         *ptr += 8 * forMarshaling->pipelineCount;
15728     }
15729 }
15730 
reservedmarshal_VkBindShaderGroupIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindShaderGroupIndirectCommandNV * forMarshaling,uint8_t ** ptr)15731 void reservedmarshal_VkBindShaderGroupIndirectCommandNV(
15732     VulkanStreamGuest* vkStream, VkStructureType rootType,
15733     const VkBindShaderGroupIndirectCommandNV* forMarshaling, uint8_t** ptr) {
15734     (void)vkStream;
15735     (void)rootType;
15736     memcpy(*ptr, (uint32_t*)&forMarshaling->groupIndex, sizeof(uint32_t));
15737     *ptr += sizeof(uint32_t);
15738 }
15739 
reservedmarshal_VkBindIndexBufferIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindIndexBufferIndirectCommandNV * forMarshaling,uint8_t ** ptr)15740 void reservedmarshal_VkBindIndexBufferIndirectCommandNV(
15741     VulkanStreamGuest* vkStream, VkStructureType rootType,
15742     const VkBindIndexBufferIndirectCommandNV* forMarshaling, uint8_t** ptr) {
15743     (void)vkStream;
15744     (void)rootType;
15745     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->bufferAddress, sizeof(VkDeviceAddress));
15746     *ptr += sizeof(VkDeviceAddress);
15747     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
15748     *ptr += sizeof(uint32_t);
15749     memcpy(*ptr, (VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
15750     *ptr += sizeof(VkIndexType);
15751 }
15752 
reservedmarshal_VkBindVertexBufferIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindVertexBufferIndirectCommandNV * forMarshaling,uint8_t ** ptr)15753 void reservedmarshal_VkBindVertexBufferIndirectCommandNV(
15754     VulkanStreamGuest* vkStream, VkStructureType rootType,
15755     const VkBindVertexBufferIndirectCommandNV* forMarshaling, uint8_t** ptr) {
15756     (void)vkStream;
15757     (void)rootType;
15758     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->bufferAddress, sizeof(VkDeviceAddress));
15759     *ptr += sizeof(VkDeviceAddress);
15760     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
15761     *ptr += sizeof(uint32_t);
15762     memcpy(*ptr, (uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
15763     *ptr += sizeof(uint32_t);
15764 }
15765 
reservedmarshal_VkSetStateFlagsIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSetStateFlagsIndirectCommandNV * forMarshaling,uint8_t ** ptr)15766 void reservedmarshal_VkSetStateFlagsIndirectCommandNV(
15767     VulkanStreamGuest* vkStream, VkStructureType rootType,
15768     const VkSetStateFlagsIndirectCommandNV* forMarshaling, uint8_t** ptr) {
15769     (void)vkStream;
15770     (void)rootType;
15771     memcpy(*ptr, (uint32_t*)&forMarshaling->data, sizeof(uint32_t));
15772     *ptr += sizeof(uint32_t);
15773 }
15774 
reservedmarshal_VkIndirectCommandsStreamNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkIndirectCommandsStreamNV * forMarshaling,uint8_t ** ptr)15775 void reservedmarshal_VkIndirectCommandsStreamNV(VulkanStreamGuest* vkStream,
15776                                                 VkStructureType rootType,
15777                                                 const VkIndirectCommandsStreamNV* forMarshaling,
15778                                                 uint8_t** ptr) {
15779     (void)vkStream;
15780     (void)rootType;
15781     uint64_t cgen_var_0;
15782     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
15783     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
15784     *ptr += 1 * 8;
15785     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
15786     *ptr += sizeof(VkDeviceSize);
15787 }
15788 
reservedmarshal_VkIndirectCommandsLayoutTokenNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkIndirectCommandsLayoutTokenNV * forMarshaling,uint8_t ** ptr)15789 void reservedmarshal_VkIndirectCommandsLayoutTokenNV(
15790     VulkanStreamGuest* vkStream, VkStructureType rootType,
15791     const VkIndirectCommandsLayoutTokenNV* forMarshaling, uint8_t** ptr) {
15792     (void)vkStream;
15793     (void)rootType;
15794     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15795     *ptr += sizeof(VkStructureType);
15796     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15797         rootType = forMarshaling->sType;
15798     }
15799     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15800     memcpy(*ptr, (VkIndirectCommandsTokenTypeNV*)&forMarshaling->tokenType,
15801            sizeof(VkIndirectCommandsTokenTypeNV));
15802     *ptr += sizeof(VkIndirectCommandsTokenTypeNV);
15803     memcpy(*ptr, (uint32_t*)&forMarshaling->stream, sizeof(uint32_t));
15804     *ptr += sizeof(uint32_t);
15805     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
15806     *ptr += sizeof(uint32_t);
15807     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingUnit, sizeof(uint32_t));
15808     *ptr += sizeof(uint32_t);
15809     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexDynamicStride, sizeof(VkBool32));
15810     *ptr += sizeof(VkBool32);
15811     uint64_t cgen_var_0;
15812     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->pushconstantPipelineLayout));
15813     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
15814     *ptr += 1 * 8;
15815     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->pushconstantShaderStageFlags,
15816            sizeof(VkShaderStageFlags));
15817     *ptr += sizeof(VkShaderStageFlags);
15818     memcpy(*ptr, (uint32_t*)&forMarshaling->pushconstantOffset, sizeof(uint32_t));
15819     *ptr += sizeof(uint32_t);
15820     memcpy(*ptr, (uint32_t*)&forMarshaling->pushconstantSize, sizeof(uint32_t));
15821     *ptr += sizeof(uint32_t);
15822     memcpy(*ptr, (VkIndirectStateFlagsNV*)&forMarshaling->indirectStateFlags,
15823            sizeof(VkIndirectStateFlagsNV));
15824     *ptr += sizeof(VkIndirectStateFlagsNV);
15825     memcpy(*ptr, (uint32_t*)&forMarshaling->indexTypeCount, sizeof(uint32_t));
15826     *ptr += sizeof(uint32_t);
15827     memcpy(*ptr, (const VkIndexType*)forMarshaling->pIndexTypes,
15828            forMarshaling->indexTypeCount * sizeof(const VkIndexType));
15829     *ptr += forMarshaling->indexTypeCount * sizeof(const VkIndexType);
15830     memcpy(*ptr, (const uint32_t*)forMarshaling->pIndexTypeValues,
15831            forMarshaling->indexTypeCount * sizeof(const uint32_t));
15832     *ptr += forMarshaling->indexTypeCount * sizeof(const uint32_t);
15833 }
15834 
reservedmarshal_VkIndirectCommandsLayoutCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkIndirectCommandsLayoutCreateInfoNV * forMarshaling,uint8_t ** ptr)15835 void reservedmarshal_VkIndirectCommandsLayoutCreateInfoNV(
15836     VulkanStreamGuest* vkStream, VkStructureType rootType,
15837     const VkIndirectCommandsLayoutCreateInfoNV* forMarshaling, uint8_t** ptr) {
15838     (void)vkStream;
15839     (void)rootType;
15840     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15841     *ptr += sizeof(VkStructureType);
15842     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15843         rootType = forMarshaling->sType;
15844     }
15845     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15846     memcpy(*ptr, (VkIndirectCommandsLayoutUsageFlagsNV*)&forMarshaling->flags,
15847            sizeof(VkIndirectCommandsLayoutUsageFlagsNV));
15848     *ptr += sizeof(VkIndirectCommandsLayoutUsageFlagsNV);
15849     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
15850            sizeof(VkPipelineBindPoint));
15851     *ptr += sizeof(VkPipelineBindPoint);
15852     memcpy(*ptr, (uint32_t*)&forMarshaling->tokenCount, sizeof(uint32_t));
15853     *ptr += sizeof(uint32_t);
15854     for (uint32_t i = 0; i < (uint32_t)forMarshaling->tokenCount; ++i) {
15855         reservedmarshal_VkIndirectCommandsLayoutTokenNV(
15856             vkStream, rootType,
15857             (const VkIndirectCommandsLayoutTokenNV*)(forMarshaling->pTokens + i), ptr);
15858     }
15859     memcpy(*ptr, (uint32_t*)&forMarshaling->streamCount, sizeof(uint32_t));
15860     *ptr += sizeof(uint32_t);
15861     memcpy(*ptr, (const uint32_t*)forMarshaling->pStreamStrides,
15862            forMarshaling->streamCount * sizeof(const uint32_t));
15863     *ptr += forMarshaling->streamCount * sizeof(const uint32_t);
15864 }
15865 
reservedmarshal_VkGeneratedCommandsInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeneratedCommandsInfoNV * forMarshaling,uint8_t ** ptr)15866 void reservedmarshal_VkGeneratedCommandsInfoNV(VulkanStreamGuest* vkStream,
15867                                                VkStructureType rootType,
15868                                                const VkGeneratedCommandsInfoNV* forMarshaling,
15869                                                uint8_t** ptr) {
15870     (void)vkStream;
15871     (void)rootType;
15872     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15873     *ptr += sizeof(VkStructureType);
15874     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15875         rootType = forMarshaling->sType;
15876     }
15877     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15878     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
15879            sizeof(VkPipelineBindPoint));
15880     *ptr += sizeof(VkPipelineBindPoint);
15881     uint64_t cgen_var_0;
15882     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
15883     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
15884     *ptr += 1 * 8;
15885     uint64_t cgen_var_1;
15886     *&cgen_var_1 =
15887         get_host_u64_VkIndirectCommandsLayoutNV((*&forMarshaling->indirectCommandsLayout));
15888     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
15889     *ptr += 1 * 8;
15890     memcpy(*ptr, (uint32_t*)&forMarshaling->streamCount, sizeof(uint32_t));
15891     *ptr += sizeof(uint32_t);
15892     for (uint32_t i = 0; i < (uint32_t)forMarshaling->streamCount; ++i) {
15893         reservedmarshal_VkIndirectCommandsStreamNV(
15894             vkStream, rootType, (const VkIndirectCommandsStreamNV*)(forMarshaling->pStreams + i),
15895             ptr);
15896     }
15897     memcpy(*ptr, (uint32_t*)&forMarshaling->sequencesCount, sizeof(uint32_t));
15898     *ptr += sizeof(uint32_t);
15899     uint64_t cgen_var_2;
15900     *&cgen_var_2 = get_host_u64_VkBuffer((*&forMarshaling->preprocessBuffer));
15901     memcpy(*ptr, (uint64_t*)&cgen_var_2, 1 * 8);
15902     *ptr += 1 * 8;
15903     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->preprocessOffset, sizeof(VkDeviceSize));
15904     *ptr += sizeof(VkDeviceSize);
15905     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->preprocessSize, sizeof(VkDeviceSize));
15906     *ptr += sizeof(VkDeviceSize);
15907     uint64_t cgen_var_3;
15908     *&cgen_var_3 = get_host_u64_VkBuffer((*&forMarshaling->sequencesCountBuffer));
15909     memcpy(*ptr, (uint64_t*)&cgen_var_3, 1 * 8);
15910     *ptr += 1 * 8;
15911     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->sequencesCountOffset, sizeof(VkDeviceSize));
15912     *ptr += sizeof(VkDeviceSize);
15913     uint64_t cgen_var_4;
15914     *&cgen_var_4 = get_host_u64_VkBuffer((*&forMarshaling->sequencesIndexBuffer));
15915     memcpy(*ptr, (uint64_t*)&cgen_var_4, 1 * 8);
15916     *ptr += 1 * 8;
15917     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->sequencesIndexOffset, sizeof(VkDeviceSize));
15918     *ptr += sizeof(VkDeviceSize);
15919 }
15920 
reservedmarshal_VkGeneratedCommandsMemoryRequirementsInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGeneratedCommandsMemoryRequirementsInfoNV * forMarshaling,uint8_t ** ptr)15921 void reservedmarshal_VkGeneratedCommandsMemoryRequirementsInfoNV(
15922     VulkanStreamGuest* vkStream, VkStructureType rootType,
15923     const VkGeneratedCommandsMemoryRequirementsInfoNV* forMarshaling, uint8_t** ptr) {
15924     (void)vkStream;
15925     (void)rootType;
15926     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15927     *ptr += sizeof(VkStructureType);
15928     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15929         rootType = forMarshaling->sType;
15930     }
15931     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15932     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
15933            sizeof(VkPipelineBindPoint));
15934     *ptr += sizeof(VkPipelineBindPoint);
15935     uint64_t cgen_var_0;
15936     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
15937     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
15938     *ptr += 1 * 8;
15939     uint64_t cgen_var_1;
15940     *&cgen_var_1 =
15941         get_host_u64_VkIndirectCommandsLayoutNV((*&forMarshaling->indirectCommandsLayout));
15942     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
15943     *ptr += 1 * 8;
15944     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSequencesCount, sizeof(uint32_t));
15945     *ptr += sizeof(uint32_t);
15946 }
15947 
15948 #endif
15949 #ifdef VK_NV_inherited_viewport_scissor
reservedmarshal_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInheritedViewportScissorFeaturesNV * forMarshaling,uint8_t ** ptr)15950 void reservedmarshal_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
15951     VulkanStreamGuest* vkStream, VkStructureType rootType,
15952     const VkPhysicalDeviceInheritedViewportScissorFeaturesNV* forMarshaling, uint8_t** ptr) {
15953     (void)vkStream;
15954     (void)rootType;
15955     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15956     *ptr += sizeof(VkStructureType);
15957     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15958         rootType = forMarshaling->sType;
15959     }
15960     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15961     memcpy(*ptr, (VkBool32*)&forMarshaling->inheritedViewportScissor2D, sizeof(VkBool32));
15962     *ptr += sizeof(VkBool32);
15963 }
15964 
reservedmarshal_VkCommandBufferInheritanceViewportScissorInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceViewportScissorInfoNV * forMarshaling,uint8_t ** ptr)15965 void reservedmarshal_VkCommandBufferInheritanceViewportScissorInfoNV(
15966     VulkanStreamGuest* vkStream, VkStructureType rootType,
15967     const VkCommandBufferInheritanceViewportScissorInfoNV* forMarshaling, uint8_t** ptr) {
15968     (void)vkStream;
15969     (void)rootType;
15970     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15971     *ptr += sizeof(VkStructureType);
15972     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15973         rootType = forMarshaling->sType;
15974     }
15975     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
15976     memcpy(*ptr, (VkBool32*)&forMarshaling->viewportScissor2D, sizeof(VkBool32));
15977     *ptr += sizeof(VkBool32);
15978     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportDepthCount, sizeof(uint32_t));
15979     *ptr += sizeof(uint32_t);
15980     // WARNING PTR CHECK
15981     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewportDepths;
15982     memcpy((*ptr), &cgen_var_0, 8);
15983     android::base::Stream::toBe64((uint8_t*)(*ptr));
15984     *ptr += 8;
15985     if (forMarshaling->pViewportDepths) {
15986         reservedmarshal_VkViewport(vkStream, rootType,
15987                                    (const VkViewport*)(forMarshaling->pViewportDepths), ptr);
15988     }
15989 }
15990 
15991 #endif
15992 #ifdef VK_EXT_texel_buffer_alignment
reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forMarshaling,uint8_t ** ptr)15993 void reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
15994     VulkanStreamGuest* vkStream, VkStructureType rootType,
15995     const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling, uint8_t** ptr) {
15996     (void)vkStream;
15997     (void)rootType;
15998     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15999     *ptr += sizeof(VkStructureType);
16000     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16001         rootType = forMarshaling->sType;
16002     }
16003     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16004     memcpy(*ptr, (VkBool32*)&forMarshaling->texelBufferAlignment, sizeof(VkBool32));
16005     *ptr += sizeof(VkBool32);
16006 }
16007 
16008 #endif
16009 #ifdef VK_QCOM_render_pass_transform
reservedmarshal_VkRenderPassTransformBeginInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassTransformBeginInfoQCOM * forMarshaling,uint8_t ** ptr)16010 void reservedmarshal_VkRenderPassTransformBeginInfoQCOM(
16011     VulkanStreamGuest* vkStream, VkStructureType rootType,
16012     const VkRenderPassTransformBeginInfoQCOM* forMarshaling, uint8_t** ptr) {
16013     (void)vkStream;
16014     (void)rootType;
16015     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16016     *ptr += sizeof(VkStructureType);
16017     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16018         rootType = forMarshaling->sType;
16019     }
16020     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16021     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform,
16022            sizeof(VkSurfaceTransformFlagBitsKHR));
16023     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
16024 }
16025 
reservedmarshal_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceRenderPassTransformInfoQCOM * forMarshaling,uint8_t ** ptr)16026 void reservedmarshal_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
16027     VulkanStreamGuest* vkStream, VkStructureType rootType,
16028     const VkCommandBufferInheritanceRenderPassTransformInfoQCOM* forMarshaling, uint8_t** ptr) {
16029     (void)vkStream;
16030     (void)rootType;
16031     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16032     *ptr += sizeof(VkStructureType);
16033     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16034         rootType = forMarshaling->sType;
16035     }
16036     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16037     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform,
16038            sizeof(VkSurfaceTransformFlagBitsKHR));
16039     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
16040     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea), ptr);
16041 }
16042 
16043 #endif
16044 #ifdef VK_EXT_device_memory_report
reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forMarshaling,uint8_t ** ptr)16045 void reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
16046     VulkanStreamGuest* vkStream, VkStructureType rootType,
16047     const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling, uint8_t** ptr) {
16048     (void)vkStream;
16049     (void)rootType;
16050     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16051     *ptr += sizeof(VkStructureType);
16052     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16053         rootType = forMarshaling->sType;
16054     }
16055     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16056     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceMemoryReport, sizeof(VkBool32));
16057     *ptr += sizeof(VkBool32);
16058 }
16059 
reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * forMarshaling,uint8_t ** ptr)16060 void reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(
16061     VulkanStreamGuest* vkStream, VkStructureType rootType,
16062     const VkDeviceMemoryReportCallbackDataEXT* forMarshaling, uint8_t** ptr) {
16063     (void)vkStream;
16064     (void)rootType;
16065     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16066     *ptr += sizeof(VkStructureType);
16067     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16068         rootType = forMarshaling->sType;
16069     }
16070     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16071     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
16072            sizeof(VkDeviceMemoryReportFlagsEXT));
16073     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
16074     memcpy(*ptr, (VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
16075            sizeof(VkDeviceMemoryReportEventTypeEXT));
16076     *ptr += sizeof(VkDeviceMemoryReportEventTypeEXT);
16077     memcpy(*ptr, (uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
16078     *ptr += sizeof(uint64_t);
16079     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
16080     *ptr += sizeof(VkDeviceSize);
16081     memcpy(*ptr, (VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
16082     *ptr += sizeof(VkObjectType);
16083     memcpy(*ptr, (uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
16084     *ptr += sizeof(uint64_t);
16085     memcpy(*ptr, (uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
16086     *ptr += sizeof(uint32_t);
16087 }
16088 
reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * forMarshaling,uint8_t ** ptr)16089 void reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
16090     VulkanStreamGuest* vkStream, VkStructureType rootType,
16091     const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling, uint8_t** ptr) {
16092     (void)vkStream;
16093     (void)rootType;
16094     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16095     *ptr += sizeof(VkStructureType);
16096     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16097         rootType = forMarshaling->sType;
16098     }
16099     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16100     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
16101            sizeof(VkDeviceMemoryReportFlagsEXT));
16102     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
16103     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
16104     memcpy((*ptr), &cgen_var_0, 8);
16105     android::base::Stream::toBe64((uint8_t*)(*ptr));
16106     *ptr += 8;
16107     memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
16108     *ptr += sizeof(uint8_t);
16109 }
16110 
16111 #endif
16112 #ifdef VK_EXT_acquire_drm_display
16113 #endif
16114 #ifdef VK_EXT_robustness2
reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * forMarshaling,uint8_t ** ptr)16115 void reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
16116     VulkanStreamGuest* vkStream, VkStructureType rootType,
16117     const VkPhysicalDeviceRobustness2FeaturesEXT* forMarshaling, uint8_t** ptr) {
16118     (void)vkStream;
16119     (void)rootType;
16120     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16121     *ptr += sizeof(VkStructureType);
16122     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16123         rootType = forMarshaling->sType;
16124     }
16125     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16126     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccess2, sizeof(VkBool32));
16127     *ptr += sizeof(VkBool32);
16128     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess2, sizeof(VkBool32));
16129     *ptr += sizeof(VkBool32);
16130     memcpy(*ptr, (VkBool32*)&forMarshaling->nullDescriptor, sizeof(VkBool32));
16131     *ptr += sizeof(VkBool32);
16132 }
16133 
reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * forMarshaling,uint8_t ** ptr)16134 void reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
16135     VulkanStreamGuest* vkStream, VkStructureType rootType,
16136     const VkPhysicalDeviceRobustness2PropertiesEXT* forMarshaling, uint8_t** ptr) {
16137     (void)vkStream;
16138     (void)rootType;
16139     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16140     *ptr += sizeof(VkStructureType);
16141     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16142         rootType = forMarshaling->sType;
16143     }
16144     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16145     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustStorageBufferAccessSizeAlignment,
16146            sizeof(VkDeviceSize));
16147     *ptr += sizeof(VkDeviceSize);
16148     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustUniformBufferAccessSizeAlignment,
16149            sizeof(VkDeviceSize));
16150     *ptr += sizeof(VkDeviceSize);
16151 }
16152 
16153 #endif
16154 #ifdef VK_EXT_custom_border_color
reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * forMarshaling,uint8_t ** ptr)16155 void reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
16156     VulkanStreamGuest* vkStream, VkStructureType rootType,
16157     const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling, uint8_t** ptr) {
16158     (void)vkStream;
16159     (void)rootType;
16160     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16161     *ptr += sizeof(VkStructureType);
16162     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16163         rootType = forMarshaling->sType;
16164     }
16165     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16166     reservedmarshal_VkClearColorValue(vkStream, rootType,
16167                                       (VkClearColorValue*)(&forMarshaling->customBorderColor), ptr);
16168     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
16169     *ptr += sizeof(VkFormat);
16170 }
16171 
reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * forMarshaling,uint8_t ** ptr)16172 void reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
16173     VulkanStreamGuest* vkStream, VkStructureType rootType,
16174     const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling, uint8_t** ptr) {
16175     (void)vkStream;
16176     (void)rootType;
16177     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16178     *ptr += sizeof(VkStructureType);
16179     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16180         rootType = forMarshaling->sType;
16181     }
16182     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16183     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
16184     *ptr += sizeof(uint32_t);
16185 }
16186 
reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * forMarshaling,uint8_t ** ptr)16187 void reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
16188     VulkanStreamGuest* vkStream, VkStructureType rootType,
16189     const VkPhysicalDeviceCustomBorderColorFeaturesEXT* forMarshaling, uint8_t** ptr) {
16190     (void)vkStream;
16191     (void)rootType;
16192     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16193     *ptr += sizeof(VkStructureType);
16194     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16195         rootType = forMarshaling->sType;
16196     }
16197     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16198     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColors, sizeof(VkBool32));
16199     *ptr += sizeof(VkBool32);
16200     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
16201     *ptr += sizeof(VkBool32);
16202 }
16203 
16204 #endif
16205 #ifdef VK_GOOGLE_user_type
16206 #endif
16207 #ifdef VK_NV_present_barrier
reservedmarshal_VkPhysicalDevicePresentBarrierFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentBarrierFeaturesNV * forMarshaling,uint8_t ** ptr)16208 void reservedmarshal_VkPhysicalDevicePresentBarrierFeaturesNV(
16209     VulkanStreamGuest* vkStream, VkStructureType rootType,
16210     const VkPhysicalDevicePresentBarrierFeaturesNV* forMarshaling, uint8_t** ptr) {
16211     (void)vkStream;
16212     (void)rootType;
16213     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16214     *ptr += sizeof(VkStructureType);
16215     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16216         rootType = forMarshaling->sType;
16217     }
16218     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16219     memcpy(*ptr, (VkBool32*)&forMarshaling->presentBarrier, sizeof(VkBool32));
16220     *ptr += sizeof(VkBool32);
16221 }
16222 
reservedmarshal_VkSurfaceCapabilitiesPresentBarrierNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSurfaceCapabilitiesPresentBarrierNV * forMarshaling,uint8_t ** ptr)16223 void reservedmarshal_VkSurfaceCapabilitiesPresentBarrierNV(
16224     VulkanStreamGuest* vkStream, VkStructureType rootType,
16225     const VkSurfaceCapabilitiesPresentBarrierNV* forMarshaling, uint8_t** ptr) {
16226     (void)vkStream;
16227     (void)rootType;
16228     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16229     *ptr += sizeof(VkStructureType);
16230     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16231         rootType = forMarshaling->sType;
16232     }
16233     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16234     memcpy(*ptr, (VkBool32*)&forMarshaling->presentBarrierSupported, sizeof(VkBool32));
16235     *ptr += sizeof(VkBool32);
16236 }
16237 
reservedmarshal_VkSwapchainPresentBarrierCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainPresentBarrierCreateInfoNV * forMarshaling,uint8_t ** ptr)16238 void reservedmarshal_VkSwapchainPresentBarrierCreateInfoNV(
16239     VulkanStreamGuest* vkStream, VkStructureType rootType,
16240     const VkSwapchainPresentBarrierCreateInfoNV* forMarshaling, uint8_t** ptr) {
16241     (void)vkStream;
16242     (void)rootType;
16243     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16244     *ptr += sizeof(VkStructureType);
16245     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16246         rootType = forMarshaling->sType;
16247     }
16248     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16249     memcpy(*ptr, (VkBool32*)&forMarshaling->presentBarrierEnable, sizeof(VkBool32));
16250     *ptr += sizeof(VkBool32);
16251 }
16252 
16253 #endif
16254 #ifdef VK_EXT_private_data
16255 #endif
16256 #ifdef VK_EXT_pipeline_creation_cache_control
16257 #endif
16258 #ifdef VK_NV_device_diagnostics_config
reservedmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDiagnosticsConfigFeaturesNV * forMarshaling,uint8_t ** ptr)16259 void reservedmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
16260     VulkanStreamGuest* vkStream, VkStructureType rootType,
16261     const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* forMarshaling, uint8_t** ptr) {
16262     (void)vkStream;
16263     (void)rootType;
16264     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16265     *ptr += sizeof(VkStructureType);
16266     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16267         rootType = forMarshaling->sType;
16268     }
16269     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16270     memcpy(*ptr, (VkBool32*)&forMarshaling->diagnosticsConfig, sizeof(VkBool32));
16271     *ptr += sizeof(VkBool32);
16272 }
16273 
reservedmarshal_VkDeviceDiagnosticsConfigCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceDiagnosticsConfigCreateInfoNV * forMarshaling,uint8_t ** ptr)16274 void reservedmarshal_VkDeviceDiagnosticsConfigCreateInfoNV(
16275     VulkanStreamGuest* vkStream, VkStructureType rootType,
16276     const VkDeviceDiagnosticsConfigCreateInfoNV* forMarshaling, uint8_t** ptr) {
16277     (void)vkStream;
16278     (void)rootType;
16279     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16280     *ptr += sizeof(VkStructureType);
16281     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16282         rootType = forMarshaling->sType;
16283     }
16284     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16285     memcpy(*ptr, (VkDeviceDiagnosticsConfigFlagsNV*)&forMarshaling->flags,
16286            sizeof(VkDeviceDiagnosticsConfigFlagsNV));
16287     *ptr += sizeof(VkDeviceDiagnosticsConfigFlagsNV);
16288 }
16289 
16290 #endif
16291 #ifdef VK_QCOM_render_pass_store_ops
16292 #endif
16293 #ifdef VK_NV_low_latency
reservedmarshal_VkQueryLowLatencySupportNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryLowLatencySupportNV * forMarshaling,uint8_t ** ptr)16294 void reservedmarshal_VkQueryLowLatencySupportNV(VulkanStreamGuest* vkStream,
16295                                                 VkStructureType rootType,
16296                                                 const VkQueryLowLatencySupportNV* forMarshaling,
16297                                                 uint8_t** ptr) {
16298     (void)vkStream;
16299     (void)rootType;
16300     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16301     *ptr += sizeof(VkStructureType);
16302     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16303         rootType = forMarshaling->sType;
16304     }
16305     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16306     memcpy(*ptr, (void*)forMarshaling->pQueriedLowLatencyData, sizeof(uint8_t));
16307     *ptr += sizeof(uint8_t);
16308 }
16309 
16310 #endif
16311 #ifdef VK_EXT_metal_objects
reservedmarshal_VkExportMetalObjectCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalObjectCreateInfoEXT * forMarshaling,uint8_t ** ptr)16312 void reservedmarshal_VkExportMetalObjectCreateInfoEXT(
16313     VulkanStreamGuest* vkStream, VkStructureType rootType,
16314     const VkExportMetalObjectCreateInfoEXT* forMarshaling, uint8_t** ptr) {
16315     (void)vkStream;
16316     (void)rootType;
16317     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16318     *ptr += sizeof(VkStructureType);
16319     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16320         rootType = forMarshaling->sType;
16321     }
16322     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16323     memcpy(*ptr, (VkExportMetalObjectTypeFlagBitsEXT*)&forMarshaling->exportObjectType,
16324            sizeof(VkExportMetalObjectTypeFlagBitsEXT));
16325     *ptr += sizeof(VkExportMetalObjectTypeFlagBitsEXT);
16326 }
16327 
reservedmarshal_VkExportMetalObjectsInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalObjectsInfoEXT * forMarshaling,uint8_t ** ptr)16328 void reservedmarshal_VkExportMetalObjectsInfoEXT(VulkanStreamGuest* vkStream,
16329                                                  VkStructureType rootType,
16330                                                  const VkExportMetalObjectsInfoEXT* forMarshaling,
16331                                                  uint8_t** ptr) {
16332     (void)vkStream;
16333     (void)rootType;
16334     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16335     *ptr += sizeof(VkStructureType);
16336     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16337         rootType = forMarshaling->sType;
16338     }
16339     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16340 }
16341 
reservedmarshal_VkExportMetalDeviceInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalDeviceInfoEXT * forMarshaling,uint8_t ** ptr)16342 void reservedmarshal_VkExportMetalDeviceInfoEXT(VulkanStreamGuest* vkStream,
16343                                                 VkStructureType rootType,
16344                                                 const VkExportMetalDeviceInfoEXT* forMarshaling,
16345                                                 uint8_t** ptr) {
16346     (void)vkStream;
16347     (void)rootType;
16348     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16349     *ptr += sizeof(VkStructureType);
16350     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16351         rootType = forMarshaling->sType;
16352     }
16353     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16354     memcpy(*ptr, (MTLDevice_id*)&forMarshaling->mtlDevice, sizeof(MTLDevice_id));
16355     *ptr += sizeof(MTLDevice_id);
16356 }
16357 
reservedmarshal_VkExportMetalCommandQueueInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalCommandQueueInfoEXT * forMarshaling,uint8_t ** ptr)16358 void reservedmarshal_VkExportMetalCommandQueueInfoEXT(
16359     VulkanStreamGuest* vkStream, VkStructureType rootType,
16360     const VkExportMetalCommandQueueInfoEXT* forMarshaling, uint8_t** ptr) {
16361     (void)vkStream;
16362     (void)rootType;
16363     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16364     *ptr += sizeof(VkStructureType);
16365     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16366         rootType = forMarshaling->sType;
16367     }
16368     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16369     uint64_t cgen_var_0;
16370     *&cgen_var_0 = get_host_u64_VkQueue((*&forMarshaling->queue));
16371     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16372     *ptr += 1 * 8;
16373     memcpy(*ptr, (MTLCommandQueue_id*)&forMarshaling->mtlCommandQueue, sizeof(MTLCommandQueue_id));
16374     *ptr += sizeof(MTLCommandQueue_id);
16375 }
16376 
reservedmarshal_VkExportMetalBufferInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalBufferInfoEXT * forMarshaling,uint8_t ** ptr)16377 void reservedmarshal_VkExportMetalBufferInfoEXT(VulkanStreamGuest* vkStream,
16378                                                 VkStructureType rootType,
16379                                                 const VkExportMetalBufferInfoEXT* forMarshaling,
16380                                                 uint8_t** ptr) {
16381     (void)vkStream;
16382     (void)rootType;
16383     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16384     *ptr += sizeof(VkStructureType);
16385     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16386         rootType = forMarshaling->sType;
16387     }
16388     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16389     uint64_t cgen_var_0;
16390     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
16391     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16392     *ptr += 1 * 8;
16393     memcpy(*ptr, (MTLBuffer_id*)&forMarshaling->mtlBuffer, sizeof(MTLBuffer_id));
16394     *ptr += sizeof(MTLBuffer_id);
16395 }
16396 
reservedmarshal_VkImportMetalBufferInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMetalBufferInfoEXT * forMarshaling,uint8_t ** ptr)16397 void reservedmarshal_VkImportMetalBufferInfoEXT(VulkanStreamGuest* vkStream,
16398                                                 VkStructureType rootType,
16399                                                 const VkImportMetalBufferInfoEXT* forMarshaling,
16400                                                 uint8_t** ptr) {
16401     (void)vkStream;
16402     (void)rootType;
16403     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16404     *ptr += sizeof(VkStructureType);
16405     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16406         rootType = forMarshaling->sType;
16407     }
16408     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16409     memcpy(*ptr, (MTLBuffer_id*)&forMarshaling->mtlBuffer, sizeof(MTLBuffer_id));
16410     *ptr += sizeof(MTLBuffer_id);
16411 }
16412 
reservedmarshal_VkExportMetalTextureInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalTextureInfoEXT * forMarshaling,uint8_t ** ptr)16413 void reservedmarshal_VkExportMetalTextureInfoEXT(VulkanStreamGuest* vkStream,
16414                                                  VkStructureType rootType,
16415                                                  const VkExportMetalTextureInfoEXT* forMarshaling,
16416                                                  uint8_t** ptr) {
16417     (void)vkStream;
16418     (void)rootType;
16419     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16420     *ptr += sizeof(VkStructureType);
16421     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16422         rootType = forMarshaling->sType;
16423     }
16424     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16425     uint64_t cgen_var_0;
16426     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
16427     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16428     *ptr += 1 * 8;
16429     uint64_t cgen_var_1;
16430     *&cgen_var_1 = get_host_u64_VkImageView((*&forMarshaling->imageView));
16431     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
16432     *ptr += 1 * 8;
16433     uint64_t cgen_var_2;
16434     *&cgen_var_2 = get_host_u64_VkBufferView((*&forMarshaling->bufferView));
16435     memcpy(*ptr, (uint64_t*)&cgen_var_2, 1 * 8);
16436     *ptr += 1 * 8;
16437     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->plane, sizeof(VkImageAspectFlagBits));
16438     *ptr += sizeof(VkImageAspectFlagBits);
16439     memcpy(*ptr, (MTLTexture_id*)&forMarshaling->mtlTexture, sizeof(MTLTexture_id));
16440     *ptr += sizeof(MTLTexture_id);
16441 }
16442 
reservedmarshal_VkImportMetalTextureInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMetalTextureInfoEXT * forMarshaling,uint8_t ** ptr)16443 void reservedmarshal_VkImportMetalTextureInfoEXT(VulkanStreamGuest* vkStream,
16444                                                  VkStructureType rootType,
16445                                                  const VkImportMetalTextureInfoEXT* forMarshaling,
16446                                                  uint8_t** ptr) {
16447     (void)vkStream;
16448     (void)rootType;
16449     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16450     *ptr += sizeof(VkStructureType);
16451     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16452         rootType = forMarshaling->sType;
16453     }
16454     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16455     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->plane, sizeof(VkImageAspectFlagBits));
16456     *ptr += sizeof(VkImageAspectFlagBits);
16457     memcpy(*ptr, (MTLTexture_id*)&forMarshaling->mtlTexture, sizeof(MTLTexture_id));
16458     *ptr += sizeof(MTLTexture_id);
16459 }
16460 
reservedmarshal_VkExportMetalIOSurfaceInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalIOSurfaceInfoEXT * forMarshaling,uint8_t ** ptr)16461 void reservedmarshal_VkExportMetalIOSurfaceInfoEXT(
16462     VulkanStreamGuest* vkStream, VkStructureType rootType,
16463     const VkExportMetalIOSurfaceInfoEXT* forMarshaling, uint8_t** ptr) {
16464     (void)vkStream;
16465     (void)rootType;
16466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16467     *ptr += sizeof(VkStructureType);
16468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16469         rootType = forMarshaling->sType;
16470     }
16471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16472     uint64_t cgen_var_0;
16473     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
16474     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16475     *ptr += 1 * 8;
16476     memcpy(*ptr, (IOSurfaceRef*)&forMarshaling->ioSurface, sizeof(IOSurfaceRef));
16477     *ptr += sizeof(IOSurfaceRef);
16478 }
16479 
reservedmarshal_VkImportMetalIOSurfaceInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMetalIOSurfaceInfoEXT * forMarshaling,uint8_t ** ptr)16480 void reservedmarshal_VkImportMetalIOSurfaceInfoEXT(
16481     VulkanStreamGuest* vkStream, VkStructureType rootType,
16482     const VkImportMetalIOSurfaceInfoEXT* forMarshaling, uint8_t** ptr) {
16483     (void)vkStream;
16484     (void)rootType;
16485     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16486     *ptr += sizeof(VkStructureType);
16487     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16488         rootType = forMarshaling->sType;
16489     }
16490     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16491     memcpy(*ptr, (IOSurfaceRef*)&forMarshaling->ioSurface, sizeof(IOSurfaceRef));
16492     *ptr += sizeof(IOSurfaceRef);
16493 }
16494 
reservedmarshal_VkExportMetalSharedEventInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMetalSharedEventInfoEXT * forMarshaling,uint8_t ** ptr)16495 void reservedmarshal_VkExportMetalSharedEventInfoEXT(
16496     VulkanStreamGuest* vkStream, VkStructureType rootType,
16497     const VkExportMetalSharedEventInfoEXT* forMarshaling, uint8_t** ptr) {
16498     (void)vkStream;
16499     (void)rootType;
16500     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16501     *ptr += sizeof(VkStructureType);
16502     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16503         rootType = forMarshaling->sType;
16504     }
16505     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16506     uint64_t cgen_var_0;
16507     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
16508     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16509     *ptr += 1 * 8;
16510     uint64_t cgen_var_1;
16511     *&cgen_var_1 = get_host_u64_VkEvent((*&forMarshaling->event));
16512     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
16513     *ptr += 1 * 8;
16514     memcpy(*ptr, (MTLSharedEvent_id*)&forMarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id));
16515     *ptr += sizeof(MTLSharedEvent_id);
16516 }
16517 
reservedmarshal_VkImportMetalSharedEventInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMetalSharedEventInfoEXT * forMarshaling,uint8_t ** ptr)16518 void reservedmarshal_VkImportMetalSharedEventInfoEXT(
16519     VulkanStreamGuest* vkStream, VkStructureType rootType,
16520     const VkImportMetalSharedEventInfoEXT* forMarshaling, uint8_t** ptr) {
16521     (void)vkStream;
16522     (void)rootType;
16523     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16524     *ptr += sizeof(VkStructureType);
16525     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16526         rootType = forMarshaling->sType;
16527     }
16528     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16529     memcpy(*ptr, (MTLSharedEvent_id*)&forMarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id));
16530     *ptr += sizeof(MTLSharedEvent_id);
16531 }
16532 
16533 #endif
16534 #ifdef VK_EXT_descriptor_buffer
reservedmarshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferPropertiesEXT * forMarshaling,uint8_t ** ptr)16535 void reservedmarshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT(
16536     VulkanStreamGuest* vkStream, VkStructureType rootType,
16537     const VkPhysicalDeviceDescriptorBufferPropertiesEXT* forMarshaling, uint8_t** ptr) {
16538     (void)vkStream;
16539     (void)rootType;
16540     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16541     *ptr += sizeof(VkStructureType);
16542     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16543         rootType = forMarshaling->sType;
16544     }
16545     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16546     memcpy(*ptr, (VkBool32*)&forMarshaling->combinedImageSamplerDescriptorSingleArray,
16547            sizeof(VkBool32));
16548     *ptr += sizeof(VkBool32);
16549     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferlessPushDescriptors, sizeof(VkBool32));
16550     *ptr += sizeof(VkBool32);
16551     memcpy(*ptr, (VkBool32*)&forMarshaling->allowSamplerImageViewPostSubmitCreation,
16552            sizeof(VkBool32));
16553     *ptr += sizeof(VkBool32);
16554     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->descriptorBufferOffsetAlignment,
16555            sizeof(VkDeviceSize));
16556     *ptr += sizeof(VkDeviceSize);
16557     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorBufferBindings, sizeof(uint32_t));
16558     *ptr += sizeof(uint32_t);
16559     memcpy(*ptr, (uint32_t*)&forMarshaling->maxResourceDescriptorBufferBindings, sizeof(uint32_t));
16560     *ptr += sizeof(uint32_t);
16561     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSamplerDescriptorBufferBindings, sizeof(uint32_t));
16562     *ptr += sizeof(uint32_t);
16563     memcpy(*ptr, (uint32_t*)&forMarshaling->maxEmbeddedImmutableSamplerBindings, sizeof(uint32_t));
16564     *ptr += sizeof(uint32_t);
16565     memcpy(*ptr, (uint32_t*)&forMarshaling->maxEmbeddedImmutableSamplers, sizeof(uint32_t));
16566     *ptr += sizeof(uint32_t);
16567     uint64_t cgen_var_0 = (uint64_t)forMarshaling->bufferCaptureReplayDescriptorDataSize;
16568     memcpy((*ptr), &cgen_var_0, 8);
16569     android::base::Stream::toBe64((uint8_t*)(*ptr));
16570     *ptr += 8;
16571     uint64_t cgen_var_1 = (uint64_t)forMarshaling->imageCaptureReplayDescriptorDataSize;
16572     memcpy((*ptr), &cgen_var_1, 8);
16573     android::base::Stream::toBe64((uint8_t*)(*ptr));
16574     *ptr += 8;
16575     uint64_t cgen_var_2 = (uint64_t)forMarshaling->imageViewCaptureReplayDescriptorDataSize;
16576     memcpy((*ptr), &cgen_var_2, 8);
16577     android::base::Stream::toBe64((uint8_t*)(*ptr));
16578     *ptr += 8;
16579     uint64_t cgen_var_3 = (uint64_t)forMarshaling->samplerCaptureReplayDescriptorDataSize;
16580     memcpy((*ptr), &cgen_var_3, 8);
16581     android::base::Stream::toBe64((uint8_t*)(*ptr));
16582     *ptr += 8;
16583     uint64_t cgen_var_4 =
16584         (uint64_t)forMarshaling->accelerationStructureCaptureReplayDescriptorDataSize;
16585     memcpy((*ptr), &cgen_var_4, 8);
16586     android::base::Stream::toBe64((uint8_t*)(*ptr));
16587     *ptr += 8;
16588     uint64_t cgen_var_5 = (uint64_t)forMarshaling->samplerDescriptorSize;
16589     memcpy((*ptr), &cgen_var_5, 8);
16590     android::base::Stream::toBe64((uint8_t*)(*ptr));
16591     *ptr += 8;
16592     uint64_t cgen_var_6 = (uint64_t)forMarshaling->combinedImageSamplerDescriptorSize;
16593     memcpy((*ptr), &cgen_var_6, 8);
16594     android::base::Stream::toBe64((uint8_t*)(*ptr));
16595     *ptr += 8;
16596     uint64_t cgen_var_7 = (uint64_t)forMarshaling->sampledImageDescriptorSize;
16597     memcpy((*ptr), &cgen_var_7, 8);
16598     android::base::Stream::toBe64((uint8_t*)(*ptr));
16599     *ptr += 8;
16600     uint64_t cgen_var_8 = (uint64_t)forMarshaling->storageImageDescriptorSize;
16601     memcpy((*ptr), &cgen_var_8, 8);
16602     android::base::Stream::toBe64((uint8_t*)(*ptr));
16603     *ptr += 8;
16604     uint64_t cgen_var_9 = (uint64_t)forMarshaling->uniformTexelBufferDescriptorSize;
16605     memcpy((*ptr), &cgen_var_9, 8);
16606     android::base::Stream::toBe64((uint8_t*)(*ptr));
16607     *ptr += 8;
16608     uint64_t cgen_var_10 = (uint64_t)forMarshaling->robustUniformTexelBufferDescriptorSize;
16609     memcpy((*ptr), &cgen_var_10, 8);
16610     android::base::Stream::toBe64((uint8_t*)(*ptr));
16611     *ptr += 8;
16612     uint64_t cgen_var_11 = (uint64_t)forMarshaling->storageTexelBufferDescriptorSize;
16613     memcpy((*ptr), &cgen_var_11, 8);
16614     android::base::Stream::toBe64((uint8_t*)(*ptr));
16615     *ptr += 8;
16616     uint64_t cgen_var_12 = (uint64_t)forMarshaling->robustStorageTexelBufferDescriptorSize;
16617     memcpy((*ptr), &cgen_var_12, 8);
16618     android::base::Stream::toBe64((uint8_t*)(*ptr));
16619     *ptr += 8;
16620     uint64_t cgen_var_13 = (uint64_t)forMarshaling->uniformBufferDescriptorSize;
16621     memcpy((*ptr), &cgen_var_13, 8);
16622     android::base::Stream::toBe64((uint8_t*)(*ptr));
16623     *ptr += 8;
16624     uint64_t cgen_var_14 = (uint64_t)forMarshaling->robustUniformBufferDescriptorSize;
16625     memcpy((*ptr), &cgen_var_14, 8);
16626     android::base::Stream::toBe64((uint8_t*)(*ptr));
16627     *ptr += 8;
16628     uint64_t cgen_var_15 = (uint64_t)forMarshaling->storageBufferDescriptorSize;
16629     memcpy((*ptr), &cgen_var_15, 8);
16630     android::base::Stream::toBe64((uint8_t*)(*ptr));
16631     *ptr += 8;
16632     uint64_t cgen_var_16 = (uint64_t)forMarshaling->robustStorageBufferDescriptorSize;
16633     memcpy((*ptr), &cgen_var_16, 8);
16634     android::base::Stream::toBe64((uint8_t*)(*ptr));
16635     *ptr += 8;
16636     uint64_t cgen_var_17 = (uint64_t)forMarshaling->inputAttachmentDescriptorSize;
16637     memcpy((*ptr), &cgen_var_17, 8);
16638     android::base::Stream::toBe64((uint8_t*)(*ptr));
16639     *ptr += 8;
16640     uint64_t cgen_var_18 = (uint64_t)forMarshaling->accelerationStructureDescriptorSize;
16641     memcpy((*ptr), &cgen_var_18, 8);
16642     android::base::Stream::toBe64((uint8_t*)(*ptr));
16643     *ptr += 8;
16644     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxSamplerDescriptorBufferRange,
16645            sizeof(VkDeviceSize));
16646     *ptr += sizeof(VkDeviceSize);
16647     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxResourceDescriptorBufferRange,
16648            sizeof(VkDeviceSize));
16649     *ptr += sizeof(VkDeviceSize);
16650     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->samplerDescriptorBufferAddressSpaceSize,
16651            sizeof(VkDeviceSize));
16652     *ptr += sizeof(VkDeviceSize);
16653     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->resourceDescriptorBufferAddressSpaceSize,
16654            sizeof(VkDeviceSize));
16655     *ptr += sizeof(VkDeviceSize);
16656     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->descriptorBufferAddressSpaceSize,
16657            sizeof(VkDeviceSize));
16658     *ptr += sizeof(VkDeviceSize);
16659 }
16660 
reservedmarshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT * forMarshaling,uint8_t ** ptr)16661 void reservedmarshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(
16662     VulkanStreamGuest* vkStream, VkStructureType rootType,
16663     const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* forMarshaling, uint8_t** ptr) {
16664     (void)vkStream;
16665     (void)rootType;
16666     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16667     *ptr += sizeof(VkStructureType);
16668     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16669         rootType = forMarshaling->sType;
16670     }
16671     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16672     uint64_t cgen_var_0 = (uint64_t)forMarshaling->combinedImageSamplerDensityMapDescriptorSize;
16673     memcpy((*ptr), &cgen_var_0, 8);
16674     android::base::Stream::toBe64((uint8_t*)(*ptr));
16675     *ptr += 8;
16676 }
16677 
reservedmarshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferFeaturesEXT * forMarshaling,uint8_t ** ptr)16678 void reservedmarshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT(
16679     VulkanStreamGuest* vkStream, VkStructureType rootType,
16680     const VkPhysicalDeviceDescriptorBufferFeaturesEXT* forMarshaling, uint8_t** ptr) {
16681     (void)vkStream;
16682     (void)rootType;
16683     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16684     *ptr += sizeof(VkStructureType);
16685     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16686         rootType = forMarshaling->sType;
16687     }
16688     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16689     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBuffer, sizeof(VkBool32));
16690     *ptr += sizeof(VkBool32);
16691     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBufferCaptureReplay, sizeof(VkBool32));
16692     *ptr += sizeof(VkBool32);
16693     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBufferImageLayoutIgnored, sizeof(VkBool32));
16694     *ptr += sizeof(VkBool32);
16695     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBufferPushDescriptors, sizeof(VkBool32));
16696     *ptr += sizeof(VkBool32);
16697 }
16698 
reservedmarshal_VkDescriptorAddressInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorAddressInfoEXT * forMarshaling,uint8_t ** ptr)16699 void reservedmarshal_VkDescriptorAddressInfoEXT(VulkanStreamGuest* vkStream,
16700                                                 VkStructureType rootType,
16701                                                 const VkDescriptorAddressInfoEXT* forMarshaling,
16702                                                 uint8_t** ptr) {
16703     (void)vkStream;
16704     (void)rootType;
16705     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16706     *ptr += sizeof(VkStructureType);
16707     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16708         rootType = forMarshaling->sType;
16709     }
16710     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16711     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->address, sizeof(VkDeviceAddress));
16712     *ptr += sizeof(VkDeviceAddress);
16713     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
16714     *ptr += sizeof(VkDeviceSize);
16715     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
16716     *ptr += sizeof(VkFormat);
16717 }
16718 
reservedmarshal_VkDescriptorBufferBindingInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorBufferBindingInfoEXT * forMarshaling,uint8_t ** ptr)16719 void reservedmarshal_VkDescriptorBufferBindingInfoEXT(
16720     VulkanStreamGuest* vkStream, VkStructureType rootType,
16721     const VkDescriptorBufferBindingInfoEXT* forMarshaling, uint8_t** ptr) {
16722     (void)vkStream;
16723     (void)rootType;
16724     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16725     *ptr += sizeof(VkStructureType);
16726     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16727         rootType = forMarshaling->sType;
16728     }
16729     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16730     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->address, sizeof(VkDeviceAddress));
16731     *ptr += sizeof(VkDeviceAddress);
16732     memcpy(*ptr, (VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
16733     *ptr += sizeof(VkBufferUsageFlags);
16734 }
16735 
reservedmarshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT * forMarshaling,uint8_t ** ptr)16736 void reservedmarshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(
16737     VulkanStreamGuest* vkStream, VkStructureType rootType,
16738     const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* forMarshaling, uint8_t** ptr) {
16739     (void)vkStream;
16740     (void)rootType;
16741     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16742     *ptr += sizeof(VkStructureType);
16743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16744         rootType = forMarshaling->sType;
16745     }
16746     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16747     uint64_t cgen_var_0;
16748     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
16749     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16750     *ptr += 1 * 8;
16751 }
16752 
reservedmarshal_VkDescriptorDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorDataEXT * forMarshaling,uint8_t ** ptr)16753 void reservedmarshal_VkDescriptorDataEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
16754                                          const VkDescriptorDataEXT* forMarshaling, uint8_t** ptr) {
16755     (void)vkStream;
16756     (void)rootType;
16757     uint64_t cgen_var_0;
16758     *&cgen_var_0 = get_host_u64_VkSampler((*forMarshaling->pSampler));
16759     memcpy(*ptr, (uint64_t*)&cgen_var_0, 8);
16760     *ptr += 8;
16761 }
16762 
reservedmarshal_VkDescriptorGetInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorGetInfoEXT * forMarshaling,uint8_t ** ptr)16763 void reservedmarshal_VkDescriptorGetInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
16764                                             const VkDescriptorGetInfoEXT* forMarshaling,
16765                                             uint8_t** ptr) {
16766     (void)vkStream;
16767     (void)rootType;
16768     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16769     *ptr += sizeof(VkStructureType);
16770     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16771         rootType = forMarshaling->sType;
16772     }
16773     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16774     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
16775     *ptr += sizeof(VkDescriptorType);
16776     reservedmarshal_VkDescriptorDataEXT(vkStream, rootType,
16777                                         (VkDescriptorDataEXT*)(&forMarshaling->data), ptr);
16778 }
16779 
reservedmarshal_VkBufferCaptureDescriptorDataInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCaptureDescriptorDataInfoEXT * forMarshaling,uint8_t ** ptr)16780 void reservedmarshal_VkBufferCaptureDescriptorDataInfoEXT(
16781     VulkanStreamGuest* vkStream, VkStructureType rootType,
16782     const VkBufferCaptureDescriptorDataInfoEXT* forMarshaling, uint8_t** ptr) {
16783     (void)vkStream;
16784     (void)rootType;
16785     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16786     *ptr += sizeof(VkStructureType);
16787     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16788         rootType = forMarshaling->sType;
16789     }
16790     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16791     uint64_t cgen_var_0;
16792     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
16793     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16794     *ptr += 1 * 8;
16795 }
16796 
reservedmarshal_VkImageCaptureDescriptorDataInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCaptureDescriptorDataInfoEXT * forMarshaling,uint8_t ** ptr)16797 void reservedmarshal_VkImageCaptureDescriptorDataInfoEXT(
16798     VulkanStreamGuest* vkStream, VkStructureType rootType,
16799     const VkImageCaptureDescriptorDataInfoEXT* forMarshaling, uint8_t** ptr) {
16800     (void)vkStream;
16801     (void)rootType;
16802     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16803     *ptr += sizeof(VkStructureType);
16804     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16805         rootType = forMarshaling->sType;
16806     }
16807     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16808     uint64_t cgen_var_0;
16809     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
16810     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16811     *ptr += 1 * 8;
16812 }
16813 
reservedmarshal_VkImageViewCaptureDescriptorDataInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewCaptureDescriptorDataInfoEXT * forMarshaling,uint8_t ** ptr)16814 void reservedmarshal_VkImageViewCaptureDescriptorDataInfoEXT(
16815     VulkanStreamGuest* vkStream, VkStructureType rootType,
16816     const VkImageViewCaptureDescriptorDataInfoEXT* forMarshaling, uint8_t** ptr) {
16817     (void)vkStream;
16818     (void)rootType;
16819     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16820     *ptr += sizeof(VkStructureType);
16821     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16822         rootType = forMarshaling->sType;
16823     }
16824     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16825     uint64_t cgen_var_0;
16826     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
16827     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16828     *ptr += 1 * 8;
16829 }
16830 
reservedmarshal_VkSamplerCaptureDescriptorDataInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCaptureDescriptorDataInfoEXT * forMarshaling,uint8_t ** ptr)16831 void reservedmarshal_VkSamplerCaptureDescriptorDataInfoEXT(
16832     VulkanStreamGuest* vkStream, VkStructureType rootType,
16833     const VkSamplerCaptureDescriptorDataInfoEXT* forMarshaling, uint8_t** ptr) {
16834     (void)vkStream;
16835     (void)rootType;
16836     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16837     *ptr += sizeof(VkStructureType);
16838     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16839         rootType = forMarshaling->sType;
16840     }
16841     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16842     uint64_t cgen_var_0;
16843     *&cgen_var_0 = get_host_u64_VkSampler((*&forMarshaling->sampler));
16844     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16845     *ptr += 1 * 8;
16846 }
16847 
reservedmarshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpaqueCaptureDescriptorDataCreateInfoEXT * forMarshaling,uint8_t ** ptr)16848 void reservedmarshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT(
16849     VulkanStreamGuest* vkStream, VkStructureType rootType,
16850     const VkOpaqueCaptureDescriptorDataCreateInfoEXT* forMarshaling, uint8_t** ptr) {
16851     (void)vkStream;
16852     (void)rootType;
16853     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16854     *ptr += sizeof(VkStructureType);
16855     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16856         rootType = forMarshaling->sType;
16857     }
16858     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16859     memcpy(*ptr, (const void*)forMarshaling->opaqueCaptureDescriptorData, sizeof(const uint8_t));
16860     *ptr += sizeof(const uint8_t);
16861 }
16862 
reservedmarshal_VkAccelerationStructureCaptureDescriptorDataInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * forMarshaling,uint8_t ** ptr)16863 void reservedmarshal_VkAccelerationStructureCaptureDescriptorDataInfoEXT(
16864     VulkanStreamGuest* vkStream, VkStructureType rootType,
16865     const VkAccelerationStructureCaptureDescriptorDataInfoEXT* forMarshaling, uint8_t** ptr) {
16866     (void)vkStream;
16867     (void)rootType;
16868     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16869     *ptr += sizeof(VkStructureType);
16870     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16871         rootType = forMarshaling->sType;
16872     }
16873     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16874     uint64_t cgen_var_0;
16875     *&cgen_var_0 =
16876         get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->accelerationStructure));
16877     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
16878     *ptr += 1 * 8;
16879     uint64_t cgen_var_1;
16880     *&cgen_var_1 =
16881         get_host_u64_VkAccelerationStructureNV((*&forMarshaling->accelerationStructureNV));
16882     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
16883     *ptr += 1 * 8;
16884 }
16885 
16886 #endif
16887 #ifdef VK_EXT_graphics_pipeline_library
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forMarshaling,uint8_t ** ptr)16888 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
16889     VulkanStreamGuest* vkStream, VkStructureType rootType,
16890     const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling, uint8_t** ptr) {
16891     (void)vkStream;
16892     (void)rootType;
16893     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16894     *ptr += sizeof(VkStructureType);
16895     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16896         rootType = forMarshaling->sType;
16897     }
16898     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16899     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
16900     *ptr += sizeof(VkBool32);
16901 }
16902 
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forMarshaling,uint8_t ** ptr)16903 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
16904     VulkanStreamGuest* vkStream, VkStructureType rootType,
16905     const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling, uint8_t** ptr) {
16906     (void)vkStream;
16907     (void)rootType;
16908     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16909     *ptr += sizeof(VkStructureType);
16910     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16911         rootType = forMarshaling->sType;
16912     }
16913     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16914     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking, sizeof(VkBool32));
16915     *ptr += sizeof(VkBool32);
16916     memcpy(*ptr,
16917            (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
16918            sizeof(VkBool32));
16919     *ptr += sizeof(VkBool32);
16920 }
16921 
reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * forMarshaling,uint8_t ** ptr)16922 void reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
16923     VulkanStreamGuest* vkStream, VkStructureType rootType,
16924     const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling, uint8_t** ptr) {
16925     (void)vkStream;
16926     (void)rootType;
16927     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16928     *ptr += sizeof(VkStructureType);
16929     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16930         rootType = forMarshaling->sType;
16931     }
16932     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16933     memcpy(*ptr, (VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags,
16934            sizeof(VkGraphicsPipelineLibraryFlagsEXT));
16935     *ptr += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
16936 }
16937 
16938 #endif
16939 #ifdef VK_AMD_shader_early_and_late_fragment_tests
reservedmarshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD * forMarshaling,uint8_t ** ptr)16940 void reservedmarshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(
16941     VulkanStreamGuest* vkStream, VkStructureType rootType,
16942     const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* forMarshaling,
16943     uint8_t** ptr) {
16944     (void)vkStream;
16945     (void)rootType;
16946     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16947     *ptr += sizeof(VkStructureType);
16948     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16949         rootType = forMarshaling->sType;
16950     }
16951     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16952     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderEarlyAndLateFragmentTests, sizeof(VkBool32));
16953     *ptr += sizeof(VkBool32);
16954 }
16955 
16956 #endif
16957 #ifdef VK_NV_fragment_shading_rate_enums
reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV * forMarshaling,uint8_t ** ptr)16958 void reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
16959     VulkanStreamGuest* vkStream, VkStructureType rootType,
16960     const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* forMarshaling, uint8_t** ptr) {
16961     (void)vkStream;
16962     (void)rootType;
16963     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16964     *ptr += sizeof(VkStructureType);
16965     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16966         rootType = forMarshaling->sType;
16967     }
16968     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16969     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateEnums, sizeof(VkBool32));
16970     *ptr += sizeof(VkBool32);
16971     memcpy(*ptr, (VkBool32*)&forMarshaling->supersampleFragmentShadingRates, sizeof(VkBool32));
16972     *ptr += sizeof(VkBool32);
16973     memcpy(*ptr, (VkBool32*)&forMarshaling->noInvocationFragmentShadingRates, sizeof(VkBool32));
16974     *ptr += sizeof(VkBool32);
16975 }
16976 
reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV * forMarshaling,uint8_t ** ptr)16977 void reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
16978     VulkanStreamGuest* vkStream, VkStructureType rootType,
16979     const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* forMarshaling, uint8_t** ptr) {
16980     (void)vkStream;
16981     (void)rootType;
16982     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16983     *ptr += sizeof(VkStructureType);
16984     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16985         rootType = forMarshaling->sType;
16986     }
16987     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
16988     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->maxFragmentShadingRateInvocationCount,
16989            sizeof(VkSampleCountFlagBits));
16990     *ptr += sizeof(VkSampleCountFlagBits);
16991 }
16992 
reservedmarshal_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineFragmentShadingRateEnumStateCreateInfoNV * forMarshaling,uint8_t ** ptr)16993 void reservedmarshal_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
16994     VulkanStreamGuest* vkStream, VkStructureType rootType,
16995     const VkPipelineFragmentShadingRateEnumStateCreateInfoNV* forMarshaling, uint8_t** ptr) {
16996     (void)vkStream;
16997     (void)rootType;
16998     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16999     *ptr += sizeof(VkStructureType);
17000     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17001         rootType = forMarshaling->sType;
17002     }
17003     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17004     memcpy(*ptr, (VkFragmentShadingRateTypeNV*)&forMarshaling->shadingRateType,
17005            sizeof(VkFragmentShadingRateTypeNV));
17006     *ptr += sizeof(VkFragmentShadingRateTypeNV);
17007     memcpy(*ptr, (VkFragmentShadingRateNV*)&forMarshaling->shadingRate,
17008            sizeof(VkFragmentShadingRateNV));
17009     *ptr += sizeof(VkFragmentShadingRateNV);
17010     memcpy(*ptr, (VkFragmentShadingRateCombinerOpKHR*)forMarshaling->combinerOps,
17011            2 * sizeof(VkFragmentShadingRateCombinerOpKHR));
17012     *ptr += 2 * sizeof(VkFragmentShadingRateCombinerOpKHR);
17013 }
17014 
17015 #endif
17016 #ifdef VK_NV_ray_tracing_motion_blur
reservedmarshal_VkDeviceOrHostAddressConstKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceOrHostAddressConstKHR * forMarshaling,uint8_t ** ptr)17017 void reservedmarshal_VkDeviceOrHostAddressConstKHR(
17018     VulkanStreamGuest* vkStream, VkStructureType rootType,
17019     const VkDeviceOrHostAddressConstKHR* forMarshaling, uint8_t** ptr) {
17020     (void)vkStream;
17021     (void)rootType;
17022     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
17023     *ptr += sizeof(VkDeviceAddress);
17024 }
17025 
reservedmarshal_VkAccelerationStructureGeometryMotionTrianglesDataNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryMotionTrianglesDataNV * forMarshaling,uint8_t ** ptr)17026 void reservedmarshal_VkAccelerationStructureGeometryMotionTrianglesDataNV(
17027     VulkanStreamGuest* vkStream, VkStructureType rootType,
17028     const VkAccelerationStructureGeometryMotionTrianglesDataNV* forMarshaling, uint8_t** ptr) {
17029     (void)vkStream;
17030     (void)rootType;
17031     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17032     *ptr += sizeof(VkStructureType);
17033     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17034         rootType = forMarshaling->sType;
17035     }
17036     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17037     reservedmarshal_VkDeviceOrHostAddressConstKHR(
17038         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->vertexData), ptr);
17039 }
17040 
reservedmarshal_VkAccelerationStructureMotionInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureMotionInfoNV * forMarshaling,uint8_t ** ptr)17041 void reservedmarshal_VkAccelerationStructureMotionInfoNV(
17042     VulkanStreamGuest* vkStream, VkStructureType rootType,
17043     const VkAccelerationStructureMotionInfoNV* forMarshaling, uint8_t** ptr) {
17044     (void)vkStream;
17045     (void)rootType;
17046     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17047     *ptr += sizeof(VkStructureType);
17048     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17049         rootType = forMarshaling->sType;
17050     }
17051     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17052     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInstances, sizeof(uint32_t));
17053     *ptr += sizeof(uint32_t);
17054     memcpy(*ptr, (VkAccelerationStructureMotionInfoFlagsNV*)&forMarshaling->flags,
17055            sizeof(VkAccelerationStructureMotionInfoFlagsNV));
17056     *ptr += sizeof(VkAccelerationStructureMotionInfoFlagsNV);
17057 }
17058 
reservedmarshal_VkAccelerationStructureMatrixMotionInstanceNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureMatrixMotionInstanceNV * forMarshaling,uint8_t ** ptr)17059 void reservedmarshal_VkAccelerationStructureMatrixMotionInstanceNV(
17060     VulkanStreamGuest* vkStream, VkStructureType rootType,
17061     const VkAccelerationStructureMatrixMotionInstanceNV* forMarshaling, uint8_t** ptr) {
17062     typedef struct VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields {
17063         VkTransformMatrixKHR transformT0;
17064         VkTransformMatrixKHR transformT1;
17065         uint32_t dwords[2];
17066         uint64_t accelerationStructureReference;
17067     } VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields;
17068 
17069     (void)vkStream;
17070     const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields* forMarshaling_new =
17071         (const VkAccelerationStructureMatrixMotionInstanceNVWithoutBitFields*)(forMarshaling);
17072     reservedmarshal_VkTransformMatrixKHR(
17073         vkStream, rootType, (VkTransformMatrixKHR*)(&forMarshaling_new->transformT0), ptr);
17074     reservedmarshal_VkTransformMatrixKHR(
17075         vkStream, rootType, (VkTransformMatrixKHR*)(&forMarshaling_new->transformT1), ptr);
17076     for (uint32_t i = 0; i < 2; i++) {
17077         memcpy(*ptr, (uint32_t*)&(forMarshaling_new->dwords[i]), sizeof(uint32_t));
17078         *ptr += sizeof(uint32_t);
17079     }
17080     memcpy(*ptr, (uint64_t*)&forMarshaling_new->accelerationStructureReference, sizeof(uint64_t));
17081     *ptr += sizeof(uint64_t);
17082 }
17083 
reservedmarshal_VkSRTDataNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSRTDataNV * forMarshaling,uint8_t ** ptr)17084 void reservedmarshal_VkSRTDataNV(VulkanStreamGuest* vkStream, VkStructureType rootType,
17085                                  const VkSRTDataNV* forMarshaling, uint8_t** ptr) {
17086     (void)vkStream;
17087     (void)rootType;
17088     memcpy(*ptr, (float*)&forMarshaling->sx, sizeof(float));
17089     *ptr += sizeof(float);
17090     memcpy(*ptr, (float*)&forMarshaling->a, sizeof(float));
17091     *ptr += sizeof(float);
17092     memcpy(*ptr, (float*)&forMarshaling->b, sizeof(float));
17093     *ptr += sizeof(float);
17094     memcpy(*ptr, (float*)&forMarshaling->pvx, sizeof(float));
17095     *ptr += sizeof(float);
17096     memcpy(*ptr, (float*)&forMarshaling->sy, sizeof(float));
17097     *ptr += sizeof(float);
17098     memcpy(*ptr, (float*)&forMarshaling->c, sizeof(float));
17099     *ptr += sizeof(float);
17100     memcpy(*ptr, (float*)&forMarshaling->pvy, sizeof(float));
17101     *ptr += sizeof(float);
17102     memcpy(*ptr, (float*)&forMarshaling->sz, sizeof(float));
17103     *ptr += sizeof(float);
17104     memcpy(*ptr, (float*)&forMarshaling->pvz, sizeof(float));
17105     *ptr += sizeof(float);
17106     memcpy(*ptr, (float*)&forMarshaling->qx, sizeof(float));
17107     *ptr += sizeof(float);
17108     memcpy(*ptr, (float*)&forMarshaling->qy, sizeof(float));
17109     *ptr += sizeof(float);
17110     memcpy(*ptr, (float*)&forMarshaling->qz, sizeof(float));
17111     *ptr += sizeof(float);
17112     memcpy(*ptr, (float*)&forMarshaling->qw, sizeof(float));
17113     *ptr += sizeof(float);
17114     memcpy(*ptr, (float*)&forMarshaling->tx, sizeof(float));
17115     *ptr += sizeof(float);
17116     memcpy(*ptr, (float*)&forMarshaling->ty, sizeof(float));
17117     *ptr += sizeof(float);
17118     memcpy(*ptr, (float*)&forMarshaling->tz, sizeof(float));
17119     *ptr += sizeof(float);
17120 }
17121 
reservedmarshal_VkAccelerationStructureSRTMotionInstanceNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureSRTMotionInstanceNV * forMarshaling,uint8_t ** ptr)17122 void reservedmarshal_VkAccelerationStructureSRTMotionInstanceNV(
17123     VulkanStreamGuest* vkStream, VkStructureType rootType,
17124     const VkAccelerationStructureSRTMotionInstanceNV* forMarshaling, uint8_t** ptr) {
17125     typedef struct VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields {
17126         VkSRTDataNV transformT0;
17127         VkSRTDataNV transformT1;
17128         uint32_t dwords[2];
17129         uint64_t accelerationStructureReference;
17130     } VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields;
17131 
17132     (void)vkStream;
17133     const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields* forMarshaling_new =
17134         (const VkAccelerationStructureSRTMotionInstanceNVWithoutBitFields*)(forMarshaling);
17135     reservedmarshal_VkSRTDataNV(vkStream, rootType, (VkSRTDataNV*)(&forMarshaling_new->transformT0),
17136                                 ptr);
17137     reservedmarshal_VkSRTDataNV(vkStream, rootType, (VkSRTDataNV*)(&forMarshaling_new->transformT1),
17138                                 ptr);
17139     for (uint32_t i = 0; i < 2; i++) {
17140         memcpy(*ptr, (uint32_t*)&(forMarshaling_new->dwords[i]), sizeof(uint32_t));
17141         *ptr += sizeof(uint32_t);
17142     }
17143     memcpy(*ptr, (uint64_t*)&forMarshaling_new->accelerationStructureReference, sizeof(uint64_t));
17144     *ptr += sizeof(uint64_t);
17145 }
17146 
reservedmarshal_VkAccelerationStructureMotionInstanceDataNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureMotionInstanceDataNV * forMarshaling,uint8_t ** ptr)17147 void reservedmarshal_VkAccelerationStructureMotionInstanceDataNV(
17148     VulkanStreamGuest* vkStream, VkStructureType rootType,
17149     const VkAccelerationStructureMotionInstanceDataNV* forMarshaling, uint8_t** ptr) {
17150     (void)vkStream;
17151     (void)rootType;
17152     reservedmarshal_VkAccelerationStructureInstanceKHR(
17153         vkStream, rootType, (VkAccelerationStructureInstanceKHR*)(&forMarshaling->staticInstance),
17154         ptr);
17155 }
17156 
reservedmarshal_VkAccelerationStructureMotionInstanceNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureMotionInstanceNV * forMarshaling,uint8_t ** ptr)17157 void reservedmarshal_VkAccelerationStructureMotionInstanceNV(
17158     VulkanStreamGuest* vkStream, VkStructureType rootType,
17159     const VkAccelerationStructureMotionInstanceNV* forMarshaling, uint8_t** ptr) {
17160     (void)vkStream;
17161     (void)rootType;
17162     memcpy(*ptr, (VkAccelerationStructureMotionInstanceTypeNV*)&forMarshaling->type,
17163            sizeof(VkAccelerationStructureMotionInstanceTypeNV));
17164     *ptr += sizeof(VkAccelerationStructureMotionInstanceTypeNV);
17165     memcpy(*ptr, (VkAccelerationStructureMotionInstanceFlagsNV*)&forMarshaling->flags,
17166            sizeof(VkAccelerationStructureMotionInstanceFlagsNV));
17167     *ptr += sizeof(VkAccelerationStructureMotionInstanceFlagsNV);
17168     reservedmarshal_VkAccelerationStructureMotionInstanceDataNV(
17169         vkStream, rootType, (VkAccelerationStructureMotionInstanceDataNV*)(&forMarshaling->data),
17170         ptr);
17171 }
17172 
reservedmarshal_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV * forMarshaling,uint8_t ** ptr)17173 void reservedmarshal_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
17174     VulkanStreamGuest* vkStream, VkStructureType rootType,
17175     const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* forMarshaling, uint8_t** ptr) {
17176     (void)vkStream;
17177     (void)rootType;
17178     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17179     *ptr += sizeof(VkStructureType);
17180     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17181         rootType = forMarshaling->sType;
17182     }
17183     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17184     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingMotionBlur, sizeof(VkBool32));
17185     *ptr += sizeof(VkBool32);
17186     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingMotionBlurPipelineTraceRaysIndirect,
17187            sizeof(VkBool32));
17188     *ptr += sizeof(VkBool32);
17189 }
17190 
17191 #endif
17192 #ifdef VK_EXT_ycbcr_2plane_444_formats
reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)17193 void reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
17194     VulkanStreamGuest* vkStream, VkStructureType rootType,
17195     const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
17196     (void)vkStream;
17197     (void)rootType;
17198     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17199     *ptr += sizeof(VkStructureType);
17200     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17201         rootType = forMarshaling->sType;
17202     }
17203     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17204     memcpy(*ptr, (VkBool32*)&forMarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
17205     *ptr += sizeof(VkBool32);
17206 }
17207 
17208 #endif
17209 #ifdef VK_EXT_fragment_density_map2
reservedmarshal_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT * forMarshaling,uint8_t ** ptr)17210 void reservedmarshal_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
17211     VulkanStreamGuest* vkStream, VkStructureType rootType,
17212     const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT* forMarshaling, uint8_t** ptr) {
17213     (void)vkStream;
17214     (void)rootType;
17215     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17216     *ptr += sizeof(VkStructureType);
17217     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17218         rootType = forMarshaling->sType;
17219     }
17220     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17221     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapDeferred, sizeof(VkBool32));
17222     *ptr += sizeof(VkBool32);
17223 }
17224 
reservedmarshal_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT * forMarshaling,uint8_t ** ptr)17225 void reservedmarshal_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
17226     VulkanStreamGuest* vkStream, VkStructureType rootType,
17227     const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT* forMarshaling, uint8_t** ptr) {
17228     (void)vkStream;
17229     (void)rootType;
17230     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17231     *ptr += sizeof(VkStructureType);
17232     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17233         rootType = forMarshaling->sType;
17234     }
17235     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17236     memcpy(*ptr, (VkBool32*)&forMarshaling->subsampledLoads, sizeof(VkBool32));
17237     *ptr += sizeof(VkBool32);
17238     memcpy(*ptr, (VkBool32*)&forMarshaling->subsampledCoarseReconstructionEarlyAccess,
17239            sizeof(VkBool32));
17240     *ptr += sizeof(VkBool32);
17241     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubsampledArrayLayers, sizeof(uint32_t));
17242     *ptr += sizeof(uint32_t);
17243     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetSubsampledSamplers, sizeof(uint32_t));
17244     *ptr += sizeof(uint32_t);
17245 }
17246 
17247 #endif
17248 #ifdef VK_QCOM_rotated_copy_commands
reservedmarshal_VkCopyCommandTransformInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyCommandTransformInfoQCOM * forMarshaling,uint8_t ** ptr)17249 void reservedmarshal_VkCopyCommandTransformInfoQCOM(
17250     VulkanStreamGuest* vkStream, VkStructureType rootType,
17251     const VkCopyCommandTransformInfoQCOM* forMarshaling, uint8_t** ptr) {
17252     (void)vkStream;
17253     (void)rootType;
17254     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17255     *ptr += sizeof(VkStructureType);
17256     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17257         rootType = forMarshaling->sType;
17258     }
17259     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17260     memcpy(*ptr, (VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform,
17261            sizeof(VkSurfaceTransformFlagBitsKHR));
17262     *ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
17263 }
17264 
17265 #endif
17266 #ifdef VK_EXT_image_robustness
17267 #endif
17268 #ifdef VK_EXT_image_compression_control
reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * forMarshaling,uint8_t ** ptr)17269 void reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
17270     VulkanStreamGuest* vkStream, VkStructureType rootType,
17271     const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling, uint8_t** ptr) {
17272     (void)vkStream;
17273     (void)rootType;
17274     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17275     *ptr += sizeof(VkStructureType);
17276     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17277         rootType = forMarshaling->sType;
17278     }
17279     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17280     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32));
17281     *ptr += sizeof(VkBool32);
17282 }
17283 
reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionControlEXT * forMarshaling,uint8_t ** ptr)17284 void reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest* vkStream,
17285                                                   VkStructureType rootType,
17286                                                   const VkImageCompressionControlEXT* forMarshaling,
17287                                                   uint8_t** ptr) {
17288     (void)vkStream;
17289     (void)rootType;
17290     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17291     *ptr += sizeof(VkStructureType);
17292     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17293         rootType = forMarshaling->sType;
17294     }
17295     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17296     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->flags,
17297            sizeof(VkImageCompressionFlagsEXT));
17298     *ptr += sizeof(VkImageCompressionFlagsEXT);
17299     memcpy(*ptr, (uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t));
17300     *ptr += sizeof(uint32_t);
17301     // WARNING PTR CHECK
17302     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags;
17303     memcpy((*ptr), &cgen_var_0, 8);
17304     android::base::Stream::toBe64((uint8_t*)(*ptr));
17305     *ptr += 8;
17306     if (forMarshaling->pFixedRateFlags) {
17307         memcpy(*ptr, (VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags,
17308                forMarshaling->compressionControlPlaneCount *
17309                    sizeof(VkImageCompressionFixedRateFlagsEXT));
17310         *ptr += forMarshaling->compressionControlPlaneCount *
17311                 sizeof(VkImageCompressionFixedRateFlagsEXT);
17312     }
17313 }
17314 
reservedmarshal_VkSubresourceLayout2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout2EXT * forMarshaling,uint8_t ** ptr)17315 void reservedmarshal_VkSubresourceLayout2EXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
17316                                              const VkSubresourceLayout2EXT* forMarshaling,
17317                                              uint8_t** ptr) {
17318     (void)vkStream;
17319     (void)rootType;
17320     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17321     *ptr += sizeof(VkStructureType);
17322     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17323         rootType = forMarshaling->sType;
17324     }
17325     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17326     reservedmarshal_VkSubresourceLayout(
17327         vkStream, rootType, (VkSubresourceLayout*)(&forMarshaling->subresourceLayout), ptr);
17328 }
17329 
reservedmarshal_VkImageSubresource2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource2EXT * forMarshaling,uint8_t ** ptr)17330 void reservedmarshal_VkImageSubresource2EXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
17331                                             const VkImageSubresource2EXT* forMarshaling,
17332                                             uint8_t** ptr) {
17333     (void)vkStream;
17334     (void)rootType;
17335     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17336     *ptr += sizeof(VkStructureType);
17337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17338         rootType = forMarshaling->sType;
17339     }
17340     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17341     reservedmarshal_VkImageSubresource(
17342         vkStream, rootType, (VkImageSubresource*)(&forMarshaling->imageSubresource), ptr);
17343 }
17344 
reservedmarshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionPropertiesEXT * forMarshaling,uint8_t ** ptr)17345 void reservedmarshal_VkImageCompressionPropertiesEXT(
17346     VulkanStreamGuest* vkStream, VkStructureType rootType,
17347     const VkImageCompressionPropertiesEXT* forMarshaling, uint8_t** ptr) {
17348     (void)vkStream;
17349     (void)rootType;
17350     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17351     *ptr += sizeof(VkStructureType);
17352     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17353         rootType = forMarshaling->sType;
17354     }
17355     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17356     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags,
17357            sizeof(VkImageCompressionFlagsEXT));
17358     *ptr += sizeof(VkImageCompressionFlagsEXT);
17359     memcpy(*ptr,
17360            (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags,
17361            sizeof(VkImageCompressionFixedRateFlagsEXT));
17362     *ptr += sizeof(VkImageCompressionFixedRateFlagsEXT);
17363 }
17364 
17365 #endif
17366 #ifdef VK_EXT_attachment_feedback_loop_layout
reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT * forMarshaling,uint8_t ** ptr)17367 void reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(
17368     VulkanStreamGuest* vkStream, VkStructureType rootType,
17369     const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* forMarshaling, uint8_t** ptr) {
17370     (void)vkStream;
17371     (void)rootType;
17372     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17373     *ptr += sizeof(VkStructureType);
17374     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17375         rootType = forMarshaling->sType;
17376     }
17377     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17378     memcpy(*ptr, (VkBool32*)&forMarshaling->attachmentFeedbackLoopLayout, sizeof(VkBool32));
17379     *ptr += sizeof(VkBool32);
17380 }
17381 
17382 #endif
17383 #ifdef VK_EXT_4444_formats
reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)17384 void reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
17385     VulkanStreamGuest* vkStream, VkStructureType rootType,
17386     const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
17387     (void)vkStream;
17388     (void)rootType;
17389     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17390     *ptr += sizeof(VkStructureType);
17391     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17392         rootType = forMarshaling->sType;
17393     }
17394     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17395     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4R4G4B4, sizeof(VkBool32));
17396     *ptr += sizeof(VkBool32);
17397     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
17398     *ptr += sizeof(VkBool32);
17399 }
17400 
17401 #endif
17402 #ifdef VK_EXT_device_fault
reservedmarshal_VkPhysicalDeviceFaultFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFaultFeaturesEXT * forMarshaling,uint8_t ** ptr)17403 void reservedmarshal_VkPhysicalDeviceFaultFeaturesEXT(
17404     VulkanStreamGuest* vkStream, VkStructureType rootType,
17405     const VkPhysicalDeviceFaultFeaturesEXT* forMarshaling, uint8_t** ptr) {
17406     (void)vkStream;
17407     (void)rootType;
17408     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17409     *ptr += sizeof(VkStructureType);
17410     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17411         rootType = forMarshaling->sType;
17412     }
17413     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17414     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceFault, sizeof(VkBool32));
17415     *ptr += sizeof(VkBool32);
17416     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceFaultVendorBinary, sizeof(VkBool32));
17417     *ptr += sizeof(VkBool32);
17418 }
17419 
reservedmarshal_VkDeviceFaultCountsEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceFaultCountsEXT * forMarshaling,uint8_t ** ptr)17420 void reservedmarshal_VkDeviceFaultCountsEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
17421                                             const VkDeviceFaultCountsEXT* forMarshaling,
17422                                             uint8_t** ptr) {
17423     (void)vkStream;
17424     (void)rootType;
17425     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17426     *ptr += sizeof(VkStructureType);
17427     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17428         rootType = forMarshaling->sType;
17429     }
17430     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17431     memcpy(*ptr, (uint32_t*)&forMarshaling->addressInfoCount, sizeof(uint32_t));
17432     *ptr += sizeof(uint32_t);
17433     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorInfoCount, sizeof(uint32_t));
17434     *ptr += sizeof(uint32_t);
17435     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->vendorBinarySize, sizeof(VkDeviceSize));
17436     *ptr += sizeof(VkDeviceSize);
17437 }
17438 
reservedmarshal_VkDeviceFaultAddressInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceFaultAddressInfoEXT * forMarshaling,uint8_t ** ptr)17439 void reservedmarshal_VkDeviceFaultAddressInfoEXT(VulkanStreamGuest* vkStream,
17440                                                  VkStructureType rootType,
17441                                                  const VkDeviceFaultAddressInfoEXT* forMarshaling,
17442                                                  uint8_t** ptr) {
17443     (void)vkStream;
17444     (void)rootType;
17445     memcpy(*ptr, (VkDeviceFaultAddressTypeEXT*)&forMarshaling->addressType,
17446            sizeof(VkDeviceFaultAddressTypeEXT));
17447     *ptr += sizeof(VkDeviceFaultAddressTypeEXT);
17448     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->reportedAddress, sizeof(VkDeviceAddress));
17449     *ptr += sizeof(VkDeviceAddress);
17450     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->addressPrecision, sizeof(VkDeviceSize));
17451     *ptr += sizeof(VkDeviceSize);
17452 }
17453 
reservedmarshal_VkDeviceFaultVendorInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceFaultVendorInfoEXT * forMarshaling,uint8_t ** ptr)17454 void reservedmarshal_VkDeviceFaultVendorInfoEXT(VulkanStreamGuest* vkStream,
17455                                                 VkStructureType rootType,
17456                                                 const VkDeviceFaultVendorInfoEXT* forMarshaling,
17457                                                 uint8_t** ptr) {
17458     (void)vkStream;
17459     (void)rootType;
17460     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
17461     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
17462     memcpy(*ptr, (uint64_t*)&forMarshaling->vendorFaultCode, sizeof(uint64_t));
17463     *ptr += sizeof(uint64_t);
17464     memcpy(*ptr, (uint64_t*)&forMarshaling->vendorFaultData, sizeof(uint64_t));
17465     *ptr += sizeof(uint64_t);
17466 }
17467 
reservedmarshal_VkDeviceFaultInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceFaultInfoEXT * forMarshaling,uint8_t ** ptr)17468 void reservedmarshal_VkDeviceFaultInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
17469                                           const VkDeviceFaultInfoEXT* forMarshaling,
17470                                           uint8_t** ptr) {
17471     (void)vkStream;
17472     (void)rootType;
17473     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17474     *ptr += sizeof(VkStructureType);
17475     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17476         rootType = forMarshaling->sType;
17477     }
17478     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17479     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
17480     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
17481     // WARNING PTR CHECK
17482     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAddressInfos;
17483     memcpy((*ptr), &cgen_var_0, 8);
17484     android::base::Stream::toBe64((uint8_t*)(*ptr));
17485     *ptr += 8;
17486     if (forMarshaling->pAddressInfos) {
17487         reservedmarshal_VkDeviceFaultAddressInfoEXT(
17488             vkStream, rootType, (VkDeviceFaultAddressInfoEXT*)(forMarshaling->pAddressInfos), ptr);
17489     }
17490     // WARNING PTR CHECK
17491     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pVendorInfos;
17492     memcpy((*ptr), &cgen_var_1, 8);
17493     android::base::Stream::toBe64((uint8_t*)(*ptr));
17494     *ptr += 8;
17495     if (forMarshaling->pVendorInfos) {
17496         reservedmarshal_VkDeviceFaultVendorInfoEXT(
17497             vkStream, rootType, (VkDeviceFaultVendorInfoEXT*)(forMarshaling->pVendorInfos), ptr);
17498     }
17499     // WARNING PTR CHECK
17500     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pVendorBinaryData;
17501     memcpy((*ptr), &cgen_var_2, 8);
17502     android::base::Stream::toBe64((uint8_t*)(*ptr));
17503     *ptr += 8;
17504     if (forMarshaling->pVendorBinaryData) {
17505         memcpy(*ptr, (void*)forMarshaling->pVendorBinaryData, sizeof(uint8_t));
17506         *ptr += sizeof(uint8_t);
17507     }
17508 }
17509 
reservedmarshal_VkDeviceFaultVendorBinaryHeaderVersionOneEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceFaultVendorBinaryHeaderVersionOneEXT * forMarshaling,uint8_t ** ptr)17510 void reservedmarshal_VkDeviceFaultVendorBinaryHeaderVersionOneEXT(
17511     VulkanStreamGuest* vkStream, VkStructureType rootType,
17512     const VkDeviceFaultVendorBinaryHeaderVersionOneEXT* forMarshaling, uint8_t** ptr) {
17513     (void)vkStream;
17514     (void)rootType;
17515     memcpy(*ptr, (uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
17516     *ptr += sizeof(uint32_t);
17517     memcpy(*ptr, (VkDeviceFaultVendorBinaryHeaderVersionEXT*)&forMarshaling->headerVersion,
17518            sizeof(VkDeviceFaultVendorBinaryHeaderVersionEXT));
17519     *ptr += sizeof(VkDeviceFaultVendorBinaryHeaderVersionEXT);
17520     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
17521     *ptr += sizeof(uint32_t);
17522     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
17523     *ptr += sizeof(uint32_t);
17524     memcpy(*ptr, (uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
17525     *ptr += sizeof(uint32_t);
17526     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
17527     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
17528     memcpy(*ptr, (uint32_t*)&forMarshaling->applicationNameOffset, sizeof(uint32_t));
17529     *ptr += sizeof(uint32_t);
17530     memcpy(*ptr, (uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
17531     *ptr += sizeof(uint32_t);
17532     memcpy(*ptr, (uint32_t*)&forMarshaling->engineNameOffset, sizeof(uint32_t));
17533     *ptr += sizeof(uint32_t);
17534     memcpy(*ptr, (uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
17535     *ptr += sizeof(uint32_t);
17536     memcpy(*ptr, (uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
17537     *ptr += sizeof(uint32_t);
17538 }
17539 
17540 #endif
17541 #ifdef VK_ARM_rasterization_order_attachment_access
reservedmarshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT * forMarshaling,uint8_t ** ptr)17542 void reservedmarshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(
17543     VulkanStreamGuest* vkStream, VkStructureType rootType,
17544     const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* forMarshaling,
17545     uint8_t** ptr) {
17546     (void)vkStream;
17547     (void)rootType;
17548     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17549     *ptr += sizeof(VkStructureType);
17550     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17551         rootType = forMarshaling->sType;
17552     }
17553     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17554     memcpy(*ptr, (VkBool32*)&forMarshaling->rasterizationOrderColorAttachmentAccess,
17555            sizeof(VkBool32));
17556     *ptr += sizeof(VkBool32);
17557     memcpy(*ptr, (VkBool32*)&forMarshaling->rasterizationOrderDepthAttachmentAccess,
17558            sizeof(VkBool32));
17559     *ptr += sizeof(VkBool32);
17560     memcpy(*ptr, (VkBool32*)&forMarshaling->rasterizationOrderStencilAttachmentAccess,
17561            sizeof(VkBool32));
17562     *ptr += sizeof(VkBool32);
17563 }
17564 
17565 #endif
17566 #ifdef VK_EXT_rgba10x6_formats
reservedmarshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)17567 void reservedmarshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
17568     VulkanStreamGuest* vkStream, VkStructureType rootType,
17569     const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
17570     (void)vkStream;
17571     (void)rootType;
17572     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17573     *ptr += sizeof(VkStructureType);
17574     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17575         rootType = forMarshaling->sType;
17576     }
17577     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17578     memcpy(*ptr, (VkBool32*)&forMarshaling->formatRgba10x6WithoutYCbCrSampler, sizeof(VkBool32));
17579     *ptr += sizeof(VkBool32);
17580 }
17581 
17582 #endif
17583 #ifdef VK_NV_acquire_winrt_display
17584 #endif
17585 #ifdef VK_EXT_directfb_surface
reservedmarshal_VkDirectFBSurfaceCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDirectFBSurfaceCreateInfoEXT * forMarshaling,uint8_t ** ptr)17586 void reservedmarshal_VkDirectFBSurfaceCreateInfoEXT(
17587     VulkanStreamGuest* vkStream, VkStructureType rootType,
17588     const VkDirectFBSurfaceCreateInfoEXT* forMarshaling, uint8_t** ptr) {
17589     (void)vkStream;
17590     (void)rootType;
17591     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17592     *ptr += sizeof(VkStructureType);
17593     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17594         rootType = forMarshaling->sType;
17595     }
17596     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17597     memcpy(*ptr, (VkDirectFBSurfaceCreateFlagsEXT*)&forMarshaling->flags,
17598            sizeof(VkDirectFBSurfaceCreateFlagsEXT));
17599     *ptr += sizeof(VkDirectFBSurfaceCreateFlagsEXT);
17600     // WARNING PTR CHECK
17601     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->dfb;
17602     memcpy((*ptr), &cgen_var_0, 8);
17603     android::base::Stream::toBe64((uint8_t*)(*ptr));
17604     *ptr += 8;
17605     if (forMarshaling->dfb) {
17606         memcpy(*ptr, (IDirectFB*)forMarshaling->dfb, sizeof(IDirectFB));
17607         *ptr += sizeof(IDirectFB);
17608     }
17609     // WARNING PTR CHECK
17610     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->surface;
17611     memcpy((*ptr), &cgen_var_1, 8);
17612     android::base::Stream::toBe64((uint8_t*)(*ptr));
17613     *ptr += 8;
17614     if (forMarshaling->surface) {
17615         memcpy(*ptr, (IDirectFBSurface*)forMarshaling->surface, sizeof(IDirectFBSurface));
17616         *ptr += sizeof(IDirectFBSurface);
17617     }
17618 }
17619 
17620 #endif
17621 #ifdef VK_VALVE_mutable_descriptor_type
reservedmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * forMarshaling,uint8_t ** ptr)17622 void reservedmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(
17623     VulkanStreamGuest* vkStream, VkStructureType rootType,
17624     const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* forMarshaling, uint8_t** ptr) {
17625     (void)vkStream;
17626     (void)rootType;
17627     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17628     *ptr += sizeof(VkStructureType);
17629     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17630         rootType = forMarshaling->sType;
17631     }
17632     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17633     memcpy(*ptr, (VkBool32*)&forMarshaling->mutableDescriptorType, sizeof(VkBool32));
17634     *ptr += sizeof(VkBool32);
17635 }
17636 
reservedmarshal_VkMutableDescriptorTypeListEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMutableDescriptorTypeListEXT * forMarshaling,uint8_t ** ptr)17637 void reservedmarshal_VkMutableDescriptorTypeListEXT(
17638     VulkanStreamGuest* vkStream, VkStructureType rootType,
17639     const VkMutableDescriptorTypeListEXT* forMarshaling, uint8_t** ptr) {
17640     (void)vkStream;
17641     (void)rootType;
17642     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorTypeCount, sizeof(uint32_t));
17643     *ptr += sizeof(uint32_t);
17644     memcpy(*ptr, (const VkDescriptorType*)forMarshaling->pDescriptorTypes,
17645            forMarshaling->descriptorTypeCount * sizeof(const VkDescriptorType));
17646     *ptr += forMarshaling->descriptorTypeCount * sizeof(const VkDescriptorType);
17647 }
17648 
reservedmarshal_VkMutableDescriptorTypeCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMutableDescriptorTypeCreateInfoEXT * forMarshaling,uint8_t ** ptr)17649 void reservedmarshal_VkMutableDescriptorTypeCreateInfoEXT(
17650     VulkanStreamGuest* vkStream, VkStructureType rootType,
17651     const VkMutableDescriptorTypeCreateInfoEXT* forMarshaling, uint8_t** ptr) {
17652     (void)vkStream;
17653     (void)rootType;
17654     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17655     *ptr += sizeof(VkStructureType);
17656     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17657         rootType = forMarshaling->sType;
17658     }
17659     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17660     memcpy(*ptr, (uint32_t*)&forMarshaling->mutableDescriptorTypeListCount, sizeof(uint32_t));
17661     *ptr += sizeof(uint32_t);
17662     for (uint32_t i = 0; i < (uint32_t)forMarshaling->mutableDescriptorTypeListCount; ++i) {
17663         reservedmarshal_VkMutableDescriptorTypeListEXT(
17664             vkStream, rootType,
17665             (const VkMutableDescriptorTypeListEXT*)(forMarshaling->pMutableDescriptorTypeLists + i),
17666             ptr);
17667     }
17668 }
17669 
17670 #endif
17671 #ifdef VK_EXT_vertex_input_dynamic_state
reservedmarshal_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT * forMarshaling,uint8_t ** ptr)17672 void reservedmarshal_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
17673     VulkanStreamGuest* vkStream, VkStructureType rootType,
17674     const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* forMarshaling, uint8_t** ptr) {
17675     (void)vkStream;
17676     (void)rootType;
17677     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17678     *ptr += sizeof(VkStructureType);
17679     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17680         rootType = forMarshaling->sType;
17681     }
17682     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17683     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexInputDynamicState, sizeof(VkBool32));
17684     *ptr += sizeof(VkBool32);
17685 }
17686 
reservedmarshal_VkVertexInputBindingDescription2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDescription2EXT * forMarshaling,uint8_t ** ptr)17687 void reservedmarshal_VkVertexInputBindingDescription2EXT(
17688     VulkanStreamGuest* vkStream, VkStructureType rootType,
17689     const VkVertexInputBindingDescription2EXT* forMarshaling, uint8_t** ptr) {
17690     (void)vkStream;
17691     (void)rootType;
17692     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17693     *ptr += sizeof(VkStructureType);
17694     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17695         rootType = forMarshaling->sType;
17696     }
17697     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17698     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
17699     *ptr += sizeof(uint32_t);
17700     memcpy(*ptr, (uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
17701     *ptr += sizeof(uint32_t);
17702     memcpy(*ptr, (VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
17703     *ptr += sizeof(VkVertexInputRate);
17704     memcpy(*ptr, (uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
17705     *ptr += sizeof(uint32_t);
17706 }
17707 
reservedmarshal_VkVertexInputAttributeDescription2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputAttributeDescription2EXT * forMarshaling,uint8_t ** ptr)17708 void reservedmarshal_VkVertexInputAttributeDescription2EXT(
17709     VulkanStreamGuest* vkStream, VkStructureType rootType,
17710     const VkVertexInputAttributeDescription2EXT* forMarshaling, uint8_t** ptr) {
17711     (void)vkStream;
17712     (void)rootType;
17713     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17714     *ptr += sizeof(VkStructureType);
17715     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17716         rootType = forMarshaling->sType;
17717     }
17718     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17719     memcpy(*ptr, (uint32_t*)&forMarshaling->location, sizeof(uint32_t));
17720     *ptr += sizeof(uint32_t);
17721     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
17722     *ptr += sizeof(uint32_t);
17723     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
17724     *ptr += sizeof(VkFormat);
17725     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
17726     *ptr += sizeof(uint32_t);
17727 }
17728 
17729 #endif
17730 #ifdef VK_EXT_physical_device_drm
reservedmarshal_VkPhysicalDeviceDrmPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDrmPropertiesEXT * forMarshaling,uint8_t ** ptr)17731 void reservedmarshal_VkPhysicalDeviceDrmPropertiesEXT(
17732     VulkanStreamGuest* vkStream, VkStructureType rootType,
17733     const VkPhysicalDeviceDrmPropertiesEXT* forMarshaling, uint8_t** ptr) {
17734     (void)vkStream;
17735     (void)rootType;
17736     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17737     *ptr += sizeof(VkStructureType);
17738     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17739         rootType = forMarshaling->sType;
17740     }
17741     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17742     memcpy(*ptr, (VkBool32*)&forMarshaling->hasPrimary, sizeof(VkBool32));
17743     *ptr += sizeof(VkBool32);
17744     memcpy(*ptr, (VkBool32*)&forMarshaling->hasRender, sizeof(VkBool32));
17745     *ptr += sizeof(VkBool32);
17746     memcpy(*ptr, (int64_t*)&forMarshaling->primaryMajor, sizeof(int64_t));
17747     *ptr += sizeof(int64_t);
17748     memcpy(*ptr, (int64_t*)&forMarshaling->primaryMinor, sizeof(int64_t));
17749     *ptr += sizeof(int64_t);
17750     memcpy(*ptr, (int64_t*)&forMarshaling->renderMajor, sizeof(int64_t));
17751     *ptr += sizeof(int64_t);
17752     memcpy(*ptr, (int64_t*)&forMarshaling->renderMinor, sizeof(int64_t));
17753     *ptr += sizeof(int64_t);
17754 }
17755 
17756 #endif
17757 #ifdef VK_EXT_device_address_binding_report
reservedmarshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAddressBindingReportFeaturesEXT * forMarshaling,uint8_t ** ptr)17758 void reservedmarshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT(
17759     VulkanStreamGuest* vkStream, VkStructureType rootType,
17760     const VkPhysicalDeviceAddressBindingReportFeaturesEXT* forMarshaling, uint8_t** ptr) {
17761     (void)vkStream;
17762     (void)rootType;
17763     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17764     *ptr += sizeof(VkStructureType);
17765     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17766         rootType = forMarshaling->sType;
17767     }
17768     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17769     memcpy(*ptr, (VkBool32*)&forMarshaling->reportAddressBinding, sizeof(VkBool32));
17770     *ptr += sizeof(VkBool32);
17771 }
17772 
reservedmarshal_VkDeviceAddressBindingCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceAddressBindingCallbackDataEXT * forMarshaling,uint8_t ** ptr)17773 void reservedmarshal_VkDeviceAddressBindingCallbackDataEXT(
17774     VulkanStreamGuest* vkStream, VkStructureType rootType,
17775     const VkDeviceAddressBindingCallbackDataEXT* forMarshaling, uint8_t** ptr) {
17776     (void)vkStream;
17777     (void)rootType;
17778     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17779     *ptr += sizeof(VkStructureType);
17780     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17781         rootType = forMarshaling->sType;
17782     }
17783     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17784     memcpy(*ptr, (VkDeviceAddressBindingFlagsEXT*)&forMarshaling->flags,
17785            sizeof(VkDeviceAddressBindingFlagsEXT));
17786     *ptr += sizeof(VkDeviceAddressBindingFlagsEXT);
17787     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->baseAddress, sizeof(VkDeviceAddress));
17788     *ptr += sizeof(VkDeviceAddress);
17789     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
17790     *ptr += sizeof(VkDeviceSize);
17791     memcpy(*ptr, (VkDeviceAddressBindingTypeEXT*)&forMarshaling->bindingType,
17792            sizeof(VkDeviceAddressBindingTypeEXT));
17793     *ptr += sizeof(VkDeviceAddressBindingTypeEXT);
17794 }
17795 
17796 #endif
17797 #ifdef VK_EXT_depth_clip_control
reservedmarshal_VkPhysicalDeviceDepthClipControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipControlFeaturesEXT * forMarshaling,uint8_t ** ptr)17798 void reservedmarshal_VkPhysicalDeviceDepthClipControlFeaturesEXT(
17799     VulkanStreamGuest* vkStream, VkStructureType rootType,
17800     const VkPhysicalDeviceDepthClipControlFeaturesEXT* forMarshaling, uint8_t** ptr) {
17801     (void)vkStream;
17802     (void)rootType;
17803     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17804     *ptr += sizeof(VkStructureType);
17805     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17806         rootType = forMarshaling->sType;
17807     }
17808     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17809     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipControl, sizeof(VkBool32));
17810     *ptr += sizeof(VkBool32);
17811 }
17812 
reservedmarshal_VkPipelineViewportDepthClipControlCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportDepthClipControlCreateInfoEXT * forMarshaling,uint8_t ** ptr)17813 void reservedmarshal_VkPipelineViewportDepthClipControlCreateInfoEXT(
17814     VulkanStreamGuest* vkStream, VkStructureType rootType,
17815     const VkPipelineViewportDepthClipControlCreateInfoEXT* forMarshaling, uint8_t** ptr) {
17816     (void)vkStream;
17817     (void)rootType;
17818     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17819     *ptr += sizeof(VkStructureType);
17820     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17821         rootType = forMarshaling->sType;
17822     }
17823     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17824     memcpy(*ptr, (VkBool32*)&forMarshaling->negativeOneToOne, sizeof(VkBool32));
17825     *ptr += sizeof(VkBool32);
17826 }
17827 
17828 #endif
17829 #ifdef VK_EXT_primitive_topology_list_restart
reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forMarshaling,uint8_t ** ptr)17830 void reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
17831     VulkanStreamGuest* vkStream, VkStructureType rootType,
17832     const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling, uint8_t** ptr) {
17833     (void)vkStream;
17834     (void)rootType;
17835     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17836     *ptr += sizeof(VkStructureType);
17837     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17838         rootType = forMarshaling->sType;
17839     }
17840     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17841     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
17842     *ptr += sizeof(VkBool32);
17843     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
17844     *ptr += sizeof(VkBool32);
17845 }
17846 
17847 #endif
17848 #ifdef VK_FUCHSIA_external_memory
reservedmarshal_VkImportMemoryZirconHandleInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryZirconHandleInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17849 void reservedmarshal_VkImportMemoryZirconHandleInfoFUCHSIA(
17850     VulkanStreamGuest* vkStream, VkStructureType rootType,
17851     const VkImportMemoryZirconHandleInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17852     (void)vkStream;
17853     (void)rootType;
17854     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17855     *ptr += sizeof(VkStructureType);
17856     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17857         rootType = forMarshaling->sType;
17858     }
17859     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17860     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
17861            sizeof(VkExternalMemoryHandleTypeFlagBits));
17862     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
17863     memcpy(*ptr, (zx_handle_t*)&forMarshaling->handle, sizeof(zx_handle_t));
17864     *ptr += sizeof(zx_handle_t);
17865 }
17866 
reservedmarshal_VkMemoryZirconHandlePropertiesFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryZirconHandlePropertiesFUCHSIA * forMarshaling,uint8_t ** ptr)17867 void reservedmarshal_VkMemoryZirconHandlePropertiesFUCHSIA(
17868     VulkanStreamGuest* vkStream, VkStructureType rootType,
17869     const VkMemoryZirconHandlePropertiesFUCHSIA* forMarshaling, uint8_t** ptr) {
17870     (void)vkStream;
17871     (void)rootType;
17872     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17873     *ptr += sizeof(VkStructureType);
17874     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17875         rootType = forMarshaling->sType;
17876     }
17877     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17878     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
17879     *ptr += sizeof(uint32_t);
17880 }
17881 
reservedmarshal_VkMemoryGetZirconHandleInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryGetZirconHandleInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17882 void reservedmarshal_VkMemoryGetZirconHandleInfoFUCHSIA(
17883     VulkanStreamGuest* vkStream, VkStructureType rootType,
17884     const VkMemoryGetZirconHandleInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17885     (void)vkStream;
17886     (void)rootType;
17887     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17888     *ptr += sizeof(VkStructureType);
17889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17890         rootType = forMarshaling->sType;
17891     }
17892     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17893     uint64_t cgen_var_0;
17894     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
17895     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
17896     *ptr += 1 * 8;
17897     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
17898            sizeof(VkExternalMemoryHandleTypeFlagBits));
17899     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
17900 }
17901 
17902 #endif
17903 #ifdef VK_FUCHSIA_external_semaphore
reservedmarshal_VkImportSemaphoreZirconHandleInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreZirconHandleInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17904 void reservedmarshal_VkImportSemaphoreZirconHandleInfoFUCHSIA(
17905     VulkanStreamGuest* vkStream, VkStructureType rootType,
17906     const VkImportSemaphoreZirconHandleInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17907     (void)vkStream;
17908     (void)rootType;
17909     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17910     *ptr += sizeof(VkStructureType);
17911     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17912         rootType = forMarshaling->sType;
17913     }
17914     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17915     uint64_t cgen_var_0;
17916     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
17917     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
17918     *ptr += 1 * 8;
17919     memcpy(*ptr, (VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
17920     *ptr += sizeof(VkSemaphoreImportFlags);
17921     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
17922            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
17923     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
17924     memcpy(*ptr, (zx_handle_t*)&forMarshaling->zirconHandle, sizeof(zx_handle_t));
17925     *ptr += sizeof(zx_handle_t);
17926 }
17927 
reservedmarshal_VkSemaphoreGetZirconHandleInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetZirconHandleInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17928 void reservedmarshal_VkSemaphoreGetZirconHandleInfoFUCHSIA(
17929     VulkanStreamGuest* vkStream, VkStructureType rootType,
17930     const VkSemaphoreGetZirconHandleInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17931     (void)vkStream;
17932     (void)rootType;
17933     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17934     *ptr += sizeof(VkStructureType);
17935     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17936         rootType = forMarshaling->sType;
17937     }
17938     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17939     uint64_t cgen_var_0;
17940     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
17941     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
17942     *ptr += 1 * 8;
17943     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
17944            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
17945     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
17946 }
17947 
17948 #endif
17949 #ifdef VK_FUCHSIA_buffer_collection
reservedmarshal_VkBufferCollectionCreateInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCollectionCreateInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17950 void reservedmarshal_VkBufferCollectionCreateInfoFUCHSIA(
17951     VulkanStreamGuest* vkStream, VkStructureType rootType,
17952     const VkBufferCollectionCreateInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17953     (void)vkStream;
17954     (void)rootType;
17955     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17956     *ptr += sizeof(VkStructureType);
17957     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17958         rootType = forMarshaling->sType;
17959     }
17960     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17961     memcpy(*ptr, (zx_handle_t*)&forMarshaling->collectionToken, sizeof(zx_handle_t));
17962     *ptr += sizeof(zx_handle_t);
17963 }
17964 
reservedmarshal_VkImportMemoryBufferCollectionFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportMemoryBufferCollectionFUCHSIA * forMarshaling,uint8_t ** ptr)17965 void reservedmarshal_VkImportMemoryBufferCollectionFUCHSIA(
17966     VulkanStreamGuest* vkStream, VkStructureType rootType,
17967     const VkImportMemoryBufferCollectionFUCHSIA* forMarshaling, uint8_t** ptr) {
17968     (void)vkStream;
17969     (void)rootType;
17970     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17971     *ptr += sizeof(VkStructureType);
17972     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17973         rootType = forMarshaling->sType;
17974     }
17975     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17976     uint64_t cgen_var_0 = (uint64_t)forMarshaling->collection;
17977     memcpy((*ptr), &cgen_var_0, 8);
17978     android::base::Stream::toBe64((uint8_t*)(*ptr));
17979     *ptr += 8;
17980     memcpy(*ptr, (uint32_t*)&forMarshaling->index, sizeof(uint32_t));
17981     *ptr += sizeof(uint32_t);
17982 }
17983 
reservedmarshal_VkBufferCollectionImageCreateInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCollectionImageCreateInfoFUCHSIA * forMarshaling,uint8_t ** ptr)17984 void reservedmarshal_VkBufferCollectionImageCreateInfoFUCHSIA(
17985     VulkanStreamGuest* vkStream, VkStructureType rootType,
17986     const VkBufferCollectionImageCreateInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
17987     (void)vkStream;
17988     (void)rootType;
17989     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17990     *ptr += sizeof(VkStructureType);
17991     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17992         rootType = forMarshaling->sType;
17993     }
17994     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
17995     uint64_t cgen_var_0 = (uint64_t)forMarshaling->collection;
17996     memcpy((*ptr), &cgen_var_0, 8);
17997     android::base::Stream::toBe64((uint8_t*)(*ptr));
17998     *ptr += 8;
17999     memcpy(*ptr, (uint32_t*)&forMarshaling->index, sizeof(uint32_t));
18000     *ptr += sizeof(uint32_t);
18001 }
18002 
reservedmarshal_VkBufferCollectionConstraintsInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCollectionConstraintsInfoFUCHSIA * forMarshaling,uint8_t ** ptr)18003 void reservedmarshal_VkBufferCollectionConstraintsInfoFUCHSIA(
18004     VulkanStreamGuest* vkStream, VkStructureType rootType,
18005     const VkBufferCollectionConstraintsInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
18006     (void)vkStream;
18007     (void)rootType;
18008     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18009     *ptr += sizeof(VkStructureType);
18010     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18011         rootType = forMarshaling->sType;
18012     }
18013     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18014     memcpy(*ptr, (uint32_t*)&forMarshaling->minBufferCount, sizeof(uint32_t));
18015     *ptr += sizeof(uint32_t);
18016     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBufferCount, sizeof(uint32_t));
18017     *ptr += sizeof(uint32_t);
18018     memcpy(*ptr, (uint32_t*)&forMarshaling->minBufferCountForCamping, sizeof(uint32_t));
18019     *ptr += sizeof(uint32_t);
18020     memcpy(*ptr, (uint32_t*)&forMarshaling->minBufferCountForDedicatedSlack, sizeof(uint32_t));
18021     *ptr += sizeof(uint32_t);
18022     memcpy(*ptr, (uint32_t*)&forMarshaling->minBufferCountForSharedSlack, sizeof(uint32_t));
18023     *ptr += sizeof(uint32_t);
18024 }
18025 
reservedmarshal_VkBufferConstraintsInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferConstraintsInfoFUCHSIA * forMarshaling,uint8_t ** ptr)18026 void reservedmarshal_VkBufferConstraintsInfoFUCHSIA(
18027     VulkanStreamGuest* vkStream, VkStructureType rootType,
18028     const VkBufferConstraintsInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
18029     (void)vkStream;
18030     (void)rootType;
18031     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18032     *ptr += sizeof(VkStructureType);
18033     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18034         rootType = forMarshaling->sType;
18035     }
18036     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18037     reservedmarshal_VkBufferCreateInfo(vkStream, rootType,
18038                                        (VkBufferCreateInfo*)(&forMarshaling->createInfo), ptr);
18039     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->requiredFormatFeatures,
18040            sizeof(VkFormatFeatureFlags));
18041     *ptr += sizeof(VkFormatFeatureFlags);
18042     reservedmarshal_VkBufferCollectionConstraintsInfoFUCHSIA(
18043         vkStream, rootType,
18044         (VkBufferCollectionConstraintsInfoFUCHSIA*)(&forMarshaling->bufferCollectionConstraints),
18045         ptr);
18046 }
18047 
reservedmarshal_VkBufferCollectionBufferCreateInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCollectionBufferCreateInfoFUCHSIA * forMarshaling,uint8_t ** ptr)18048 void reservedmarshal_VkBufferCollectionBufferCreateInfoFUCHSIA(
18049     VulkanStreamGuest* vkStream, VkStructureType rootType,
18050     const VkBufferCollectionBufferCreateInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
18051     (void)vkStream;
18052     (void)rootType;
18053     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18054     *ptr += sizeof(VkStructureType);
18055     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18056         rootType = forMarshaling->sType;
18057     }
18058     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18059     uint64_t cgen_var_0 = (uint64_t)forMarshaling->collection;
18060     memcpy((*ptr), &cgen_var_0, 8);
18061     android::base::Stream::toBe64((uint8_t*)(*ptr));
18062     *ptr += 8;
18063     memcpy(*ptr, (uint32_t*)&forMarshaling->index, sizeof(uint32_t));
18064     *ptr += sizeof(uint32_t);
18065 }
18066 
reservedmarshal_VkSysmemColorSpaceFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSysmemColorSpaceFUCHSIA * forMarshaling,uint8_t ** ptr)18067 void reservedmarshal_VkSysmemColorSpaceFUCHSIA(VulkanStreamGuest* vkStream,
18068                                                VkStructureType rootType,
18069                                                const VkSysmemColorSpaceFUCHSIA* forMarshaling,
18070                                                uint8_t** ptr) {
18071     (void)vkStream;
18072     (void)rootType;
18073     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18074     *ptr += sizeof(VkStructureType);
18075     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18076         rootType = forMarshaling->sType;
18077     }
18078     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18079     memcpy(*ptr, (uint32_t*)&forMarshaling->colorSpace, sizeof(uint32_t));
18080     *ptr += sizeof(uint32_t);
18081 }
18082 
reservedmarshal_VkBufferCollectionPropertiesFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCollectionPropertiesFUCHSIA * forMarshaling,uint8_t ** ptr)18083 void reservedmarshal_VkBufferCollectionPropertiesFUCHSIA(
18084     VulkanStreamGuest* vkStream, VkStructureType rootType,
18085     const VkBufferCollectionPropertiesFUCHSIA* forMarshaling, uint8_t** ptr) {
18086     (void)vkStream;
18087     (void)rootType;
18088     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18089     *ptr += sizeof(VkStructureType);
18090     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18091         rootType = forMarshaling->sType;
18092     }
18093     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18094     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
18095     *ptr += sizeof(uint32_t);
18096     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferCount, sizeof(uint32_t));
18097     *ptr += sizeof(uint32_t);
18098     memcpy(*ptr, (uint32_t*)&forMarshaling->createInfoIndex, sizeof(uint32_t));
18099     *ptr += sizeof(uint32_t);
18100     memcpy(*ptr, (uint64_t*)&forMarshaling->sysmemPixelFormat, sizeof(uint64_t));
18101     *ptr += sizeof(uint64_t);
18102     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->formatFeatures,
18103            sizeof(VkFormatFeatureFlags));
18104     *ptr += sizeof(VkFormatFeatureFlags);
18105     reservedmarshal_VkSysmemColorSpaceFUCHSIA(
18106         vkStream, rootType, (VkSysmemColorSpaceFUCHSIA*)(&forMarshaling->sysmemColorSpaceIndex),
18107         ptr);
18108     reservedmarshal_VkComponentMapping(
18109         vkStream, rootType, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents),
18110         ptr);
18111     memcpy(*ptr, (VkSamplerYcbcrModelConversion*)&forMarshaling->suggestedYcbcrModel,
18112            sizeof(VkSamplerYcbcrModelConversion));
18113     *ptr += sizeof(VkSamplerYcbcrModelConversion);
18114     memcpy(*ptr, (VkSamplerYcbcrRange*)&forMarshaling->suggestedYcbcrRange,
18115            sizeof(VkSamplerYcbcrRange));
18116     *ptr += sizeof(VkSamplerYcbcrRange);
18117     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedXChromaOffset,
18118            sizeof(VkChromaLocation));
18119     *ptr += sizeof(VkChromaLocation);
18120     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->suggestedYChromaOffset,
18121            sizeof(VkChromaLocation));
18122     *ptr += sizeof(VkChromaLocation);
18123 }
18124 
reservedmarshal_VkImageFormatConstraintsInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatConstraintsInfoFUCHSIA * forMarshaling,uint8_t ** ptr)18125 void reservedmarshal_VkImageFormatConstraintsInfoFUCHSIA(
18126     VulkanStreamGuest* vkStream, VkStructureType rootType,
18127     const VkImageFormatConstraintsInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
18128     (void)vkStream;
18129     (void)rootType;
18130     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18131     *ptr += sizeof(VkStructureType);
18132     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18133         rootType = forMarshaling->sType;
18134     }
18135     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18136     reservedmarshal_VkImageCreateInfo(vkStream, rootType,
18137                                       (VkImageCreateInfo*)(&forMarshaling->imageCreateInfo), ptr);
18138     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->requiredFormatFeatures,
18139            sizeof(VkFormatFeatureFlags));
18140     *ptr += sizeof(VkFormatFeatureFlags);
18141     memcpy(*ptr, (VkImageFormatConstraintsFlagsFUCHSIA*)&forMarshaling->flags,
18142            sizeof(VkImageFormatConstraintsFlagsFUCHSIA));
18143     *ptr += sizeof(VkImageFormatConstraintsFlagsFUCHSIA);
18144     memcpy(*ptr, (uint64_t*)&forMarshaling->sysmemPixelFormat, sizeof(uint64_t));
18145     *ptr += sizeof(uint64_t);
18146     memcpy(*ptr, (uint32_t*)&forMarshaling->colorSpaceCount, sizeof(uint32_t));
18147     *ptr += sizeof(uint32_t);
18148     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorSpaceCount; ++i) {
18149         reservedmarshal_VkSysmemColorSpaceFUCHSIA(
18150             vkStream, rootType, (const VkSysmemColorSpaceFUCHSIA*)(forMarshaling->pColorSpaces + i),
18151             ptr);
18152     }
18153 }
18154 
reservedmarshal_VkImageConstraintsInfoFUCHSIA(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageConstraintsInfoFUCHSIA * forMarshaling,uint8_t ** ptr)18155 void reservedmarshal_VkImageConstraintsInfoFUCHSIA(
18156     VulkanStreamGuest* vkStream, VkStructureType rootType,
18157     const VkImageConstraintsInfoFUCHSIA* forMarshaling, uint8_t** ptr) {
18158     (void)vkStream;
18159     (void)rootType;
18160     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18161     *ptr += sizeof(VkStructureType);
18162     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18163         rootType = forMarshaling->sType;
18164     }
18165     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18166     memcpy(*ptr, (uint32_t*)&forMarshaling->formatConstraintsCount, sizeof(uint32_t));
18167     *ptr += sizeof(uint32_t);
18168     for (uint32_t i = 0; i < (uint32_t)forMarshaling->formatConstraintsCount; ++i) {
18169         reservedmarshal_VkImageFormatConstraintsInfoFUCHSIA(
18170             vkStream, rootType,
18171             (const VkImageFormatConstraintsInfoFUCHSIA*)(forMarshaling->pFormatConstraints + i),
18172             ptr);
18173     }
18174     reservedmarshal_VkBufferCollectionConstraintsInfoFUCHSIA(
18175         vkStream, rootType,
18176         (VkBufferCollectionConstraintsInfoFUCHSIA*)(&forMarshaling->bufferCollectionConstraints),
18177         ptr);
18178     memcpy(*ptr, (VkImageConstraintsInfoFlagsFUCHSIA*)&forMarshaling->flags,
18179            sizeof(VkImageConstraintsInfoFlagsFUCHSIA));
18180     *ptr += sizeof(VkImageConstraintsInfoFlagsFUCHSIA);
18181 }
18182 
18183 #endif
18184 #ifdef VK_HUAWEI_subpass_shading
reservedmarshal_VkSubpassShadingPipelineCreateInfoHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassShadingPipelineCreateInfoHUAWEI * forMarshaling,uint8_t ** ptr)18185 void reservedmarshal_VkSubpassShadingPipelineCreateInfoHUAWEI(
18186     VulkanStreamGuest* vkStream, VkStructureType rootType,
18187     const VkSubpassShadingPipelineCreateInfoHUAWEI* forMarshaling, uint8_t** ptr) {
18188     (void)vkStream;
18189     (void)rootType;
18190     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18191     *ptr += sizeof(VkStructureType);
18192     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18193         rootType = forMarshaling->sType;
18194     }
18195     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18196     uint64_t cgen_var_0;
18197     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
18198     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
18199     *ptr += 1 * 8;
18200     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
18201     *ptr += sizeof(uint32_t);
18202 }
18203 
reservedmarshal_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI * forMarshaling,uint8_t ** ptr)18204 void reservedmarshal_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
18205     VulkanStreamGuest* vkStream, VkStructureType rootType,
18206     const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* forMarshaling, uint8_t** ptr) {
18207     (void)vkStream;
18208     (void)rootType;
18209     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18210     *ptr += sizeof(VkStructureType);
18211     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18212         rootType = forMarshaling->sType;
18213     }
18214     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18215     memcpy(*ptr, (VkBool32*)&forMarshaling->subpassShading, sizeof(VkBool32));
18216     *ptr += sizeof(VkBool32);
18217 }
18218 
reservedmarshal_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI * forMarshaling,uint8_t ** ptr)18219 void reservedmarshal_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
18220     VulkanStreamGuest* vkStream, VkStructureType rootType,
18221     const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* forMarshaling, uint8_t** ptr) {
18222     (void)vkStream;
18223     (void)rootType;
18224     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18225     *ptr += sizeof(VkStructureType);
18226     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18227         rootType = forMarshaling->sType;
18228     }
18229     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18230     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubpassShadingWorkgroupSizeAspectRatio,
18231            sizeof(uint32_t));
18232     *ptr += sizeof(uint32_t);
18233 }
18234 
18235 #endif
18236 #ifdef VK_HUAWEI_invocation_mask
reservedmarshal_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI * forMarshaling,uint8_t ** ptr)18237 void reservedmarshal_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
18238     VulkanStreamGuest* vkStream, VkStructureType rootType,
18239     const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* forMarshaling, uint8_t** ptr) {
18240     (void)vkStream;
18241     (void)rootType;
18242     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18243     *ptr += sizeof(VkStructureType);
18244     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18245         rootType = forMarshaling->sType;
18246     }
18247     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18248     memcpy(*ptr, (VkBool32*)&forMarshaling->invocationMask, sizeof(VkBool32));
18249     *ptr += sizeof(VkBool32);
18250 }
18251 
18252 #endif
18253 #ifdef VK_NV_external_memory_rdma
reservedmarshal_VkMemoryGetRemoteAddressInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryGetRemoteAddressInfoNV * forMarshaling,uint8_t ** ptr)18254 void reservedmarshal_VkMemoryGetRemoteAddressInfoNV(
18255     VulkanStreamGuest* vkStream, VkStructureType rootType,
18256     const VkMemoryGetRemoteAddressInfoNV* forMarshaling, uint8_t** ptr) {
18257     (void)vkStream;
18258     (void)rootType;
18259     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18260     *ptr += sizeof(VkStructureType);
18261     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18262         rootType = forMarshaling->sType;
18263     }
18264     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18265     uint64_t cgen_var_0;
18266     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
18267     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
18268     *ptr += 1 * 8;
18269     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
18270            sizeof(VkExternalMemoryHandleTypeFlagBits));
18271     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
18272 }
18273 
reservedmarshal_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV * forMarshaling,uint8_t ** ptr)18274 void reservedmarshal_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
18275     VulkanStreamGuest* vkStream, VkStructureType rootType,
18276     const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* forMarshaling, uint8_t** ptr) {
18277     (void)vkStream;
18278     (void)rootType;
18279     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18280     *ptr += sizeof(VkStructureType);
18281     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18282         rootType = forMarshaling->sType;
18283     }
18284     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18285     memcpy(*ptr, (VkBool32*)&forMarshaling->externalMemoryRDMA, sizeof(VkBool32));
18286     *ptr += sizeof(VkBool32);
18287 }
18288 
18289 #endif
18290 #ifdef VK_EXT_pipeline_properties
reservedmarshal_VkPipelinePropertiesIdentifierEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelinePropertiesIdentifierEXT * forMarshaling,uint8_t ** ptr)18291 void reservedmarshal_VkPipelinePropertiesIdentifierEXT(
18292     VulkanStreamGuest* vkStream, VkStructureType rootType,
18293     const VkPipelinePropertiesIdentifierEXT* forMarshaling, uint8_t** ptr) {
18294     (void)vkStream;
18295     (void)rootType;
18296     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18297     *ptr += sizeof(VkStructureType);
18298     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18299         rootType = forMarshaling->sType;
18300     }
18301     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18302     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineIdentifier, VK_UUID_SIZE * sizeof(uint8_t));
18303     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
18304 }
18305 
reservedmarshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelinePropertiesFeaturesEXT * forMarshaling,uint8_t ** ptr)18306 void reservedmarshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT(
18307     VulkanStreamGuest* vkStream, VkStructureType rootType,
18308     const VkPhysicalDevicePipelinePropertiesFeaturesEXT* forMarshaling, uint8_t** ptr) {
18309     (void)vkStream;
18310     (void)rootType;
18311     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18312     *ptr += sizeof(VkStructureType);
18313     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18314         rootType = forMarshaling->sType;
18315     }
18316     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18317     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelinePropertiesIdentifier, sizeof(VkBool32));
18318     *ptr += sizeof(VkBool32);
18319 }
18320 
18321 #endif
18322 #ifdef VK_EXT_multisampled_render_to_single_sampled
reservedmarshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT * forMarshaling,uint8_t ** ptr)18323 void reservedmarshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(
18324     VulkanStreamGuest* vkStream, VkStructureType rootType,
18325     const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* forMarshaling,
18326     uint8_t** ptr) {
18327     (void)vkStream;
18328     (void)rootType;
18329     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18330     *ptr += sizeof(VkStructureType);
18331     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18332         rootType = forMarshaling->sType;
18333     }
18334     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18335     memcpy(*ptr, (VkBool32*)&forMarshaling->multisampledRenderToSingleSampled, sizeof(VkBool32));
18336     *ptr += sizeof(VkBool32);
18337 }
18338 
reservedmarshal_VkSubpassResolvePerformanceQueryEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassResolvePerformanceQueryEXT * forMarshaling,uint8_t ** ptr)18339 void reservedmarshal_VkSubpassResolvePerformanceQueryEXT(
18340     VulkanStreamGuest* vkStream, VkStructureType rootType,
18341     const VkSubpassResolvePerformanceQueryEXT* forMarshaling, uint8_t** ptr) {
18342     (void)vkStream;
18343     (void)rootType;
18344     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18345     *ptr += sizeof(VkStructureType);
18346     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18347         rootType = forMarshaling->sType;
18348     }
18349     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18350     memcpy(*ptr, (VkBool32*)&forMarshaling->optimal, sizeof(VkBool32));
18351     *ptr += sizeof(VkBool32);
18352 }
18353 
reservedmarshal_VkMultisampledRenderToSingleSampledInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultisampledRenderToSingleSampledInfoEXT * forMarshaling,uint8_t ** ptr)18354 void reservedmarshal_VkMultisampledRenderToSingleSampledInfoEXT(
18355     VulkanStreamGuest* vkStream, VkStructureType rootType,
18356     const VkMultisampledRenderToSingleSampledInfoEXT* forMarshaling, uint8_t** ptr) {
18357     (void)vkStream;
18358     (void)rootType;
18359     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18360     *ptr += sizeof(VkStructureType);
18361     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18362         rootType = forMarshaling->sType;
18363     }
18364     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18365     memcpy(*ptr, (VkBool32*)&forMarshaling->multisampledRenderToSingleSampledEnable,
18366            sizeof(VkBool32));
18367     *ptr += sizeof(VkBool32);
18368     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
18369            sizeof(VkSampleCountFlagBits));
18370     *ptr += sizeof(VkSampleCountFlagBits);
18371 }
18372 
18373 #endif
18374 #ifdef VK_EXT_extended_dynamic_state2
reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forMarshaling,uint8_t ** ptr)18375 void reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
18376     VulkanStreamGuest* vkStream, VkStructureType rootType,
18377     const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling, uint8_t** ptr) {
18378     (void)vkStream;
18379     (void)rootType;
18380     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18381     *ptr += sizeof(VkStructureType);
18382     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18383         rootType = forMarshaling->sType;
18384     }
18385     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18386     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2, sizeof(VkBool32));
18387     *ptr += sizeof(VkBool32);
18388     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
18389     *ptr += sizeof(VkBool32);
18390     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
18391            sizeof(VkBool32));
18392     *ptr += sizeof(VkBool32);
18393 }
18394 
18395 #endif
18396 #ifdef VK_QNX_screen_surface
reservedmarshal_VkScreenSurfaceCreateInfoQNX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkScreenSurfaceCreateInfoQNX * forMarshaling,uint8_t ** ptr)18397 void reservedmarshal_VkScreenSurfaceCreateInfoQNX(VulkanStreamGuest* vkStream,
18398                                                   VkStructureType rootType,
18399                                                   const VkScreenSurfaceCreateInfoQNX* forMarshaling,
18400                                                   uint8_t** ptr) {
18401     (void)vkStream;
18402     (void)rootType;
18403     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18404     *ptr += sizeof(VkStructureType);
18405     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18406         rootType = forMarshaling->sType;
18407     }
18408     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18409     memcpy(*ptr, (VkScreenSurfaceCreateFlagsQNX*)&forMarshaling->flags,
18410            sizeof(VkScreenSurfaceCreateFlagsQNX));
18411     *ptr += sizeof(VkScreenSurfaceCreateFlagsQNX);
18412     // WARNING PTR CHECK
18413     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->context;
18414     memcpy((*ptr), &cgen_var_0, 8);
18415     android::base::Stream::toBe64((uint8_t*)(*ptr));
18416     *ptr += 8;
18417     if (forMarshaling->context) {
18418         memcpy(*ptr, (_screen_context*)forMarshaling->context, sizeof(_screen_context));
18419         *ptr += sizeof(_screen_context);
18420     }
18421     // WARNING PTR CHECK
18422     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->window;
18423     memcpy((*ptr), &cgen_var_1, 8);
18424     android::base::Stream::toBe64((uint8_t*)(*ptr));
18425     *ptr += 8;
18426     if (forMarshaling->window) {
18427         memcpy(*ptr, (_screen_window*)forMarshaling->window, sizeof(_screen_window));
18428         *ptr += sizeof(_screen_window);
18429     }
18430 }
18431 
18432 #endif
18433 #ifdef VK_EXT_color_write_enable
reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * forMarshaling,uint8_t ** ptr)18434 void reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
18435     VulkanStreamGuest* vkStream, VkStructureType rootType,
18436     const VkPhysicalDeviceColorWriteEnableFeaturesEXT* forMarshaling, uint8_t** ptr) {
18437     (void)vkStream;
18438     (void)rootType;
18439     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18440     *ptr += sizeof(VkStructureType);
18441     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18442         rootType = forMarshaling->sType;
18443     }
18444     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18445     memcpy(*ptr, (VkBool32*)&forMarshaling->colorWriteEnable, sizeof(VkBool32));
18446     *ptr += sizeof(VkBool32);
18447 }
18448 
reservedmarshal_VkPipelineColorWriteCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * forMarshaling,uint8_t ** ptr)18449 void reservedmarshal_VkPipelineColorWriteCreateInfoEXT(
18450     VulkanStreamGuest* vkStream, VkStructureType rootType,
18451     const VkPipelineColorWriteCreateInfoEXT* forMarshaling, uint8_t** ptr) {
18452     (void)vkStream;
18453     (void)rootType;
18454     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18455     *ptr += sizeof(VkStructureType);
18456     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18457         rootType = forMarshaling->sType;
18458     }
18459     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18460     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
18461     *ptr += sizeof(uint32_t);
18462     memcpy(*ptr, (const VkBool32*)forMarshaling->pColorWriteEnables,
18463            forMarshaling->attachmentCount * sizeof(const VkBool32));
18464     *ptr += forMarshaling->attachmentCount * sizeof(const VkBool32);
18465 }
18466 
18467 #endif
18468 #ifdef VK_EXT_primitives_generated_query
reservedmarshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * forMarshaling,uint8_t ** ptr)18469 void reservedmarshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(
18470     VulkanStreamGuest* vkStream, VkStructureType rootType,
18471     const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* forMarshaling, uint8_t** ptr) {
18472     (void)vkStream;
18473     (void)rootType;
18474     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18475     *ptr += sizeof(VkStructureType);
18476     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18477         rootType = forMarshaling->sType;
18478     }
18479     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18480     memcpy(*ptr, (VkBool32*)&forMarshaling->primitivesGeneratedQuery, sizeof(VkBool32));
18481     *ptr += sizeof(VkBool32);
18482     memcpy(*ptr, (VkBool32*)&forMarshaling->primitivesGeneratedQueryWithRasterizerDiscard,
18483            sizeof(VkBool32));
18484     *ptr += sizeof(VkBool32);
18485     memcpy(*ptr, (VkBool32*)&forMarshaling->primitivesGeneratedQueryWithNonZeroStreams,
18486            sizeof(VkBool32));
18487     *ptr += sizeof(VkBool32);
18488 }
18489 
18490 #endif
18491 #ifdef VK_GOOGLE_gfxstream
reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportColorBufferGOOGLE * forMarshaling,uint8_t ** ptr)18492 void reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest* vkStream,
18493                                                VkStructureType rootType,
18494                                                const VkImportColorBufferGOOGLE* forMarshaling,
18495                                                uint8_t** ptr) {
18496     (void)vkStream;
18497     (void)rootType;
18498     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18499     *ptr += sizeof(VkStructureType);
18500     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18501         rootType = forMarshaling->sType;
18502     }
18503     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18504     memcpy(*ptr, (uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
18505     *ptr += sizeof(uint32_t);
18506 }
18507 
reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportBufferGOOGLE * forMarshaling,uint8_t ** ptr)18508 void reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
18509                                           const VkImportBufferGOOGLE* forMarshaling,
18510                                           uint8_t** ptr) {
18511     (void)vkStream;
18512     (void)rootType;
18513     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18514     *ptr += sizeof(VkStructureType);
18515     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18516         rootType = forMarshaling->sType;
18517     }
18518     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18519     memcpy(*ptr, (uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
18520     *ptr += sizeof(uint32_t);
18521 }
18522 
reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCreateBlobGOOGLE * forMarshaling,uint8_t ** ptr)18523 void reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
18524                                         const VkCreateBlobGOOGLE* forMarshaling, uint8_t** ptr) {
18525     (void)vkStream;
18526     (void)rootType;
18527     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18528     *ptr += sizeof(VkStructureType);
18529     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18530         rootType = forMarshaling->sType;
18531     }
18532     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18533     memcpy(*ptr, (uint32_t*)&forMarshaling->blobMem, sizeof(uint32_t));
18534     *ptr += sizeof(uint32_t);
18535     memcpy(*ptr, (uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
18536     *ptr += sizeof(uint32_t);
18537     memcpy(*ptr, (uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
18538     *ptr += sizeof(uint64_t);
18539 }
18540 
18541 #endif
18542 #ifdef VK_EXT_global_priority_query
18543 #endif
18544 #ifdef VK_EXT_image_view_min_lod
reservedmarshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageViewMinLodFeaturesEXT * forMarshaling,uint8_t ** ptr)18545 void reservedmarshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT(
18546     VulkanStreamGuest* vkStream, VkStructureType rootType,
18547     const VkPhysicalDeviceImageViewMinLodFeaturesEXT* forMarshaling, uint8_t** ptr) {
18548     (void)vkStream;
18549     (void)rootType;
18550     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18551     *ptr += sizeof(VkStructureType);
18552     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18553         rootType = forMarshaling->sType;
18554     }
18555     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18556     memcpy(*ptr, (VkBool32*)&forMarshaling->minLod, sizeof(VkBool32));
18557     *ptr += sizeof(VkBool32);
18558 }
18559 
reservedmarshal_VkImageViewMinLodCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewMinLodCreateInfoEXT * forMarshaling,uint8_t ** ptr)18560 void reservedmarshal_VkImageViewMinLodCreateInfoEXT(
18561     VulkanStreamGuest* vkStream, VkStructureType rootType,
18562     const VkImageViewMinLodCreateInfoEXT* forMarshaling, uint8_t** ptr) {
18563     (void)vkStream;
18564     (void)rootType;
18565     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18566     *ptr += sizeof(VkStructureType);
18567     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18568         rootType = forMarshaling->sType;
18569     }
18570     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18571     memcpy(*ptr, (float*)&forMarshaling->minLod, sizeof(float));
18572     *ptr += sizeof(float);
18573 }
18574 
18575 #endif
18576 #ifdef VK_EXT_multi_draw
reservedmarshal_VkPhysicalDeviceMultiDrawFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiDrawFeaturesEXT * forMarshaling,uint8_t ** ptr)18577 void reservedmarshal_VkPhysicalDeviceMultiDrawFeaturesEXT(
18578     VulkanStreamGuest* vkStream, VkStructureType rootType,
18579     const VkPhysicalDeviceMultiDrawFeaturesEXT* forMarshaling, uint8_t** ptr) {
18580     (void)vkStream;
18581     (void)rootType;
18582     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18583     *ptr += sizeof(VkStructureType);
18584     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18585         rootType = forMarshaling->sType;
18586     }
18587     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18588     memcpy(*ptr, (VkBool32*)&forMarshaling->multiDraw, sizeof(VkBool32));
18589     *ptr += sizeof(VkBool32);
18590 }
18591 
reservedmarshal_VkPhysicalDeviceMultiDrawPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiDrawPropertiesEXT * forMarshaling,uint8_t ** ptr)18592 void reservedmarshal_VkPhysicalDeviceMultiDrawPropertiesEXT(
18593     VulkanStreamGuest* vkStream, VkStructureType rootType,
18594     const VkPhysicalDeviceMultiDrawPropertiesEXT* forMarshaling, uint8_t** ptr) {
18595     (void)vkStream;
18596     (void)rootType;
18597     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18598     *ptr += sizeof(VkStructureType);
18599     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18600         rootType = forMarshaling->sType;
18601     }
18602     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18603     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiDrawCount, sizeof(uint32_t));
18604     *ptr += sizeof(uint32_t);
18605 }
18606 
reservedmarshal_VkMultiDrawInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiDrawInfoEXT * forMarshaling,uint8_t ** ptr)18607 void reservedmarshal_VkMultiDrawInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18608                                         const VkMultiDrawInfoEXT* forMarshaling, uint8_t** ptr) {
18609     (void)vkStream;
18610     (void)rootType;
18611     memcpy(*ptr, (uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
18612     *ptr += sizeof(uint32_t);
18613     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
18614     *ptr += sizeof(uint32_t);
18615 }
18616 
reservedmarshal_VkMultiDrawIndexedInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiDrawIndexedInfoEXT * forMarshaling,uint8_t ** ptr)18617 void reservedmarshal_VkMultiDrawIndexedInfoEXT(VulkanStreamGuest* vkStream,
18618                                                VkStructureType rootType,
18619                                                const VkMultiDrawIndexedInfoEXT* forMarshaling,
18620                                                uint8_t** ptr) {
18621     (void)vkStream;
18622     (void)rootType;
18623     memcpy(*ptr, (uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
18624     *ptr += sizeof(uint32_t);
18625     memcpy(*ptr, (uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
18626     *ptr += sizeof(uint32_t);
18627     memcpy(*ptr, (int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
18628     *ptr += sizeof(int32_t);
18629 }
18630 
18631 #endif
18632 #ifdef VK_EXT_image_2d_view_of_3d
reservedmarshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT * forMarshaling,uint8_t ** ptr)18633 void reservedmarshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(
18634     VulkanStreamGuest* vkStream, VkStructureType rootType,
18635     const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* forMarshaling, uint8_t** ptr) {
18636     (void)vkStream;
18637     (void)rootType;
18638     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18639     *ptr += sizeof(VkStructureType);
18640     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18641         rootType = forMarshaling->sType;
18642     }
18643     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18644     memcpy(*ptr, (VkBool32*)&forMarshaling->image2DViewOf3D, sizeof(VkBool32));
18645     *ptr += sizeof(VkBool32);
18646     memcpy(*ptr, (VkBool32*)&forMarshaling->sampler2DViewOf3D, sizeof(VkBool32));
18647     *ptr += sizeof(VkBool32);
18648 }
18649 
18650 #endif
18651 #ifdef VK_EXT_shader_tile_image
reservedmarshal_VkPhysicalDeviceShaderTileImageFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTileImageFeaturesEXT * forMarshaling,uint8_t ** ptr)18652 void reservedmarshal_VkPhysicalDeviceShaderTileImageFeaturesEXT(
18653     VulkanStreamGuest* vkStream, VkStructureType rootType,
18654     const VkPhysicalDeviceShaderTileImageFeaturesEXT* forMarshaling, uint8_t** ptr) {
18655     (void)vkStream;
18656     (void)rootType;
18657     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18658     *ptr += sizeof(VkStructureType);
18659     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18660         rootType = forMarshaling->sType;
18661     }
18662     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18663     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageColorReadAccess, sizeof(VkBool32));
18664     *ptr += sizeof(VkBool32);
18665     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageDepthReadAccess, sizeof(VkBool32));
18666     *ptr += sizeof(VkBool32);
18667     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageStencilReadAccess, sizeof(VkBool32));
18668     *ptr += sizeof(VkBool32);
18669 }
18670 
reservedmarshal_VkPhysicalDeviceShaderTileImagePropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTileImagePropertiesEXT * forMarshaling,uint8_t ** ptr)18671 void reservedmarshal_VkPhysicalDeviceShaderTileImagePropertiesEXT(
18672     VulkanStreamGuest* vkStream, VkStructureType rootType,
18673     const VkPhysicalDeviceShaderTileImagePropertiesEXT* forMarshaling, uint8_t** ptr) {
18674     (void)vkStream;
18675     (void)rootType;
18676     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18677     *ptr += sizeof(VkStructureType);
18678     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18679         rootType = forMarshaling->sType;
18680     }
18681     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18682     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageCoherentReadAccelerated,
18683            sizeof(VkBool32));
18684     *ptr += sizeof(VkBool32);
18685     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageReadSampleFromPixelRateInvocation,
18686            sizeof(VkBool32));
18687     *ptr += sizeof(VkBool32);
18688     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTileImageReadFromHelperInvocation,
18689            sizeof(VkBool32));
18690     *ptr += sizeof(VkBool32);
18691 }
18692 
18693 #endif
18694 #ifdef VK_EXT_opacity_micromap
reservedmarshal_VkMicromapUsageEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapUsageEXT * forMarshaling,uint8_t ** ptr)18695 void reservedmarshal_VkMicromapUsageEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18696                                         const VkMicromapUsageEXT* forMarshaling, uint8_t** ptr) {
18697     (void)vkStream;
18698     (void)rootType;
18699     memcpy(*ptr, (uint32_t*)&forMarshaling->count, sizeof(uint32_t));
18700     *ptr += sizeof(uint32_t);
18701     memcpy(*ptr, (uint32_t*)&forMarshaling->subdivisionLevel, sizeof(uint32_t));
18702     *ptr += sizeof(uint32_t);
18703     memcpy(*ptr, (uint32_t*)&forMarshaling->format, sizeof(uint32_t));
18704     *ptr += sizeof(uint32_t);
18705 }
18706 
reservedmarshal_VkDeviceOrHostAddressKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceOrHostAddressKHR * forMarshaling,uint8_t ** ptr)18707 void reservedmarshal_VkDeviceOrHostAddressKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
18708                                               const VkDeviceOrHostAddressKHR* forMarshaling,
18709                                               uint8_t** ptr) {
18710     (void)vkStream;
18711     (void)rootType;
18712     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
18713     *ptr += sizeof(VkDeviceAddress);
18714 }
18715 
reservedmarshal_VkMicromapBuildInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapBuildInfoEXT * forMarshaling,uint8_t ** ptr)18716 void reservedmarshal_VkMicromapBuildInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18717                                             const VkMicromapBuildInfoEXT* forMarshaling,
18718                                             uint8_t** ptr) {
18719     (void)vkStream;
18720     (void)rootType;
18721     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18722     *ptr += sizeof(VkStructureType);
18723     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18724         rootType = forMarshaling->sType;
18725     }
18726     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18727     memcpy(*ptr, (VkMicromapTypeEXT*)&forMarshaling->type, sizeof(VkMicromapTypeEXT));
18728     *ptr += sizeof(VkMicromapTypeEXT);
18729     memcpy(*ptr, (VkBuildMicromapFlagsEXT*)&forMarshaling->flags, sizeof(VkBuildMicromapFlagsEXT));
18730     *ptr += sizeof(VkBuildMicromapFlagsEXT);
18731     memcpy(*ptr, (VkBuildMicromapModeEXT*)&forMarshaling->mode, sizeof(VkBuildMicromapModeEXT));
18732     *ptr += sizeof(VkBuildMicromapModeEXT);
18733     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dstMicromap;
18734     memcpy((*ptr), &cgen_var_0, 8);
18735     android::base::Stream::toBe64((uint8_t*)(*ptr));
18736     *ptr += 8;
18737     memcpy(*ptr, (uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t));
18738     *ptr += sizeof(uint32_t);
18739     // WARNING PTR CHECK
18740     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts;
18741     memcpy((*ptr), &cgen_var_1, 8);
18742     android::base::Stream::toBe64((uint8_t*)(*ptr));
18743     *ptr += 8;
18744     if (forMarshaling->pUsageCounts) {
18745         for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) {
18746             reservedmarshal_VkMicromapUsageEXT(
18747                 vkStream, rootType, (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i),
18748                 ptr);
18749         }
18750     }
18751     reservedmarshal_VkDeviceOrHostAddressConstKHR(
18752         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->data), ptr);
18753     reservedmarshal_VkDeviceOrHostAddressKHR(
18754         vkStream, rootType, (VkDeviceOrHostAddressKHR*)(&forMarshaling->scratchData), ptr);
18755     reservedmarshal_VkDeviceOrHostAddressConstKHR(
18756         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->triangleArray), ptr);
18757     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->triangleArrayStride, sizeof(VkDeviceSize));
18758     *ptr += sizeof(VkDeviceSize);
18759 }
18760 
reservedmarshal_VkMicromapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapCreateInfoEXT * forMarshaling,uint8_t ** ptr)18761 void reservedmarshal_VkMicromapCreateInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18762                                              const VkMicromapCreateInfoEXT* forMarshaling,
18763                                              uint8_t** ptr) {
18764     (void)vkStream;
18765     (void)rootType;
18766     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18767     *ptr += sizeof(VkStructureType);
18768     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18769         rootType = forMarshaling->sType;
18770     }
18771     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18772     memcpy(*ptr, (VkMicromapCreateFlagsEXT*)&forMarshaling->createFlags,
18773            sizeof(VkMicromapCreateFlagsEXT));
18774     *ptr += sizeof(VkMicromapCreateFlagsEXT);
18775     uint64_t cgen_var_0;
18776     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
18777     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
18778     *ptr += 1 * 8;
18779     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
18780     *ptr += sizeof(VkDeviceSize);
18781     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
18782     *ptr += sizeof(VkDeviceSize);
18783     memcpy(*ptr, (VkMicromapTypeEXT*)&forMarshaling->type, sizeof(VkMicromapTypeEXT));
18784     *ptr += sizeof(VkMicromapTypeEXT);
18785     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
18786     *ptr += sizeof(VkDeviceAddress);
18787 }
18788 
reservedmarshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceOpacityMicromapFeaturesEXT * forMarshaling,uint8_t ** ptr)18789 void reservedmarshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT(
18790     VulkanStreamGuest* vkStream, VkStructureType rootType,
18791     const VkPhysicalDeviceOpacityMicromapFeaturesEXT* forMarshaling, uint8_t** ptr) {
18792     (void)vkStream;
18793     (void)rootType;
18794     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18795     *ptr += sizeof(VkStructureType);
18796     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18797         rootType = forMarshaling->sType;
18798     }
18799     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18800     memcpy(*ptr, (VkBool32*)&forMarshaling->micromap, sizeof(VkBool32));
18801     *ptr += sizeof(VkBool32);
18802     memcpy(*ptr, (VkBool32*)&forMarshaling->micromapCaptureReplay, sizeof(VkBool32));
18803     *ptr += sizeof(VkBool32);
18804     memcpy(*ptr, (VkBool32*)&forMarshaling->micromapHostCommands, sizeof(VkBool32));
18805     *ptr += sizeof(VkBool32);
18806 }
18807 
reservedmarshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceOpacityMicromapPropertiesEXT * forMarshaling,uint8_t ** ptr)18808 void reservedmarshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT(
18809     VulkanStreamGuest* vkStream, VkStructureType rootType,
18810     const VkPhysicalDeviceOpacityMicromapPropertiesEXT* forMarshaling, uint8_t** ptr) {
18811     (void)vkStream;
18812     (void)rootType;
18813     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18814     *ptr += sizeof(VkStructureType);
18815     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18816         rootType = forMarshaling->sType;
18817     }
18818     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18819     memcpy(*ptr, (uint32_t*)&forMarshaling->maxOpacity2StateSubdivisionLevel, sizeof(uint32_t));
18820     *ptr += sizeof(uint32_t);
18821     memcpy(*ptr, (uint32_t*)&forMarshaling->maxOpacity4StateSubdivisionLevel, sizeof(uint32_t));
18822     *ptr += sizeof(uint32_t);
18823 }
18824 
reservedmarshal_VkMicromapVersionInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapVersionInfoEXT * forMarshaling,uint8_t ** ptr)18825 void reservedmarshal_VkMicromapVersionInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18826                                               const VkMicromapVersionInfoEXT* forMarshaling,
18827                                               uint8_t** ptr) {
18828     (void)vkStream;
18829     (void)rootType;
18830     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18831     *ptr += sizeof(VkStructureType);
18832     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18833         rootType = forMarshaling->sType;
18834     }
18835     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18836     memcpy(*ptr, (const uint8_t*)forMarshaling->pVersionData,
18837            2 * VK_UUID_SIZE * sizeof(const uint8_t));
18838     *ptr += 2 * VK_UUID_SIZE * sizeof(const uint8_t);
18839 }
18840 
reservedmarshal_VkCopyMicromapToMemoryInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMicromapToMemoryInfoEXT * forMarshaling,uint8_t ** ptr)18841 void reservedmarshal_VkCopyMicromapToMemoryInfoEXT(
18842     VulkanStreamGuest* vkStream, VkStructureType rootType,
18843     const VkCopyMicromapToMemoryInfoEXT* forMarshaling, uint8_t** ptr) {
18844     (void)vkStream;
18845     (void)rootType;
18846     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18847     *ptr += sizeof(VkStructureType);
18848     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18849         rootType = forMarshaling->sType;
18850     }
18851     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18852     uint64_t cgen_var_0 = (uint64_t)forMarshaling->src;
18853     memcpy((*ptr), &cgen_var_0, 8);
18854     android::base::Stream::toBe64((uint8_t*)(*ptr));
18855     *ptr += 8;
18856     reservedmarshal_VkDeviceOrHostAddressKHR(vkStream, rootType,
18857                                              (VkDeviceOrHostAddressKHR*)(&forMarshaling->dst), ptr);
18858     memcpy(*ptr, (VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT));
18859     *ptr += sizeof(VkCopyMicromapModeEXT);
18860 }
18861 
reservedmarshal_VkCopyMemoryToMicromapInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToMicromapInfoEXT * forMarshaling,uint8_t ** ptr)18862 void reservedmarshal_VkCopyMemoryToMicromapInfoEXT(
18863     VulkanStreamGuest* vkStream, VkStructureType rootType,
18864     const VkCopyMemoryToMicromapInfoEXT* forMarshaling, uint8_t** ptr) {
18865     (void)vkStream;
18866     (void)rootType;
18867     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18868     *ptr += sizeof(VkStructureType);
18869     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18870         rootType = forMarshaling->sType;
18871     }
18872     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18873     reservedmarshal_VkDeviceOrHostAddressConstKHR(
18874         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->src), ptr);
18875     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dst;
18876     memcpy((*ptr), &cgen_var_0, 8);
18877     android::base::Stream::toBe64((uint8_t*)(*ptr));
18878     *ptr += 8;
18879     memcpy(*ptr, (VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT));
18880     *ptr += sizeof(VkCopyMicromapModeEXT);
18881 }
18882 
reservedmarshal_VkCopyMicromapInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMicromapInfoEXT * forMarshaling,uint8_t ** ptr)18883 void reservedmarshal_VkCopyMicromapInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18884                                            const VkCopyMicromapInfoEXT* forMarshaling,
18885                                            uint8_t** ptr) {
18886     (void)vkStream;
18887     (void)rootType;
18888     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18889     *ptr += sizeof(VkStructureType);
18890     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18891         rootType = forMarshaling->sType;
18892     }
18893     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18894     uint64_t cgen_var_0 = (uint64_t)forMarshaling->src;
18895     memcpy((*ptr), &cgen_var_0, 8);
18896     android::base::Stream::toBe64((uint8_t*)(*ptr));
18897     *ptr += 8;
18898     uint64_t cgen_var_1 = (uint64_t)forMarshaling->dst;
18899     memcpy((*ptr), &cgen_var_1, 8);
18900     android::base::Stream::toBe64((uint8_t*)(*ptr));
18901     *ptr += 8;
18902     memcpy(*ptr, (VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT));
18903     *ptr += sizeof(VkCopyMicromapModeEXT);
18904 }
18905 
reservedmarshal_VkMicromapBuildSizesInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapBuildSizesInfoEXT * forMarshaling,uint8_t ** ptr)18906 void reservedmarshal_VkMicromapBuildSizesInfoEXT(VulkanStreamGuest* vkStream,
18907                                                  VkStructureType rootType,
18908                                                  const VkMicromapBuildSizesInfoEXT* forMarshaling,
18909                                                  uint8_t** ptr) {
18910     (void)vkStream;
18911     (void)rootType;
18912     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18913     *ptr += sizeof(VkStructureType);
18914     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18915         rootType = forMarshaling->sType;
18916     }
18917     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18918     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->micromapSize, sizeof(VkDeviceSize));
18919     *ptr += sizeof(VkDeviceSize);
18920     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->buildScratchSize, sizeof(VkDeviceSize));
18921     *ptr += sizeof(VkDeviceSize);
18922     memcpy(*ptr, (VkBool32*)&forMarshaling->discardable, sizeof(VkBool32));
18923     *ptr += sizeof(VkBool32);
18924 }
18925 
reservedmarshal_VkAccelerationStructureTrianglesOpacityMicromapEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureTrianglesOpacityMicromapEXT * forMarshaling,uint8_t ** ptr)18926 void reservedmarshal_VkAccelerationStructureTrianglesOpacityMicromapEXT(
18927     VulkanStreamGuest* vkStream, VkStructureType rootType,
18928     const VkAccelerationStructureTrianglesOpacityMicromapEXT* forMarshaling, uint8_t** ptr) {
18929     (void)vkStream;
18930     (void)rootType;
18931     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18932     *ptr += sizeof(VkStructureType);
18933     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18934         rootType = forMarshaling->sType;
18935     }
18936     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18937     memcpy(*ptr, (VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
18938     *ptr += sizeof(VkIndexType);
18939     reservedmarshal_VkDeviceOrHostAddressConstKHR(
18940         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->indexBuffer), ptr);
18941     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->indexStride, sizeof(VkDeviceSize));
18942     *ptr += sizeof(VkDeviceSize);
18943     memcpy(*ptr, (uint32_t*)&forMarshaling->baseTriangle, sizeof(uint32_t));
18944     *ptr += sizeof(uint32_t);
18945     memcpy(*ptr, (uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t));
18946     *ptr += sizeof(uint32_t);
18947     // WARNING PTR CHECK
18948     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts;
18949     memcpy((*ptr), &cgen_var_0, 8);
18950     android::base::Stream::toBe64((uint8_t*)(*ptr));
18951     *ptr += 8;
18952     if (forMarshaling->pUsageCounts) {
18953         for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) {
18954             reservedmarshal_VkMicromapUsageEXT(
18955                 vkStream, rootType, (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i),
18956                 ptr);
18957         }
18958     }
18959     uint64_t cgen_var_1 = (uint64_t)forMarshaling->micromap;
18960     memcpy((*ptr), &cgen_var_1, 8);
18961     android::base::Stream::toBe64((uint8_t*)(*ptr));
18962     *ptr += 8;
18963 }
18964 
reservedmarshal_VkMicromapTriangleEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMicromapTriangleEXT * forMarshaling,uint8_t ** ptr)18965 void reservedmarshal_VkMicromapTriangleEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
18966                                            const VkMicromapTriangleEXT* forMarshaling,
18967                                            uint8_t** ptr) {
18968     (void)vkStream;
18969     (void)rootType;
18970     memcpy(*ptr, (uint32_t*)&forMarshaling->dataOffset, sizeof(uint32_t));
18971     *ptr += sizeof(uint32_t);
18972     memcpy(*ptr, (uint16_t*)&forMarshaling->subdivisionLevel, sizeof(uint16_t));
18973     *ptr += sizeof(uint16_t);
18974     memcpy(*ptr, (uint16_t*)&forMarshaling->format, sizeof(uint16_t));
18975     *ptr += sizeof(uint16_t);
18976 }
18977 
18978 #endif
18979 #ifdef VK_NV_displacement_micromap
reservedmarshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDisplacementMicromapFeaturesNV * forMarshaling,uint8_t ** ptr)18980 void reservedmarshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV(
18981     VulkanStreamGuest* vkStream, VkStructureType rootType,
18982     const VkPhysicalDeviceDisplacementMicromapFeaturesNV* forMarshaling, uint8_t** ptr) {
18983     (void)vkStream;
18984     (void)rootType;
18985     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18986     *ptr += sizeof(VkStructureType);
18987     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18988         rootType = forMarshaling->sType;
18989     }
18990     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
18991     memcpy(*ptr, (VkBool32*)&forMarshaling->displacementMicromap, sizeof(VkBool32));
18992     *ptr += sizeof(VkBool32);
18993 }
18994 
reservedmarshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDisplacementMicromapPropertiesNV * forMarshaling,uint8_t ** ptr)18995 void reservedmarshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV(
18996     VulkanStreamGuest* vkStream, VkStructureType rootType,
18997     const VkPhysicalDeviceDisplacementMicromapPropertiesNV* forMarshaling, uint8_t** ptr) {
18998     (void)vkStream;
18999     (void)rootType;
19000     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19001     *ptr += sizeof(VkStructureType);
19002     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19003         rootType = forMarshaling->sType;
19004     }
19005     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19006     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDisplacementMicromapSubdivisionLevel,
19007            sizeof(uint32_t));
19008     *ptr += sizeof(uint32_t);
19009 }
19010 
reservedmarshal_VkAccelerationStructureTrianglesDisplacementMicromapNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureTrianglesDisplacementMicromapNV * forMarshaling,uint8_t ** ptr)19011 void reservedmarshal_VkAccelerationStructureTrianglesDisplacementMicromapNV(
19012     VulkanStreamGuest* vkStream, VkStructureType rootType,
19013     const VkAccelerationStructureTrianglesDisplacementMicromapNV* forMarshaling, uint8_t** ptr) {
19014     (void)vkStream;
19015     (void)rootType;
19016     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19017     *ptr += sizeof(VkStructureType);
19018     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19019         rootType = forMarshaling->sType;
19020     }
19021     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19022     memcpy(*ptr, (VkFormat*)&forMarshaling->displacementBiasAndScaleFormat, sizeof(VkFormat));
19023     *ptr += sizeof(VkFormat);
19024     memcpy(*ptr, (VkFormat*)&forMarshaling->displacementVectorFormat, sizeof(VkFormat));
19025     *ptr += sizeof(VkFormat);
19026     reservedmarshal_VkDeviceOrHostAddressConstKHR(
19027         vkStream, rootType,
19028         (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacementBiasAndScaleBuffer), ptr);
19029     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->displacementBiasAndScaleStride,
19030            sizeof(VkDeviceSize));
19031     *ptr += sizeof(VkDeviceSize);
19032     reservedmarshal_VkDeviceOrHostAddressConstKHR(
19033         vkStream, rootType,
19034         (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacementVectorBuffer), ptr);
19035     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->displacementVectorStride, sizeof(VkDeviceSize));
19036     *ptr += sizeof(VkDeviceSize);
19037     reservedmarshal_VkDeviceOrHostAddressConstKHR(
19038         vkStream, rootType,
19039         (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacedMicromapPrimitiveFlags), ptr);
19040     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->displacedMicromapPrimitiveFlagsStride,
19041            sizeof(VkDeviceSize));
19042     *ptr += sizeof(VkDeviceSize);
19043     memcpy(*ptr, (VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
19044     *ptr += sizeof(VkIndexType);
19045     reservedmarshal_VkDeviceOrHostAddressConstKHR(
19046         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->indexBuffer), ptr);
19047     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->indexStride, sizeof(VkDeviceSize));
19048     *ptr += sizeof(VkDeviceSize);
19049     memcpy(*ptr, (uint32_t*)&forMarshaling->baseTriangle, sizeof(uint32_t));
19050     *ptr += sizeof(uint32_t);
19051     memcpy(*ptr, (uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t));
19052     *ptr += sizeof(uint32_t);
19053     // WARNING PTR CHECK
19054     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts;
19055     memcpy((*ptr), &cgen_var_0, 8);
19056     android::base::Stream::toBe64((uint8_t*)(*ptr));
19057     *ptr += 8;
19058     if (forMarshaling->pUsageCounts) {
19059         for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) {
19060             reservedmarshal_VkMicromapUsageEXT(
19061                 vkStream, rootType, (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i),
19062                 ptr);
19063         }
19064     }
19065     uint64_t cgen_var_1 = (uint64_t)forMarshaling->micromap;
19066     memcpy((*ptr), &cgen_var_1, 8);
19067     android::base::Stream::toBe64((uint8_t*)(*ptr));
19068     *ptr += 8;
19069 }
19070 
19071 #endif
19072 #ifdef VK_EXT_load_store_op_none
19073 #endif
19074 #ifdef VK_HUAWEI_cluster_culling_shader
reservedmarshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI * forMarshaling,uint8_t ** ptr)19075 void reservedmarshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(
19076     VulkanStreamGuest* vkStream, VkStructureType rootType,
19077     const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* forMarshaling, uint8_t** ptr) {
19078     (void)vkStream;
19079     (void)rootType;
19080     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19081     *ptr += sizeof(VkStructureType);
19082     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19083         rootType = forMarshaling->sType;
19084     }
19085     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19086     memcpy(*ptr, (VkBool32*)&forMarshaling->clustercullingShader, sizeof(VkBool32));
19087     *ptr += sizeof(VkBool32);
19088     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewClusterCullingShader, sizeof(VkBool32));
19089     *ptr += sizeof(VkBool32);
19090 }
19091 
reservedmarshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI * forMarshaling,uint8_t ** ptr)19092 void reservedmarshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(
19093     VulkanStreamGuest* vkStream, VkStructureType rootType,
19094     const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* forMarshaling, uint8_t** ptr) {
19095     (void)vkStream;
19096     (void)rootType;
19097     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19098     *ptr += sizeof(VkStructureType);
19099     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19100         rootType = forMarshaling->sType;
19101     }
19102     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19103     memcpy(*ptr, (uint32_t*)forMarshaling->maxWorkGroupCount, 3 * sizeof(uint32_t));
19104     *ptr += 3 * sizeof(uint32_t);
19105     memcpy(*ptr, (uint32_t*)forMarshaling->maxWorkGroupSize, 3 * sizeof(uint32_t));
19106     *ptr += 3 * sizeof(uint32_t);
19107     memcpy(*ptr, (uint32_t*)&forMarshaling->maxOutputClusterCount, sizeof(uint32_t));
19108     *ptr += sizeof(uint32_t);
19109     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->indirectBufferOffsetAlignment,
19110            sizeof(VkDeviceSize));
19111     *ptr += sizeof(VkDeviceSize);
19112 }
19113 
19114 #endif
19115 #ifdef VK_EXT_border_color_swizzle
reservedmarshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT * forMarshaling,uint8_t ** ptr)19116 void reservedmarshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
19117     VulkanStreamGuest* vkStream, VkStructureType rootType,
19118     const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* forMarshaling, uint8_t** ptr) {
19119     (void)vkStream;
19120     (void)rootType;
19121     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19122     *ptr += sizeof(VkStructureType);
19123     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19124         rootType = forMarshaling->sType;
19125     }
19126     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19127     memcpy(*ptr, (VkBool32*)&forMarshaling->borderColorSwizzle, sizeof(VkBool32));
19128     *ptr += sizeof(VkBool32);
19129     memcpy(*ptr, (VkBool32*)&forMarshaling->borderColorSwizzleFromImage, sizeof(VkBool32));
19130     *ptr += sizeof(VkBool32);
19131 }
19132 
reservedmarshal_VkSamplerBorderColorComponentMappingCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerBorderColorComponentMappingCreateInfoEXT * forMarshaling,uint8_t ** ptr)19133 void reservedmarshal_VkSamplerBorderColorComponentMappingCreateInfoEXT(
19134     VulkanStreamGuest* vkStream, VkStructureType rootType,
19135     const VkSamplerBorderColorComponentMappingCreateInfoEXT* forMarshaling, uint8_t** ptr) {
19136     (void)vkStream;
19137     (void)rootType;
19138     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19139     *ptr += sizeof(VkStructureType);
19140     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19141         rootType = forMarshaling->sType;
19142     }
19143     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19144     reservedmarshal_VkComponentMapping(vkStream, rootType,
19145                                        (VkComponentMapping*)(&forMarshaling->components), ptr);
19146     memcpy(*ptr, (VkBool32*)&forMarshaling->srgb, sizeof(VkBool32));
19147     *ptr += sizeof(VkBool32);
19148 }
19149 
19150 #endif
19151 #ifdef VK_EXT_pageable_device_local_memory
reservedmarshal_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT * forMarshaling,uint8_t ** ptr)19152 void reservedmarshal_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
19153     VulkanStreamGuest* vkStream, VkStructureType rootType,
19154     const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* forMarshaling, uint8_t** ptr) {
19155     (void)vkStream;
19156     (void)rootType;
19157     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19158     *ptr += sizeof(VkStructureType);
19159     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19160         rootType = forMarshaling->sType;
19161     }
19162     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19163     memcpy(*ptr, (VkBool32*)&forMarshaling->pageableDeviceLocalMemory, sizeof(VkBool32));
19164     *ptr += sizeof(VkBool32);
19165 }
19166 
19167 #endif
19168 #ifdef VK_ARM_shader_core_properties
reservedmarshal_VkPhysicalDeviceShaderCorePropertiesARM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderCorePropertiesARM * forMarshaling,uint8_t ** ptr)19169 void reservedmarshal_VkPhysicalDeviceShaderCorePropertiesARM(
19170     VulkanStreamGuest* vkStream, VkStructureType rootType,
19171     const VkPhysicalDeviceShaderCorePropertiesARM* forMarshaling, uint8_t** ptr) {
19172     (void)vkStream;
19173     (void)rootType;
19174     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19175     *ptr += sizeof(VkStructureType);
19176     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19177         rootType = forMarshaling->sType;
19178     }
19179     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19180     memcpy(*ptr, (uint32_t*)&forMarshaling->pixelRate, sizeof(uint32_t));
19181     *ptr += sizeof(uint32_t);
19182     memcpy(*ptr, (uint32_t*)&forMarshaling->texelRate, sizeof(uint32_t));
19183     *ptr += sizeof(uint32_t);
19184     memcpy(*ptr, (uint32_t*)&forMarshaling->fmaRate, sizeof(uint32_t));
19185     *ptr += sizeof(uint32_t);
19186 }
19187 
19188 #endif
19189 #ifdef VK_EXT_image_sliced_view_of_3d
reservedmarshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT * forMarshaling,uint8_t ** ptr)19190 void reservedmarshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(
19191     VulkanStreamGuest* vkStream, VkStructureType rootType,
19192     const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* forMarshaling, uint8_t** ptr) {
19193     (void)vkStream;
19194     (void)rootType;
19195     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19196     *ptr += sizeof(VkStructureType);
19197     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19198         rootType = forMarshaling->sType;
19199     }
19200     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19201     memcpy(*ptr, (VkBool32*)&forMarshaling->imageSlicedViewOf3D, sizeof(VkBool32));
19202     *ptr += sizeof(VkBool32);
19203 }
19204 
reservedmarshal_VkImageViewSlicedCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewSlicedCreateInfoEXT * forMarshaling,uint8_t ** ptr)19205 void reservedmarshal_VkImageViewSlicedCreateInfoEXT(
19206     VulkanStreamGuest* vkStream, VkStructureType rootType,
19207     const VkImageViewSlicedCreateInfoEXT* forMarshaling, uint8_t** ptr) {
19208     (void)vkStream;
19209     (void)rootType;
19210     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19211     *ptr += sizeof(VkStructureType);
19212     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19213         rootType = forMarshaling->sType;
19214     }
19215     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19216     memcpy(*ptr, (uint32_t*)&forMarshaling->sliceOffset, sizeof(uint32_t));
19217     *ptr += sizeof(uint32_t);
19218     memcpy(*ptr, (uint32_t*)&forMarshaling->sliceCount, sizeof(uint32_t));
19219     *ptr += sizeof(uint32_t);
19220 }
19221 
19222 #endif
19223 #ifdef VK_VALVE_descriptor_set_host_mapping
reservedmarshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE * forMarshaling,uint8_t ** ptr)19224 void reservedmarshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(
19225     VulkanStreamGuest* vkStream, VkStructureType rootType,
19226     const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* forMarshaling, uint8_t** ptr) {
19227     (void)vkStream;
19228     (void)rootType;
19229     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19230     *ptr += sizeof(VkStructureType);
19231     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19232         rootType = forMarshaling->sType;
19233     }
19234     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19235     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorSetHostMapping, sizeof(VkBool32));
19236     *ptr += sizeof(VkBool32);
19237 }
19238 
reservedmarshal_VkDescriptorSetBindingReferenceVALVE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetBindingReferenceVALVE * forMarshaling,uint8_t ** ptr)19239 void reservedmarshal_VkDescriptorSetBindingReferenceVALVE(
19240     VulkanStreamGuest* vkStream, VkStructureType rootType,
19241     const VkDescriptorSetBindingReferenceVALVE* forMarshaling, uint8_t** ptr) {
19242     (void)vkStream;
19243     (void)rootType;
19244     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19245     *ptr += sizeof(VkStructureType);
19246     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19247         rootType = forMarshaling->sType;
19248     }
19249     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19250     uint64_t cgen_var_0;
19251     *&cgen_var_0 = get_host_u64_VkDescriptorSetLayout((*&forMarshaling->descriptorSetLayout));
19252     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
19253     *ptr += 1 * 8;
19254     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
19255     *ptr += sizeof(uint32_t);
19256 }
19257 
reservedmarshal_VkDescriptorSetLayoutHostMappingInfoVALVE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutHostMappingInfoVALVE * forMarshaling,uint8_t ** ptr)19258 void reservedmarshal_VkDescriptorSetLayoutHostMappingInfoVALVE(
19259     VulkanStreamGuest* vkStream, VkStructureType rootType,
19260     const VkDescriptorSetLayoutHostMappingInfoVALVE* forMarshaling, uint8_t** ptr) {
19261     (void)vkStream;
19262     (void)rootType;
19263     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19264     *ptr += sizeof(VkStructureType);
19265     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19266         rootType = forMarshaling->sType;
19267     }
19268     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19269     uint64_t cgen_var_0 = (uint64_t)forMarshaling->descriptorOffset;
19270     memcpy((*ptr), &cgen_var_0, 8);
19271     android::base::Stream::toBe64((uint8_t*)(*ptr));
19272     *ptr += 8;
19273     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSize, sizeof(uint32_t));
19274     *ptr += sizeof(uint32_t);
19275 }
19276 
19277 #endif
19278 #ifdef VK_EXT_depth_clamp_zero_one
reservedmarshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT * forMarshaling,uint8_t ** ptr)19279 void reservedmarshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(
19280     VulkanStreamGuest* vkStream, VkStructureType rootType,
19281     const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* forMarshaling, uint8_t** ptr) {
19282     (void)vkStream;
19283     (void)rootType;
19284     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19285     *ptr += sizeof(VkStructureType);
19286     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19287         rootType = forMarshaling->sType;
19288     }
19289     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19290     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClampZeroOne, sizeof(VkBool32));
19291     *ptr += sizeof(VkBool32);
19292 }
19293 
19294 #endif
19295 #ifdef VK_EXT_non_seamless_cube_map
reservedmarshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT * forMarshaling,uint8_t ** ptr)19296 void reservedmarshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(
19297     VulkanStreamGuest* vkStream, VkStructureType rootType,
19298     const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* forMarshaling, uint8_t** ptr) {
19299     (void)vkStream;
19300     (void)rootType;
19301     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19302     *ptr += sizeof(VkStructureType);
19303     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19304         rootType = forMarshaling->sType;
19305     }
19306     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19307     memcpy(*ptr, (VkBool32*)&forMarshaling->nonSeamlessCubeMap, sizeof(VkBool32));
19308     *ptr += sizeof(VkBool32);
19309 }
19310 
19311 #endif
19312 #ifdef VK_QCOM_fragment_density_map_offset
reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM * forMarshaling,uint8_t ** ptr)19313 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(
19314     VulkanStreamGuest* vkStream, VkStructureType rootType,
19315     const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* forMarshaling, uint8_t** ptr) {
19316     (void)vkStream;
19317     (void)rootType;
19318     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19319     *ptr += sizeof(VkStructureType);
19320     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19321         rootType = forMarshaling->sType;
19322     }
19323     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19324     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapOffset, sizeof(VkBool32));
19325     *ptr += sizeof(VkBool32);
19326 }
19327 
reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM * forMarshaling,uint8_t ** ptr)19328 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(
19329     VulkanStreamGuest* vkStream, VkStructureType rootType,
19330     const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* forMarshaling, uint8_t** ptr) {
19331     (void)vkStream;
19332     (void)rootType;
19333     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19334     *ptr += sizeof(VkStructureType);
19335     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19336         rootType = forMarshaling->sType;
19337     }
19338     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19339     reservedmarshal_VkExtent2D(
19340         vkStream, rootType, (VkExtent2D*)(&forMarshaling->fragmentDensityOffsetGranularity), ptr);
19341 }
19342 
reservedmarshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassFragmentDensityMapOffsetEndInfoQCOM * forMarshaling,uint8_t ** ptr)19343 void reservedmarshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(
19344     VulkanStreamGuest* vkStream, VkStructureType rootType,
19345     const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* forMarshaling, uint8_t** ptr) {
19346     (void)vkStream;
19347     (void)rootType;
19348     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19349     *ptr += sizeof(VkStructureType);
19350     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19351         rootType = forMarshaling->sType;
19352     }
19353     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19354     memcpy(*ptr, (uint32_t*)&forMarshaling->fragmentDensityOffsetCount, sizeof(uint32_t));
19355     *ptr += sizeof(uint32_t);
19356     for (uint32_t i = 0; i < (uint32_t)forMarshaling->fragmentDensityOffsetCount; ++i) {
19357         reservedmarshal_VkOffset2D(vkStream, rootType,
19358                                    (const VkOffset2D*)(forMarshaling->pFragmentDensityOffsets + i),
19359                                    ptr);
19360     }
19361 }
19362 
19363 #endif
19364 #ifdef VK_NV_copy_memory_indirect
reservedmarshal_VkCopyMemoryIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryIndirectCommandNV * forMarshaling,uint8_t ** ptr)19365 void reservedmarshal_VkCopyMemoryIndirectCommandNV(
19366     VulkanStreamGuest* vkStream, VkStructureType rootType,
19367     const VkCopyMemoryIndirectCommandNV* forMarshaling, uint8_t** ptr) {
19368     (void)vkStream;
19369     (void)rootType;
19370     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress));
19371     *ptr += sizeof(VkDeviceAddress);
19372     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->dstAddress, sizeof(VkDeviceAddress));
19373     *ptr += sizeof(VkDeviceAddress);
19374     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
19375     *ptr += sizeof(VkDeviceSize);
19376 }
19377 
reservedmarshal_VkCopyMemoryToImageIndirectCommandNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToImageIndirectCommandNV * forMarshaling,uint8_t ** ptr)19378 void reservedmarshal_VkCopyMemoryToImageIndirectCommandNV(
19379     VulkanStreamGuest* vkStream, VkStructureType rootType,
19380     const VkCopyMemoryToImageIndirectCommandNV* forMarshaling, uint8_t** ptr) {
19381     (void)vkStream;
19382     (void)rootType;
19383     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress));
19384     *ptr += sizeof(VkDeviceAddress);
19385     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
19386     *ptr += sizeof(uint32_t);
19387     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
19388     *ptr += sizeof(uint32_t);
19389     reservedmarshal_VkImageSubresourceLayers(
19390         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
19391     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
19392     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
19393 }
19394 
reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV * forMarshaling,uint8_t ** ptr)19395 void reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(
19396     VulkanStreamGuest* vkStream, VkStructureType rootType,
19397     const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* forMarshaling, uint8_t** ptr) {
19398     (void)vkStream;
19399     (void)rootType;
19400     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19401     *ptr += sizeof(VkStructureType);
19402     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19403         rootType = forMarshaling->sType;
19404     }
19405     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19406     memcpy(*ptr, (VkBool32*)&forMarshaling->indirectCopy, sizeof(VkBool32));
19407     *ptr += sizeof(VkBool32);
19408 }
19409 
reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV * forMarshaling,uint8_t ** ptr)19410 void reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(
19411     VulkanStreamGuest* vkStream, VkStructureType rootType,
19412     const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* forMarshaling, uint8_t** ptr) {
19413     (void)vkStream;
19414     (void)rootType;
19415     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19416     *ptr += sizeof(VkStructureType);
19417     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19418         rootType = forMarshaling->sType;
19419     }
19420     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19421     memcpy(*ptr, (VkQueueFlags*)&forMarshaling->supportedQueues, sizeof(VkQueueFlags));
19422     *ptr += sizeof(VkQueueFlags);
19423 }
19424 
19425 #endif
19426 #ifdef VK_NV_memory_decompression
reservedmarshal_VkDecompressMemoryRegionNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDecompressMemoryRegionNV * forMarshaling,uint8_t ** ptr)19427 void reservedmarshal_VkDecompressMemoryRegionNV(VulkanStreamGuest* vkStream,
19428                                                 VkStructureType rootType,
19429                                                 const VkDecompressMemoryRegionNV* forMarshaling,
19430                                                 uint8_t** ptr) {
19431     (void)vkStream;
19432     (void)rootType;
19433     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress));
19434     *ptr += sizeof(VkDeviceAddress);
19435     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->dstAddress, sizeof(VkDeviceAddress));
19436     *ptr += sizeof(VkDeviceAddress);
19437     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->compressedSize, sizeof(VkDeviceSize));
19438     *ptr += sizeof(VkDeviceSize);
19439     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->decompressedSize, sizeof(VkDeviceSize));
19440     *ptr += sizeof(VkDeviceSize);
19441     memcpy(*ptr, (VkMemoryDecompressionMethodFlagsNV*)&forMarshaling->decompressionMethod,
19442            sizeof(VkMemoryDecompressionMethodFlagsNV));
19443     *ptr += sizeof(VkMemoryDecompressionMethodFlagsNV);
19444 }
19445 
reservedmarshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryDecompressionFeaturesNV * forMarshaling,uint8_t ** ptr)19446 void reservedmarshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV(
19447     VulkanStreamGuest* vkStream, VkStructureType rootType,
19448     const VkPhysicalDeviceMemoryDecompressionFeaturesNV* forMarshaling, uint8_t** ptr) {
19449     (void)vkStream;
19450     (void)rootType;
19451     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19452     *ptr += sizeof(VkStructureType);
19453     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19454         rootType = forMarshaling->sType;
19455     }
19456     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19457     memcpy(*ptr, (VkBool32*)&forMarshaling->memoryDecompression, sizeof(VkBool32));
19458     *ptr += sizeof(VkBool32);
19459 }
19460 
reservedmarshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryDecompressionPropertiesNV * forMarshaling,uint8_t ** ptr)19461 void reservedmarshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV(
19462     VulkanStreamGuest* vkStream, VkStructureType rootType,
19463     const VkPhysicalDeviceMemoryDecompressionPropertiesNV* forMarshaling, uint8_t** ptr) {
19464     (void)vkStream;
19465     (void)rootType;
19466     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19467     *ptr += sizeof(VkStructureType);
19468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19469         rootType = forMarshaling->sType;
19470     }
19471     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19472     memcpy(*ptr, (VkMemoryDecompressionMethodFlagsNV*)&forMarshaling->decompressionMethods,
19473            sizeof(VkMemoryDecompressionMethodFlagsNV));
19474     *ptr += sizeof(VkMemoryDecompressionMethodFlagsNV);
19475     memcpy(*ptr, (uint64_t*)&forMarshaling->maxDecompressionIndirectCount, sizeof(uint64_t));
19476     *ptr += sizeof(uint64_t);
19477 }
19478 
19479 #endif
19480 #ifdef VK_NV_linear_color_attachment
reservedmarshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLinearColorAttachmentFeaturesNV * forMarshaling,uint8_t ** ptr)19481 void reservedmarshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(
19482     VulkanStreamGuest* vkStream, VkStructureType rootType,
19483     const VkPhysicalDeviceLinearColorAttachmentFeaturesNV* forMarshaling, uint8_t** ptr) {
19484     (void)vkStream;
19485     (void)rootType;
19486     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19487     *ptr += sizeof(VkStructureType);
19488     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19489         rootType = forMarshaling->sType;
19490     }
19491     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19492     memcpy(*ptr, (VkBool32*)&forMarshaling->linearColorAttachment, sizeof(VkBool32));
19493     *ptr += sizeof(VkBool32);
19494 }
19495 
19496 #endif
19497 #ifdef VK_GOOGLE_surfaceless_query
19498 #endif
19499 #ifdef VK_EXT_image_compression_control_swapchain
reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forMarshaling,uint8_t ** ptr)19500 void reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
19501     VulkanStreamGuest* vkStream, VkStructureType rootType,
19502     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling,
19503     uint8_t** ptr) {
19504     (void)vkStream;
19505     (void)rootType;
19506     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19507     *ptr += sizeof(VkStructureType);
19508     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19509         rootType = forMarshaling->sType;
19510     }
19511     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19512     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
19513     *ptr += sizeof(VkBool32);
19514 }
19515 
19516 #endif
19517 #ifdef VK_QCOM_image_processing
reservedmarshal_VkImageViewSampleWeightCreateInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewSampleWeightCreateInfoQCOM * forMarshaling,uint8_t ** ptr)19518 void reservedmarshal_VkImageViewSampleWeightCreateInfoQCOM(
19519     VulkanStreamGuest* vkStream, VkStructureType rootType,
19520     const VkImageViewSampleWeightCreateInfoQCOM* forMarshaling, uint8_t** ptr) {
19521     (void)vkStream;
19522     (void)rootType;
19523     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19524     *ptr += sizeof(VkStructureType);
19525     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19526         rootType = forMarshaling->sType;
19527     }
19528     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19529     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->filterCenter),
19530                                ptr);
19531     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->filterSize), ptr);
19532     memcpy(*ptr, (uint32_t*)&forMarshaling->numPhases, sizeof(uint32_t));
19533     *ptr += sizeof(uint32_t);
19534 }
19535 
reservedmarshal_VkPhysicalDeviceImageProcessingFeaturesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageProcessingFeaturesQCOM * forMarshaling,uint8_t ** ptr)19536 void reservedmarshal_VkPhysicalDeviceImageProcessingFeaturesQCOM(
19537     VulkanStreamGuest* vkStream, VkStructureType rootType,
19538     const VkPhysicalDeviceImageProcessingFeaturesQCOM* forMarshaling, uint8_t** ptr) {
19539     (void)vkStream;
19540     (void)rootType;
19541     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19542     *ptr += sizeof(VkStructureType);
19543     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19544         rootType = forMarshaling->sType;
19545     }
19546     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19547     memcpy(*ptr, (VkBool32*)&forMarshaling->textureSampleWeighted, sizeof(VkBool32));
19548     *ptr += sizeof(VkBool32);
19549     memcpy(*ptr, (VkBool32*)&forMarshaling->textureBoxFilter, sizeof(VkBool32));
19550     *ptr += sizeof(VkBool32);
19551     memcpy(*ptr, (VkBool32*)&forMarshaling->textureBlockMatch, sizeof(VkBool32));
19552     *ptr += sizeof(VkBool32);
19553 }
19554 
reservedmarshal_VkPhysicalDeviceImageProcessingPropertiesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageProcessingPropertiesQCOM * forMarshaling,uint8_t ** ptr)19555 void reservedmarshal_VkPhysicalDeviceImageProcessingPropertiesQCOM(
19556     VulkanStreamGuest* vkStream, VkStructureType rootType,
19557     const VkPhysicalDeviceImageProcessingPropertiesQCOM* forMarshaling, uint8_t** ptr) {
19558     (void)vkStream;
19559     (void)rootType;
19560     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19561     *ptr += sizeof(VkStructureType);
19562     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19563         rootType = forMarshaling->sType;
19564     }
19565     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19566     memcpy(*ptr, (uint32_t*)&forMarshaling->maxWeightFilterPhases, sizeof(uint32_t));
19567     *ptr += sizeof(uint32_t);
19568     reservedmarshal_VkExtent2D(vkStream, rootType,
19569                                (VkExtent2D*)(&forMarshaling->maxWeightFilterDimension), ptr);
19570     reservedmarshal_VkExtent2D(vkStream, rootType,
19571                                (VkExtent2D*)(&forMarshaling->maxBlockMatchRegion), ptr);
19572     reservedmarshal_VkExtent2D(vkStream, rootType,
19573                                (VkExtent2D*)(&forMarshaling->maxBoxFilterBlockSize), ptr);
19574 }
19575 
19576 #endif
19577 #ifdef VK_EXT_extended_dynamic_state3
reservedmarshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT * forMarshaling,uint8_t ** ptr)19578 void reservedmarshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(
19579     VulkanStreamGuest* vkStream, VkStructureType rootType,
19580     const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* forMarshaling, uint8_t** ptr) {
19581     (void)vkStream;
19582     (void)rootType;
19583     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19584     *ptr += sizeof(VkStructureType);
19585     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19586         rootType = forMarshaling->sType;
19587     }
19588     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19589     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3TessellationDomainOrigin,
19590            sizeof(VkBool32));
19591     *ptr += sizeof(VkBool32);
19592     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3DepthClampEnable,
19593            sizeof(VkBool32));
19594     *ptr += sizeof(VkBool32);
19595     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3PolygonMode, sizeof(VkBool32));
19596     *ptr += sizeof(VkBool32);
19597     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3RasterizationSamples,
19598            sizeof(VkBool32));
19599     *ptr += sizeof(VkBool32);
19600     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3SampleMask, sizeof(VkBool32));
19601     *ptr += sizeof(VkBool32);
19602     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3AlphaToCoverageEnable,
19603            sizeof(VkBool32));
19604     *ptr += sizeof(VkBool32);
19605     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3AlphaToOneEnable,
19606            sizeof(VkBool32));
19607     *ptr += sizeof(VkBool32);
19608     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3LogicOpEnable, sizeof(VkBool32));
19609     *ptr += sizeof(VkBool32);
19610     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendEnable,
19611            sizeof(VkBool32));
19612     *ptr += sizeof(VkBool32);
19613     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendEquation,
19614            sizeof(VkBool32));
19615     *ptr += sizeof(VkBool32);
19616     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ColorWriteMask, sizeof(VkBool32));
19617     *ptr += sizeof(VkBool32);
19618     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3RasterizationStream,
19619            sizeof(VkBool32));
19620     *ptr += sizeof(VkBool32);
19621     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ConservativeRasterizationMode,
19622            sizeof(VkBool32));
19623     *ptr += sizeof(VkBool32);
19624     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ExtraPrimitiveOverestimationSize,
19625            sizeof(VkBool32));
19626     *ptr += sizeof(VkBool32);
19627     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3DepthClipEnable, sizeof(VkBool32));
19628     *ptr += sizeof(VkBool32);
19629     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3SampleLocationsEnable,
19630            sizeof(VkBool32));
19631     *ptr += sizeof(VkBool32);
19632     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendAdvanced,
19633            sizeof(VkBool32));
19634     *ptr += sizeof(VkBool32);
19635     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ProvokingVertexMode,
19636            sizeof(VkBool32));
19637     *ptr += sizeof(VkBool32);
19638     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3LineRasterizationMode,
19639            sizeof(VkBool32));
19640     *ptr += sizeof(VkBool32);
19641     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3LineStippleEnable,
19642            sizeof(VkBool32));
19643     *ptr += sizeof(VkBool32);
19644     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3DepthClipNegativeOneToOne,
19645            sizeof(VkBool32));
19646     *ptr += sizeof(VkBool32);
19647     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ViewportWScalingEnable,
19648            sizeof(VkBool32));
19649     *ptr += sizeof(VkBool32);
19650     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ViewportSwizzle, sizeof(VkBool32));
19651     *ptr += sizeof(VkBool32);
19652     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageToColorEnable,
19653            sizeof(VkBool32));
19654     *ptr += sizeof(VkBool32);
19655     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageToColorLocation,
19656            sizeof(VkBool32));
19657     *ptr += sizeof(VkBool32);
19658     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationMode,
19659            sizeof(VkBool32));
19660     *ptr += sizeof(VkBool32);
19661     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationTableEnable,
19662            sizeof(VkBool32));
19663     *ptr += sizeof(VkBool32);
19664     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationTable,
19665            sizeof(VkBool32));
19666     *ptr += sizeof(VkBool32);
19667     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3CoverageReductionMode,
19668            sizeof(VkBool32));
19669     *ptr += sizeof(VkBool32);
19670     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3RepresentativeFragmentTestEnable,
19671            sizeof(VkBool32));
19672     *ptr += sizeof(VkBool32);
19673     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState3ShadingRateImageEnable,
19674            sizeof(VkBool32));
19675     *ptr += sizeof(VkBool32);
19676 }
19677 
reservedmarshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT * forMarshaling,uint8_t ** ptr)19678 void reservedmarshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(
19679     VulkanStreamGuest* vkStream, VkStructureType rootType,
19680     const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* forMarshaling, uint8_t** ptr) {
19681     (void)vkStream;
19682     (void)rootType;
19683     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19684     *ptr += sizeof(VkStructureType);
19685     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19686         rootType = forMarshaling->sType;
19687     }
19688     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19689     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicPrimitiveTopologyUnrestricted, sizeof(VkBool32));
19690     *ptr += sizeof(VkBool32);
19691 }
19692 
reservedmarshal_VkColorBlendEquationEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkColorBlendEquationEXT * forMarshaling,uint8_t ** ptr)19693 void reservedmarshal_VkColorBlendEquationEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
19694                                              const VkColorBlendEquationEXT* forMarshaling,
19695                                              uint8_t** ptr) {
19696     (void)vkStream;
19697     (void)rootType;
19698     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
19699     *ptr += sizeof(VkBlendFactor);
19700     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
19701     *ptr += sizeof(VkBlendFactor);
19702     memcpy(*ptr, (VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
19703     *ptr += sizeof(VkBlendOp);
19704     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
19705     *ptr += sizeof(VkBlendFactor);
19706     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
19707     *ptr += sizeof(VkBlendFactor);
19708     memcpy(*ptr, (VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
19709     *ptr += sizeof(VkBlendOp);
19710 }
19711 
reservedmarshal_VkColorBlendAdvancedEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkColorBlendAdvancedEXT * forMarshaling,uint8_t ** ptr)19712 void reservedmarshal_VkColorBlendAdvancedEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
19713                                              const VkColorBlendAdvancedEXT* forMarshaling,
19714                                              uint8_t** ptr) {
19715     (void)vkStream;
19716     (void)rootType;
19717     memcpy(*ptr, (VkBlendOp*)&forMarshaling->advancedBlendOp, sizeof(VkBlendOp));
19718     *ptr += sizeof(VkBlendOp);
19719     memcpy(*ptr, (VkBool32*)&forMarshaling->srcPremultiplied, sizeof(VkBool32));
19720     *ptr += sizeof(VkBool32);
19721     memcpy(*ptr, (VkBool32*)&forMarshaling->dstPremultiplied, sizeof(VkBool32));
19722     *ptr += sizeof(VkBool32);
19723     memcpy(*ptr, (VkBlendOverlapEXT*)&forMarshaling->blendOverlap, sizeof(VkBlendOverlapEXT));
19724     *ptr += sizeof(VkBlendOverlapEXT);
19725     memcpy(*ptr, (VkBool32*)&forMarshaling->clampResults, sizeof(VkBool32));
19726     *ptr += sizeof(VkBool32);
19727 }
19728 
19729 #endif
19730 #ifdef VK_EXT_subpass_merge_feedback
reservedmarshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT * forMarshaling,uint8_t ** ptr)19731 void reservedmarshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(
19732     VulkanStreamGuest* vkStream, VkStructureType rootType,
19733     const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* forMarshaling, uint8_t** ptr) {
19734     (void)vkStream;
19735     (void)rootType;
19736     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19737     *ptr += sizeof(VkStructureType);
19738     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19739         rootType = forMarshaling->sType;
19740     }
19741     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19742     memcpy(*ptr, (VkBool32*)&forMarshaling->subpassMergeFeedback, sizeof(VkBool32));
19743     *ptr += sizeof(VkBool32);
19744 }
19745 
reservedmarshal_VkRenderPassCreationControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreationControlEXT * forMarshaling,uint8_t ** ptr)19746 void reservedmarshal_VkRenderPassCreationControlEXT(
19747     VulkanStreamGuest* vkStream, VkStructureType rootType,
19748     const VkRenderPassCreationControlEXT* forMarshaling, uint8_t** ptr) {
19749     (void)vkStream;
19750     (void)rootType;
19751     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19752     *ptr += sizeof(VkStructureType);
19753     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19754         rootType = forMarshaling->sType;
19755     }
19756     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19757     memcpy(*ptr, (VkBool32*)&forMarshaling->disallowMerging, sizeof(VkBool32));
19758     *ptr += sizeof(VkBool32);
19759 }
19760 
reservedmarshal_VkRenderPassCreationFeedbackInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreationFeedbackInfoEXT * forMarshaling,uint8_t ** ptr)19761 void reservedmarshal_VkRenderPassCreationFeedbackInfoEXT(
19762     VulkanStreamGuest* vkStream, VkStructureType rootType,
19763     const VkRenderPassCreationFeedbackInfoEXT* forMarshaling, uint8_t** ptr) {
19764     (void)vkStream;
19765     (void)rootType;
19766     memcpy(*ptr, (uint32_t*)&forMarshaling->postMergeSubpassCount, sizeof(uint32_t));
19767     *ptr += sizeof(uint32_t);
19768 }
19769 
reservedmarshal_VkRenderPassCreationFeedbackCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreationFeedbackCreateInfoEXT * forMarshaling,uint8_t ** ptr)19770 void reservedmarshal_VkRenderPassCreationFeedbackCreateInfoEXT(
19771     VulkanStreamGuest* vkStream, VkStructureType rootType,
19772     const VkRenderPassCreationFeedbackCreateInfoEXT* forMarshaling, uint8_t** ptr) {
19773     (void)vkStream;
19774     (void)rootType;
19775     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19776     *ptr += sizeof(VkStructureType);
19777     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19778         rootType = forMarshaling->sType;
19779     }
19780     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19781     reservedmarshal_VkRenderPassCreationFeedbackInfoEXT(
19782         vkStream, rootType,
19783         (VkRenderPassCreationFeedbackInfoEXT*)(forMarshaling->pRenderPassFeedback), ptr);
19784 }
19785 
reservedmarshal_VkRenderPassSubpassFeedbackInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassSubpassFeedbackInfoEXT * forMarshaling,uint8_t ** ptr)19786 void reservedmarshal_VkRenderPassSubpassFeedbackInfoEXT(
19787     VulkanStreamGuest* vkStream, VkStructureType rootType,
19788     const VkRenderPassSubpassFeedbackInfoEXT* forMarshaling, uint8_t** ptr) {
19789     (void)vkStream;
19790     (void)rootType;
19791     memcpy(*ptr, (VkSubpassMergeStatusEXT*)&forMarshaling->subpassMergeStatus,
19792            sizeof(VkSubpassMergeStatusEXT));
19793     *ptr += sizeof(VkSubpassMergeStatusEXT);
19794     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
19795     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
19796     memcpy(*ptr, (uint32_t*)&forMarshaling->postMergeIndex, sizeof(uint32_t));
19797     *ptr += sizeof(uint32_t);
19798 }
19799 
reservedmarshal_VkRenderPassSubpassFeedbackCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassSubpassFeedbackCreateInfoEXT * forMarshaling,uint8_t ** ptr)19800 void reservedmarshal_VkRenderPassSubpassFeedbackCreateInfoEXT(
19801     VulkanStreamGuest* vkStream, VkStructureType rootType,
19802     const VkRenderPassSubpassFeedbackCreateInfoEXT* forMarshaling, uint8_t** ptr) {
19803     (void)vkStream;
19804     (void)rootType;
19805     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19806     *ptr += sizeof(VkStructureType);
19807     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19808         rootType = forMarshaling->sType;
19809     }
19810     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19811     reservedmarshal_VkRenderPassSubpassFeedbackInfoEXT(
19812         vkStream, rootType, (VkRenderPassSubpassFeedbackInfoEXT*)(forMarshaling->pSubpassFeedback),
19813         ptr);
19814 }
19815 
19816 #endif
19817 #ifdef VK_LUNARG_direct_driver_loading
reservedmarshal_VkDirectDriverLoadingInfoLUNARG(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDirectDriverLoadingInfoLUNARG * forMarshaling,uint8_t ** ptr)19818 void reservedmarshal_VkDirectDriverLoadingInfoLUNARG(
19819     VulkanStreamGuest* vkStream, VkStructureType rootType,
19820     const VkDirectDriverLoadingInfoLUNARG* forMarshaling, uint8_t** ptr) {
19821     (void)vkStream;
19822     (void)rootType;
19823     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19824     *ptr += sizeof(VkStructureType);
19825     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19826         rootType = forMarshaling->sType;
19827     }
19828     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19829     memcpy(*ptr, (VkDirectDriverLoadingFlagsLUNARG*)&forMarshaling->flags,
19830            sizeof(VkDirectDriverLoadingFlagsLUNARG));
19831     *ptr += sizeof(VkDirectDriverLoadingFlagsLUNARG);
19832     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnGetInstanceProcAddr;
19833     memcpy((*ptr), &cgen_var_0, 8);
19834     android::base::Stream::toBe64((uint8_t*)(*ptr));
19835     *ptr += 8;
19836 }
19837 
reservedmarshal_VkDirectDriverLoadingListLUNARG(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDirectDriverLoadingListLUNARG * forMarshaling,uint8_t ** ptr)19838 void reservedmarshal_VkDirectDriverLoadingListLUNARG(
19839     VulkanStreamGuest* vkStream, VkStructureType rootType,
19840     const VkDirectDriverLoadingListLUNARG* forMarshaling, uint8_t** ptr) {
19841     (void)vkStream;
19842     (void)rootType;
19843     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19844     *ptr += sizeof(VkStructureType);
19845     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19846         rootType = forMarshaling->sType;
19847     }
19848     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19849     memcpy(*ptr, (VkDirectDriverLoadingModeLUNARG*)&forMarshaling->mode,
19850            sizeof(VkDirectDriverLoadingModeLUNARG));
19851     *ptr += sizeof(VkDirectDriverLoadingModeLUNARG);
19852     memcpy(*ptr, (uint32_t*)&forMarshaling->driverCount, sizeof(uint32_t));
19853     *ptr += sizeof(uint32_t);
19854     for (uint32_t i = 0; i < (uint32_t)forMarshaling->driverCount; ++i) {
19855         reservedmarshal_VkDirectDriverLoadingInfoLUNARG(
19856             vkStream, rootType,
19857             (const VkDirectDriverLoadingInfoLUNARG*)(forMarshaling->pDrivers + i), ptr);
19858     }
19859 }
19860 
19861 #endif
19862 #ifdef VK_EXT_shader_module_identifier
reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT * forMarshaling,uint8_t ** ptr)19863 void reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(
19864     VulkanStreamGuest* vkStream, VkStructureType rootType,
19865     const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* forMarshaling, uint8_t** ptr) {
19866     (void)vkStream;
19867     (void)rootType;
19868     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19869     *ptr += sizeof(VkStructureType);
19870     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19871         rootType = forMarshaling->sType;
19872     }
19873     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19874     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderModuleIdentifier, sizeof(VkBool32));
19875     *ptr += sizeof(VkBool32);
19876 }
19877 
reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT * forMarshaling,uint8_t ** ptr)19878 void reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(
19879     VulkanStreamGuest* vkStream, VkStructureType rootType,
19880     const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* forMarshaling, uint8_t** ptr) {
19881     (void)vkStream;
19882     (void)rootType;
19883     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19884     *ptr += sizeof(VkStructureType);
19885     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19886         rootType = forMarshaling->sType;
19887     }
19888     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19889     memcpy(*ptr, (uint8_t*)forMarshaling->shaderModuleIdentifierAlgorithmUUID,
19890            VK_UUID_SIZE * sizeof(uint8_t));
19891     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
19892 }
19893 
reservedmarshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageModuleIdentifierCreateInfoEXT * forMarshaling,uint8_t ** ptr)19894 void reservedmarshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(
19895     VulkanStreamGuest* vkStream, VkStructureType rootType,
19896     const VkPipelineShaderStageModuleIdentifierCreateInfoEXT* forMarshaling, uint8_t** ptr) {
19897     (void)vkStream;
19898     (void)rootType;
19899     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19900     *ptr += sizeof(VkStructureType);
19901     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19902         rootType = forMarshaling->sType;
19903     }
19904     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19905     memcpy(*ptr, (uint32_t*)&forMarshaling->identifierSize, sizeof(uint32_t));
19906     *ptr += sizeof(uint32_t);
19907     memcpy(*ptr, (const uint8_t*)forMarshaling->pIdentifier,
19908            forMarshaling->identifierSize * sizeof(const uint8_t));
19909     *ptr += forMarshaling->identifierSize * sizeof(const uint8_t);
19910 }
19911 
reservedmarshal_VkShaderModuleIdentifierEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderModuleIdentifierEXT * forMarshaling,uint8_t ** ptr)19912 void reservedmarshal_VkShaderModuleIdentifierEXT(VulkanStreamGuest* vkStream,
19913                                                  VkStructureType rootType,
19914                                                  const VkShaderModuleIdentifierEXT* forMarshaling,
19915                                                  uint8_t** ptr) {
19916     (void)vkStream;
19917     (void)rootType;
19918     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19919     *ptr += sizeof(VkStructureType);
19920     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19921         rootType = forMarshaling->sType;
19922     }
19923     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19924     memcpy(*ptr, (uint32_t*)&forMarshaling->identifierSize, sizeof(uint32_t));
19925     *ptr += sizeof(uint32_t);
19926     memcpy(*ptr, (uint8_t*)forMarshaling->identifier,
19927            VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT * sizeof(uint8_t));
19928     *ptr += VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT * sizeof(uint8_t);
19929 }
19930 
19931 #endif
19932 #ifdef VK_EXT_rasterization_order_attachment_access
19933 #endif
19934 #ifdef VK_NV_optical_flow
reservedmarshal_VkPhysicalDeviceOpticalFlowFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceOpticalFlowFeaturesNV * forMarshaling,uint8_t ** ptr)19935 void reservedmarshal_VkPhysicalDeviceOpticalFlowFeaturesNV(
19936     VulkanStreamGuest* vkStream, VkStructureType rootType,
19937     const VkPhysicalDeviceOpticalFlowFeaturesNV* forMarshaling, uint8_t** ptr) {
19938     (void)vkStream;
19939     (void)rootType;
19940     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19941     *ptr += sizeof(VkStructureType);
19942     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19943         rootType = forMarshaling->sType;
19944     }
19945     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19946     memcpy(*ptr, (VkBool32*)&forMarshaling->opticalFlow, sizeof(VkBool32));
19947     *ptr += sizeof(VkBool32);
19948 }
19949 
reservedmarshal_VkPhysicalDeviceOpticalFlowPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceOpticalFlowPropertiesNV * forMarshaling,uint8_t ** ptr)19950 void reservedmarshal_VkPhysicalDeviceOpticalFlowPropertiesNV(
19951     VulkanStreamGuest* vkStream, VkStructureType rootType,
19952     const VkPhysicalDeviceOpticalFlowPropertiesNV* forMarshaling, uint8_t** ptr) {
19953     (void)vkStream;
19954     (void)rootType;
19955     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19956     *ptr += sizeof(VkStructureType);
19957     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19958         rootType = forMarshaling->sType;
19959     }
19960     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19961     memcpy(*ptr, (VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->supportedOutputGridSizes,
19962            sizeof(VkOpticalFlowGridSizeFlagsNV));
19963     *ptr += sizeof(VkOpticalFlowGridSizeFlagsNV);
19964     memcpy(*ptr, (VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->supportedHintGridSizes,
19965            sizeof(VkOpticalFlowGridSizeFlagsNV));
19966     *ptr += sizeof(VkOpticalFlowGridSizeFlagsNV);
19967     memcpy(*ptr, (VkBool32*)&forMarshaling->hintSupported, sizeof(VkBool32));
19968     *ptr += sizeof(VkBool32);
19969     memcpy(*ptr, (VkBool32*)&forMarshaling->costSupported, sizeof(VkBool32));
19970     *ptr += sizeof(VkBool32);
19971     memcpy(*ptr, (VkBool32*)&forMarshaling->bidirectionalFlowSupported, sizeof(VkBool32));
19972     *ptr += sizeof(VkBool32);
19973     memcpy(*ptr, (VkBool32*)&forMarshaling->globalFlowSupported, sizeof(VkBool32));
19974     *ptr += sizeof(VkBool32);
19975     memcpy(*ptr, (uint32_t*)&forMarshaling->minWidth, sizeof(uint32_t));
19976     *ptr += sizeof(uint32_t);
19977     memcpy(*ptr, (uint32_t*)&forMarshaling->minHeight, sizeof(uint32_t));
19978     *ptr += sizeof(uint32_t);
19979     memcpy(*ptr, (uint32_t*)&forMarshaling->maxWidth, sizeof(uint32_t));
19980     *ptr += sizeof(uint32_t);
19981     memcpy(*ptr, (uint32_t*)&forMarshaling->maxHeight, sizeof(uint32_t));
19982     *ptr += sizeof(uint32_t);
19983     memcpy(*ptr, (uint32_t*)&forMarshaling->maxNumRegionsOfInterest, sizeof(uint32_t));
19984     *ptr += sizeof(uint32_t);
19985 }
19986 
reservedmarshal_VkOpticalFlowImageFormatInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpticalFlowImageFormatInfoNV * forMarshaling,uint8_t ** ptr)19987 void reservedmarshal_VkOpticalFlowImageFormatInfoNV(
19988     VulkanStreamGuest* vkStream, VkStructureType rootType,
19989     const VkOpticalFlowImageFormatInfoNV* forMarshaling, uint8_t** ptr) {
19990     (void)vkStream;
19991     (void)rootType;
19992     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19993     *ptr += sizeof(VkStructureType);
19994     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19995         rootType = forMarshaling->sType;
19996     }
19997     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
19998     memcpy(*ptr, (VkOpticalFlowUsageFlagsNV*)&forMarshaling->usage,
19999            sizeof(VkOpticalFlowUsageFlagsNV));
20000     *ptr += sizeof(VkOpticalFlowUsageFlagsNV);
20001 }
20002 
reservedmarshal_VkOpticalFlowImageFormatPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpticalFlowImageFormatPropertiesNV * forMarshaling,uint8_t ** ptr)20003 void reservedmarshal_VkOpticalFlowImageFormatPropertiesNV(
20004     VulkanStreamGuest* vkStream, VkStructureType rootType,
20005     const VkOpticalFlowImageFormatPropertiesNV* forMarshaling, uint8_t** ptr) {
20006     (void)vkStream;
20007     (void)rootType;
20008     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20009     *ptr += sizeof(VkStructureType);
20010     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20011         rootType = forMarshaling->sType;
20012     }
20013     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20014     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
20015     *ptr += sizeof(VkFormat);
20016 }
20017 
reservedmarshal_VkOpticalFlowSessionCreateInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpticalFlowSessionCreateInfoNV * forMarshaling,uint8_t ** ptr)20018 void reservedmarshal_VkOpticalFlowSessionCreateInfoNV(
20019     VulkanStreamGuest* vkStream, VkStructureType rootType,
20020     const VkOpticalFlowSessionCreateInfoNV* forMarshaling, uint8_t** ptr) {
20021     (void)vkStream;
20022     (void)rootType;
20023     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20024     *ptr += sizeof(VkStructureType);
20025     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20026         rootType = forMarshaling->sType;
20027     }
20028     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20029     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
20030     *ptr += sizeof(uint32_t);
20031     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
20032     *ptr += sizeof(uint32_t);
20033     memcpy(*ptr, (VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat));
20034     *ptr += sizeof(VkFormat);
20035     memcpy(*ptr, (VkFormat*)&forMarshaling->flowVectorFormat, sizeof(VkFormat));
20036     *ptr += sizeof(VkFormat);
20037     memcpy(*ptr, (VkFormat*)&forMarshaling->costFormat, sizeof(VkFormat));
20038     *ptr += sizeof(VkFormat);
20039     memcpy(*ptr, (VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->outputGridSize,
20040            sizeof(VkOpticalFlowGridSizeFlagsNV));
20041     *ptr += sizeof(VkOpticalFlowGridSizeFlagsNV);
20042     memcpy(*ptr, (VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->hintGridSize,
20043            sizeof(VkOpticalFlowGridSizeFlagsNV));
20044     *ptr += sizeof(VkOpticalFlowGridSizeFlagsNV);
20045     memcpy(*ptr, (VkOpticalFlowPerformanceLevelNV*)&forMarshaling->performanceLevel,
20046            sizeof(VkOpticalFlowPerformanceLevelNV));
20047     *ptr += sizeof(VkOpticalFlowPerformanceLevelNV);
20048     memcpy(*ptr, (VkOpticalFlowSessionCreateFlagsNV*)&forMarshaling->flags,
20049            sizeof(VkOpticalFlowSessionCreateFlagsNV));
20050     *ptr += sizeof(VkOpticalFlowSessionCreateFlagsNV);
20051 }
20052 
reservedmarshal_VkOpticalFlowSessionCreatePrivateDataInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpticalFlowSessionCreatePrivateDataInfoNV * forMarshaling,uint8_t ** ptr)20053 void reservedmarshal_VkOpticalFlowSessionCreatePrivateDataInfoNV(
20054     VulkanStreamGuest* vkStream, VkStructureType rootType,
20055     const VkOpticalFlowSessionCreatePrivateDataInfoNV* forMarshaling, uint8_t** ptr) {
20056     (void)vkStream;
20057     (void)rootType;
20058     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20059     *ptr += sizeof(VkStructureType);
20060     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20061         rootType = forMarshaling->sType;
20062     }
20063     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20064     memcpy(*ptr, (uint32_t*)&forMarshaling->id, sizeof(uint32_t));
20065     *ptr += sizeof(uint32_t);
20066     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
20067     *ptr += sizeof(uint32_t);
20068     memcpy(*ptr, (const void*)forMarshaling->pPrivateData, sizeof(const uint8_t));
20069     *ptr += sizeof(const uint8_t);
20070 }
20071 
reservedmarshal_VkOpticalFlowExecuteInfoNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOpticalFlowExecuteInfoNV * forMarshaling,uint8_t ** ptr)20072 void reservedmarshal_VkOpticalFlowExecuteInfoNV(VulkanStreamGuest* vkStream,
20073                                                 VkStructureType rootType,
20074                                                 const VkOpticalFlowExecuteInfoNV* forMarshaling,
20075                                                 uint8_t** ptr) {
20076     (void)vkStream;
20077     (void)rootType;
20078     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20079     *ptr += sizeof(VkStructureType);
20080     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20081         rootType = forMarshaling->sType;
20082     }
20083     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20084     memcpy(*ptr, (VkOpticalFlowExecuteFlagsNV*)&forMarshaling->flags,
20085            sizeof(VkOpticalFlowExecuteFlagsNV));
20086     *ptr += sizeof(VkOpticalFlowExecuteFlagsNV);
20087     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
20088     *ptr += sizeof(uint32_t);
20089     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
20090         reservedmarshal_VkRect2D(vkStream, rootType, (const VkRect2D*)(forMarshaling->pRegions + i),
20091                                  ptr);
20092     }
20093 }
20094 
20095 #endif
20096 #ifdef VK_EXT_legacy_dithering
reservedmarshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLegacyDitheringFeaturesEXT * forMarshaling,uint8_t ** ptr)20097 void reservedmarshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT(
20098     VulkanStreamGuest* vkStream, VkStructureType rootType,
20099     const VkPhysicalDeviceLegacyDitheringFeaturesEXT* forMarshaling, uint8_t** ptr) {
20100     (void)vkStream;
20101     (void)rootType;
20102     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20103     *ptr += sizeof(VkStructureType);
20104     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20105         rootType = forMarshaling->sType;
20106     }
20107     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20108     memcpy(*ptr, (VkBool32*)&forMarshaling->legacyDithering, sizeof(VkBool32));
20109     *ptr += sizeof(VkBool32);
20110 }
20111 
20112 #endif
20113 #ifdef VK_EXT_pipeline_protected_access
reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT * forMarshaling,uint8_t ** ptr)20114 void reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(
20115     VulkanStreamGuest* vkStream, VkStructureType rootType,
20116     const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* forMarshaling, uint8_t** ptr) {
20117     (void)vkStream;
20118     (void)rootType;
20119     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20120     *ptr += sizeof(VkStructureType);
20121     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20122         rootType = forMarshaling->sType;
20123     }
20124     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20125     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineProtectedAccess, sizeof(VkBool32));
20126     *ptr += sizeof(VkBool32);
20127 }
20128 
20129 #endif
20130 #ifdef VK_EXT_shader_object
reservedmarshal_VkPhysicalDeviceShaderObjectFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderObjectFeaturesEXT * forMarshaling,uint8_t ** ptr)20131 void reservedmarshal_VkPhysicalDeviceShaderObjectFeaturesEXT(
20132     VulkanStreamGuest* vkStream, VkStructureType rootType,
20133     const VkPhysicalDeviceShaderObjectFeaturesEXT* forMarshaling, uint8_t** ptr) {
20134     (void)vkStream;
20135     (void)rootType;
20136     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20137     *ptr += sizeof(VkStructureType);
20138     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20139         rootType = forMarshaling->sType;
20140     }
20141     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20142     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderObject, sizeof(VkBool32));
20143     *ptr += sizeof(VkBool32);
20144 }
20145 
reservedmarshal_VkPhysicalDeviceShaderObjectPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderObjectPropertiesEXT * forMarshaling,uint8_t ** ptr)20146 void reservedmarshal_VkPhysicalDeviceShaderObjectPropertiesEXT(
20147     VulkanStreamGuest* vkStream, VkStructureType rootType,
20148     const VkPhysicalDeviceShaderObjectPropertiesEXT* forMarshaling, uint8_t** ptr) {
20149     (void)vkStream;
20150     (void)rootType;
20151     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20152     *ptr += sizeof(VkStructureType);
20153     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20154         rootType = forMarshaling->sType;
20155     }
20156     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20157     memcpy(*ptr, (uint8_t*)forMarshaling->shaderBinaryUUID, VK_UUID_SIZE * sizeof(uint8_t));
20158     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
20159     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderBinaryVersion, sizeof(uint32_t));
20160     *ptr += sizeof(uint32_t);
20161 }
20162 
reservedmarshal_VkShaderCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderCreateInfoEXT * forMarshaling,uint8_t ** ptr)20163 void reservedmarshal_VkShaderCreateInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
20164                                            const VkShaderCreateInfoEXT* forMarshaling,
20165                                            uint8_t** ptr) {
20166     (void)vkStream;
20167     (void)rootType;
20168     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20169     *ptr += sizeof(VkStructureType);
20170     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20171         rootType = forMarshaling->sType;
20172     }
20173     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20174     memcpy(*ptr, (VkShaderCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkShaderCreateFlagsEXT));
20175     *ptr += sizeof(VkShaderCreateFlagsEXT);
20176     memcpy(*ptr, (VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
20177     *ptr += sizeof(VkShaderStageFlagBits);
20178     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->nextStage, sizeof(VkShaderStageFlags));
20179     *ptr += sizeof(VkShaderStageFlags);
20180     memcpy(*ptr, (VkShaderCodeTypeEXT*)&forMarshaling->codeType, sizeof(VkShaderCodeTypeEXT));
20181     *ptr += sizeof(VkShaderCodeTypeEXT);
20182     uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
20183     memcpy((*ptr), &cgen_var_0, 8);
20184     android::base::Stream::toBe64((uint8_t*)(*ptr));
20185     *ptr += 8;
20186     memcpy(*ptr, (const void*)forMarshaling->pCode,
20187            forMarshaling->codeSize * sizeof(const uint8_t));
20188     *ptr += forMarshaling->codeSize * sizeof(const uint8_t);
20189     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
20190         // WARNING PTR CHECK
20191         uint64_t cgen_var_0_0 = (uint64_t)(uintptr_t)forMarshaling->pName;
20192         memcpy((*ptr), &cgen_var_0_0, 8);
20193         android::base::Stream::toBe64((uint8_t*)(*ptr));
20194         *ptr += 8;
20195         if (forMarshaling->pName) {
20196             {
20197                 uint32_t l = forMarshaling->pName ? strlen(forMarshaling->pName) : 0;
20198                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
20199                 android::base::Stream::toBe32((uint8_t*)*ptr);
20200                 *ptr += sizeof(uint32_t);
20201                 memcpy(*ptr, (char*)forMarshaling->pName, l);
20202                 *ptr += l;
20203             }
20204         }
20205     } else {
20206         {
20207             uint32_t l = forMarshaling->pName ? strlen(forMarshaling->pName) : 0;
20208             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
20209             android::base::Stream::toBe32((uint8_t*)*ptr);
20210             *ptr += sizeof(uint32_t);
20211             memcpy(*ptr, (char*)forMarshaling->pName, l);
20212             *ptr += l;
20213         }
20214     }
20215     memcpy(*ptr, (uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
20216     *ptr += sizeof(uint32_t);
20217     // WARNING PTR CHECK
20218     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSetLayouts;
20219     memcpy((*ptr), &cgen_var_1, 8);
20220     android::base::Stream::toBe64((uint8_t*)(*ptr));
20221     *ptr += 8;
20222     if (forMarshaling->pSetLayouts) {
20223         if (forMarshaling->setLayoutCount) {
20224             uint8_t* cgen_var_1_0_ptr = (uint8_t*)(*ptr);
20225             if (forMarshaling) {
20226                 for (uint32_t k = 0; k < forMarshaling->setLayoutCount; ++k) {
20227                     uint64_t tmpval =
20228                         get_host_u64_VkDescriptorSetLayout(forMarshaling->pSetLayouts[k]);
20229                     memcpy(cgen_var_1_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
20230                 }
20231             }
20232             *ptr += 8 * forMarshaling->setLayoutCount;
20233         }
20234     }
20235     memcpy(*ptr, (uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
20236     *ptr += sizeof(uint32_t);
20237     // WARNING PTR CHECK
20238     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pPushConstantRanges;
20239     memcpy((*ptr), &cgen_var_2, 8);
20240     android::base::Stream::toBe64((uint8_t*)(*ptr));
20241     *ptr += 8;
20242     if (forMarshaling->pPushConstantRanges) {
20243         for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
20244             reservedmarshal_VkPushConstantRange(
20245                 vkStream, rootType,
20246                 (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i), ptr);
20247         }
20248     }
20249     // WARNING PTR CHECK
20250     uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
20251     memcpy((*ptr), &cgen_var_3, 8);
20252     android::base::Stream::toBe64((uint8_t*)(*ptr));
20253     *ptr += 8;
20254     if (forMarshaling->pSpecializationInfo) {
20255         reservedmarshal_VkSpecializationInfo(
20256             vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo),
20257             ptr);
20258     }
20259 }
20260 
20261 #endif
20262 #ifdef VK_QCOM_tile_properties
reservedmarshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTilePropertiesFeaturesQCOM * forMarshaling,uint8_t ** ptr)20263 void reservedmarshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM(
20264     VulkanStreamGuest* vkStream, VkStructureType rootType,
20265     const VkPhysicalDeviceTilePropertiesFeaturesQCOM* forMarshaling, uint8_t** ptr) {
20266     (void)vkStream;
20267     (void)rootType;
20268     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20269     *ptr += sizeof(VkStructureType);
20270     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20271         rootType = forMarshaling->sType;
20272     }
20273     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20274     memcpy(*ptr, (VkBool32*)&forMarshaling->tileProperties, sizeof(VkBool32));
20275     *ptr += sizeof(VkBool32);
20276 }
20277 
reservedmarshal_VkTilePropertiesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTilePropertiesQCOM * forMarshaling,uint8_t ** ptr)20278 void reservedmarshal_VkTilePropertiesQCOM(VulkanStreamGuest* vkStream, VkStructureType rootType,
20279                                           const VkTilePropertiesQCOM* forMarshaling,
20280                                           uint8_t** ptr) {
20281     (void)vkStream;
20282     (void)rootType;
20283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20284     *ptr += sizeof(VkStructureType);
20285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20286         rootType = forMarshaling->sType;
20287     }
20288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20289     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->tileSize), ptr);
20290     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->apronSize), ptr);
20291     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->origin), ptr);
20292 }
20293 
20294 #endif
20295 #ifdef VK_SEC_amigo_profiling
reservedmarshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAmigoProfilingFeaturesSEC * forMarshaling,uint8_t ** ptr)20296 void reservedmarshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC(
20297     VulkanStreamGuest* vkStream, VkStructureType rootType,
20298     const VkPhysicalDeviceAmigoProfilingFeaturesSEC* forMarshaling, uint8_t** ptr) {
20299     (void)vkStream;
20300     (void)rootType;
20301     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20302     *ptr += sizeof(VkStructureType);
20303     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20304         rootType = forMarshaling->sType;
20305     }
20306     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20307     memcpy(*ptr, (VkBool32*)&forMarshaling->amigoProfiling, sizeof(VkBool32));
20308     *ptr += sizeof(VkBool32);
20309 }
20310 
reservedmarshal_VkAmigoProfilingSubmitInfoSEC(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAmigoProfilingSubmitInfoSEC * forMarshaling,uint8_t ** ptr)20311 void reservedmarshal_VkAmigoProfilingSubmitInfoSEC(
20312     VulkanStreamGuest* vkStream, VkStructureType rootType,
20313     const VkAmigoProfilingSubmitInfoSEC* forMarshaling, uint8_t** ptr) {
20314     (void)vkStream;
20315     (void)rootType;
20316     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20317     *ptr += sizeof(VkStructureType);
20318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20319         rootType = forMarshaling->sType;
20320     }
20321     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20322     memcpy(*ptr, (uint64_t*)&forMarshaling->firstDrawTimestamp, sizeof(uint64_t));
20323     *ptr += sizeof(uint64_t);
20324     memcpy(*ptr, (uint64_t*)&forMarshaling->swapBufferTimestamp, sizeof(uint64_t));
20325     *ptr += sizeof(uint64_t);
20326 }
20327 
20328 #endif
20329 #ifdef VK_QCOM_multiview_per_view_viewports
reservedmarshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM * forMarshaling,uint8_t ** ptr)20330 void reservedmarshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(
20331     VulkanStreamGuest* vkStream, VkStructureType rootType,
20332     const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* forMarshaling, uint8_t** ptr) {
20333     (void)vkStream;
20334     (void)rootType;
20335     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20336     *ptr += sizeof(VkStructureType);
20337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20338         rootType = forMarshaling->sType;
20339     }
20340     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20341     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewPerViewViewports, sizeof(VkBool32));
20342     *ptr += sizeof(VkBool32);
20343 }
20344 
20345 #endif
20346 #ifdef VK_NV_ray_tracing_invocation_reorder
reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV * forMarshaling,uint8_t ** ptr)20347 void reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(
20348     VulkanStreamGuest* vkStream, VkStructureType rootType,
20349     const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* forMarshaling, uint8_t** ptr) {
20350     (void)vkStream;
20351     (void)rootType;
20352     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20353     *ptr += sizeof(VkStructureType);
20354     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20355         rootType = forMarshaling->sType;
20356     }
20357     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20358     memcpy(*ptr,
20359            (VkRayTracingInvocationReorderModeNV*)&forMarshaling
20360                ->rayTracingInvocationReorderReorderingHint,
20361            sizeof(VkRayTracingInvocationReorderModeNV));
20362     *ptr += sizeof(VkRayTracingInvocationReorderModeNV);
20363 }
20364 
reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV * forMarshaling,uint8_t ** ptr)20365 void reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(
20366     VulkanStreamGuest* vkStream, VkStructureType rootType,
20367     const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* forMarshaling, uint8_t** ptr) {
20368     (void)vkStream;
20369     (void)rootType;
20370     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20371     *ptr += sizeof(VkStructureType);
20372     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20373         rootType = forMarshaling->sType;
20374     }
20375     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20376     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingInvocationReorder, sizeof(VkBool32));
20377     *ptr += sizeof(VkBool32);
20378 }
20379 
20380 #endif
20381 #ifdef VK_EXT_mutable_descriptor_type
20382 #endif
20383 #ifdef VK_ARM_shader_core_builtins
reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM * forMarshaling,uint8_t ** ptr)20384 void reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(
20385     VulkanStreamGuest* vkStream, VkStructureType rootType,
20386     const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* forMarshaling, uint8_t** ptr) {
20387     (void)vkStream;
20388     (void)rootType;
20389     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20390     *ptr += sizeof(VkStructureType);
20391     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20392         rootType = forMarshaling->sType;
20393     }
20394     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20395     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderCoreBuiltins, sizeof(VkBool32));
20396     *ptr += sizeof(VkBool32);
20397 }
20398 
reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM * forMarshaling,uint8_t ** ptr)20399 void reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(
20400     VulkanStreamGuest* vkStream, VkStructureType rootType,
20401     const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* forMarshaling, uint8_t** ptr) {
20402     (void)vkStream;
20403     (void)rootType;
20404     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20405     *ptr += sizeof(VkStructureType);
20406     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20407         rootType = forMarshaling->sType;
20408     }
20409     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20410     memcpy(*ptr, (uint64_t*)&forMarshaling->shaderCoreMask, sizeof(uint64_t));
20411     *ptr += sizeof(uint64_t);
20412     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderCoreCount, sizeof(uint32_t));
20413     *ptr += sizeof(uint32_t);
20414     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderWarpsPerCore, sizeof(uint32_t));
20415     *ptr += sizeof(uint32_t);
20416 }
20417 
20418 #endif
20419 #ifdef VK_EXT_pipeline_library_group_handles
reservedmarshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT * forMarshaling,uint8_t ** ptr)20420 void reservedmarshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(
20421     VulkanStreamGuest* vkStream, VkStructureType rootType,
20422     const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* forMarshaling, uint8_t** ptr) {
20423     (void)vkStream;
20424     (void)rootType;
20425     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20426     *ptr += sizeof(VkStructureType);
20427     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20428         rootType = forMarshaling->sType;
20429     }
20430     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20431     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineLibraryGroupHandles, sizeof(VkBool32));
20432     *ptr += sizeof(VkBool32);
20433 }
20434 
20435 #endif
20436 #ifdef VK_QCOM_multiview_per_view_render_areas
reservedmarshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM * forMarshaling,uint8_t ** ptr)20437 void reservedmarshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(
20438     VulkanStreamGuest* vkStream, VkStructureType rootType,
20439     const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* forMarshaling, uint8_t** ptr) {
20440     (void)vkStream;
20441     (void)rootType;
20442     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20443     *ptr += sizeof(VkStructureType);
20444     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20445         rootType = forMarshaling->sType;
20446     }
20447     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20448     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewPerViewRenderAreas, sizeof(VkBool32));
20449     *ptr += sizeof(VkBool32);
20450 }
20451 
reservedmarshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM * forMarshaling,uint8_t ** ptr)20452 void reservedmarshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(
20453     VulkanStreamGuest* vkStream, VkStructureType rootType,
20454     const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* forMarshaling, uint8_t** ptr) {
20455     (void)vkStream;
20456     (void)rootType;
20457     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20458     *ptr += sizeof(VkStructureType);
20459     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20460         rootType = forMarshaling->sType;
20461     }
20462     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20463     memcpy(*ptr, (uint32_t*)&forMarshaling->perViewRenderAreaCount, sizeof(uint32_t));
20464     *ptr += sizeof(uint32_t);
20465     for (uint32_t i = 0; i < (uint32_t)forMarshaling->perViewRenderAreaCount; ++i) {
20466         reservedmarshal_VkRect2D(vkStream, rootType,
20467                                  (const VkRect2D*)(forMarshaling->pPerViewRenderAreas + i), ptr);
20468     }
20469 }
20470 
20471 #endif
20472 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT * forMarshaling,uint8_t ** ptr)20473 void reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(
20474     VulkanStreamGuest* vkStream, VkStructureType rootType,
20475     const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* forMarshaling,
20476     uint8_t** ptr) {
20477     (void)vkStream;
20478     (void)rootType;
20479     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20480     *ptr += sizeof(VkStructureType);
20481     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20482         rootType = forMarshaling->sType;
20483     }
20484     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20485     memcpy(*ptr, (VkBool32*)&forMarshaling->attachmentFeedbackLoopDynamicState, sizeof(VkBool32));
20486     *ptr += sizeof(VkBool32);
20487 }
20488 
20489 #endif
20490 #ifdef VK_KHR_acceleration_structure
reservedmarshal_VkAccelerationStructureBuildRangeInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureBuildRangeInfoKHR * forMarshaling,uint8_t ** ptr)20491 void reservedmarshal_VkAccelerationStructureBuildRangeInfoKHR(
20492     VulkanStreamGuest* vkStream, VkStructureType rootType,
20493     const VkAccelerationStructureBuildRangeInfoKHR* forMarshaling, uint8_t** ptr) {
20494     (void)vkStream;
20495     (void)rootType;
20496     memcpy(*ptr, (uint32_t*)&forMarshaling->primitiveCount, sizeof(uint32_t));
20497     *ptr += sizeof(uint32_t);
20498     memcpy(*ptr, (uint32_t*)&forMarshaling->primitiveOffset, sizeof(uint32_t));
20499     *ptr += sizeof(uint32_t);
20500     memcpy(*ptr, (uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
20501     *ptr += sizeof(uint32_t);
20502     memcpy(*ptr, (uint32_t*)&forMarshaling->transformOffset, sizeof(uint32_t));
20503     *ptr += sizeof(uint32_t);
20504 }
20505 
reservedmarshal_VkAccelerationStructureGeometryTrianglesDataKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryTrianglesDataKHR * forMarshaling,uint8_t ** ptr)20506 void reservedmarshal_VkAccelerationStructureGeometryTrianglesDataKHR(
20507     VulkanStreamGuest* vkStream, VkStructureType rootType,
20508     const VkAccelerationStructureGeometryTrianglesDataKHR* forMarshaling, uint8_t** ptr) {
20509     (void)vkStream;
20510     (void)rootType;
20511     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20512     *ptr += sizeof(VkStructureType);
20513     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20514         rootType = forMarshaling->sType;
20515     }
20516     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20517     memcpy(*ptr, (VkFormat*)&forMarshaling->vertexFormat, sizeof(VkFormat));
20518     *ptr += sizeof(VkFormat);
20519     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20520         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->vertexData), ptr);
20521     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->vertexStride, sizeof(VkDeviceSize));
20522     *ptr += sizeof(VkDeviceSize);
20523     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertex, sizeof(uint32_t));
20524     *ptr += sizeof(uint32_t);
20525     memcpy(*ptr, (VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
20526     *ptr += sizeof(VkIndexType);
20527     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20528         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->indexData), ptr);
20529     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20530         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->transformData), ptr);
20531 }
20532 
reservedmarshal_VkAccelerationStructureGeometryAabbsDataKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryAabbsDataKHR * forMarshaling,uint8_t ** ptr)20533 void reservedmarshal_VkAccelerationStructureGeometryAabbsDataKHR(
20534     VulkanStreamGuest* vkStream, VkStructureType rootType,
20535     const VkAccelerationStructureGeometryAabbsDataKHR* forMarshaling, uint8_t** ptr) {
20536     (void)vkStream;
20537     (void)rootType;
20538     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20539     *ptr += sizeof(VkStructureType);
20540     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20541         rootType = forMarshaling->sType;
20542     }
20543     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20544     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20545         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->data), ptr);
20546     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->stride, sizeof(VkDeviceSize));
20547     *ptr += sizeof(VkDeviceSize);
20548 }
20549 
reservedmarshal_VkAccelerationStructureGeometryInstancesDataKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryInstancesDataKHR * forMarshaling,uint8_t ** ptr)20550 void reservedmarshal_VkAccelerationStructureGeometryInstancesDataKHR(
20551     VulkanStreamGuest* vkStream, VkStructureType rootType,
20552     const VkAccelerationStructureGeometryInstancesDataKHR* forMarshaling, uint8_t** ptr) {
20553     (void)vkStream;
20554     (void)rootType;
20555     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20556     *ptr += sizeof(VkStructureType);
20557     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20558         rootType = forMarshaling->sType;
20559     }
20560     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20561     memcpy(*ptr, (VkBool32*)&forMarshaling->arrayOfPointers, sizeof(VkBool32));
20562     *ptr += sizeof(VkBool32);
20563     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20564         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->data), ptr);
20565 }
20566 
reservedmarshal_VkAccelerationStructureGeometryDataKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryDataKHR * forMarshaling,uint8_t ** ptr)20567 void reservedmarshal_VkAccelerationStructureGeometryDataKHR(
20568     VulkanStreamGuest* vkStream, VkStructureType rootType,
20569     const VkAccelerationStructureGeometryDataKHR* forMarshaling, uint8_t** ptr) {
20570     (void)vkStream;
20571     (void)rootType;
20572     reservedmarshal_VkAccelerationStructureGeometryTrianglesDataKHR(
20573         vkStream, rootType,
20574         (VkAccelerationStructureGeometryTrianglesDataKHR*)(&forMarshaling->triangles), ptr);
20575 }
20576 
reservedmarshal_VkAccelerationStructureGeometryKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureGeometryKHR * forMarshaling,uint8_t ** ptr)20577 void reservedmarshal_VkAccelerationStructureGeometryKHR(
20578     VulkanStreamGuest* vkStream, VkStructureType rootType,
20579     const VkAccelerationStructureGeometryKHR* forMarshaling, uint8_t** ptr) {
20580     (void)vkStream;
20581     (void)rootType;
20582     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20583     *ptr += sizeof(VkStructureType);
20584     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20585         rootType = forMarshaling->sType;
20586     }
20587     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20588     memcpy(*ptr, (VkGeometryTypeKHR*)&forMarshaling->geometryType, sizeof(VkGeometryTypeKHR));
20589     *ptr += sizeof(VkGeometryTypeKHR);
20590     reservedmarshal_VkAccelerationStructureGeometryDataKHR(
20591         vkStream, rootType, (VkAccelerationStructureGeometryDataKHR*)(&forMarshaling->geometry),
20592         ptr);
20593     memcpy(*ptr, (VkGeometryFlagsKHR*)&forMarshaling->flags, sizeof(VkGeometryFlagsKHR));
20594     *ptr += sizeof(VkGeometryFlagsKHR);
20595 }
20596 
reservedmarshal_VkAccelerationStructureBuildGeometryInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureBuildGeometryInfoKHR * forMarshaling,uint8_t ** ptr)20597 void reservedmarshal_VkAccelerationStructureBuildGeometryInfoKHR(
20598     VulkanStreamGuest* vkStream, VkStructureType rootType,
20599     const VkAccelerationStructureBuildGeometryInfoKHR* forMarshaling, uint8_t** ptr) {
20600     (void)vkStream;
20601     (void)rootType;
20602     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20603     *ptr += sizeof(VkStructureType);
20604     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20605         rootType = forMarshaling->sType;
20606     }
20607     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20608     memcpy(*ptr, (VkAccelerationStructureTypeKHR*)&forMarshaling->type,
20609            sizeof(VkAccelerationStructureTypeKHR));
20610     *ptr += sizeof(VkAccelerationStructureTypeKHR);
20611     memcpy(*ptr, (VkBuildAccelerationStructureFlagsKHR*)&forMarshaling->flags,
20612            sizeof(VkBuildAccelerationStructureFlagsKHR));
20613     *ptr += sizeof(VkBuildAccelerationStructureFlagsKHR);
20614     memcpy(*ptr, (VkBuildAccelerationStructureModeKHR*)&forMarshaling->mode,
20615            sizeof(VkBuildAccelerationStructureModeKHR));
20616     *ptr += sizeof(VkBuildAccelerationStructureModeKHR);
20617     uint64_t cgen_var_0;
20618     *&cgen_var_0 =
20619         get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->srcAccelerationStructure));
20620     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20621     *ptr += 1 * 8;
20622     uint64_t cgen_var_1;
20623     *&cgen_var_1 =
20624         get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->dstAccelerationStructure));
20625     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
20626     *ptr += 1 * 8;
20627     memcpy(*ptr, (uint32_t*)&forMarshaling->geometryCount, sizeof(uint32_t));
20628     *ptr += sizeof(uint32_t);
20629     // WARNING PTR CHECK
20630     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pGeometries;
20631     memcpy((*ptr), &cgen_var_2, 8);
20632     android::base::Stream::toBe64((uint8_t*)(*ptr));
20633     *ptr += 8;
20634     if (forMarshaling->pGeometries) {
20635         for (uint32_t i = 0; i < (uint32_t)forMarshaling->geometryCount; ++i) {
20636             reservedmarshal_VkAccelerationStructureGeometryKHR(
20637                 vkStream, rootType,
20638                 (const VkAccelerationStructureGeometryKHR*)(forMarshaling->pGeometries + i), ptr);
20639         }
20640     }
20641     reservedmarshal_VkDeviceOrHostAddressKHR(
20642         vkStream, rootType, (VkDeviceOrHostAddressKHR*)(&forMarshaling->scratchData), ptr);
20643 }
20644 
reservedmarshal_VkAccelerationStructureCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureCreateInfoKHR * forMarshaling,uint8_t ** ptr)20645 void reservedmarshal_VkAccelerationStructureCreateInfoKHR(
20646     VulkanStreamGuest* vkStream, VkStructureType rootType,
20647     const VkAccelerationStructureCreateInfoKHR* forMarshaling, uint8_t** ptr) {
20648     (void)vkStream;
20649     (void)rootType;
20650     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20651     *ptr += sizeof(VkStructureType);
20652     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20653         rootType = forMarshaling->sType;
20654     }
20655     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20656     memcpy(*ptr, (VkAccelerationStructureCreateFlagsKHR*)&forMarshaling->createFlags,
20657            sizeof(VkAccelerationStructureCreateFlagsKHR));
20658     *ptr += sizeof(VkAccelerationStructureCreateFlagsKHR);
20659     uint64_t cgen_var_0;
20660     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
20661     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20662     *ptr += 1 * 8;
20663     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
20664     *ptr += sizeof(VkDeviceSize);
20665     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
20666     *ptr += sizeof(VkDeviceSize);
20667     memcpy(*ptr, (VkAccelerationStructureTypeKHR*)&forMarshaling->type,
20668            sizeof(VkAccelerationStructureTypeKHR));
20669     *ptr += sizeof(VkAccelerationStructureTypeKHR);
20670     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
20671     *ptr += sizeof(VkDeviceAddress);
20672 }
20673 
reservedmarshal_VkWriteDescriptorSetAccelerationStructureKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSetAccelerationStructureKHR * forMarshaling,uint8_t ** ptr)20674 void reservedmarshal_VkWriteDescriptorSetAccelerationStructureKHR(
20675     VulkanStreamGuest* vkStream, VkStructureType rootType,
20676     const VkWriteDescriptorSetAccelerationStructureKHR* forMarshaling, uint8_t** ptr) {
20677     (void)vkStream;
20678     (void)rootType;
20679     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20680     *ptr += sizeof(VkStructureType);
20681     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20682         rootType = forMarshaling->sType;
20683     }
20684     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20685     memcpy(*ptr, (uint32_t*)&forMarshaling->accelerationStructureCount, sizeof(uint32_t));
20686     *ptr += sizeof(uint32_t);
20687     // WARNING PTR CHECK
20688     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAccelerationStructures;
20689     memcpy((*ptr), &cgen_var_0, 8);
20690     android::base::Stream::toBe64((uint8_t*)(*ptr));
20691     *ptr += 8;
20692     if (forMarshaling->pAccelerationStructures) {
20693         if (forMarshaling->accelerationStructureCount) {
20694             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
20695             if (forMarshaling) {
20696                 for (uint32_t k = 0; k < forMarshaling->accelerationStructureCount; ++k) {
20697                     uint64_t tmpval = get_host_u64_VkAccelerationStructureKHR(
20698                         forMarshaling->pAccelerationStructures[k]);
20699                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
20700                 }
20701             }
20702             *ptr += 8 * forMarshaling->accelerationStructureCount;
20703         }
20704     }
20705 }
20706 
reservedmarshal_VkPhysicalDeviceAccelerationStructureFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAccelerationStructureFeaturesKHR * forMarshaling,uint8_t ** ptr)20707 void reservedmarshal_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
20708     VulkanStreamGuest* vkStream, VkStructureType rootType,
20709     const VkPhysicalDeviceAccelerationStructureFeaturesKHR* forMarshaling, uint8_t** ptr) {
20710     (void)vkStream;
20711     (void)rootType;
20712     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20713     *ptr += sizeof(VkStructureType);
20714     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20715         rootType = forMarshaling->sType;
20716     }
20717     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20718     memcpy(*ptr, (VkBool32*)&forMarshaling->accelerationStructure, sizeof(VkBool32));
20719     *ptr += sizeof(VkBool32);
20720     memcpy(*ptr, (VkBool32*)&forMarshaling->accelerationStructureCaptureReplay, sizeof(VkBool32));
20721     *ptr += sizeof(VkBool32);
20722     memcpy(*ptr, (VkBool32*)&forMarshaling->accelerationStructureIndirectBuild, sizeof(VkBool32));
20723     *ptr += sizeof(VkBool32);
20724     memcpy(*ptr, (VkBool32*)&forMarshaling->accelerationStructureHostCommands, sizeof(VkBool32));
20725     *ptr += sizeof(VkBool32);
20726     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingAccelerationStructureUpdateAfterBind,
20727            sizeof(VkBool32));
20728     *ptr += sizeof(VkBool32);
20729 }
20730 
reservedmarshal_VkPhysicalDeviceAccelerationStructurePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceAccelerationStructurePropertiesKHR * forMarshaling,uint8_t ** ptr)20731 void reservedmarshal_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
20732     VulkanStreamGuest* vkStream, VkStructureType rootType,
20733     const VkPhysicalDeviceAccelerationStructurePropertiesKHR* forMarshaling, uint8_t** ptr) {
20734     (void)vkStream;
20735     (void)rootType;
20736     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20737     *ptr += sizeof(VkStructureType);
20738     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20739         rootType = forMarshaling->sType;
20740     }
20741     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20742     memcpy(*ptr, (uint64_t*)&forMarshaling->maxGeometryCount, sizeof(uint64_t));
20743     *ptr += sizeof(uint64_t);
20744     memcpy(*ptr, (uint64_t*)&forMarshaling->maxInstanceCount, sizeof(uint64_t));
20745     *ptr += sizeof(uint64_t);
20746     memcpy(*ptr, (uint64_t*)&forMarshaling->maxPrimitiveCount, sizeof(uint64_t));
20747     *ptr += sizeof(uint64_t);
20748     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorAccelerationStructures,
20749            sizeof(uint32_t));
20750     *ptr += sizeof(uint32_t);
20751     memcpy(*ptr,
20752            (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindAccelerationStructures,
20753            sizeof(uint32_t));
20754     *ptr += sizeof(uint32_t);
20755     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetAccelerationStructures,
20756            sizeof(uint32_t));
20757     *ptr += sizeof(uint32_t);
20758     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindAccelerationStructures,
20759            sizeof(uint32_t));
20760     *ptr += sizeof(uint32_t);
20761     memcpy(*ptr, (uint32_t*)&forMarshaling->minAccelerationStructureScratchOffsetAlignment,
20762            sizeof(uint32_t));
20763     *ptr += sizeof(uint32_t);
20764 }
20765 
reservedmarshal_VkAccelerationStructureDeviceAddressInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureDeviceAddressInfoKHR * forMarshaling,uint8_t ** ptr)20766 void reservedmarshal_VkAccelerationStructureDeviceAddressInfoKHR(
20767     VulkanStreamGuest* vkStream, VkStructureType rootType,
20768     const VkAccelerationStructureDeviceAddressInfoKHR* forMarshaling, uint8_t** ptr) {
20769     (void)vkStream;
20770     (void)rootType;
20771     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20772     *ptr += sizeof(VkStructureType);
20773     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20774         rootType = forMarshaling->sType;
20775     }
20776     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20777     uint64_t cgen_var_0;
20778     *&cgen_var_0 =
20779         get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->accelerationStructure));
20780     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20781     *ptr += 1 * 8;
20782 }
20783 
reservedmarshal_VkAccelerationStructureVersionInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureVersionInfoKHR * forMarshaling,uint8_t ** ptr)20784 void reservedmarshal_VkAccelerationStructureVersionInfoKHR(
20785     VulkanStreamGuest* vkStream, VkStructureType rootType,
20786     const VkAccelerationStructureVersionInfoKHR* forMarshaling, uint8_t** ptr) {
20787     (void)vkStream;
20788     (void)rootType;
20789     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20790     *ptr += sizeof(VkStructureType);
20791     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20792         rootType = forMarshaling->sType;
20793     }
20794     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20795     memcpy(*ptr, (const uint8_t*)forMarshaling->pVersionData,
20796            2 * VK_UUID_SIZE * sizeof(const uint8_t));
20797     *ptr += 2 * VK_UUID_SIZE * sizeof(const uint8_t);
20798 }
20799 
reservedmarshal_VkCopyAccelerationStructureToMemoryInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyAccelerationStructureToMemoryInfoKHR * forMarshaling,uint8_t ** ptr)20800 void reservedmarshal_VkCopyAccelerationStructureToMemoryInfoKHR(
20801     VulkanStreamGuest* vkStream, VkStructureType rootType,
20802     const VkCopyAccelerationStructureToMemoryInfoKHR* forMarshaling, uint8_t** ptr) {
20803     (void)vkStream;
20804     (void)rootType;
20805     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20806     *ptr += sizeof(VkStructureType);
20807     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20808         rootType = forMarshaling->sType;
20809     }
20810     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20811     uint64_t cgen_var_0;
20812     *&cgen_var_0 = get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->src));
20813     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20814     *ptr += 1 * 8;
20815     reservedmarshal_VkDeviceOrHostAddressKHR(vkStream, rootType,
20816                                              (VkDeviceOrHostAddressKHR*)(&forMarshaling->dst), ptr);
20817     memcpy(*ptr, (VkCopyAccelerationStructureModeKHR*)&forMarshaling->mode,
20818            sizeof(VkCopyAccelerationStructureModeKHR));
20819     *ptr += sizeof(VkCopyAccelerationStructureModeKHR);
20820 }
20821 
reservedmarshal_VkCopyMemoryToAccelerationStructureInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToAccelerationStructureInfoKHR * forMarshaling,uint8_t ** ptr)20822 void reservedmarshal_VkCopyMemoryToAccelerationStructureInfoKHR(
20823     VulkanStreamGuest* vkStream, VkStructureType rootType,
20824     const VkCopyMemoryToAccelerationStructureInfoKHR* forMarshaling, uint8_t** ptr) {
20825     (void)vkStream;
20826     (void)rootType;
20827     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20828     *ptr += sizeof(VkStructureType);
20829     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20830         rootType = forMarshaling->sType;
20831     }
20832     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20833     reservedmarshal_VkDeviceOrHostAddressConstKHR(
20834         vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->src), ptr);
20835     uint64_t cgen_var_0;
20836     *&cgen_var_0 = get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->dst));
20837     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20838     *ptr += 1 * 8;
20839     memcpy(*ptr, (VkCopyAccelerationStructureModeKHR*)&forMarshaling->mode,
20840            sizeof(VkCopyAccelerationStructureModeKHR));
20841     *ptr += sizeof(VkCopyAccelerationStructureModeKHR);
20842 }
20843 
reservedmarshal_VkCopyAccelerationStructureInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyAccelerationStructureInfoKHR * forMarshaling,uint8_t ** ptr)20844 void reservedmarshal_VkCopyAccelerationStructureInfoKHR(
20845     VulkanStreamGuest* vkStream, VkStructureType rootType,
20846     const VkCopyAccelerationStructureInfoKHR* forMarshaling, uint8_t** ptr) {
20847     (void)vkStream;
20848     (void)rootType;
20849     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20850     *ptr += sizeof(VkStructureType);
20851     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20852         rootType = forMarshaling->sType;
20853     }
20854     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20855     uint64_t cgen_var_0;
20856     *&cgen_var_0 = get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->src));
20857     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
20858     *ptr += 1 * 8;
20859     uint64_t cgen_var_1;
20860     *&cgen_var_1 = get_host_u64_VkAccelerationStructureKHR((*&forMarshaling->dst));
20861     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
20862     *ptr += 1 * 8;
20863     memcpy(*ptr, (VkCopyAccelerationStructureModeKHR*)&forMarshaling->mode,
20864            sizeof(VkCopyAccelerationStructureModeKHR));
20865     *ptr += sizeof(VkCopyAccelerationStructureModeKHR);
20866 }
20867 
reservedmarshal_VkAccelerationStructureBuildSizesInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAccelerationStructureBuildSizesInfoKHR * forMarshaling,uint8_t ** ptr)20868 void reservedmarshal_VkAccelerationStructureBuildSizesInfoKHR(
20869     VulkanStreamGuest* vkStream, VkStructureType rootType,
20870     const VkAccelerationStructureBuildSizesInfoKHR* forMarshaling, uint8_t** ptr) {
20871     (void)vkStream;
20872     (void)rootType;
20873     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20874     *ptr += sizeof(VkStructureType);
20875     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20876         rootType = forMarshaling->sType;
20877     }
20878     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20879     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->accelerationStructureSize, sizeof(VkDeviceSize));
20880     *ptr += sizeof(VkDeviceSize);
20881     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->updateScratchSize, sizeof(VkDeviceSize));
20882     *ptr += sizeof(VkDeviceSize);
20883     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->buildScratchSize, sizeof(VkDeviceSize));
20884     *ptr += sizeof(VkDeviceSize);
20885 }
20886 
20887 #endif
20888 #ifdef VK_KHR_ray_tracing_pipeline
reservedmarshal_VkRayTracingShaderGroupCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRayTracingShaderGroupCreateInfoKHR * forMarshaling,uint8_t ** ptr)20889 void reservedmarshal_VkRayTracingShaderGroupCreateInfoKHR(
20890     VulkanStreamGuest* vkStream, VkStructureType rootType,
20891     const VkRayTracingShaderGroupCreateInfoKHR* forMarshaling, uint8_t** ptr) {
20892     (void)vkStream;
20893     (void)rootType;
20894     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20895     *ptr += sizeof(VkStructureType);
20896     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20897         rootType = forMarshaling->sType;
20898     }
20899     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20900     memcpy(*ptr, (VkRayTracingShaderGroupTypeKHR*)&forMarshaling->type,
20901            sizeof(VkRayTracingShaderGroupTypeKHR));
20902     *ptr += sizeof(VkRayTracingShaderGroupTypeKHR);
20903     memcpy(*ptr, (uint32_t*)&forMarshaling->generalShader, sizeof(uint32_t));
20904     *ptr += sizeof(uint32_t);
20905     memcpy(*ptr, (uint32_t*)&forMarshaling->closestHitShader, sizeof(uint32_t));
20906     *ptr += sizeof(uint32_t);
20907     memcpy(*ptr, (uint32_t*)&forMarshaling->anyHitShader, sizeof(uint32_t));
20908     *ptr += sizeof(uint32_t);
20909     memcpy(*ptr, (uint32_t*)&forMarshaling->intersectionShader, sizeof(uint32_t));
20910     *ptr += sizeof(uint32_t);
20911     // WARNING PTR CHECK
20912     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pShaderGroupCaptureReplayHandle;
20913     memcpy((*ptr), &cgen_var_0, 8);
20914     android::base::Stream::toBe64((uint8_t*)(*ptr));
20915     *ptr += 8;
20916     if (forMarshaling->pShaderGroupCaptureReplayHandle) {
20917         memcpy(*ptr, (const void*)forMarshaling->pShaderGroupCaptureReplayHandle,
20918                sizeof(const uint8_t));
20919         *ptr += sizeof(const uint8_t);
20920     }
20921 }
20922 
reservedmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRayTracingPipelineInterfaceCreateInfoKHR * forMarshaling,uint8_t ** ptr)20923 void reservedmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
20924     VulkanStreamGuest* vkStream, VkStructureType rootType,
20925     const VkRayTracingPipelineInterfaceCreateInfoKHR* forMarshaling, uint8_t** ptr) {
20926     (void)vkStream;
20927     (void)rootType;
20928     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20929     *ptr += sizeof(VkStructureType);
20930     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20931         rootType = forMarshaling->sType;
20932     }
20933     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20934     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPipelineRayPayloadSize, sizeof(uint32_t));
20935     *ptr += sizeof(uint32_t);
20936     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPipelineRayHitAttributeSize, sizeof(uint32_t));
20937     *ptr += sizeof(uint32_t);
20938 }
20939 
reservedmarshal_VkRayTracingPipelineCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRayTracingPipelineCreateInfoKHR * forMarshaling,uint8_t ** ptr)20940 void reservedmarshal_VkRayTracingPipelineCreateInfoKHR(
20941     VulkanStreamGuest* vkStream, VkStructureType rootType,
20942     const VkRayTracingPipelineCreateInfoKHR* forMarshaling, uint8_t** ptr) {
20943     (void)vkStream;
20944     (void)rootType;
20945     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
20946     *ptr += sizeof(VkStructureType);
20947     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
20948         rootType = forMarshaling->sType;
20949     }
20950     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
20951     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
20952     *ptr += sizeof(VkPipelineCreateFlags);
20953     memcpy(*ptr, (uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
20954     *ptr += sizeof(uint32_t);
20955     for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
20956         reservedmarshal_VkPipelineShaderStageCreateInfo(
20957             vkStream, rootType,
20958             (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i), ptr);
20959     }
20960     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCount, sizeof(uint32_t));
20961     *ptr += sizeof(uint32_t);
20962     for (uint32_t i = 0; i < (uint32_t)forMarshaling->groupCount; ++i) {
20963         reservedmarshal_VkRayTracingShaderGroupCreateInfoKHR(
20964             vkStream, rootType,
20965             (const VkRayTracingShaderGroupCreateInfoKHR*)(forMarshaling->pGroups + i), ptr);
20966     }
20967     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPipelineRayRecursionDepth, sizeof(uint32_t));
20968     *ptr += sizeof(uint32_t);
20969     // WARNING PTR CHECK
20970     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pLibraryInfo;
20971     memcpy((*ptr), &cgen_var_0, 8);
20972     android::base::Stream::toBe64((uint8_t*)(*ptr));
20973     *ptr += 8;
20974     if (forMarshaling->pLibraryInfo) {
20975         reservedmarshal_VkPipelineLibraryCreateInfoKHR(
20976             vkStream, rootType,
20977             (const VkPipelineLibraryCreateInfoKHR*)(forMarshaling->pLibraryInfo), ptr);
20978     }
20979     // WARNING PTR CHECK
20980     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pLibraryInterface;
20981     memcpy((*ptr), &cgen_var_1, 8);
20982     android::base::Stream::toBe64((uint8_t*)(*ptr));
20983     *ptr += 8;
20984     if (forMarshaling->pLibraryInterface) {
20985         reservedmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
20986             vkStream, rootType,
20987             (const VkRayTracingPipelineInterfaceCreateInfoKHR*)(forMarshaling->pLibraryInterface),
20988             ptr);
20989     }
20990     // WARNING PTR CHECK
20991     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
20992     memcpy((*ptr), &cgen_var_2, 8);
20993     android::base::Stream::toBe64((uint8_t*)(*ptr));
20994     *ptr += 8;
20995     if (forMarshaling->pDynamicState) {
20996         reservedmarshal_VkPipelineDynamicStateCreateInfo(
20997             vkStream, rootType,
20998             (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState), ptr);
20999     }
21000     uint64_t cgen_var_3;
21001     *&cgen_var_3 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
21002     memcpy(*ptr, (uint64_t*)&cgen_var_3, 1 * 8);
21003     *ptr += 1 * 8;
21004     uint64_t cgen_var_4;
21005     *&cgen_var_4 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
21006     memcpy(*ptr, (uint64_t*)&cgen_var_4, 1 * 8);
21007     *ptr += 1 * 8;
21008     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
21009     *ptr += sizeof(int32_t);
21010 }
21011 
reservedmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelineFeaturesKHR * forMarshaling,uint8_t ** ptr)21012 void reservedmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
21013     VulkanStreamGuest* vkStream, VkStructureType rootType,
21014     const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* forMarshaling, uint8_t** ptr) {
21015     (void)vkStream;
21016     (void)rootType;
21017     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
21018     *ptr += sizeof(VkStructureType);
21019     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
21020         rootType = forMarshaling->sType;
21021     }
21022     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
21023     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPipeline, sizeof(VkBool32));
21024     *ptr += sizeof(VkBool32);
21025     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPipelineShaderGroupHandleCaptureReplay,
21026            sizeof(VkBool32));
21027     *ptr += sizeof(VkBool32);
21028     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPipelineShaderGroupHandleCaptureReplayMixed,
21029            sizeof(VkBool32));
21030     *ptr += sizeof(VkBool32);
21031     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTracingPipelineTraceRaysIndirect, sizeof(VkBool32));
21032     *ptr += sizeof(VkBool32);
21033     memcpy(*ptr, (VkBool32*)&forMarshaling->rayTraversalPrimitiveCulling, sizeof(VkBool32));
21034     *ptr += sizeof(VkBool32);
21035 }
21036 
reservedmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelinePropertiesKHR * forMarshaling,uint8_t ** ptr)21037 void reservedmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
21038     VulkanStreamGuest* vkStream, VkStructureType rootType,
21039     const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* forMarshaling, uint8_t** ptr) {
21040     (void)vkStream;
21041     (void)rootType;
21042     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
21043     *ptr += sizeof(VkStructureType);
21044     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
21045         rootType = forMarshaling->sType;
21046     }
21047     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
21048     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupHandleSize, sizeof(uint32_t));
21049     *ptr += sizeof(uint32_t);
21050     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRayRecursionDepth, sizeof(uint32_t));
21051     *ptr += sizeof(uint32_t);
21052     memcpy(*ptr, (uint32_t*)&forMarshaling->maxShaderGroupStride, sizeof(uint32_t));
21053     *ptr += sizeof(uint32_t);
21054     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupBaseAlignment, sizeof(uint32_t));
21055     *ptr += sizeof(uint32_t);
21056     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupHandleCaptureReplaySize, sizeof(uint32_t));
21057     *ptr += sizeof(uint32_t);
21058     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRayDispatchInvocationCount, sizeof(uint32_t));
21059     *ptr += sizeof(uint32_t);
21060     memcpy(*ptr, (uint32_t*)&forMarshaling->shaderGroupHandleAlignment, sizeof(uint32_t));
21061     *ptr += sizeof(uint32_t);
21062     memcpy(*ptr, (uint32_t*)&forMarshaling->maxRayHitAttributeSize, sizeof(uint32_t));
21063     *ptr += sizeof(uint32_t);
21064 }
21065 
reservedmarshal_VkStridedDeviceAddressRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkStridedDeviceAddressRegionKHR * forMarshaling,uint8_t ** ptr)21066 void reservedmarshal_VkStridedDeviceAddressRegionKHR(
21067     VulkanStreamGuest* vkStream, VkStructureType rootType,
21068     const VkStridedDeviceAddressRegionKHR* forMarshaling, uint8_t** ptr) {
21069     (void)vkStream;
21070     (void)rootType;
21071     memcpy(*ptr, (VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
21072     *ptr += sizeof(VkDeviceAddress);
21073     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->stride, sizeof(VkDeviceSize));
21074     *ptr += sizeof(VkDeviceSize);
21075     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
21076     *ptr += sizeof(VkDeviceSize);
21077 }
21078 
reservedmarshal_VkTraceRaysIndirectCommandKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTraceRaysIndirectCommandKHR * forMarshaling,uint8_t ** ptr)21079 void reservedmarshal_VkTraceRaysIndirectCommandKHR(
21080     VulkanStreamGuest* vkStream, VkStructureType rootType,
21081     const VkTraceRaysIndirectCommandKHR* forMarshaling, uint8_t** ptr) {
21082     (void)vkStream;
21083     (void)rootType;
21084     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
21085     *ptr += sizeof(uint32_t);
21086     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
21087     *ptr += sizeof(uint32_t);
21088     memcpy(*ptr, (uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
21089     *ptr += sizeof(uint32_t);
21090 }
21091 
21092 #endif
21093 #ifdef VK_KHR_ray_query
reservedmarshal_VkPhysicalDeviceRayQueryFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayQueryFeaturesKHR * forMarshaling,uint8_t ** ptr)21094 void reservedmarshal_VkPhysicalDeviceRayQueryFeaturesKHR(
21095     VulkanStreamGuest* vkStream, VkStructureType rootType,
21096     const VkPhysicalDeviceRayQueryFeaturesKHR* forMarshaling, uint8_t** ptr) {
21097     (void)vkStream;
21098     (void)rootType;
21099     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
21100     *ptr += sizeof(VkStructureType);
21101     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
21102         rootType = forMarshaling->sType;
21103     }
21104     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
21105     memcpy(*ptr, (VkBool32*)&forMarshaling->rayQuery, sizeof(VkBool32));
21106     *ptr += sizeof(VkBool32);
21107 }
21108 
21109 #endif
21110 #ifdef VK_EXT_mesh_shader
reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMeshShaderFeaturesEXT * forMarshaling,uint8_t ** ptr)21111 void reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesEXT(
21112     VulkanStreamGuest* vkStream, VkStructureType rootType,
21113     const VkPhysicalDeviceMeshShaderFeaturesEXT* forMarshaling, uint8_t** ptr) {
21114     (void)vkStream;
21115     (void)rootType;
21116     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
21117     *ptr += sizeof(VkStructureType);
21118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
21119         rootType = forMarshaling->sType;
21120     }
21121     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
21122     memcpy(*ptr, (VkBool32*)&forMarshaling->taskShader, sizeof(VkBool32));
21123     *ptr += sizeof(VkBool32);
21124     memcpy(*ptr, (VkBool32*)&forMarshaling->meshShader, sizeof(VkBool32));
21125     *ptr += sizeof(VkBool32);
21126     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewMeshShader, sizeof(VkBool32));
21127     *ptr += sizeof(VkBool32);
21128     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveFragmentShadingRateMeshShader,
21129            sizeof(VkBool32));
21130     *ptr += sizeof(VkBool32);
21131     memcpy(*ptr, (VkBool32*)&forMarshaling->meshShaderQueries, sizeof(VkBool32));
21132     *ptr += sizeof(VkBool32);
21133 }
21134 
reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMeshShaderPropertiesEXT * forMarshaling,uint8_t ** ptr)21135 void reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesEXT(
21136     VulkanStreamGuest* vkStream, VkStructureType rootType,
21137     const VkPhysicalDeviceMeshShaderPropertiesEXT* forMarshaling, uint8_t** ptr) {
21138     (void)vkStream;
21139     (void)rootType;
21140     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
21141     *ptr += sizeof(VkStructureType);
21142     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
21143         rootType = forMarshaling->sType;
21144     }
21145     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
21146     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskWorkGroupTotalCount, sizeof(uint32_t));
21147     *ptr += sizeof(uint32_t);
21148     memcpy(*ptr, (uint32_t*)forMarshaling->maxTaskWorkGroupCount, 3 * sizeof(uint32_t));
21149     *ptr += 3 * sizeof(uint32_t);
21150     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskWorkGroupInvocations, sizeof(uint32_t));
21151     *ptr += sizeof(uint32_t);
21152     memcpy(*ptr, (uint32_t*)forMarshaling->maxTaskWorkGroupSize, 3 * sizeof(uint32_t));
21153     *ptr += 3 * sizeof(uint32_t);
21154     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskPayloadSize, sizeof(uint32_t));
21155     *ptr += sizeof(uint32_t);
21156     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskSharedMemorySize, sizeof(uint32_t));
21157     *ptr += sizeof(uint32_t);
21158     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTaskPayloadAndSharedMemorySize, sizeof(uint32_t));
21159     *ptr += sizeof(uint32_t);
21160     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshWorkGroupTotalCount, sizeof(uint32_t));
21161     *ptr += sizeof(uint32_t);
21162     memcpy(*ptr, (uint32_t*)forMarshaling->maxMeshWorkGroupCount, 3 * sizeof(uint32_t));
21163     *ptr += 3 * sizeof(uint32_t);
21164     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshWorkGroupInvocations, sizeof(uint32_t));
21165     *ptr += sizeof(uint32_t);
21166     memcpy(*ptr, (uint32_t*)forMarshaling->maxMeshWorkGroupSize, 3 * sizeof(uint32_t));
21167     *ptr += 3 * sizeof(uint32_t);
21168     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshSharedMemorySize, sizeof(uint32_t));
21169     *ptr += sizeof(uint32_t);
21170     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshPayloadAndSharedMemorySize, sizeof(uint32_t));
21171     *ptr += sizeof(uint32_t);
21172     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputMemorySize, sizeof(uint32_t));
21173     *ptr += sizeof(uint32_t);
21174     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshPayloadAndOutputMemorySize, sizeof(uint32_t));
21175     *ptr += sizeof(uint32_t);
21176     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputComponents, sizeof(uint32_t));
21177     *ptr += sizeof(uint32_t);
21178     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputVertices, sizeof(uint32_t));
21179     *ptr += sizeof(uint32_t);
21180     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputPrimitives, sizeof(uint32_t));
21181     *ptr += sizeof(uint32_t);
21182     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshOutputLayers, sizeof(uint32_t));
21183     *ptr += sizeof(uint32_t);
21184     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMeshMultiviewViewCount, sizeof(uint32_t));
21185     *ptr += sizeof(uint32_t);
21186     memcpy(*ptr, (uint32_t*)&forMarshaling->meshOutputPerVertexGranularity, sizeof(uint32_t));
21187     *ptr += sizeof(uint32_t);
21188     memcpy(*ptr, (uint32_t*)&forMarshaling->meshOutputPerPrimitiveGranularity, sizeof(uint32_t));
21189     *ptr += sizeof(uint32_t);
21190     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPreferredTaskWorkGroupInvocations, sizeof(uint32_t));
21191     *ptr += sizeof(uint32_t);
21192     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPreferredMeshWorkGroupInvocations, sizeof(uint32_t));
21193     *ptr += sizeof(uint32_t);
21194     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersLocalInvocationVertexOutput, sizeof(VkBool32));
21195     *ptr += sizeof(VkBool32);
21196     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersLocalInvocationPrimitiveOutput,
21197            sizeof(VkBool32));
21198     *ptr += sizeof(VkBool32);
21199     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersCompactVertexOutput, sizeof(VkBool32));
21200     *ptr += sizeof(VkBool32);
21201     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersCompactPrimitiveOutput, sizeof(VkBool32));
21202     *ptr += sizeof(VkBool32);
21203 }
21204 
reservedmarshal_VkDrawMeshTasksIndirectCommandEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawMeshTasksIndirectCommandEXT * forMarshaling,uint8_t ** ptr)21205 void reservedmarshal_VkDrawMeshTasksIndirectCommandEXT(
21206     VulkanStreamGuest* vkStream, VkStructureType rootType,
21207     const VkDrawMeshTasksIndirectCommandEXT* forMarshaling, uint8_t** ptr) {
21208     (void)vkStream;
21209     (void)rootType;
21210     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCountX, sizeof(uint32_t));
21211     *ptr += sizeof(uint32_t);
21212     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCountY, sizeof(uint32_t));
21213     *ptr += sizeof(uint32_t);
21214     memcpy(*ptr, (uint32_t*)&forMarshaling->groupCountZ, sizeof(uint32_t));
21215     *ptr += sizeof(uint32_t);
21216 }
21217 
21218 #endif
reservedmarshal_extension_struct(VulkanStreamGuest * vkStream,VkStructureType rootType,const void * structExtension,uint8_t ** ptr)21219 void reservedmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
21220                                       const void* structExtension, uint8_t** ptr) {
21221     VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
21222     uint32_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
21223         vkStream->getFeatureBits(), rootType, structExtension);
21224     if (!currExtSize && structExtension) {
21225         // unknown struct extension; skip and call on its pNext field
21226         reservedmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext, ptr);
21227         return;
21228     } else {
21229         // known or null extension struct
21230         memcpy(*ptr, &currExtSize, sizeof(uint32_t));
21231         ;
21232         android::base::Stream::toBe32((uint8_t*)*ptr);
21233         *ptr += sizeof(uint32_t);
21234         if (!currExtSize) {
21235             // exit if this was a null extension struct (size == 0 in this branch)
21236             return;
21237         }
21238     }
21239     memcpy(*ptr, structExtension, sizeof(VkStructureType));
21240     *ptr += sizeof(VkStructureType);
21241     if (!structExtension) {
21242         return;
21243     }
21244     uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
21245     switch (structType) {
21246 #ifdef VK_VERSION_1_0
21247         case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
21248             reservedmarshal_VkShaderModuleCreateInfo(
21249                 vkStream, rootType,
21250                 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), ptr);
21251             break;
21252         }
21253 #endif
21254 #ifdef VK_VERSION_1_1
21255         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
21256             reservedmarshal_VkPhysicalDeviceSubgroupProperties(
21257                 vkStream, rootType,
21258                 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), ptr);
21259             break;
21260         }
21261         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
21262             reservedmarshal_VkPhysicalDevice16BitStorageFeatures(
21263                 vkStream, rootType,
21264                 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
21265                 ptr);
21266             break;
21267         }
21268         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
21269             reservedmarshal_VkMemoryDedicatedRequirements(
21270                 vkStream, rootType,
21271                 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), ptr);
21272             break;
21273         }
21274         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
21275             reservedmarshal_VkMemoryDedicatedAllocateInfo(
21276                 vkStream, rootType,
21277                 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), ptr);
21278             break;
21279         }
21280         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
21281             reservedmarshal_VkMemoryAllocateFlagsInfo(
21282                 vkStream, rootType,
21283                 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), ptr);
21284             break;
21285         }
21286         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
21287             reservedmarshal_VkDeviceGroupRenderPassBeginInfo(
21288                 vkStream, rootType,
21289                 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), ptr);
21290             break;
21291         }
21292         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
21293             reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(
21294                 vkStream, rootType,
21295                 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), ptr);
21296             break;
21297         }
21298         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
21299             reservedmarshal_VkDeviceGroupSubmitInfo(
21300                 vkStream, rootType,
21301                 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), ptr);
21302             break;
21303         }
21304         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
21305             reservedmarshal_VkDeviceGroupBindSparseInfo(
21306                 vkStream, rootType,
21307                 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), ptr);
21308             break;
21309         }
21310         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
21311             reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(
21312                 vkStream, rootType,
21313                 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), ptr);
21314             break;
21315         }
21316         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
21317             reservedmarshal_VkBindImageMemoryDeviceGroupInfo(
21318                 vkStream, rootType,
21319                 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), ptr);
21320             break;
21321         }
21322         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
21323             reservedmarshal_VkDeviceGroupDeviceCreateInfo(
21324                 vkStream, rootType,
21325                 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), ptr);
21326             break;
21327         }
21328         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
21329             reservedmarshal_VkPhysicalDeviceFeatures2(
21330                 vkStream, rootType,
21331                 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), ptr);
21332             break;
21333         }
21334         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
21335             reservedmarshal_VkPhysicalDevicePointClippingProperties(
21336                 vkStream, rootType,
21337                 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
21338                 ptr);
21339             break;
21340         }
21341         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
21342             reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
21343                 vkStream, rootType,
21344                 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
21345                     structExtension),
21346                 ptr);
21347             break;
21348         }
21349         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
21350             reservedmarshal_VkImageViewUsageCreateInfo(
21351                 vkStream, rootType,
21352                 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), ptr);
21353             break;
21354         }
21355         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
21356             reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
21357                 vkStream, rootType,
21358                 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
21359                     structExtension),
21360                 ptr);
21361             break;
21362         }
21363         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
21364             reservedmarshal_VkRenderPassMultiviewCreateInfo(
21365                 vkStream, rootType,
21366                 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), ptr);
21367             break;
21368         }
21369         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
21370             reservedmarshal_VkPhysicalDeviceMultiviewFeatures(
21371                 vkStream, rootType,
21372                 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), ptr);
21373             break;
21374         }
21375         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
21376             reservedmarshal_VkPhysicalDeviceMultiviewProperties(
21377                 vkStream, rootType,
21378                 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), ptr);
21379             break;
21380         }
21381         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
21382             reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(
21383                 vkStream, rootType,
21384                 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
21385                 ptr);
21386             break;
21387         }
21388         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
21389             reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
21390                 vkStream, rootType,
21391                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
21392                 ptr);
21393             break;
21394         }
21395         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
21396             reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(
21397                 vkStream, rootType,
21398                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
21399                 ptr);
21400             break;
21401         }
21402         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
21403             reservedmarshal_VkProtectedSubmitInfo(
21404                 vkStream, rootType, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension),
21405                 ptr);
21406             break;
21407         }
21408         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
21409             reservedmarshal_VkSamplerYcbcrConversionInfo(
21410                 vkStream, rootType,
21411                 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), ptr);
21412             break;
21413         }
21414         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
21415             reservedmarshal_VkBindImagePlaneMemoryInfo(
21416                 vkStream, rootType,
21417                 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), ptr);
21418             break;
21419         }
21420         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
21421             reservedmarshal_VkImagePlaneMemoryRequirementsInfo(
21422                 vkStream, rootType,
21423                 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), ptr);
21424             break;
21425         }
21426         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
21427             reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
21428                 vkStream, rootType,
21429                 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
21430                     structExtension),
21431                 ptr);
21432             break;
21433         }
21434         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
21435             reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(
21436                 vkStream, rootType,
21437                 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
21438                     structExtension),
21439                 ptr);
21440             break;
21441         }
21442         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
21443             reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(
21444                 vkStream, rootType,
21445                 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
21446                 ptr);
21447             break;
21448         }
21449         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
21450             reservedmarshal_VkExternalImageFormatProperties(
21451                 vkStream, rootType,
21452                 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), ptr);
21453             break;
21454         }
21455         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
21456             reservedmarshal_VkPhysicalDeviceIDProperties(
21457                 vkStream, rootType,
21458                 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), ptr);
21459             break;
21460         }
21461         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
21462             reservedmarshal_VkExternalMemoryImageCreateInfo(
21463                 vkStream, rootType,
21464                 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), ptr);
21465             break;
21466         }
21467         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
21468             reservedmarshal_VkExternalMemoryBufferCreateInfo(
21469                 vkStream, rootType,
21470                 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), ptr);
21471             break;
21472         }
21473         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
21474             reservedmarshal_VkExportMemoryAllocateInfo(
21475                 vkStream, rootType,
21476                 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), ptr);
21477             break;
21478         }
21479         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
21480             reservedmarshal_VkExportFenceCreateInfo(
21481                 vkStream, rootType,
21482                 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), ptr);
21483             break;
21484         }
21485         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
21486             reservedmarshal_VkExportSemaphoreCreateInfo(
21487                 vkStream, rootType,
21488                 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), ptr);
21489             break;
21490         }
21491         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
21492             reservedmarshal_VkPhysicalDeviceMaintenance3Properties(
21493                 vkStream, rootType,
21494                 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
21495                 ptr);
21496             break;
21497         }
21498         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
21499             reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
21500                 vkStream, rootType,
21501                 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
21502                     structExtension),
21503                 ptr);
21504             break;
21505         }
21506 #endif
21507 #ifdef VK_VERSION_1_2
21508         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
21509             reservedmarshal_VkPhysicalDeviceVulkan11Features(
21510                 vkStream, rootType,
21511                 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), ptr);
21512             break;
21513         }
21514         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
21515             reservedmarshal_VkPhysicalDeviceVulkan11Properties(
21516                 vkStream, rootType,
21517                 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension), ptr);
21518             break;
21519         }
21520         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
21521             reservedmarshal_VkPhysicalDeviceVulkan12Features(
21522                 vkStream, rootType,
21523                 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), ptr);
21524             break;
21525         }
21526         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
21527             reservedmarshal_VkPhysicalDeviceVulkan12Properties(
21528                 vkStream, rootType,
21529                 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension), ptr);
21530             break;
21531         }
21532         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
21533             reservedmarshal_VkImageFormatListCreateInfo(
21534                 vkStream, rootType,
21535                 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), ptr);
21536             break;
21537         }
21538         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
21539             reservedmarshal_VkPhysicalDevice8BitStorageFeatures(
21540                 vkStream, rootType,
21541                 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension), ptr);
21542             break;
21543         }
21544         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
21545             reservedmarshal_VkPhysicalDeviceDriverProperties(
21546                 vkStream, rootType,
21547                 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), ptr);
21548             break;
21549         }
21550         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
21551             reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
21552                 vkStream, rootType,
21553                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
21554                 ptr);
21555             break;
21556         }
21557         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
21558             reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
21559                 vkStream, rootType,
21560                 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
21561                 ptr);
21562             break;
21563         }
21564         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
21565             reservedmarshal_VkPhysicalDeviceFloatControlsProperties(
21566                 vkStream, rootType,
21567                 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
21568                 ptr);
21569             break;
21570         }
21571         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
21572             reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
21573                 vkStream, rootType,
21574                 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
21575                     structExtension),
21576                 ptr);
21577             break;
21578         }
21579         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
21580             reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
21581                 vkStream, rootType,
21582                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
21583                     structExtension),
21584                 ptr);
21585             break;
21586         }
21587         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
21588             reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
21589                 vkStream, rootType,
21590                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
21591                     structExtension),
21592                 ptr);
21593             break;
21594         }
21595         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
21596             reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
21597                 vkStream, rootType,
21598                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
21599                     structExtension),
21600                 ptr);
21601             break;
21602         }
21603         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
21604             reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
21605                 vkStream, rootType,
21606                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
21607                     structExtension),
21608                 ptr);
21609             break;
21610         }
21611         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
21612             reservedmarshal_VkSubpassDescriptionDepthStencilResolve(
21613                 vkStream, rootType,
21614                 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
21615                 ptr);
21616             break;
21617         }
21618         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
21619             reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
21620                 vkStream, rootType,
21621                 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
21622                     structExtension),
21623                 ptr);
21624             break;
21625         }
21626         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
21627             reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
21628                 vkStream, rootType,
21629                 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
21630                 ptr);
21631             break;
21632         }
21633         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
21634             reservedmarshal_VkImageStencilUsageCreateInfo(
21635                 vkStream, rootType,
21636                 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), ptr);
21637             break;
21638         }
21639         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
21640             reservedmarshal_VkSamplerReductionModeCreateInfo(
21641                 vkStream, rootType,
21642                 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), ptr);
21643             break;
21644         }
21645         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
21646             reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
21647                 vkStream, rootType,
21648                 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
21649                     structExtension),
21650                 ptr);
21651             break;
21652         }
21653         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
21654             reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
21655                 vkStream, rootType,
21656                 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
21657                 ptr);
21658             break;
21659         }
21660         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
21661             reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
21662                 vkStream, rootType,
21663                 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
21664                     structExtension),
21665                 ptr);
21666             break;
21667         }
21668         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
21669             reservedmarshal_VkFramebufferAttachmentsCreateInfo(
21670                 vkStream, rootType,
21671                 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension), ptr);
21672             break;
21673         }
21674         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
21675             reservedmarshal_VkRenderPassAttachmentBeginInfo(
21676                 vkStream, rootType,
21677                 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), ptr);
21678             break;
21679         }
21680         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
21681             reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
21682                 vkStream, rootType,
21683                 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
21684                     structExtension),
21685                 ptr);
21686             break;
21687         }
21688         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
21689             reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
21690                 vkStream, rootType,
21691                 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
21692                     structExtension),
21693                 ptr);
21694             break;
21695         }
21696         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
21697             reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
21698                 vkStream, rootType,
21699                 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
21700                     structExtension),
21701                 ptr);
21702             break;
21703         }
21704         case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
21705             reservedmarshal_VkAttachmentReferenceStencilLayout(
21706                 vkStream, rootType,
21707                 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension), ptr);
21708             break;
21709         }
21710         case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
21711             reservedmarshal_VkAttachmentDescriptionStencilLayout(
21712                 vkStream, rootType,
21713                 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
21714                 ptr);
21715             break;
21716         }
21717         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
21718             reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(
21719                 vkStream, rootType,
21720                 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
21721                 ptr);
21722             break;
21723         }
21724         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
21725             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
21726                 vkStream, rootType,
21727                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
21728                 ptr);
21729             break;
21730         }
21731         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
21732             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
21733                 vkStream, rootType,
21734                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
21735                     structExtension),
21736                 ptr);
21737             break;
21738         }
21739         case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
21740             reservedmarshal_VkSemaphoreTypeCreateInfo(
21741                 vkStream, rootType,
21742                 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), ptr);
21743             break;
21744         }
21745         case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
21746             reservedmarshal_VkTimelineSemaphoreSubmitInfo(
21747                 vkStream, rootType,
21748                 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), ptr);
21749             break;
21750         }
21751         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
21752             reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
21753                 vkStream, rootType,
21754                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
21755                     structExtension),
21756                 ptr);
21757             break;
21758         }
21759         case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
21760             reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
21761                 vkStream, rootType,
21762                 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
21763                 ptr);
21764             break;
21765         }
21766         case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
21767             reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
21768                 vkStream, rootType,
21769                 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
21770                 ptr);
21771             break;
21772         }
21773 #endif
21774 #ifdef VK_VERSION_1_3
21775         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
21776             reservedmarshal_VkPhysicalDeviceVulkan13Features(
21777                 vkStream, rootType,
21778                 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), ptr);
21779             break;
21780         }
21781         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
21782             reservedmarshal_VkPhysicalDeviceVulkan13Properties(
21783                 vkStream, rootType,
21784                 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension), ptr);
21785             break;
21786         }
21787         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
21788             reservedmarshal_VkPipelineCreationFeedbackCreateInfo(
21789                 vkStream, rootType,
21790                 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
21791                 ptr);
21792             break;
21793         }
21794         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
21795             reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
21796                 vkStream, rootType,
21797                 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
21798                     structExtension),
21799                 ptr);
21800             break;
21801         }
21802         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
21803             reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
21804                 vkStream, rootType,
21805                 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
21806                     structExtension),
21807                 ptr);
21808             break;
21809         }
21810         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
21811             reservedmarshal_VkPhysicalDevicePrivateDataFeatures(
21812                 vkStream, rootType,
21813                 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension), ptr);
21814             break;
21815         }
21816         case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
21817             reservedmarshal_VkDevicePrivateDataCreateInfo(
21818                 vkStream, rootType,
21819                 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), ptr);
21820             break;
21821         }
21822         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
21823             reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
21824                 vkStream, rootType,
21825                 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
21826                     structExtension),
21827                 ptr);
21828             break;
21829         }
21830         case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
21831             reservedmarshal_VkMemoryBarrier2(
21832                 vkStream, rootType, reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
21833                 ptr);
21834             break;
21835         }
21836         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
21837             reservedmarshal_VkPhysicalDeviceSynchronization2Features(
21838                 vkStream, rootType,
21839                 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
21840                 ptr);
21841             break;
21842         }
21843         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
21844             reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
21845                 vkStream, rootType,
21846                 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
21847                     structExtension),
21848                 ptr);
21849             break;
21850         }
21851         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
21852             reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(
21853                 vkStream, rootType,
21854                 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
21855                 ptr);
21856             break;
21857         }
21858         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
21859             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
21860                 vkStream, rootType,
21861                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
21862                     structExtension),
21863                 ptr);
21864             break;
21865         }
21866         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
21867             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
21868                 vkStream, rootType,
21869                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
21870                     structExtension),
21871                 ptr);
21872             break;
21873         }
21874         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
21875             reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
21876                 vkStream, rootType,
21877                 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
21878                     structExtension),
21879                 ptr);
21880             break;
21881         }
21882         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
21883             reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
21884                 vkStream, rootType,
21885                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
21886                     structExtension),
21887                 ptr);
21888             break;
21889         }
21890         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
21891             reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
21892                 vkStream, rootType,
21893                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
21894                     structExtension),
21895                 ptr);
21896             break;
21897         }
21898         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
21899             reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(
21900                 vkStream, rootType,
21901                 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
21902                 ptr);
21903             break;
21904         }
21905         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
21906             reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
21907                 vkStream, rootType,
21908                 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
21909                     structExtension),
21910                 ptr);
21911             break;
21912         }
21913         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
21914             reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
21915                 vkStream, rootType,
21916                 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
21917                     structExtension),
21918                 ptr);
21919             break;
21920         }
21921         case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
21922             reservedmarshal_VkPipelineRenderingCreateInfo(
21923                 vkStream, rootType,
21924                 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), ptr);
21925             break;
21926         }
21927         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
21928             reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
21929                 vkStream, rootType,
21930                 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
21931                 ptr);
21932             break;
21933         }
21934         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
21935             reservedmarshal_VkCommandBufferInheritanceRenderingInfo(
21936                 vkStream, rootType,
21937                 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
21938                 ptr);
21939             break;
21940         }
21941         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
21942             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
21943                 vkStream, rootType,
21944                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
21945                     structExtension),
21946                 ptr);
21947             break;
21948         }
21949         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
21950             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
21951                 vkStream, rootType,
21952                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
21953                     structExtension),
21954                 ptr);
21955             break;
21956         }
21957         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
21958             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
21959                 vkStream, rootType,
21960                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
21961                     structExtension),
21962                 ptr);
21963             break;
21964         }
21965         case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
21966             reservedmarshal_VkFormatProperties3(
21967                 vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension),
21968                 ptr);
21969             break;
21970         }
21971         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
21972             reservedmarshal_VkPhysicalDeviceMaintenance4Features(
21973                 vkStream, rootType,
21974                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
21975                 ptr);
21976             break;
21977         }
21978         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
21979             reservedmarshal_VkPhysicalDeviceMaintenance4Properties(
21980                 vkStream, rootType,
21981                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
21982                 ptr);
21983             break;
21984         }
21985 #endif
21986 #ifdef VK_KHR_swapchain
21987         case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
21988             reservedmarshal_VkImageSwapchainCreateInfoKHR(
21989                 vkStream, rootType,
21990                 reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension), ptr);
21991             break;
21992         }
21993         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
21994             reservedmarshal_VkBindImageMemorySwapchainInfoKHR(
21995                 vkStream, rootType,
21996                 reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension), ptr);
21997             break;
21998         }
21999         case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
22000             reservedmarshal_VkDeviceGroupPresentInfoKHR(
22001                 vkStream, rootType,
22002                 reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension), ptr);
22003             break;
22004         }
22005         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
22006             reservedmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
22007                 vkStream, rootType,
22008                 reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension), ptr);
22009             break;
22010         }
22011 #endif
22012 #ifdef VK_KHR_display_swapchain
22013         case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
22014             reservedmarshal_VkDisplayPresentInfoKHR(
22015                 vkStream, rootType,
22016                 reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension), ptr);
22017             break;
22018         }
22019 #endif
22020 #ifdef VK_KHR_video_queue
22021         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: {
22022             reservedmarshal_VkQueueFamilyQueryResultStatusPropertiesKHR(
22023                 vkStream, rootType,
22024                 reinterpret_cast<const VkQueueFamilyQueryResultStatusPropertiesKHR*>(
22025                     structExtension),
22026                 ptr);
22027             break;
22028         }
22029         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: {
22030             reservedmarshal_VkQueueFamilyVideoPropertiesKHR(
22031                 vkStream, rootType,
22032                 reinterpret_cast<const VkQueueFamilyVideoPropertiesKHR*>(structExtension), ptr);
22033             break;
22034         }
22035         case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: {
22036             reservedmarshal_VkVideoProfileInfoKHR(
22037                 vkStream, rootType, reinterpret_cast<const VkVideoProfileInfoKHR*>(structExtension),
22038                 ptr);
22039             break;
22040         }
22041         case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: {
22042             reservedmarshal_VkVideoProfileListInfoKHR(
22043                 vkStream, rootType,
22044                 reinterpret_cast<const VkVideoProfileListInfoKHR*>(structExtension), ptr);
22045             break;
22046         }
22047 #endif
22048 #ifdef VK_KHR_video_decode_queue
22049         case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: {
22050             reservedmarshal_VkVideoDecodeCapabilitiesKHR(
22051                 vkStream, rootType,
22052                 reinterpret_cast<const VkVideoDecodeCapabilitiesKHR*>(structExtension), ptr);
22053             break;
22054         }
22055         case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: {
22056             reservedmarshal_VkVideoDecodeUsageInfoKHR(
22057                 vkStream, rootType,
22058                 reinterpret_cast<const VkVideoDecodeUsageInfoKHR*>(structExtension), ptr);
22059             break;
22060         }
22061 #endif
22062 #ifdef VK_KHR_video_decode_h264
22063         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: {
22064             reservedmarshal_VkVideoDecodeH264ProfileInfoKHR(
22065                 vkStream, rootType,
22066                 reinterpret_cast<const VkVideoDecodeH264ProfileInfoKHR*>(structExtension), ptr);
22067             break;
22068         }
22069         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: {
22070             reservedmarshal_VkVideoDecodeH264CapabilitiesKHR(
22071                 vkStream, rootType,
22072                 reinterpret_cast<const VkVideoDecodeH264CapabilitiesKHR*>(structExtension), ptr);
22073             break;
22074         }
22075         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: {
22076             reservedmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR(
22077                 vkStream, rootType,
22078                 reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoKHR*>(
22079                     structExtension),
22080                 ptr);
22081             break;
22082         }
22083         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: {
22084             reservedmarshal_VkVideoDecodeH264SessionParametersCreateInfoKHR(
22085                 vkStream, rootType,
22086                 reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoKHR*>(
22087                     structExtension),
22088                 ptr);
22089             break;
22090         }
22091         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: {
22092             reservedmarshal_VkVideoDecodeH264PictureInfoKHR(
22093                 vkStream, rootType,
22094                 reinterpret_cast<const VkVideoDecodeH264PictureInfoKHR*>(structExtension), ptr);
22095             break;
22096         }
22097         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: {
22098             reservedmarshal_VkVideoDecodeH264DpbSlotInfoKHR(
22099                 vkStream, rootType,
22100                 reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoKHR*>(structExtension), ptr);
22101             break;
22102         }
22103 #endif
22104 #ifdef VK_KHR_dynamic_rendering
22105         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
22106             reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
22107                 vkStream, rootType,
22108                 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
22109                     structExtension),
22110                 ptr);
22111             break;
22112         }
22113         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
22114             reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
22115                 vkStream, rootType,
22116                 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
22117                     structExtension),
22118                 ptr);
22119             break;
22120         }
22121         case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
22122             reservedmarshal_VkAttachmentSampleCountInfoAMD(
22123                 vkStream, rootType,
22124                 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension), ptr);
22125             break;
22126         }
22127         case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
22128             reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(
22129                 vkStream, rootType,
22130                 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension), ptr);
22131             break;
22132         }
22133 #endif
22134 #ifdef VK_KHR_external_memory_win32
22135         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
22136             reservedmarshal_VkImportMemoryWin32HandleInfoKHR(
22137                 vkStream, rootType,
22138                 reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension), ptr);
22139             break;
22140         }
22141         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
22142             reservedmarshal_VkExportMemoryWin32HandleInfoKHR(
22143                 vkStream, rootType,
22144                 reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension), ptr);
22145             break;
22146         }
22147 #endif
22148 #ifdef VK_KHR_external_memory_fd
22149         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
22150             reservedmarshal_VkImportMemoryFdInfoKHR(
22151                 vkStream, rootType,
22152                 reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension), ptr);
22153             break;
22154         }
22155 #endif
22156 #ifdef VK_KHR_win32_keyed_mutex
22157         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
22158             reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
22159                 vkStream, rootType,
22160                 reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension),
22161                 ptr);
22162             break;
22163         }
22164 #endif
22165 #ifdef VK_KHR_external_semaphore_win32
22166         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
22167             reservedmarshal_VkExportSemaphoreWin32HandleInfoKHR(
22168                 vkStream, rootType,
22169                 reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension), ptr);
22170             break;
22171         }
22172         case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
22173             reservedmarshal_VkD3D12FenceSubmitInfoKHR(
22174                 vkStream, rootType,
22175                 reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension), ptr);
22176             break;
22177         }
22178 #endif
22179 #ifdef VK_KHR_push_descriptor
22180         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
22181             reservedmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
22182                 vkStream, rootType,
22183                 reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(
22184                     structExtension),
22185                 ptr);
22186             break;
22187         }
22188 #endif
22189 #ifdef VK_KHR_incremental_present
22190         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
22191             reservedmarshal_VkPresentRegionsKHR(
22192                 vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
22193                 ptr);
22194             break;
22195         }
22196 #endif
22197 #ifdef VK_KHR_shared_presentable_image
22198         case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
22199             reservedmarshal_VkSharedPresentSurfaceCapabilitiesKHR(
22200                 vkStream, rootType,
22201                 reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension),
22202                 ptr);
22203             break;
22204         }
22205 #endif
22206 #ifdef VK_KHR_external_fence_win32
22207         case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
22208             reservedmarshal_VkExportFenceWin32HandleInfoKHR(
22209                 vkStream, rootType,
22210                 reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension), ptr);
22211             break;
22212         }
22213 #endif
22214 #ifdef VK_KHR_performance_query
22215         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
22216             reservedmarshal_VkPhysicalDevicePerformanceQueryFeaturesKHR(
22217                 vkStream, rootType,
22218                 reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR*>(
22219                     structExtension),
22220                 ptr);
22221             break;
22222         }
22223         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
22224             reservedmarshal_VkPhysicalDevicePerformanceQueryPropertiesKHR(
22225                 vkStream, rootType,
22226                 reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR*>(
22227                     structExtension),
22228                 ptr);
22229             break;
22230         }
22231         case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
22232             reservedmarshal_VkQueryPoolPerformanceCreateInfoKHR(
22233                 vkStream, rootType,
22234                 reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR*>(structExtension), ptr);
22235             break;
22236         }
22237         case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
22238             reservedmarshal_VkPerformanceQuerySubmitInfoKHR(
22239                 vkStream, rootType,
22240                 reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR*>(structExtension), ptr);
22241             break;
22242         }
22243 #endif
22244 #ifdef VK_KHR_portability_subset
22245 #ifdef VK_ENABLE_BETA_EXTENSIONS
22246         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
22247             reservedmarshal_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
22248                 vkStream, rootType,
22249                 reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR*>(
22250                     structExtension),
22251                 ptr);
22252             break;
22253         }
22254 #endif  // VK_ENABLE_BETA_EXTENSIONS
22255 #ifdef VK_ENABLE_BETA_EXTENSIONS
22256         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
22257             reservedmarshal_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
22258                 vkStream, rootType,
22259                 reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR*>(
22260                     structExtension),
22261                 ptr);
22262             break;
22263         }
22264 #endif  // VK_ENABLE_BETA_EXTENSIONS
22265 #endif
22266 #ifdef VK_KHR_shader_clock
22267         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
22268             reservedmarshal_VkPhysicalDeviceShaderClockFeaturesKHR(
22269                 vkStream, rootType,
22270                 reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR*>(structExtension),
22271                 ptr);
22272             break;
22273         }
22274 #endif
22275 #ifdef VK_KHR_video_decode_h265
22276         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: {
22277             reservedmarshal_VkVideoDecodeH265ProfileInfoKHR(
22278                 vkStream, rootType,
22279                 reinterpret_cast<const VkVideoDecodeH265ProfileInfoKHR*>(structExtension), ptr);
22280             break;
22281         }
22282         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: {
22283             reservedmarshal_VkVideoDecodeH265CapabilitiesKHR(
22284                 vkStream, rootType,
22285                 reinterpret_cast<const VkVideoDecodeH265CapabilitiesKHR*>(structExtension), ptr);
22286             break;
22287         }
22288         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: {
22289             reservedmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR(
22290                 vkStream, rootType,
22291                 reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoKHR*>(
22292                     structExtension),
22293                 ptr);
22294             break;
22295         }
22296         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: {
22297             reservedmarshal_VkVideoDecodeH265SessionParametersCreateInfoKHR(
22298                 vkStream, rootType,
22299                 reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoKHR*>(
22300                     structExtension),
22301                 ptr);
22302             break;
22303         }
22304         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: {
22305             reservedmarshal_VkVideoDecodeH265PictureInfoKHR(
22306                 vkStream, rootType,
22307                 reinterpret_cast<const VkVideoDecodeH265PictureInfoKHR*>(structExtension), ptr);
22308             break;
22309         }
22310         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: {
22311             reservedmarshal_VkVideoDecodeH265DpbSlotInfoKHR(
22312                 vkStream, rootType,
22313                 reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoKHR*>(structExtension), ptr);
22314             break;
22315         }
22316 #endif
22317 #ifdef VK_KHR_global_priority
22318         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: {
22319             reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfoKHR(
22320                 vkStream, rootType,
22321                 reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoKHR*>(structExtension),
22322                 ptr);
22323             break;
22324         }
22325         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: {
22326             reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(
22327                 vkStream, rootType,
22328                 reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*>(
22329                     structExtension),
22330                 ptr);
22331             break;
22332         }
22333         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: {
22334             reservedmarshal_VkQueueFamilyGlobalPriorityPropertiesKHR(
22335                 vkStream, rootType,
22336                 reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesKHR*>(structExtension),
22337                 ptr);
22338             break;
22339         }
22340 #endif
22341 #ifdef VK_KHR_fragment_shading_rate
22342         case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
22343             reservedmarshal_VkFragmentShadingRateAttachmentInfoKHR(
22344                 vkStream, rootType,
22345                 reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR*>(structExtension),
22346                 ptr);
22347             break;
22348         }
22349         case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
22350             reservedmarshal_VkPipelineFragmentShadingRateStateCreateInfoKHR(
22351                 vkStream, rootType,
22352                 reinterpret_cast<const VkPipelineFragmentShadingRateStateCreateInfoKHR*>(
22353                     structExtension),
22354                 ptr);
22355             break;
22356         }
22357         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
22358             reservedmarshal_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
22359                 vkStream, rootType,
22360                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateFeaturesKHR*>(
22361                     structExtension),
22362                 ptr);
22363             break;
22364         }
22365         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
22366             reservedmarshal_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
22367                 vkStream, rootType,
22368                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRatePropertiesKHR*>(
22369                     structExtension),
22370                 ptr);
22371             break;
22372         }
22373 #endif
22374 #ifdef VK_KHR_surface_protected_capabilities
22375         case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
22376             reservedmarshal_VkSurfaceProtectedCapabilitiesKHR(
22377                 vkStream, rootType,
22378                 reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR*>(structExtension), ptr);
22379             break;
22380         }
22381 #endif
22382 #ifdef VK_KHR_present_wait
22383         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
22384             reservedmarshal_VkPhysicalDevicePresentWaitFeaturesKHR(
22385                 vkStream, rootType,
22386                 reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR*>(structExtension),
22387                 ptr);
22388             break;
22389         }
22390 #endif
22391 #ifdef VK_KHR_pipeline_executable_properties
22392         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
22393             reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
22394                 vkStream, rootType,
22395                 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
22396                     structExtension),
22397                 ptr);
22398             break;
22399         }
22400 #endif
22401 #ifdef VK_KHR_pipeline_library
22402         case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
22403             reservedmarshal_VkPipelineLibraryCreateInfoKHR(
22404                 vkStream, rootType,
22405                 reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(structExtension), ptr);
22406             break;
22407         }
22408 #endif
22409 #ifdef VK_KHR_present_id
22410         case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
22411             reservedmarshal_VkPresentIdKHR(
22412                 vkStream, rootType, reinterpret_cast<const VkPresentIdKHR*>(structExtension), ptr);
22413             break;
22414         }
22415         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
22416             reservedmarshal_VkPhysicalDevicePresentIdFeaturesKHR(
22417                 vkStream, rootType,
22418                 reinterpret_cast<const VkPhysicalDevicePresentIdFeaturesKHR*>(structExtension),
22419                 ptr);
22420             break;
22421         }
22422 #endif
22423 #ifdef VK_KHR_video_encode_queue
22424 #ifdef VK_ENABLE_BETA_EXTENSIONS
22425         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: {
22426             reservedmarshal_VkVideoEncodeCapabilitiesKHR(
22427                 vkStream, rootType,
22428                 reinterpret_cast<const VkVideoEncodeCapabilitiesKHR*>(structExtension), ptr);
22429             break;
22430         }
22431 #endif  // VK_ENABLE_BETA_EXTENSIONS
22432 #ifdef VK_ENABLE_BETA_EXTENSIONS
22433         case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: {
22434             reservedmarshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(
22435                 vkStream, rootType,
22436                 reinterpret_cast<const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR*>(
22437                     structExtension),
22438                 ptr);
22439             break;
22440         }
22441 #endif  // VK_ENABLE_BETA_EXTENSIONS
22442 #ifdef VK_ENABLE_BETA_EXTENSIONS
22443         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: {
22444             reservedmarshal_VkVideoEncodeUsageInfoKHR(
22445                 vkStream, rootType,
22446                 reinterpret_cast<const VkVideoEncodeUsageInfoKHR*>(structExtension), ptr);
22447             break;
22448         }
22449 #endif  // VK_ENABLE_BETA_EXTENSIONS
22450 #ifdef VK_ENABLE_BETA_EXTENSIONS
22451         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: {
22452             reservedmarshal_VkVideoEncodeRateControlLayerInfoKHR(
22453                 vkStream, rootType,
22454                 reinterpret_cast<const VkVideoEncodeRateControlLayerInfoKHR*>(structExtension),
22455                 ptr);
22456             break;
22457         }
22458 #endif  // VK_ENABLE_BETA_EXTENSIONS
22459 #ifdef VK_ENABLE_BETA_EXTENSIONS
22460         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
22461             reservedmarshal_VkVideoEncodeRateControlInfoKHR(
22462                 vkStream, rootType,
22463                 reinterpret_cast<const VkVideoEncodeRateControlInfoKHR*>(structExtension), ptr);
22464             break;
22465         }
22466 #endif  // VK_ENABLE_BETA_EXTENSIONS
22467 #endif
22468 #ifdef VK_KHR_synchronization2
22469         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
22470             reservedmarshal_VkQueueFamilyCheckpointProperties2NV(
22471                 vkStream, rootType,
22472                 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension),
22473                 ptr);
22474             break;
22475         }
22476 #endif
22477 #ifdef VK_KHR_fragment_shader_barycentric
22478         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: {
22479             reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(
22480                 vkStream, rootType,
22481                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(
22482                     structExtension),
22483                 ptr);
22484             break;
22485         }
22486         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: {
22487             reservedmarshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(
22488                 vkStream, rootType,
22489                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR*>(
22490                     structExtension),
22491                 ptr);
22492             break;
22493         }
22494 #endif
22495 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
22496         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
22497             reservedmarshal_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
22498                 vkStream, rootType,
22499                 reinterpret_cast<
22500                     const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR*>(
22501                     structExtension),
22502                 ptr);
22503             break;
22504         }
22505 #endif
22506 #ifdef VK_KHR_workgroup_memory_explicit_layout
22507         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
22508             reservedmarshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
22509                 vkStream, rootType,
22510                 reinterpret_cast<const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR*>(
22511                     structExtension),
22512                 ptr);
22513             break;
22514         }
22515 #endif
22516 #ifdef VK_KHR_ray_tracing_maintenance1
22517         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: {
22518             reservedmarshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(
22519                 vkStream, rootType,
22520                 reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>(
22521                     structExtension),
22522                 ptr);
22523             break;
22524         }
22525 #endif
22526 #ifdef VK_KHR_ray_tracing_position_fetch
22527         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: {
22528             reservedmarshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(
22529                 vkStream, rootType,
22530                 reinterpret_cast<const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR*>(
22531                     structExtension),
22532                 ptr);
22533             break;
22534         }
22535 #endif
22536 #ifdef VK_ANDROID_native_buffer
22537         case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
22538             reservedmarshal_VkNativeBufferANDROID(
22539                 vkStream, rootType, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension),
22540                 ptr);
22541             break;
22542         }
22543 #endif
22544 #ifdef VK_EXT_debug_report
22545         case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
22546             reservedmarshal_VkDebugReportCallbackCreateInfoEXT(
22547                 vkStream, rootType,
22548                 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension), ptr);
22549             break;
22550         }
22551 #endif
22552 #ifdef VK_AMD_rasterization_order
22553         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
22554             reservedmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(
22555                 vkStream, rootType,
22556                 reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(
22557                     structExtension),
22558                 ptr);
22559             break;
22560         }
22561 #endif
22562 #ifdef VK_NV_dedicated_allocation
22563         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
22564             reservedmarshal_VkDedicatedAllocationImageCreateInfoNV(
22565                 vkStream, rootType,
22566                 reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension),
22567                 ptr);
22568             break;
22569         }
22570         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
22571             reservedmarshal_VkDedicatedAllocationBufferCreateInfoNV(
22572                 vkStream, rootType,
22573                 reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension),
22574                 ptr);
22575             break;
22576         }
22577         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
22578             reservedmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(
22579                 vkStream, rootType,
22580                 reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension),
22581                 ptr);
22582             break;
22583         }
22584 #endif
22585 #ifdef VK_EXT_transform_feedback
22586         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
22587             reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
22588                 vkStream, rootType,
22589                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
22590                     structExtension),
22591                 ptr);
22592             break;
22593         }
22594         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
22595             reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
22596                 vkStream, rootType,
22597                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
22598                     structExtension),
22599                 ptr);
22600             break;
22601         }
22602         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
22603             reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
22604                 vkStream, rootType,
22605                 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
22606                     structExtension),
22607                 ptr);
22608             break;
22609         }
22610 #endif
22611 #ifdef VK_EXT_video_encode_h264
22612 #ifdef VK_ENABLE_BETA_EXTENSIONS
22613         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
22614             reservedmarshal_VkVideoEncodeH264CapabilitiesEXT(
22615                 vkStream, rootType,
22616                 reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT*>(structExtension), ptr);
22617             break;
22618         }
22619 #endif  // VK_ENABLE_BETA_EXTENSIONS
22620 #ifdef VK_ENABLE_BETA_EXTENSIONS
22621         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
22622             reservedmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT(
22623                 vkStream, rootType,
22624                 reinterpret_cast<const VkVideoEncodeH264SessionParametersAddInfoEXT*>(
22625                     structExtension),
22626                 ptr);
22627             break;
22628         }
22629 #endif  // VK_ENABLE_BETA_EXTENSIONS
22630 #ifdef VK_ENABLE_BETA_EXTENSIONS
22631         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
22632             reservedmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT(
22633                 vkStream, rootType,
22634                 reinterpret_cast<const VkVideoEncodeH264SessionParametersCreateInfoEXT*>(
22635                     structExtension),
22636                 ptr);
22637             break;
22638         }
22639 #endif  // VK_ENABLE_BETA_EXTENSIONS
22640 #ifdef VK_ENABLE_BETA_EXTENSIONS
22641         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: {
22642             reservedmarshal_VkVideoEncodeH264VclFrameInfoEXT(
22643                 vkStream, rootType,
22644                 reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT*>(structExtension), ptr);
22645             break;
22646         }
22647 #endif  // VK_ENABLE_BETA_EXTENSIONS
22648 #ifdef VK_ENABLE_BETA_EXTENSIONS
22649         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: {
22650             reservedmarshal_VkVideoEncodeH264DpbSlotInfoEXT(
22651                 vkStream, rootType,
22652                 reinterpret_cast<const VkVideoEncodeH264DpbSlotInfoEXT*>(structExtension), ptr);
22653             break;
22654         }
22655 #endif  // VK_ENABLE_BETA_EXTENSIONS
22656 #ifdef VK_ENABLE_BETA_EXTENSIONS
22657         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: {
22658             reservedmarshal_VkVideoEncodeH264ProfileInfoEXT(
22659                 vkStream, rootType,
22660                 reinterpret_cast<const VkVideoEncodeH264ProfileInfoEXT*>(structExtension), ptr);
22661             break;
22662         }
22663 #endif  // VK_ENABLE_BETA_EXTENSIONS
22664 #ifdef VK_ENABLE_BETA_EXTENSIONS
22665         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: {
22666             reservedmarshal_VkVideoEncodeH264RateControlInfoEXT(
22667                 vkStream, rootType,
22668                 reinterpret_cast<const VkVideoEncodeH264RateControlInfoEXT*>(structExtension), ptr);
22669             break;
22670         }
22671 #endif  // VK_ENABLE_BETA_EXTENSIONS
22672 #ifdef VK_ENABLE_BETA_EXTENSIONS
22673         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: {
22674             reservedmarshal_VkVideoEncodeH264RateControlLayerInfoEXT(
22675                 vkStream, rootType,
22676                 reinterpret_cast<const VkVideoEncodeH264RateControlLayerInfoEXT*>(structExtension),
22677                 ptr);
22678             break;
22679         }
22680 #endif  // VK_ENABLE_BETA_EXTENSIONS
22681 #endif
22682 #ifdef VK_EXT_video_encode_h265
22683 #ifdef VK_ENABLE_BETA_EXTENSIONS
22684         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
22685             reservedmarshal_VkVideoEncodeH265CapabilitiesEXT(
22686                 vkStream, rootType,
22687                 reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT*>(structExtension), ptr);
22688             break;
22689         }
22690 #endif  // VK_ENABLE_BETA_EXTENSIONS
22691 #ifdef VK_ENABLE_BETA_EXTENSIONS
22692         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
22693             reservedmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT(
22694                 vkStream, rootType,
22695                 reinterpret_cast<const VkVideoEncodeH265SessionParametersAddInfoEXT*>(
22696                     structExtension),
22697                 ptr);
22698             break;
22699         }
22700 #endif  // VK_ENABLE_BETA_EXTENSIONS
22701 #ifdef VK_ENABLE_BETA_EXTENSIONS
22702         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
22703             reservedmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT(
22704                 vkStream, rootType,
22705                 reinterpret_cast<const VkVideoEncodeH265SessionParametersCreateInfoEXT*>(
22706                     structExtension),
22707                 ptr);
22708             break;
22709         }
22710 #endif  // VK_ENABLE_BETA_EXTENSIONS
22711 #ifdef VK_ENABLE_BETA_EXTENSIONS
22712         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: {
22713             reservedmarshal_VkVideoEncodeH265VclFrameInfoEXT(
22714                 vkStream, rootType,
22715                 reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT*>(structExtension), ptr);
22716             break;
22717         }
22718 #endif  // VK_ENABLE_BETA_EXTENSIONS
22719 #ifdef VK_ENABLE_BETA_EXTENSIONS
22720         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: {
22721             reservedmarshal_VkVideoEncodeH265DpbSlotInfoEXT(
22722                 vkStream, rootType,
22723                 reinterpret_cast<const VkVideoEncodeH265DpbSlotInfoEXT*>(structExtension), ptr);
22724             break;
22725         }
22726 #endif  // VK_ENABLE_BETA_EXTENSIONS
22727 #ifdef VK_ENABLE_BETA_EXTENSIONS
22728         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: {
22729             reservedmarshal_VkVideoEncodeH265ProfileInfoEXT(
22730                 vkStream, rootType,
22731                 reinterpret_cast<const VkVideoEncodeH265ProfileInfoEXT*>(structExtension), ptr);
22732             break;
22733         }
22734 #endif  // VK_ENABLE_BETA_EXTENSIONS
22735 #ifdef VK_ENABLE_BETA_EXTENSIONS
22736         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: {
22737             reservedmarshal_VkVideoEncodeH265RateControlInfoEXT(
22738                 vkStream, rootType,
22739                 reinterpret_cast<const VkVideoEncodeH265RateControlInfoEXT*>(structExtension), ptr);
22740             break;
22741         }
22742 #endif  // VK_ENABLE_BETA_EXTENSIONS
22743 #ifdef VK_ENABLE_BETA_EXTENSIONS
22744         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: {
22745             reservedmarshal_VkVideoEncodeH265RateControlLayerInfoEXT(
22746                 vkStream, rootType,
22747                 reinterpret_cast<const VkVideoEncodeH265RateControlLayerInfoEXT*>(structExtension),
22748                 ptr);
22749             break;
22750         }
22751 #endif  // VK_ENABLE_BETA_EXTENSIONS
22752 #endif
22753 #ifdef VK_AMD_texture_gather_bias_lod
22754         case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
22755             reservedmarshal_VkTextureLODGatherFormatPropertiesAMD(
22756                 vkStream, rootType,
22757                 reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension),
22758                 ptr);
22759             break;
22760         }
22761 #endif
22762 #ifdef VK_NV_corner_sampled_image
22763         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
22764             reservedmarshal_VkPhysicalDeviceCornerSampledImageFeaturesNV(
22765                 vkStream, rootType,
22766                 reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV*>(
22767                     structExtension),
22768                 ptr);
22769             break;
22770         }
22771 #endif
22772 #ifdef VK_NV_external_memory
22773         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
22774             reservedmarshal_VkExternalMemoryImageCreateInfoNV(
22775                 vkStream, rootType,
22776                 reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension), ptr);
22777             break;
22778         }
22779         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
22780             reservedmarshal_VkExportMemoryAllocateInfoNV(
22781                 vkStream, rootType,
22782                 reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension), ptr);
22783             break;
22784         }
22785 #endif
22786 #ifdef VK_NV_external_memory_win32
22787         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
22788             reservedmarshal_VkImportMemoryWin32HandleInfoNV(
22789                 vkStream, rootType,
22790                 reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension), ptr);
22791             break;
22792         }
22793         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
22794             reservedmarshal_VkExportMemoryWin32HandleInfoNV(
22795                 vkStream, rootType,
22796                 reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension), ptr);
22797             break;
22798         }
22799 #endif
22800 #ifdef VK_NV_win32_keyed_mutex
22801         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
22802             reservedmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
22803                 vkStream, rootType,
22804                 reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension),
22805                 ptr);
22806             break;
22807         }
22808 #endif
22809 #ifdef VK_EXT_validation_flags
22810         case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
22811             reservedmarshal_VkValidationFlagsEXT(
22812                 vkStream, rootType, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension),
22813                 ptr);
22814             break;
22815         }
22816 #endif
22817 #ifdef VK_EXT_astc_decode_mode
22818         case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
22819             reservedmarshal_VkImageViewASTCDecodeModeEXT(
22820                 vkStream, rootType,
22821                 reinterpret_cast<const VkImageViewASTCDecodeModeEXT*>(structExtension), ptr);
22822             break;
22823         }
22824         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
22825             reservedmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT(
22826                 vkStream, rootType,
22827                 reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT*>(structExtension),
22828                 ptr);
22829             break;
22830         }
22831 #endif
22832 #ifdef VK_EXT_pipeline_robustness
22833         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: {
22834             reservedmarshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT(
22835                 vkStream, rootType,
22836                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeaturesEXT*>(
22837                     structExtension),
22838                 ptr);
22839             break;
22840         }
22841         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: {
22842             reservedmarshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT(
22843                 vkStream, rootType,
22844                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessPropertiesEXT*>(
22845                     structExtension),
22846                 ptr);
22847             break;
22848         }
22849         case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: {
22850             reservedmarshal_VkPipelineRobustnessCreateInfoEXT(
22851                 vkStream, rootType,
22852                 reinterpret_cast<const VkPipelineRobustnessCreateInfoEXT*>(structExtension), ptr);
22853             break;
22854         }
22855 #endif
22856 #ifdef VK_EXT_conditional_rendering
22857         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
22858             reservedmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
22859                 vkStream, rootType,
22860                 reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(
22861                     structExtension),
22862                 ptr);
22863             break;
22864         }
22865         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
22866             reservedmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
22867                 vkStream, rootType,
22868                 reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(
22869                     structExtension),
22870                 ptr);
22871             break;
22872         }
22873 #endif
22874 #ifdef VK_NV_clip_space_w_scaling
22875         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
22876             reservedmarshal_VkPipelineViewportWScalingStateCreateInfoNV(
22877                 vkStream, rootType,
22878                 reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(
22879                     structExtension),
22880                 ptr);
22881             break;
22882         }
22883 #endif
22884 #ifdef VK_EXT_display_control
22885         case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
22886             reservedmarshal_VkSwapchainCounterCreateInfoEXT(
22887                 vkStream, rootType,
22888                 reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension), ptr);
22889             break;
22890         }
22891 #endif
22892 #ifdef VK_GOOGLE_display_timing
22893         case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
22894             reservedmarshal_VkPresentTimesInfoGOOGLE(
22895                 vkStream, rootType,
22896                 reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension), ptr);
22897             break;
22898         }
22899 #endif
22900 #ifdef VK_NVX_multiview_per_view_attributes
22901         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
22902             reservedmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
22903                 vkStream, rootType,
22904                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(
22905                     structExtension),
22906                 ptr);
22907             break;
22908         }
22909 #endif
22910 #ifdef VK_NV_viewport_swizzle
22911         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
22912             reservedmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(
22913                 vkStream, rootType,
22914                 reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(
22915                     structExtension),
22916                 ptr);
22917             break;
22918         }
22919 #endif
22920 #ifdef VK_EXT_discard_rectangles
22921         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
22922             reservedmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
22923                 vkStream, rootType,
22924                 reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(
22925                     structExtension),
22926                 ptr);
22927             break;
22928         }
22929         case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
22930             reservedmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
22931                 vkStream, rootType,
22932                 reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(
22933                     structExtension),
22934                 ptr);
22935             break;
22936         }
22937 #endif
22938 #ifdef VK_EXT_conservative_rasterization
22939         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
22940             reservedmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
22941                 vkStream, rootType,
22942                 reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(
22943                     structExtension),
22944                 ptr);
22945             break;
22946         }
22947         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
22948             reservedmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
22949                 vkStream, rootType,
22950                 reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(
22951                     structExtension),
22952                 ptr);
22953             break;
22954         }
22955 #endif
22956 #ifdef VK_EXT_depth_clip_enable
22957         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
22958             reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
22959                 vkStream, rootType,
22960                 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
22961                     structExtension),
22962                 ptr);
22963             break;
22964         }
22965         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
22966             reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
22967                 vkStream, rootType,
22968                 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
22969                     structExtension),
22970                 ptr);
22971             break;
22972         }
22973 #endif
22974 #ifdef VK_EXT_debug_utils
22975         case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
22976             reservedmarshal_VkDebugUtilsObjectNameInfoEXT(
22977                 vkStream, rootType,
22978                 reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(structExtension), ptr);
22979             break;
22980         }
22981         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
22982             reservedmarshal_VkDebugUtilsMessengerCreateInfoEXT(
22983                 vkStream, rootType,
22984                 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension), ptr);
22985             break;
22986         }
22987 #endif
22988 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
22989         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
22990             reservedmarshal_VkAndroidHardwareBufferUsageANDROID(
22991                 vkStream, rootType,
22992                 reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension), ptr);
22993             break;
22994         }
22995         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
22996             reservedmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
22997                 vkStream, rootType,
22998                 reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(
22999                     structExtension),
23000                 ptr);
23001             break;
23002         }
23003         case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
23004             reservedmarshal_VkImportAndroidHardwareBufferInfoANDROID(
23005                 vkStream, rootType,
23006                 reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension),
23007                 ptr);
23008             break;
23009         }
23010         case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
23011             reservedmarshal_VkExternalFormatANDROID(
23012                 vkStream, rootType,
23013                 reinterpret_cast<const VkExternalFormatANDROID*>(structExtension), ptr);
23014             break;
23015         }
23016         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: {
23017             reservedmarshal_VkAndroidHardwareBufferFormatProperties2ANDROID(
23018                 vkStream, rootType,
23019                 reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID*>(
23020                     structExtension),
23021                 ptr);
23022             break;
23023         }
23024 #endif
23025 #ifdef VK_EXT_sample_locations
23026         case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
23027             reservedmarshal_VkSampleLocationsInfoEXT(
23028                 vkStream, rootType,
23029                 reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension), ptr);
23030             break;
23031         }
23032         case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
23033             reservedmarshal_VkRenderPassSampleLocationsBeginInfoEXT(
23034                 vkStream, rootType,
23035                 reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension),
23036                 ptr);
23037             break;
23038         }
23039         case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
23040             reservedmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(
23041                 vkStream, rootType,
23042                 reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(
23043                     structExtension),
23044                 ptr);
23045             break;
23046         }
23047         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
23048             reservedmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
23049                 vkStream, rootType,
23050                 reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(
23051                     structExtension),
23052                 ptr);
23053             break;
23054         }
23055 #endif
23056 #ifdef VK_EXT_blend_operation_advanced
23057         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
23058             reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
23059                 vkStream, rootType,
23060                 reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(
23061                     structExtension),
23062                 ptr);
23063             break;
23064         }
23065         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
23066             reservedmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
23067                 vkStream, rootType,
23068                 reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(
23069                     structExtension),
23070                 ptr);
23071             break;
23072         }
23073         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
23074             reservedmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
23075                 vkStream, rootType,
23076                 reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(
23077                     structExtension),
23078                 ptr);
23079             break;
23080         }
23081 #endif
23082 #ifdef VK_NV_fragment_coverage_to_color
23083         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
23084             reservedmarshal_VkPipelineCoverageToColorStateCreateInfoNV(
23085                 vkStream, rootType,
23086                 reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(
23087                     structExtension),
23088                 ptr);
23089             break;
23090         }
23091 #endif
23092 #ifdef VK_NV_framebuffer_mixed_samples
23093         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
23094             reservedmarshal_VkPipelineCoverageModulationStateCreateInfoNV(
23095                 vkStream, rootType,
23096                 reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(
23097                     structExtension),
23098                 ptr);
23099             break;
23100         }
23101 #endif
23102 #ifdef VK_NV_shader_sm_builtins
23103         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
23104             reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
23105                 vkStream, rootType,
23106                 reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV*>(
23107                     structExtension),
23108                 ptr);
23109             break;
23110         }
23111         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
23112             reservedmarshal_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
23113                 vkStream, rootType,
23114                 reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV*>(
23115                     structExtension),
23116                 ptr);
23117             break;
23118         }
23119 #endif
23120 #ifdef VK_EXT_image_drm_format_modifier
23121         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
23122             reservedmarshal_VkDrmFormatModifierPropertiesListEXT(
23123                 vkStream, rootType,
23124                 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
23125                 ptr);
23126             break;
23127         }
23128         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
23129             reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
23130                 vkStream, rootType,
23131                 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
23132                     structExtension),
23133                 ptr);
23134             break;
23135         }
23136         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
23137             reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
23138                 vkStream, rootType,
23139                 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
23140                 ptr);
23141             break;
23142         }
23143         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
23144             reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
23145                 vkStream, rootType,
23146                 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
23147                     structExtension),
23148                 ptr);
23149             break;
23150         }
23151         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
23152             reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(
23153                 vkStream, rootType,
23154                 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
23155                 ptr);
23156             break;
23157         }
23158 #endif
23159 #ifdef VK_EXT_validation_cache
23160         case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
23161             reservedmarshal_VkShaderModuleValidationCacheCreateInfoEXT(
23162                 vkStream, rootType,
23163                 reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(
23164                     structExtension),
23165                 ptr);
23166             break;
23167         }
23168 #endif
23169 #ifdef VK_NV_shading_rate_image
23170         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
23171             reservedmarshal_VkPipelineViewportShadingRateImageStateCreateInfoNV(
23172                 vkStream, rootType,
23173                 reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV*>(
23174                     structExtension),
23175                 ptr);
23176             break;
23177         }
23178         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
23179             reservedmarshal_VkPhysicalDeviceShadingRateImageFeaturesNV(
23180                 vkStream, rootType,
23181                 reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV*>(
23182                     structExtension),
23183                 ptr);
23184             break;
23185         }
23186         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
23187             reservedmarshal_VkPhysicalDeviceShadingRateImagePropertiesNV(
23188                 vkStream, rootType,
23189                 reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV*>(
23190                     structExtension),
23191                 ptr);
23192             break;
23193         }
23194         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
23195             reservedmarshal_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
23196                 vkStream, rootType,
23197                 reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*>(
23198                     structExtension),
23199                 ptr);
23200             break;
23201         }
23202 #endif
23203 #ifdef VK_NV_ray_tracing
23204         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
23205             reservedmarshal_VkWriteDescriptorSetAccelerationStructureNV(
23206                 vkStream, rootType,
23207                 reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV*>(
23208                     structExtension),
23209                 ptr);
23210             break;
23211         }
23212         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
23213             reservedmarshal_VkPhysicalDeviceRayTracingPropertiesNV(
23214                 vkStream, rootType,
23215                 reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV*>(structExtension),
23216                 ptr);
23217             break;
23218         }
23219 #endif
23220 #ifdef VK_NV_representative_fragment_test
23221         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
23222             reservedmarshal_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
23223                 vkStream, rootType,
23224                 reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*>(
23225                     structExtension),
23226                 ptr);
23227             break;
23228         }
23229         case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
23230             reservedmarshal_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
23231                 vkStream, rootType,
23232                 reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV*>(
23233                     structExtension),
23234                 ptr);
23235             break;
23236         }
23237 #endif
23238 #ifdef VK_EXT_filter_cubic
23239         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
23240             reservedmarshal_VkPhysicalDeviceImageViewImageFormatInfoEXT(
23241                 vkStream, rootType,
23242                 reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT*>(
23243                     structExtension),
23244                 ptr);
23245             break;
23246         }
23247         case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
23248             reservedmarshal_VkFilterCubicImageViewImageFormatPropertiesEXT(
23249                 vkStream, rootType,
23250                 reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT*>(
23251                     structExtension),
23252                 ptr);
23253             break;
23254         }
23255 #endif
23256 #ifdef VK_EXT_external_memory_host
23257         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
23258             reservedmarshal_VkImportMemoryHostPointerInfoEXT(
23259                 vkStream, rootType,
23260                 reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension), ptr);
23261             break;
23262         }
23263         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
23264             reservedmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
23265                 vkStream, rootType,
23266                 reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
23267                     structExtension),
23268                 ptr);
23269             break;
23270         }
23271 #endif
23272 #ifdef VK_AMD_pipeline_compiler_control
23273         case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
23274             reservedmarshal_VkPipelineCompilerControlCreateInfoAMD(
23275                 vkStream, rootType,
23276                 reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD*>(structExtension),
23277                 ptr);
23278             break;
23279         }
23280 #endif
23281 #ifdef VK_AMD_shader_core_properties
23282         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
23283             reservedmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(
23284                 vkStream, rootType,
23285                 reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension),
23286                 ptr);
23287             break;
23288         }
23289 #endif
23290 #ifdef VK_AMD_memory_overallocation_behavior
23291         case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
23292             reservedmarshal_VkDeviceMemoryOverallocationCreateInfoAMD(
23293                 vkStream, rootType,
23294                 reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD*>(structExtension),
23295                 ptr);
23296             break;
23297         }
23298 #endif
23299 #ifdef VK_EXT_vertex_attribute_divisor
23300         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
23301             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
23302                 vkStream, rootType,
23303                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
23304                     structExtension),
23305                 ptr);
23306             break;
23307         }
23308         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
23309             reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
23310                 vkStream, rootType,
23311                 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
23312                     structExtension),
23313                 ptr);
23314             break;
23315         }
23316         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
23317             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
23318                 vkStream, rootType,
23319                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
23320                     structExtension),
23321                 ptr);
23322             break;
23323         }
23324 #endif
23325 #ifdef VK_GGP_frame_token
23326         case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
23327             reservedmarshal_VkPresentFrameTokenGGP(
23328                 vkStream, rootType,
23329                 reinterpret_cast<const VkPresentFrameTokenGGP*>(structExtension), ptr);
23330             break;
23331         }
23332 #endif
23333 #ifdef VK_NV_compute_shader_derivatives
23334         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
23335             reservedmarshal_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
23336                 vkStream, rootType,
23337                 reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV*>(
23338                     structExtension),
23339                 ptr);
23340             break;
23341         }
23342 #endif
23343 #ifdef VK_NV_mesh_shader
23344         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
23345             reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesNV(
23346                 vkStream, rootType,
23347                 reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV*>(structExtension),
23348                 ptr);
23349             break;
23350         }
23351         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
23352             reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesNV(
23353                 vkStream, rootType,
23354                 reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV*>(structExtension),
23355                 ptr);
23356             break;
23357         }
23358 #endif
23359 #ifdef VK_NV_shader_image_footprint
23360         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
23361             reservedmarshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
23362                 vkStream, rootType,
23363                 reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV*>(
23364                     structExtension),
23365                 ptr);
23366             break;
23367         }
23368 #endif
23369 #ifdef VK_NV_scissor_exclusive
23370         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
23371             reservedmarshal_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
23372                 vkStream, rootType,
23373                 reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV*>(
23374                     structExtension),
23375                 ptr);
23376             break;
23377         }
23378         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
23379             reservedmarshal_VkPhysicalDeviceExclusiveScissorFeaturesNV(
23380                 vkStream, rootType,
23381                 reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV*>(
23382                     structExtension),
23383                 ptr);
23384             break;
23385         }
23386 #endif
23387 #ifdef VK_NV_device_diagnostic_checkpoints
23388         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
23389             reservedmarshal_VkQueueFamilyCheckpointPropertiesNV(
23390                 vkStream, rootType,
23391                 reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension), ptr);
23392             break;
23393         }
23394 #endif
23395 #ifdef VK_INTEL_shader_integer_functions2
23396         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
23397             reservedmarshal_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
23398                 vkStream, rootType,
23399                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*>(
23400                     structExtension),
23401                 ptr);
23402             break;
23403         }
23404 #endif
23405 #ifdef VK_INTEL_performance_query
23406         case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
23407             reservedmarshal_VkQueryPoolPerformanceQueryCreateInfoINTEL(
23408                 vkStream, rootType,
23409                 reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL*>(
23410                     structExtension),
23411                 ptr);
23412             break;
23413         }
23414 #endif
23415 #ifdef VK_EXT_pci_bus_info
23416         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
23417             reservedmarshal_VkPhysicalDevicePCIBusInfoPropertiesEXT(
23418                 vkStream, rootType,
23419                 reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT*>(structExtension),
23420                 ptr);
23421             break;
23422         }
23423 #endif
23424 #ifdef VK_AMD_display_native_hdr
23425         case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
23426             reservedmarshal_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
23427                 vkStream, rootType,
23428                 reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD*>(structExtension),
23429                 ptr);
23430             break;
23431         }
23432         case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
23433             reservedmarshal_VkSwapchainDisplayNativeHdrCreateInfoAMD(
23434                 vkStream, rootType,
23435                 reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD*>(structExtension),
23436                 ptr);
23437             break;
23438         }
23439 #endif
23440 #ifdef VK_EXT_fragment_density_map
23441         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
23442             switch (rootType) {
23443                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
23444                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
23445                         vkStream, rootType,
23446                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
23447                             structExtension),
23448                         ptr);
23449                     break;
23450                 }
23451                 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
23452                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
23453                         vkStream, rootType,
23454                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
23455                             structExtension),
23456                         ptr);
23457                     break;
23458                 }
23459                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
23460                     reservedmarshal_VkImportColorBufferGOOGLE(
23461                         vkStream, rootType,
23462                         reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
23463                     break;
23464                 }
23465                 default: {
23466                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
23467                         vkStream, rootType,
23468                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
23469                             structExtension),
23470                         ptr);
23471                     break;
23472                 }
23473             }
23474             break;
23475         }
23476         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
23477             switch (rootType) {
23478                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
23479                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
23480                         vkStream, rootType,
23481                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
23482                             structExtension),
23483                         ptr);
23484                     break;
23485                 }
23486                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
23487                     reservedmarshal_VkCreateBlobGOOGLE(
23488                         vkStream, rootType,
23489                         reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), ptr);
23490                     break;
23491                 }
23492                 default: {
23493                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
23494                         vkStream, rootType,
23495                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
23496                             structExtension),
23497                         ptr);
23498                     break;
23499                 }
23500             }
23501             break;
23502         }
23503         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
23504             switch (rootType) {
23505                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
23506                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
23507                         vkStream, rootType,
23508                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
23509                             structExtension),
23510                         ptr);
23511                     break;
23512                 }
23513                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
23514                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
23515                         vkStream, rootType,
23516                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
23517                             structExtension),
23518                         ptr);
23519                     break;
23520                 }
23521                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
23522                     reservedmarshal_VkImportBufferGOOGLE(
23523                         vkStream, rootType,
23524                         reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), ptr);
23525                     break;
23526                 }
23527                 default: {
23528                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
23529                         vkStream, rootType,
23530                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
23531                             structExtension),
23532                         ptr);
23533                     break;
23534                 }
23535             }
23536             break;
23537         }
23538 #endif
23539 #ifdef VK_AMD_shader_core_properties2
23540         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
23541             reservedmarshal_VkPhysicalDeviceShaderCoreProperties2AMD(
23542                 vkStream, rootType,
23543                 reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD*>(structExtension),
23544                 ptr);
23545             break;
23546         }
23547 #endif
23548 #ifdef VK_AMD_device_coherent_memory
23549         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
23550             reservedmarshal_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
23551                 vkStream, rootType,
23552                 reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(structExtension),
23553                 ptr);
23554             break;
23555         }
23556 #endif
23557 #ifdef VK_EXT_shader_image_atomic_int64
23558         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
23559             reservedmarshal_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
23560                 vkStream, rootType,
23561                 reinterpret_cast<const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*>(
23562                     structExtension),
23563                 ptr);
23564             break;
23565         }
23566 #endif
23567 #ifdef VK_EXT_memory_budget
23568         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
23569             reservedmarshal_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
23570                 vkStream, rootType,
23571                 reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT*>(structExtension),
23572                 ptr);
23573             break;
23574         }
23575 #endif
23576 #ifdef VK_EXT_memory_priority
23577         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
23578             reservedmarshal_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
23579                 vkStream, rootType,
23580                 reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT*>(structExtension),
23581                 ptr);
23582             break;
23583         }
23584         case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
23585             reservedmarshal_VkMemoryPriorityAllocateInfoEXT(
23586                 vkStream, rootType,
23587                 reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT*>(structExtension), ptr);
23588             break;
23589         }
23590 #endif
23591 #ifdef VK_NV_dedicated_allocation_image_aliasing
23592         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
23593             reservedmarshal_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
23594                 vkStream, rootType,
23595                 reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*>(
23596                     structExtension),
23597                 ptr);
23598             break;
23599         }
23600 #endif
23601 #ifdef VK_EXT_buffer_device_address
23602         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
23603             reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
23604                 vkStream, rootType,
23605                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT*>(
23606                     structExtension),
23607                 ptr);
23608             break;
23609         }
23610         case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
23611             reservedmarshal_VkBufferDeviceAddressCreateInfoEXT(
23612                 vkStream, rootType,
23613                 reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT*>(structExtension), ptr);
23614             break;
23615         }
23616 #endif
23617 #ifdef VK_EXT_validation_features
23618         case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
23619             reservedmarshal_VkValidationFeaturesEXT(
23620                 vkStream, rootType,
23621                 reinterpret_cast<const VkValidationFeaturesEXT*>(structExtension), ptr);
23622             break;
23623         }
23624 #endif
23625 #ifdef VK_NV_cooperative_matrix
23626         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
23627             reservedmarshal_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
23628                 vkStream, rootType,
23629                 reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV*>(
23630                     structExtension),
23631                 ptr);
23632             break;
23633         }
23634         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
23635             reservedmarshal_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
23636                 vkStream, rootType,
23637                 reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV*>(
23638                     structExtension),
23639                 ptr);
23640             break;
23641         }
23642 #endif
23643 #ifdef VK_NV_coverage_reduction_mode
23644         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
23645             reservedmarshal_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
23646                 vkStream, rootType,
23647                 reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV*>(
23648                     structExtension),
23649                 ptr);
23650             break;
23651         }
23652         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
23653             reservedmarshal_VkPipelineCoverageReductionStateCreateInfoNV(
23654                 vkStream, rootType,
23655                 reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV*>(
23656                     structExtension),
23657                 ptr);
23658             break;
23659         }
23660 #endif
23661 #ifdef VK_EXT_fragment_shader_interlock
23662         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
23663             reservedmarshal_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
23664                 vkStream, rootType,
23665                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*>(
23666                     structExtension),
23667                 ptr);
23668             break;
23669         }
23670 #endif
23671 #ifdef VK_EXT_ycbcr_image_arrays
23672         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
23673             reservedmarshal_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
23674                 vkStream, rootType,
23675                 reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT*>(
23676                     structExtension),
23677                 ptr);
23678             break;
23679         }
23680 #endif
23681 #ifdef VK_EXT_provoking_vertex
23682         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
23683             reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
23684                 vkStream, rootType,
23685                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
23686                     structExtension),
23687                 ptr);
23688             break;
23689         }
23690         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
23691             reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
23692                 vkStream, rootType,
23693                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
23694                     structExtension),
23695                 ptr);
23696             break;
23697         }
23698         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
23699             reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
23700                 vkStream, rootType,
23701                 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
23702                     structExtension),
23703                 ptr);
23704             break;
23705         }
23706 #endif
23707 #ifdef VK_EXT_full_screen_exclusive
23708         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
23709             reservedmarshal_VkSurfaceFullScreenExclusiveInfoEXT(
23710                 vkStream, rootType,
23711                 reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT*>(structExtension), ptr);
23712             break;
23713         }
23714         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
23715             reservedmarshal_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
23716                 vkStream, rootType,
23717                 reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT*>(
23718                     structExtension),
23719                 ptr);
23720             break;
23721         }
23722         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
23723             reservedmarshal_VkSurfaceFullScreenExclusiveWin32InfoEXT(
23724                 vkStream, rootType,
23725                 reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT*>(structExtension),
23726                 ptr);
23727             break;
23728         }
23729 #endif
23730 #ifdef VK_EXT_line_rasterization
23731         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
23732             reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
23733                 vkStream, rootType,
23734                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
23735                     structExtension),
23736                 ptr);
23737             break;
23738         }
23739         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
23740             reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
23741                 vkStream, rootType,
23742                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
23743                     structExtension),
23744                 ptr);
23745             break;
23746         }
23747         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
23748             reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
23749                 vkStream, rootType,
23750                 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
23751                     structExtension),
23752                 ptr);
23753             break;
23754         }
23755 #endif
23756 #ifdef VK_EXT_shader_atomic_float
23757         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
23758             reservedmarshal_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
23759                 vkStream, rootType,
23760                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*>(
23761                     structExtension),
23762                 ptr);
23763             break;
23764         }
23765 #endif
23766 #ifdef VK_EXT_index_type_uint8
23767         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
23768             reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
23769                 vkStream, rootType,
23770                 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension),
23771                 ptr);
23772             break;
23773         }
23774 #endif
23775 #ifdef VK_EXT_extended_dynamic_state
23776         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
23777             reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
23778                 vkStream, rootType,
23779                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
23780                     structExtension),
23781                 ptr);
23782             break;
23783         }
23784 #endif
23785 #ifdef VK_EXT_shader_atomic_float2
23786         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
23787             reservedmarshal_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
23788                 vkStream, rootType,
23789                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*>(
23790                     structExtension),
23791                 ptr);
23792             break;
23793         }
23794 #endif
23795 #ifdef VK_EXT_surface_maintenance1
23796         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: {
23797             reservedmarshal_VkSurfacePresentModeEXT(
23798                 vkStream, rootType,
23799                 reinterpret_cast<const VkSurfacePresentModeEXT*>(structExtension), ptr);
23800             break;
23801         }
23802         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: {
23803             reservedmarshal_VkSurfacePresentScalingCapabilitiesEXT(
23804                 vkStream, rootType,
23805                 reinterpret_cast<const VkSurfacePresentScalingCapabilitiesEXT*>(structExtension),
23806                 ptr);
23807             break;
23808         }
23809         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: {
23810             reservedmarshal_VkSurfacePresentModeCompatibilityEXT(
23811                 vkStream, rootType,
23812                 reinterpret_cast<const VkSurfacePresentModeCompatibilityEXT*>(structExtension),
23813                 ptr);
23814             break;
23815         }
23816 #endif
23817 #ifdef VK_EXT_swapchain_maintenance1
23818         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
23819             reservedmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
23820                 vkStream, rootType,
23821                 reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(
23822                     structExtension),
23823                 ptr);
23824             break;
23825         }
23826         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
23827             reservedmarshal_VkSwapchainPresentFenceInfoEXT(
23828                 vkStream, rootType,
23829                 reinterpret_cast<const VkSwapchainPresentFenceInfoEXT*>(structExtension), ptr);
23830             break;
23831         }
23832         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
23833             reservedmarshal_VkSwapchainPresentModesCreateInfoEXT(
23834                 vkStream, rootType,
23835                 reinterpret_cast<const VkSwapchainPresentModesCreateInfoEXT*>(structExtension),
23836                 ptr);
23837             break;
23838         }
23839         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
23840             reservedmarshal_VkSwapchainPresentModeInfoEXT(
23841                 vkStream, rootType,
23842                 reinterpret_cast<const VkSwapchainPresentModeInfoEXT*>(structExtension), ptr);
23843             break;
23844         }
23845         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
23846             reservedmarshal_VkSwapchainPresentScalingCreateInfoEXT(
23847                 vkStream, rootType,
23848                 reinterpret_cast<const VkSwapchainPresentScalingCreateInfoEXT*>(structExtension),
23849                 ptr);
23850             break;
23851         }
23852 #endif
23853 #ifdef VK_NV_device_generated_commands
23854         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
23855             reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
23856                 vkStream, rootType,
23857                 reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*>(
23858                     structExtension),
23859                 ptr);
23860             break;
23861         }
23862         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
23863             reservedmarshal_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
23864                 vkStream, rootType,
23865                 reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*>(
23866                     structExtension),
23867                 ptr);
23868             break;
23869         }
23870         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
23871             reservedmarshal_VkGraphicsPipelineShaderGroupsCreateInfoNV(
23872                 vkStream, rootType,
23873                 reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV*>(
23874                     structExtension),
23875                 ptr);
23876             break;
23877         }
23878 #endif
23879 #ifdef VK_NV_inherited_viewport_scissor
23880         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
23881             reservedmarshal_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
23882                 vkStream, rootType,
23883                 reinterpret_cast<const VkPhysicalDeviceInheritedViewportScissorFeaturesNV*>(
23884                     structExtension),
23885                 ptr);
23886             break;
23887         }
23888         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
23889             reservedmarshal_VkCommandBufferInheritanceViewportScissorInfoNV(
23890                 vkStream, rootType,
23891                 reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV*>(
23892                     structExtension),
23893                 ptr);
23894             break;
23895         }
23896 #endif
23897 #ifdef VK_EXT_texel_buffer_alignment
23898         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
23899             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
23900                 vkStream, rootType,
23901                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
23902                     structExtension),
23903                 ptr);
23904             break;
23905         }
23906 #endif
23907 #ifdef VK_QCOM_render_pass_transform
23908         case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
23909             reservedmarshal_VkRenderPassTransformBeginInfoQCOM(
23910                 vkStream, rootType,
23911                 reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM*>(structExtension), ptr);
23912             break;
23913         }
23914         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
23915             reservedmarshal_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
23916                 vkStream, rootType,
23917                 reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM*>(
23918                     structExtension),
23919                 ptr);
23920             break;
23921         }
23922 #endif
23923 #ifdef VK_EXT_device_memory_report
23924         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
23925             reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
23926                 vkStream, rootType,
23927                 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
23928                     structExtension),
23929                 ptr);
23930             break;
23931         }
23932         case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
23933             reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
23934                 vkStream, rootType,
23935                 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
23936                 ptr);
23937             break;
23938         }
23939 #endif
23940 #ifdef VK_EXT_robustness2
23941         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
23942             reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
23943                 vkStream, rootType,
23944                 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
23945                 ptr);
23946             break;
23947         }
23948         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
23949             reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
23950                 vkStream, rootType,
23951                 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
23952                 ptr);
23953             break;
23954         }
23955 #endif
23956 #ifdef VK_EXT_custom_border_color
23957         case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
23958             reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
23959                 vkStream, rootType,
23960                 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
23961                 ptr);
23962             break;
23963         }
23964         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
23965             reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
23966                 vkStream, rootType,
23967                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
23968                     structExtension),
23969                 ptr);
23970             break;
23971         }
23972         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
23973             reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
23974                 vkStream, rootType,
23975                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
23976                     structExtension),
23977                 ptr);
23978             break;
23979         }
23980 #endif
23981 #ifdef VK_NV_present_barrier
23982         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: {
23983             reservedmarshal_VkPhysicalDevicePresentBarrierFeaturesNV(
23984                 vkStream, rootType,
23985                 reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV*>(structExtension),
23986                 ptr);
23987             break;
23988         }
23989         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: {
23990             reservedmarshal_VkSurfaceCapabilitiesPresentBarrierNV(
23991                 vkStream, rootType,
23992                 reinterpret_cast<const VkSurfaceCapabilitiesPresentBarrierNV*>(structExtension),
23993                 ptr);
23994             break;
23995         }
23996         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: {
23997             reservedmarshal_VkSwapchainPresentBarrierCreateInfoNV(
23998                 vkStream, rootType,
23999                 reinterpret_cast<const VkSwapchainPresentBarrierCreateInfoNV*>(structExtension),
24000                 ptr);
24001             break;
24002         }
24003 #endif
24004 #ifdef VK_NV_device_diagnostics_config
24005         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
24006             reservedmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
24007                 vkStream, rootType,
24008                 reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV*>(
24009                     structExtension),
24010                 ptr);
24011             break;
24012         }
24013         case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
24014             reservedmarshal_VkDeviceDiagnosticsConfigCreateInfoNV(
24015                 vkStream, rootType,
24016                 reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(structExtension),
24017                 ptr);
24018             break;
24019         }
24020 #endif
24021 #ifdef VK_NV_low_latency
24022         case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: {
24023             reservedmarshal_VkQueryLowLatencySupportNV(
24024                 vkStream, rootType,
24025                 reinterpret_cast<const VkQueryLowLatencySupportNV*>(structExtension), ptr);
24026             break;
24027         }
24028 #endif
24029 #ifdef VK_EXT_metal_objects
24030         case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: {
24031             reservedmarshal_VkExportMetalObjectCreateInfoEXT(
24032                 vkStream, rootType,
24033                 reinterpret_cast<const VkExportMetalObjectCreateInfoEXT*>(structExtension), ptr);
24034             break;
24035         }
24036         case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: {
24037             reservedmarshal_VkExportMetalDeviceInfoEXT(
24038                 vkStream, rootType,
24039                 reinterpret_cast<const VkExportMetalDeviceInfoEXT*>(structExtension), ptr);
24040             break;
24041         }
24042         case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: {
24043             reservedmarshal_VkExportMetalCommandQueueInfoEXT(
24044                 vkStream, rootType,
24045                 reinterpret_cast<const VkExportMetalCommandQueueInfoEXT*>(structExtension), ptr);
24046             break;
24047         }
24048         case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: {
24049             reservedmarshal_VkExportMetalBufferInfoEXT(
24050                 vkStream, rootType,
24051                 reinterpret_cast<const VkExportMetalBufferInfoEXT*>(structExtension), ptr);
24052             break;
24053         }
24054         case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: {
24055             reservedmarshal_VkImportMetalBufferInfoEXT(
24056                 vkStream, rootType,
24057                 reinterpret_cast<const VkImportMetalBufferInfoEXT*>(structExtension), ptr);
24058             break;
24059         }
24060         case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: {
24061             reservedmarshal_VkExportMetalTextureInfoEXT(
24062                 vkStream, rootType,
24063                 reinterpret_cast<const VkExportMetalTextureInfoEXT*>(structExtension), ptr);
24064             break;
24065         }
24066         case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: {
24067             reservedmarshal_VkImportMetalTextureInfoEXT(
24068                 vkStream, rootType,
24069                 reinterpret_cast<const VkImportMetalTextureInfoEXT*>(structExtension), ptr);
24070             break;
24071         }
24072         case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: {
24073             reservedmarshal_VkExportMetalIOSurfaceInfoEXT(
24074                 vkStream, rootType,
24075                 reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT*>(structExtension), ptr);
24076             break;
24077         }
24078         case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: {
24079             reservedmarshal_VkImportMetalIOSurfaceInfoEXT(
24080                 vkStream, rootType,
24081                 reinterpret_cast<const VkImportMetalIOSurfaceInfoEXT*>(structExtension), ptr);
24082             break;
24083         }
24084         case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: {
24085             reservedmarshal_VkExportMetalSharedEventInfoEXT(
24086                 vkStream, rootType,
24087                 reinterpret_cast<const VkExportMetalSharedEventInfoEXT*>(structExtension), ptr);
24088             break;
24089         }
24090         case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: {
24091             reservedmarshal_VkImportMetalSharedEventInfoEXT(
24092                 vkStream, rootType,
24093                 reinterpret_cast<const VkImportMetalSharedEventInfoEXT*>(structExtension), ptr);
24094             break;
24095         }
24096 #endif
24097 #ifdef VK_EXT_descriptor_buffer
24098         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: {
24099             reservedmarshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT(
24100                 vkStream, rootType,
24101                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT*>(
24102                     structExtension),
24103                 ptr);
24104             break;
24105         }
24106         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: {
24107             reservedmarshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(
24108                 vkStream, rootType,
24109                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>(
24110                     structExtension),
24111                 ptr);
24112             break;
24113         }
24114         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: {
24115             reservedmarshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT(
24116                 vkStream, rootType,
24117                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT*>(
24118                     structExtension),
24119                 ptr);
24120             break;
24121         }
24122         case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: {
24123             reservedmarshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(
24124                 vkStream, rootType,
24125                 reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT*>(
24126                     structExtension),
24127                 ptr);
24128             break;
24129         }
24130         case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: {
24131             reservedmarshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT(
24132                 vkStream, rootType,
24133                 reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT*>(
24134                     structExtension),
24135                 ptr);
24136             break;
24137         }
24138 #endif
24139 #ifdef VK_EXT_graphics_pipeline_library
24140         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
24141             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
24142                 vkStream, rootType,
24143                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
24144                     structExtension),
24145                 ptr);
24146             break;
24147         }
24148         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
24149             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
24150                 vkStream, rootType,
24151                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
24152                     structExtension),
24153                 ptr);
24154             break;
24155         }
24156         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
24157             reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
24158                 vkStream, rootType,
24159                 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
24160                 ptr);
24161             break;
24162         }
24163 #endif
24164 #ifdef VK_AMD_shader_early_and_late_fragment_tests
24165         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: {
24166             reservedmarshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(
24167                 vkStream, rootType,
24168                 reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>(
24169                     structExtension),
24170                 ptr);
24171             break;
24172         }
24173 #endif
24174 #ifdef VK_NV_fragment_shading_rate_enums
24175         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
24176             reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
24177                 vkStream, rootType,
24178                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(
24179                     structExtension),
24180                 ptr);
24181             break;
24182         }
24183         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
24184             reservedmarshal_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
24185                 vkStream, rootType,
24186                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV*>(
24187                     structExtension),
24188                 ptr);
24189             break;
24190         }
24191         case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
24192             reservedmarshal_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
24193                 vkStream, rootType,
24194                 reinterpret_cast<const VkPipelineFragmentShadingRateEnumStateCreateInfoNV*>(
24195                     structExtension),
24196                 ptr);
24197             break;
24198         }
24199 #endif
24200 #ifdef VK_NV_ray_tracing_motion_blur
24201         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
24202             reservedmarshal_VkAccelerationStructureGeometryMotionTrianglesDataNV(
24203                 vkStream, rootType,
24204                 reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV*>(
24205                     structExtension),
24206                 ptr);
24207             break;
24208         }
24209         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
24210             reservedmarshal_VkAccelerationStructureMotionInfoNV(
24211                 vkStream, rootType,
24212                 reinterpret_cast<const VkAccelerationStructureMotionInfoNV*>(structExtension), ptr);
24213             break;
24214         }
24215         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
24216             reservedmarshal_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
24217                 vkStream, rootType,
24218                 reinterpret_cast<const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV*>(
24219                     structExtension),
24220                 ptr);
24221             break;
24222         }
24223 #endif
24224 #ifdef VK_EXT_ycbcr_2plane_444_formats
24225         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
24226             reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
24227                 vkStream, rootType,
24228                 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
24229                     structExtension),
24230                 ptr);
24231             break;
24232         }
24233 #endif
24234 #ifdef VK_EXT_fragment_density_map2
24235         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
24236             reservedmarshal_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
24237                 vkStream, rootType,
24238                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT*>(
24239                     structExtension),
24240                 ptr);
24241             break;
24242         }
24243         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
24244             reservedmarshal_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
24245                 vkStream, rootType,
24246                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT*>(
24247                     structExtension),
24248                 ptr);
24249             break;
24250         }
24251 #endif
24252 #ifdef VK_QCOM_rotated_copy_commands
24253         case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
24254             reservedmarshal_VkCopyCommandTransformInfoQCOM(
24255                 vkStream, rootType,
24256                 reinterpret_cast<const VkCopyCommandTransformInfoQCOM*>(structExtension), ptr);
24257             break;
24258         }
24259 #endif
24260 #ifdef VK_EXT_image_compression_control
24261         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
24262             reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
24263                 vkStream, rootType,
24264                 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
24265                     structExtension),
24266                 ptr);
24267             break;
24268         }
24269         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
24270             reservedmarshal_VkImageCompressionControlEXT(
24271                 vkStream, rootType,
24272                 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), ptr);
24273             break;
24274         }
24275         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
24276             reservedmarshal_VkImageCompressionPropertiesEXT(
24277                 vkStream, rootType,
24278                 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), ptr);
24279             break;
24280         }
24281 #endif
24282 #ifdef VK_EXT_attachment_feedback_loop_layout
24283         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: {
24284             reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(
24285                 vkStream, rootType,
24286                 reinterpret_cast<const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT*>(
24287                     structExtension),
24288                 ptr);
24289             break;
24290         }
24291 #endif
24292 #ifdef VK_EXT_4444_formats
24293         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
24294             reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
24295                 vkStream, rootType,
24296                 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
24297                 ptr);
24298             break;
24299         }
24300 #endif
24301 #ifdef VK_EXT_device_fault
24302         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: {
24303             reservedmarshal_VkPhysicalDeviceFaultFeaturesEXT(
24304                 vkStream, rootType,
24305                 reinterpret_cast<const VkPhysicalDeviceFaultFeaturesEXT*>(structExtension), ptr);
24306             break;
24307         }
24308 #endif
24309 #ifdef VK_ARM_rasterization_order_attachment_access
24310         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: {
24311             reservedmarshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(
24312                 vkStream, rootType,
24313                 reinterpret_cast<
24314                     const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT*>(
24315                     structExtension),
24316                 ptr);
24317             break;
24318         }
24319 #endif
24320 #ifdef VK_EXT_rgba10x6_formats
24321         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
24322             reservedmarshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
24323                 vkStream, rootType,
24324                 reinterpret_cast<const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT*>(
24325                     structExtension),
24326                 ptr);
24327             break;
24328         }
24329 #endif
24330 #ifdef VK_VALVE_mutable_descriptor_type
24331         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: {
24332             reservedmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(
24333                 vkStream, rootType,
24334                 reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*>(
24335                     structExtension),
24336                 ptr);
24337             break;
24338         }
24339         case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: {
24340             reservedmarshal_VkMutableDescriptorTypeCreateInfoEXT(
24341                 vkStream, rootType,
24342                 reinterpret_cast<const VkMutableDescriptorTypeCreateInfoEXT*>(structExtension),
24343                 ptr);
24344             break;
24345         }
24346 #endif
24347 #ifdef VK_EXT_vertex_input_dynamic_state
24348         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
24349             reservedmarshal_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
24350                 vkStream, rootType,
24351                 reinterpret_cast<const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT*>(
24352                     structExtension),
24353                 ptr);
24354             break;
24355         }
24356 #endif
24357 #ifdef VK_EXT_physical_device_drm
24358         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
24359             reservedmarshal_VkPhysicalDeviceDrmPropertiesEXT(
24360                 vkStream, rootType,
24361                 reinterpret_cast<const VkPhysicalDeviceDrmPropertiesEXT*>(structExtension), ptr);
24362             break;
24363         }
24364 #endif
24365 #ifdef VK_EXT_device_address_binding_report
24366         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: {
24367             reservedmarshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT(
24368                 vkStream, rootType,
24369                 reinterpret_cast<const VkPhysicalDeviceAddressBindingReportFeaturesEXT*>(
24370                     structExtension),
24371                 ptr);
24372             break;
24373         }
24374         case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: {
24375             reservedmarshal_VkDeviceAddressBindingCallbackDataEXT(
24376                 vkStream, rootType,
24377                 reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT*>(structExtension),
24378                 ptr);
24379             break;
24380         }
24381 #endif
24382 #ifdef VK_EXT_depth_clip_control
24383         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: {
24384             reservedmarshal_VkPhysicalDeviceDepthClipControlFeaturesEXT(
24385                 vkStream, rootType,
24386                 reinterpret_cast<const VkPhysicalDeviceDepthClipControlFeaturesEXT*>(
24387                     structExtension),
24388                 ptr);
24389             break;
24390         }
24391         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: {
24392             reservedmarshal_VkPipelineViewportDepthClipControlCreateInfoEXT(
24393                 vkStream, rootType,
24394                 reinterpret_cast<const VkPipelineViewportDepthClipControlCreateInfoEXT*>(
24395                     structExtension),
24396                 ptr);
24397             break;
24398         }
24399 #endif
24400 #ifdef VK_EXT_primitive_topology_list_restart
24401         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
24402             reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
24403                 vkStream, rootType,
24404                 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
24405                     structExtension),
24406                 ptr);
24407             break;
24408         }
24409 #endif
24410 #ifdef VK_FUCHSIA_external_memory
24411         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
24412             reservedmarshal_VkImportMemoryZirconHandleInfoFUCHSIA(
24413                 vkStream, rootType,
24414                 reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA*>(structExtension),
24415                 ptr);
24416             break;
24417         }
24418 #endif
24419 #ifdef VK_FUCHSIA_buffer_collection
24420         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
24421             reservedmarshal_VkImportMemoryBufferCollectionFUCHSIA(
24422                 vkStream, rootType,
24423                 reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA*>(structExtension),
24424                 ptr);
24425             break;
24426         }
24427         case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
24428             reservedmarshal_VkBufferCollectionImageCreateInfoFUCHSIA(
24429                 vkStream, rootType,
24430                 reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA*>(structExtension),
24431                 ptr);
24432             break;
24433         }
24434         case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
24435             reservedmarshal_VkBufferCollectionBufferCreateInfoFUCHSIA(
24436                 vkStream, rootType,
24437                 reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA*>(structExtension),
24438                 ptr);
24439             break;
24440         }
24441 #endif
24442 #ifdef VK_HUAWEI_subpass_shading
24443         case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
24444             reservedmarshal_VkSubpassShadingPipelineCreateInfoHUAWEI(
24445                 vkStream, rootType,
24446                 reinterpret_cast<const VkSubpassShadingPipelineCreateInfoHUAWEI*>(structExtension),
24447                 ptr);
24448             break;
24449         }
24450         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
24451             reservedmarshal_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
24452                 vkStream, rootType,
24453                 reinterpret_cast<const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI*>(
24454                     structExtension),
24455                 ptr);
24456             break;
24457         }
24458         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
24459             reservedmarshal_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
24460                 vkStream, rootType,
24461                 reinterpret_cast<const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI*>(
24462                     structExtension),
24463                 ptr);
24464             break;
24465         }
24466 #endif
24467 #ifdef VK_HUAWEI_invocation_mask
24468         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
24469             reservedmarshal_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
24470                 vkStream, rootType,
24471                 reinterpret_cast<const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI*>(
24472                     structExtension),
24473                 ptr);
24474             break;
24475         }
24476 #endif
24477 #ifdef VK_NV_external_memory_rdma
24478         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
24479             reservedmarshal_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
24480                 vkStream, rootType,
24481                 reinterpret_cast<const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV*>(
24482                     structExtension),
24483                 ptr);
24484             break;
24485         }
24486 #endif
24487 #ifdef VK_EXT_pipeline_properties
24488         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: {
24489             reservedmarshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT(
24490                 vkStream, rootType,
24491                 reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT*>(
24492                     structExtension),
24493                 ptr);
24494             break;
24495         }
24496 #endif
24497 #ifdef VK_EXT_multisampled_render_to_single_sampled
24498         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: {
24499             reservedmarshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(
24500                 vkStream, rootType,
24501                 reinterpret_cast<
24502                     const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT*>(
24503                     structExtension),
24504                 ptr);
24505             break;
24506         }
24507         case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: {
24508             reservedmarshal_VkSubpassResolvePerformanceQueryEXT(
24509                 vkStream, rootType,
24510                 reinterpret_cast<const VkSubpassResolvePerformanceQueryEXT*>(structExtension), ptr);
24511             break;
24512         }
24513         case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: {
24514             reservedmarshal_VkMultisampledRenderToSingleSampledInfoEXT(
24515                 vkStream, rootType,
24516                 reinterpret_cast<const VkMultisampledRenderToSingleSampledInfoEXT*>(
24517                     structExtension),
24518                 ptr);
24519             break;
24520         }
24521 #endif
24522 #ifdef VK_EXT_extended_dynamic_state2
24523         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
24524             reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
24525                 vkStream, rootType,
24526                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
24527                     structExtension),
24528                 ptr);
24529             break;
24530         }
24531 #endif
24532 #ifdef VK_EXT_color_write_enable
24533         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
24534             reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
24535                 vkStream, rootType,
24536                 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
24537                     structExtension),
24538                 ptr);
24539             break;
24540         }
24541         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
24542             reservedmarshal_VkPipelineColorWriteCreateInfoEXT(
24543                 vkStream, rootType,
24544                 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension), ptr);
24545             break;
24546         }
24547 #endif
24548 #ifdef VK_EXT_primitives_generated_query
24549         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: {
24550             reservedmarshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(
24551                 vkStream, rootType,
24552                 reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(
24553                     structExtension),
24554                 ptr);
24555             break;
24556         }
24557 #endif
24558 #ifdef VK_GOOGLE_gfxstream
24559         case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
24560             reservedmarshal_VkImportColorBufferGOOGLE(
24561                 vkStream, rootType,
24562                 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
24563             break;
24564         }
24565         case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
24566             reservedmarshal_VkImportBufferGOOGLE(
24567                 vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension),
24568                 ptr);
24569             break;
24570         }
24571         case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
24572             reservedmarshal_VkCreateBlobGOOGLE(
24573                 vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
24574                 ptr);
24575             break;
24576         }
24577 #endif
24578 #ifdef VK_EXT_image_view_min_lod
24579         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: {
24580             reservedmarshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT(
24581                 vkStream, rootType,
24582                 reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(
24583                     structExtension),
24584                 ptr);
24585             break;
24586         }
24587         case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: {
24588             reservedmarshal_VkImageViewMinLodCreateInfoEXT(
24589                 vkStream, rootType,
24590                 reinterpret_cast<const VkImageViewMinLodCreateInfoEXT*>(structExtension), ptr);
24591             break;
24592         }
24593 #endif
24594 #ifdef VK_EXT_multi_draw
24595         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
24596             reservedmarshal_VkPhysicalDeviceMultiDrawFeaturesEXT(
24597                 vkStream, rootType,
24598                 reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT*>(structExtension),
24599                 ptr);
24600             break;
24601         }
24602         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
24603             reservedmarshal_VkPhysicalDeviceMultiDrawPropertiesEXT(
24604                 vkStream, rootType,
24605                 reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(structExtension),
24606                 ptr);
24607             break;
24608         }
24609 #endif
24610 #ifdef VK_EXT_image_2d_view_of_3d
24611         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: {
24612             reservedmarshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(
24613                 vkStream, rootType,
24614                 reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(
24615                     structExtension),
24616                 ptr);
24617             break;
24618         }
24619 #endif
24620 #ifdef VK_EXT_shader_tile_image
24621         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: {
24622             reservedmarshal_VkPhysicalDeviceShaderTileImageFeaturesEXT(
24623                 vkStream, rootType,
24624                 reinterpret_cast<const VkPhysicalDeviceShaderTileImageFeaturesEXT*>(
24625                     structExtension),
24626                 ptr);
24627             break;
24628         }
24629         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: {
24630             reservedmarshal_VkPhysicalDeviceShaderTileImagePropertiesEXT(
24631                 vkStream, rootType,
24632                 reinterpret_cast<const VkPhysicalDeviceShaderTileImagePropertiesEXT*>(
24633                     structExtension),
24634                 ptr);
24635             break;
24636         }
24637 #endif
24638 #ifdef VK_EXT_opacity_micromap
24639         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: {
24640             reservedmarshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT(
24641                 vkStream, rootType,
24642                 reinterpret_cast<const VkPhysicalDeviceOpacityMicromapFeaturesEXT*>(
24643                     structExtension),
24644                 ptr);
24645             break;
24646         }
24647         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: {
24648             reservedmarshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT(
24649                 vkStream, rootType,
24650                 reinterpret_cast<const VkPhysicalDeviceOpacityMicromapPropertiesEXT*>(
24651                     structExtension),
24652                 ptr);
24653             break;
24654         }
24655         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: {
24656             reservedmarshal_VkAccelerationStructureTrianglesOpacityMicromapEXT(
24657                 vkStream, rootType,
24658                 reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT*>(
24659                     structExtension),
24660                 ptr);
24661             break;
24662         }
24663 #endif
24664 #ifdef VK_NV_displacement_micromap
24665 #ifdef VK_ENABLE_BETA_EXTENSIONS
24666         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: {
24667             reservedmarshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV(
24668                 vkStream, rootType,
24669                 reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapFeaturesNV*>(
24670                     structExtension),
24671                 ptr);
24672             break;
24673         }
24674 #endif  // VK_ENABLE_BETA_EXTENSIONS
24675 #ifdef VK_ENABLE_BETA_EXTENSIONS
24676         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: {
24677             reservedmarshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV(
24678                 vkStream, rootType,
24679                 reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapPropertiesNV*>(
24680                     structExtension),
24681                 ptr);
24682             break;
24683         }
24684 #endif  // VK_ENABLE_BETA_EXTENSIONS
24685 #ifdef VK_ENABLE_BETA_EXTENSIONS
24686         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: {
24687             reservedmarshal_VkAccelerationStructureTrianglesDisplacementMicromapNV(
24688                 vkStream, rootType,
24689                 reinterpret_cast<const VkAccelerationStructureTrianglesDisplacementMicromapNV*>(
24690                     structExtension),
24691                 ptr);
24692             break;
24693         }
24694 #endif  // VK_ENABLE_BETA_EXTENSIONS
24695 #endif
24696 #ifdef VK_HUAWEI_cluster_culling_shader
24697         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: {
24698             reservedmarshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(
24699                 vkStream, rootType,
24700                 reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI*>(
24701                     structExtension),
24702                 ptr);
24703             break;
24704         }
24705         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: {
24706             reservedmarshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(
24707                 vkStream, rootType,
24708                 reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI*>(
24709                     structExtension),
24710                 ptr);
24711             break;
24712         }
24713 #endif
24714 #ifdef VK_EXT_border_color_swizzle
24715         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
24716             reservedmarshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
24717                 vkStream, rootType,
24718                 reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(
24719                     structExtension),
24720                 ptr);
24721             break;
24722         }
24723         case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
24724             reservedmarshal_VkSamplerBorderColorComponentMappingCreateInfoEXT(
24725                 vkStream, rootType,
24726                 reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT*>(
24727                     structExtension),
24728                 ptr);
24729             break;
24730         }
24731 #endif
24732 #ifdef VK_EXT_pageable_device_local_memory
24733         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
24734             reservedmarshal_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
24735                 vkStream, rootType,
24736                 reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(
24737                     structExtension),
24738                 ptr);
24739             break;
24740         }
24741 #endif
24742 #ifdef VK_ARM_shader_core_properties
24743         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: {
24744             reservedmarshal_VkPhysicalDeviceShaderCorePropertiesARM(
24745                 vkStream, rootType,
24746                 reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesARM*>(structExtension),
24747                 ptr);
24748             break;
24749         }
24750 #endif
24751 #ifdef VK_EXT_image_sliced_view_of_3d
24752         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: {
24753             reservedmarshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(
24754                 vkStream, rootType,
24755                 reinterpret_cast<const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT*>(
24756                     structExtension),
24757                 ptr);
24758             break;
24759         }
24760         case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: {
24761             reservedmarshal_VkImageViewSlicedCreateInfoEXT(
24762                 vkStream, rootType,
24763                 reinterpret_cast<const VkImageViewSlicedCreateInfoEXT*>(structExtension), ptr);
24764             break;
24765         }
24766 #endif
24767 #ifdef VK_VALVE_descriptor_set_host_mapping
24768         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: {
24769             reservedmarshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(
24770                 vkStream, rootType,
24771                 reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(
24772                     structExtension),
24773                 ptr);
24774             break;
24775         }
24776 #endif
24777 #ifdef VK_EXT_depth_clamp_zero_one
24778         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: {
24779             reservedmarshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(
24780                 vkStream, rootType,
24781                 reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*>(
24782                     structExtension),
24783                 ptr);
24784             break;
24785         }
24786 #endif
24787 #ifdef VK_EXT_non_seamless_cube_map
24788         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
24789             reservedmarshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(
24790                 vkStream, rootType,
24791                 reinterpret_cast<const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT*>(
24792                     structExtension),
24793                 ptr);
24794             break;
24795         }
24796 #endif
24797 #ifdef VK_QCOM_fragment_density_map_offset
24798         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: {
24799             reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(
24800                 vkStream, rootType,
24801                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(
24802                     structExtension),
24803                 ptr);
24804             break;
24805         }
24806         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: {
24807             reservedmarshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(
24808                 vkStream, rootType,
24809                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*>(
24810                     structExtension),
24811                 ptr);
24812             break;
24813         }
24814         case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: {
24815             reservedmarshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(
24816                 vkStream, rootType,
24817                 reinterpret_cast<const VkSubpassFragmentDensityMapOffsetEndInfoQCOM*>(
24818                     structExtension),
24819                 ptr);
24820             break;
24821         }
24822 #endif
24823 #ifdef VK_NV_copy_memory_indirect
24824         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: {
24825             reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(
24826                 vkStream, rootType,
24827                 reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV*>(
24828                     structExtension),
24829                 ptr);
24830             break;
24831         }
24832         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: {
24833             reservedmarshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(
24834                 vkStream, rootType,
24835                 reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV*>(
24836                     structExtension),
24837                 ptr);
24838             break;
24839         }
24840 #endif
24841 #ifdef VK_NV_memory_decompression
24842         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: {
24843             reservedmarshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV(
24844                 vkStream, rootType,
24845                 reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesNV*>(
24846                     structExtension),
24847                 ptr);
24848             break;
24849         }
24850         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: {
24851             reservedmarshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV(
24852                 vkStream, rootType,
24853                 reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesNV*>(
24854                     structExtension),
24855                 ptr);
24856             break;
24857         }
24858 #endif
24859 #ifdef VK_NV_linear_color_attachment
24860         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: {
24861             reservedmarshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(
24862                 vkStream, rootType,
24863                 reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV*>(
24864                     structExtension),
24865                 ptr);
24866             break;
24867         }
24868 #endif
24869 #ifdef VK_EXT_image_compression_control_swapchain
24870         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
24871             reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
24872                 vkStream, rootType,
24873                 reinterpret_cast<
24874                     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
24875                     structExtension),
24876                 ptr);
24877             break;
24878         }
24879 #endif
24880 #ifdef VK_QCOM_image_processing
24881         case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: {
24882             reservedmarshal_VkImageViewSampleWeightCreateInfoQCOM(
24883                 vkStream, rootType,
24884                 reinterpret_cast<const VkImageViewSampleWeightCreateInfoQCOM*>(structExtension),
24885                 ptr);
24886             break;
24887         }
24888         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: {
24889             reservedmarshal_VkPhysicalDeviceImageProcessingFeaturesQCOM(
24890                 vkStream, rootType,
24891                 reinterpret_cast<const VkPhysicalDeviceImageProcessingFeaturesQCOM*>(
24892                     structExtension),
24893                 ptr);
24894             break;
24895         }
24896         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: {
24897             reservedmarshal_VkPhysicalDeviceImageProcessingPropertiesQCOM(
24898                 vkStream, rootType,
24899                 reinterpret_cast<const VkPhysicalDeviceImageProcessingPropertiesQCOM*>(
24900                     structExtension),
24901                 ptr);
24902             break;
24903         }
24904 #endif
24905 #ifdef VK_EXT_extended_dynamic_state3
24906         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: {
24907             reservedmarshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(
24908                 vkStream, rootType,
24909                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT*>(
24910                     structExtension),
24911                 ptr);
24912             break;
24913         }
24914         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: {
24915             reservedmarshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(
24916                 vkStream, rootType,
24917                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT*>(
24918                     structExtension),
24919                 ptr);
24920             break;
24921         }
24922 #endif
24923 #ifdef VK_EXT_subpass_merge_feedback
24924         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: {
24925             reservedmarshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(
24926                 vkStream, rootType,
24927                 reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>(
24928                     structExtension),
24929                 ptr);
24930             break;
24931         }
24932         case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: {
24933             reservedmarshal_VkRenderPassCreationControlEXT(
24934                 vkStream, rootType,
24935                 reinterpret_cast<const VkRenderPassCreationControlEXT*>(structExtension), ptr);
24936             break;
24937         }
24938         case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: {
24939             reservedmarshal_VkRenderPassCreationFeedbackCreateInfoEXT(
24940                 vkStream, rootType,
24941                 reinterpret_cast<const VkRenderPassCreationFeedbackCreateInfoEXT*>(structExtension),
24942                 ptr);
24943             break;
24944         }
24945         case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: {
24946             reservedmarshal_VkRenderPassSubpassFeedbackCreateInfoEXT(
24947                 vkStream, rootType,
24948                 reinterpret_cast<const VkRenderPassSubpassFeedbackCreateInfoEXT*>(structExtension),
24949                 ptr);
24950             break;
24951         }
24952 #endif
24953 #ifdef VK_LUNARG_direct_driver_loading
24954         case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: {
24955             reservedmarshal_VkDirectDriverLoadingListLUNARG(
24956                 vkStream, rootType,
24957                 reinterpret_cast<const VkDirectDriverLoadingListLUNARG*>(structExtension), ptr);
24958             break;
24959         }
24960 #endif
24961 #ifdef VK_EXT_shader_module_identifier
24962         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: {
24963             reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(
24964                 vkStream, rootType,
24965                 reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*>(
24966                     structExtension),
24967                 ptr);
24968             break;
24969         }
24970         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
24971             reservedmarshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(
24972                 vkStream, rootType,
24973                 reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT*>(
24974                     structExtension),
24975                 ptr);
24976             break;
24977         }
24978         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: {
24979             reservedmarshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(
24980                 vkStream, rootType,
24981                 reinterpret_cast<const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*>(
24982                     structExtension),
24983                 ptr);
24984             break;
24985         }
24986 #endif
24987 #ifdef VK_NV_optical_flow
24988         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: {
24989             reservedmarshal_VkPhysicalDeviceOpticalFlowFeaturesNV(
24990                 vkStream, rootType,
24991                 reinterpret_cast<const VkPhysicalDeviceOpticalFlowFeaturesNV*>(structExtension),
24992                 ptr);
24993             break;
24994         }
24995         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: {
24996             reservedmarshal_VkPhysicalDeviceOpticalFlowPropertiesNV(
24997                 vkStream, rootType,
24998                 reinterpret_cast<const VkPhysicalDeviceOpticalFlowPropertiesNV*>(structExtension),
24999                 ptr);
25000             break;
25001         }
25002         case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: {
25003             reservedmarshal_VkOpticalFlowImageFormatInfoNV(
25004                 vkStream, rootType,
25005                 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV*>(structExtension), ptr);
25006             break;
25007         }
25008         case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: {
25009             reservedmarshal_VkOpticalFlowSessionCreatePrivateDataInfoNV(
25010                 vkStream, rootType,
25011                 reinterpret_cast<const VkOpticalFlowSessionCreatePrivateDataInfoNV*>(
25012                     structExtension),
25013                 ptr);
25014             break;
25015         }
25016 #endif
25017 #ifdef VK_EXT_legacy_dithering
25018         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: {
25019             reservedmarshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT(
25020                 vkStream, rootType,
25021                 reinterpret_cast<const VkPhysicalDeviceLegacyDitheringFeaturesEXT*>(
25022                     structExtension),
25023                 ptr);
25024             break;
25025         }
25026 #endif
25027 #ifdef VK_EXT_pipeline_protected_access
25028         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: {
25029             reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(
25030                 vkStream, rootType,
25031                 reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT*>(
25032                     structExtension),
25033                 ptr);
25034             break;
25035         }
25036 #endif
25037 #ifdef VK_EXT_shader_object
25038         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
25039             reservedmarshal_VkPhysicalDeviceShaderObjectFeaturesEXT(
25040                 vkStream, rootType,
25041                 reinterpret_cast<const VkPhysicalDeviceShaderObjectFeaturesEXT*>(structExtension),
25042                 ptr);
25043             break;
25044         }
25045         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: {
25046             reservedmarshal_VkPhysicalDeviceShaderObjectPropertiesEXT(
25047                 vkStream, rootType,
25048                 reinterpret_cast<const VkPhysicalDeviceShaderObjectPropertiesEXT*>(structExtension),
25049                 ptr);
25050             break;
25051         }
25052 #endif
25053 #ifdef VK_QCOM_tile_properties
25054         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: {
25055             reservedmarshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM(
25056                 vkStream, rootType,
25057                 reinterpret_cast<const VkPhysicalDeviceTilePropertiesFeaturesQCOM*>(
25058                     structExtension),
25059                 ptr);
25060             break;
25061         }
25062 #endif
25063 #ifdef VK_SEC_amigo_profiling
25064         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: {
25065             reservedmarshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC(
25066                 vkStream, rootType,
25067                 reinterpret_cast<const VkPhysicalDeviceAmigoProfilingFeaturesSEC*>(structExtension),
25068                 ptr);
25069             break;
25070         }
25071         case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: {
25072             reservedmarshal_VkAmigoProfilingSubmitInfoSEC(
25073                 vkStream, rootType,
25074                 reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC*>(structExtension), ptr);
25075             break;
25076         }
25077 #endif
25078 #ifdef VK_QCOM_multiview_per_view_viewports
25079         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: {
25080             reservedmarshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(
25081                 vkStream, rootType,
25082                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM*>(
25083                     structExtension),
25084                 ptr);
25085             break;
25086         }
25087 #endif
25088 #ifdef VK_NV_ray_tracing_invocation_reorder
25089         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: {
25090             reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(
25091                 vkStream, rootType,
25092                 reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV*>(
25093                     structExtension),
25094                 ptr);
25095             break;
25096         }
25097         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: {
25098             reservedmarshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(
25099                 vkStream, rootType,
25100                 reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV*>(
25101                     structExtension),
25102                 ptr);
25103             break;
25104         }
25105 #endif
25106 #ifdef VK_ARM_shader_core_builtins
25107         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: {
25108             reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(
25109                 vkStream, rootType,
25110                 reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*>(
25111                     structExtension),
25112                 ptr);
25113             break;
25114         }
25115         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: {
25116             reservedmarshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(
25117                 vkStream, rootType,
25118                 reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM*>(
25119                     structExtension),
25120                 ptr);
25121             break;
25122         }
25123 #endif
25124 #ifdef VK_EXT_pipeline_library_group_handles
25125         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: {
25126             reservedmarshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(
25127                 vkStream, rootType,
25128                 reinterpret_cast<const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT*>(
25129                     structExtension),
25130                 ptr);
25131             break;
25132         }
25133 #endif
25134 #ifdef VK_QCOM_multiview_per_view_render_areas
25135         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: {
25136             reservedmarshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(
25137                 vkStream, rootType,
25138                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM*>(
25139                     structExtension),
25140                 ptr);
25141             break;
25142         }
25143         case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: {
25144             reservedmarshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(
25145                 vkStream, rootType,
25146                 reinterpret_cast<const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM*>(
25147                     structExtension),
25148                 ptr);
25149             break;
25150         }
25151 #endif
25152 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
25153         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: {
25154             reservedmarshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(
25155                 vkStream, rootType,
25156                 reinterpret_cast<
25157                     const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT*>(
25158                     structExtension),
25159                 ptr);
25160             break;
25161         }
25162 #endif
25163 #ifdef VK_KHR_acceleration_structure
25164         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
25165             reservedmarshal_VkWriteDescriptorSetAccelerationStructureKHR(
25166                 vkStream, rootType,
25167                 reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR*>(
25168                     structExtension),
25169                 ptr);
25170             break;
25171         }
25172         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
25173             reservedmarshal_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
25174                 vkStream, rootType,
25175                 reinterpret_cast<const VkPhysicalDeviceAccelerationStructureFeaturesKHR*>(
25176                     structExtension),
25177                 ptr);
25178             break;
25179         }
25180         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
25181             reservedmarshal_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
25182                 vkStream, rootType,
25183                 reinterpret_cast<const VkPhysicalDeviceAccelerationStructurePropertiesKHR*>(
25184                     structExtension),
25185                 ptr);
25186             break;
25187         }
25188 #endif
25189 #ifdef VK_KHR_ray_tracing_pipeline
25190         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
25191             reservedmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
25192                 vkStream, rootType,
25193                 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
25194                     structExtension),
25195                 ptr);
25196             break;
25197         }
25198         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
25199             reservedmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
25200                 vkStream, rootType,
25201                 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
25202                     structExtension),
25203                 ptr);
25204             break;
25205         }
25206 #endif
25207 #ifdef VK_KHR_ray_query
25208         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
25209             reservedmarshal_VkPhysicalDeviceRayQueryFeaturesKHR(
25210                 vkStream, rootType,
25211                 reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR*>(structExtension), ptr);
25212             break;
25213         }
25214 #endif
25215 #ifdef VK_EXT_mesh_shader
25216         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
25217             reservedmarshal_VkPhysicalDeviceMeshShaderFeaturesEXT(
25218                 vkStream, rootType,
25219                 reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesEXT*>(structExtension),
25220                 ptr);
25221             break;
25222         }
25223         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: {
25224             reservedmarshal_VkPhysicalDeviceMeshShaderPropertiesEXT(
25225                 vkStream, rootType,
25226                 reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesEXT*>(structExtension),
25227                 ptr);
25228             break;
25229         }
25230 #endif
25231         default: {
25232             // fatal; the switch is only taken if the extension struct is known
25233             abort();
25234         }
25235     }
25236 }
25237 
25238 }  // namespace vk
25239 }  // namespace gfxstream
25240