• 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 scripts/genvk.py -registry ../../vulkan/registry/vk.xml -registryGfxstream
19 // xml/vk_gfxstream.xml cereal -o /tmp/
20 //
21 // Please do not modify directly;
22 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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                 gfxstream::aemu::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             gfxstream::aemu::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         gfxstream::aemu::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                 gfxstream::aemu::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             gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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             gfxstream::aemu::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         gfxstream::aemu::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             gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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             gfxstream::aemu::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         gfxstream::aemu::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             gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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         gfxstream::aemu::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         gfxstream::aemu::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         gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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         gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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     gfxstream::aemu::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_VERSION_1_4
reservedmarshal_VkPhysicalDeviceVulkan14Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan14Features * forMarshaling,uint8_t ** ptr)7294 void reservedmarshal_VkPhysicalDeviceVulkan14Features(
7295     VulkanStreamGuest* vkStream, VkStructureType rootType,
7296     const VkPhysicalDeviceVulkan14Features* forMarshaling, uint8_t** ptr) {
7297     (void)vkStream;
7298     (void)rootType;
7299     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7300     *ptr += sizeof(VkStructureType);
7301     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7302         rootType = forMarshaling->sType;
7303     }
7304     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7305     memcpy(*ptr, (VkBool32*)&forMarshaling->globalPriorityQuery, sizeof(VkBool32));
7306     *ptr += sizeof(VkBool32);
7307     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupRotate, sizeof(VkBool32));
7308     *ptr += sizeof(VkBool32);
7309     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupRotateClustered, sizeof(VkBool32));
7310     *ptr += sizeof(VkBool32);
7311     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloatControls2, sizeof(VkBool32));
7312     *ptr += sizeof(VkBool32);
7313     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderExpectAssume, sizeof(VkBool32));
7314     *ptr += sizeof(VkBool32);
7315     memcpy(*ptr, (VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
7316     *ptr += sizeof(VkBool32);
7317     memcpy(*ptr, (VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
7318     *ptr += sizeof(VkBool32);
7319     memcpy(*ptr, (VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
7320     *ptr += sizeof(VkBool32);
7321     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
7322     *ptr += sizeof(VkBool32);
7323     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
7324     *ptr += sizeof(VkBool32);
7325     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
7326     *ptr += sizeof(VkBool32);
7327     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateDivisor, sizeof(VkBool32));
7328     *ptr += sizeof(VkBool32);
7329     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateZeroDivisor,
7330            sizeof(VkBool32));
7331     *ptr += sizeof(VkBool32);
7332     memcpy(*ptr, (VkBool32*)&forMarshaling->indexTypeUint8, sizeof(VkBool32));
7333     *ptr += sizeof(VkBool32);
7334     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRenderingLocalRead, sizeof(VkBool32));
7335     *ptr += sizeof(VkBool32);
7336     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance5, sizeof(VkBool32));
7337     *ptr += sizeof(VkBool32);
7338     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance6, sizeof(VkBool32));
7339     *ptr += sizeof(VkBool32);
7340     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineProtectedAccess, sizeof(VkBool32));
7341     *ptr += sizeof(VkBool32);
7342     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineRobustness, sizeof(VkBool32));
7343     *ptr += sizeof(VkBool32);
7344     memcpy(*ptr, (VkBool32*)&forMarshaling->hostImageCopy, sizeof(VkBool32));
7345     *ptr += sizeof(VkBool32);
7346     memcpy(*ptr, (VkBool32*)&forMarshaling->pushDescriptor, sizeof(VkBool32));
7347     *ptr += sizeof(VkBool32);
7348 }
7349 
reservedmarshal_VkPhysicalDeviceVulkan14Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan14Properties * forMarshaling,uint8_t ** ptr)7350 void reservedmarshal_VkPhysicalDeviceVulkan14Properties(
7351     VulkanStreamGuest* vkStream, VkStructureType rootType,
7352     const VkPhysicalDeviceVulkan14Properties* forMarshaling, uint8_t** ptr) {
7353     (void)vkStream;
7354     (void)rootType;
7355     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7356     *ptr += sizeof(VkStructureType);
7357     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7358         rootType = forMarshaling->sType;
7359     }
7360     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7361     memcpy(*ptr, (uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
7362     *ptr += sizeof(uint32_t);
7363     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
7364     *ptr += sizeof(uint32_t);
7365     memcpy(*ptr, (VkBool32*)&forMarshaling->supportsNonZeroFirstInstance, sizeof(VkBool32));
7366     *ptr += sizeof(VkBool32);
7367     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPushDescriptors, sizeof(uint32_t));
7368     *ptr += sizeof(uint32_t);
7369     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRenderingLocalReadDepthStencilAttachments,
7370            sizeof(VkBool32));
7371     *ptr += sizeof(VkBool32);
7372     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRenderingLocalReadMultisampledAttachments,
7373            sizeof(VkBool32));
7374     *ptr += sizeof(VkBool32);
7375     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
7376            sizeof(VkBool32));
7377     *ptr += sizeof(VkBool32);
7378     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
7379            sizeof(VkBool32));
7380     *ptr += sizeof(VkBool32);
7381     memcpy(*ptr, (VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
7382     *ptr += sizeof(VkBool32);
7383     memcpy(*ptr, (VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
7384     *ptr += sizeof(VkBool32);
7385     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
7386            sizeof(VkBool32));
7387     *ptr += sizeof(VkBool32);
7388     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram, sizeof(VkBool32));
7389     *ptr += sizeof(VkBool32);
7390     memcpy(*ptr, (VkBool32*)&forMarshaling->blockTexelViewCompatibleMultipleLayers,
7391            sizeof(VkBool32));
7392     *ptr += sizeof(VkBool32);
7393     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCombinedImageSamplerDescriptorCount,
7394            sizeof(uint32_t));
7395     *ptr += sizeof(uint32_t);
7396     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateClampCombinerInputs,
7397            sizeof(VkBool32));
7398     *ptr += sizeof(VkBool32);
7399     memcpy(*ptr,
7400            (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessStorageBuffers,
7401            sizeof(VkPipelineRobustnessBufferBehavior));
7402     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
7403     memcpy(*ptr,
7404            (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessUniformBuffers,
7405            sizeof(VkPipelineRobustnessBufferBehavior));
7406     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
7407     memcpy(*ptr, (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessVertexInputs,
7408            sizeof(VkPipelineRobustnessBufferBehavior));
7409     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
7410     memcpy(*ptr, (VkPipelineRobustnessImageBehavior*)&forMarshaling->defaultRobustnessImages,
7411            sizeof(VkPipelineRobustnessImageBehavior));
7412     *ptr += sizeof(VkPipelineRobustnessImageBehavior);
7413     memcpy(*ptr, (uint32_t*)&forMarshaling->copySrcLayoutCount, sizeof(uint32_t));
7414     *ptr += sizeof(uint32_t);
7415     // WARNING PTR CHECK
7416     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
7417     memcpy((*ptr), &cgen_var_0, 8);
7418     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7419     *ptr += 8;
7420     if (forMarshaling->pCopySrcLayouts) {
7421         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopySrcLayouts,
7422                forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
7423         *ptr += forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout);
7424     }
7425     memcpy(*ptr, (uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
7426     *ptr += sizeof(uint32_t);
7427     // WARNING PTR CHECK
7428     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
7429     memcpy((*ptr), &cgen_var_1, 8);
7430     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7431     *ptr += 8;
7432     if (forMarshaling->pCopyDstLayouts) {
7433         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopyDstLayouts,
7434                forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
7435         *ptr += forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout);
7436     }
7437     memcpy(*ptr, (uint8_t*)forMarshaling->optimalTilingLayoutUUID, VK_UUID_SIZE * sizeof(uint8_t));
7438     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
7439     memcpy(*ptr, (VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
7440     *ptr += sizeof(VkBool32);
7441 }
7442 
reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueGlobalPriorityCreateInfo * forMarshaling,uint8_t ** ptr)7443 void reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfo(
7444     VulkanStreamGuest* vkStream, VkStructureType rootType,
7445     const VkDeviceQueueGlobalPriorityCreateInfo* forMarshaling, uint8_t** ptr) {
7446     (void)vkStream;
7447     (void)rootType;
7448     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7449     *ptr += sizeof(VkStructureType);
7450     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7451         rootType = forMarshaling->sType;
7452     }
7453     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7454     memcpy(*ptr, (VkQueueGlobalPriority*)&forMarshaling->globalPriority,
7455            sizeof(VkQueueGlobalPriority));
7456     *ptr += sizeof(VkQueueGlobalPriority);
7457 }
7458 
reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGlobalPriorityQueryFeatures * forMarshaling,uint8_t ** ptr)7459 void reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeatures(
7460     VulkanStreamGuest* vkStream, VkStructureType rootType,
7461     const VkPhysicalDeviceGlobalPriorityQueryFeatures* forMarshaling, uint8_t** ptr) {
7462     (void)vkStream;
7463     (void)rootType;
7464     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7465     *ptr += sizeof(VkStructureType);
7466     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7467         rootType = forMarshaling->sType;
7468     }
7469     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7470     memcpy(*ptr, (VkBool32*)&forMarshaling->globalPriorityQuery, sizeof(VkBool32));
7471     *ptr += sizeof(VkBool32);
7472 }
7473 
reservedmarshal_VkQueueFamilyGlobalPriorityProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyGlobalPriorityProperties * forMarshaling,uint8_t ** ptr)7474 void reservedmarshal_VkQueueFamilyGlobalPriorityProperties(
7475     VulkanStreamGuest* vkStream, VkStructureType rootType,
7476     const VkQueueFamilyGlobalPriorityProperties* forMarshaling, uint8_t** ptr) {
7477     (void)vkStream;
7478     (void)rootType;
7479     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7480     *ptr += sizeof(VkStructureType);
7481     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7482         rootType = forMarshaling->sType;
7483     }
7484     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7485     memcpy(*ptr, (uint32_t*)&forMarshaling->priorityCount, sizeof(uint32_t));
7486     *ptr += sizeof(uint32_t);
7487     memcpy(*ptr, (VkQueueGlobalPriority*)forMarshaling->priorities,
7488            VK_MAX_GLOBAL_PRIORITY_SIZE * sizeof(VkQueueGlobalPriority));
7489     *ptr += VK_MAX_GLOBAL_PRIORITY_SIZE * sizeof(VkQueueGlobalPriority);
7490 }
7491 
reservedmarshal_VkPhysicalDeviceShaderSubgroupRotateFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupRotateFeatures * forMarshaling,uint8_t ** ptr)7492 void reservedmarshal_VkPhysicalDeviceShaderSubgroupRotateFeatures(
7493     VulkanStreamGuest* vkStream, VkStructureType rootType,
7494     const VkPhysicalDeviceShaderSubgroupRotateFeatures* forMarshaling, uint8_t** ptr) {
7495     (void)vkStream;
7496     (void)rootType;
7497     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7498     *ptr += sizeof(VkStructureType);
7499     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7500         rootType = forMarshaling->sType;
7501     }
7502     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7503     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupRotate, sizeof(VkBool32));
7504     *ptr += sizeof(VkBool32);
7505     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupRotateClustered, sizeof(VkBool32));
7506     *ptr += sizeof(VkBool32);
7507 }
7508 
reservedmarshal_VkPhysicalDeviceShaderFloatControls2Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderFloatControls2Features * forMarshaling,uint8_t ** ptr)7509 void reservedmarshal_VkPhysicalDeviceShaderFloatControls2Features(
7510     VulkanStreamGuest* vkStream, VkStructureType rootType,
7511     const VkPhysicalDeviceShaderFloatControls2Features* forMarshaling, uint8_t** ptr) {
7512     (void)vkStream;
7513     (void)rootType;
7514     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7515     *ptr += sizeof(VkStructureType);
7516     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7517         rootType = forMarshaling->sType;
7518     }
7519     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7520     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloatControls2, sizeof(VkBool32));
7521     *ptr += sizeof(VkBool32);
7522 }
7523 
reservedmarshal_VkPhysicalDeviceShaderExpectAssumeFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderExpectAssumeFeatures * forMarshaling,uint8_t ** ptr)7524 void reservedmarshal_VkPhysicalDeviceShaderExpectAssumeFeatures(
7525     VulkanStreamGuest* vkStream, VkStructureType rootType,
7526     const VkPhysicalDeviceShaderExpectAssumeFeatures* forMarshaling, uint8_t** ptr) {
7527     (void)vkStream;
7528     (void)rootType;
7529     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7530     *ptr += sizeof(VkStructureType);
7531     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7532         rootType = forMarshaling->sType;
7533     }
7534     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7535     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderExpectAssume, sizeof(VkBool32));
7536     *ptr += sizeof(VkBool32);
7537 }
7538 
reservedmarshal_VkPhysicalDeviceLineRasterizationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeatures * forMarshaling,uint8_t ** ptr)7539 void reservedmarshal_VkPhysicalDeviceLineRasterizationFeatures(
7540     VulkanStreamGuest* vkStream, VkStructureType rootType,
7541     const VkPhysicalDeviceLineRasterizationFeatures* forMarshaling, uint8_t** ptr) {
7542     (void)vkStream;
7543     (void)rootType;
7544     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7545     *ptr += sizeof(VkStructureType);
7546     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7547         rootType = forMarshaling->sType;
7548     }
7549     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7550     memcpy(*ptr, (VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
7551     *ptr += sizeof(VkBool32);
7552     memcpy(*ptr, (VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
7553     *ptr += sizeof(VkBool32);
7554     memcpy(*ptr, (VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
7555     *ptr += sizeof(VkBool32);
7556     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
7557     *ptr += sizeof(VkBool32);
7558     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
7559     *ptr += sizeof(VkBool32);
7560     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
7561     *ptr += sizeof(VkBool32);
7562 }
7563 
reservedmarshal_VkPhysicalDeviceLineRasterizationProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationProperties * forMarshaling,uint8_t ** ptr)7564 void reservedmarshal_VkPhysicalDeviceLineRasterizationProperties(
7565     VulkanStreamGuest* vkStream, VkStructureType rootType,
7566     const VkPhysicalDeviceLineRasterizationProperties* forMarshaling, uint8_t** ptr) {
7567     (void)vkStream;
7568     (void)rootType;
7569     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7570     *ptr += sizeof(VkStructureType);
7571     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7572         rootType = forMarshaling->sType;
7573     }
7574     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7575     memcpy(*ptr, (uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
7576     *ptr += sizeof(uint32_t);
7577 }
7578 
reservedmarshal_VkPipelineRasterizationLineStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfo * forMarshaling,uint8_t ** ptr)7579 void reservedmarshal_VkPipelineRasterizationLineStateCreateInfo(
7580     VulkanStreamGuest* vkStream, VkStructureType rootType,
7581     const VkPipelineRasterizationLineStateCreateInfo* forMarshaling, uint8_t** ptr) {
7582     (void)vkStream;
7583     (void)rootType;
7584     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7585     *ptr += sizeof(VkStructureType);
7586     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7587         rootType = forMarshaling->sType;
7588     }
7589     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7590     memcpy(*ptr, (VkLineRasterizationMode*)&forMarshaling->lineRasterizationMode,
7591            sizeof(VkLineRasterizationMode));
7592     *ptr += sizeof(VkLineRasterizationMode);
7593     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
7594     *ptr += sizeof(VkBool32);
7595     memcpy(*ptr, (uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
7596     *ptr += sizeof(uint32_t);
7597     memcpy(*ptr, (uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
7598     *ptr += sizeof(uint16_t);
7599 }
7600 
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorProperties * forMarshaling,uint8_t ** ptr)7601 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorProperties(
7602     VulkanStreamGuest* vkStream, VkStructureType rootType,
7603     const VkPhysicalDeviceVertexAttributeDivisorProperties* forMarshaling, uint8_t** ptr) {
7604     (void)vkStream;
7605     (void)rootType;
7606     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7607     *ptr += sizeof(VkStructureType);
7608     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7609         rootType = forMarshaling->sType;
7610     }
7611     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7612     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
7613     *ptr += sizeof(uint32_t);
7614     memcpy(*ptr, (VkBool32*)&forMarshaling->supportsNonZeroFirstInstance, sizeof(VkBool32));
7615     *ptr += sizeof(VkBool32);
7616 }
7617 
reservedmarshal_VkVertexInputBindingDivisorDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDivisorDescription * forMarshaling,uint8_t ** ptr)7618 void reservedmarshal_VkVertexInputBindingDivisorDescription(
7619     VulkanStreamGuest* vkStream, VkStructureType rootType,
7620     const VkVertexInputBindingDivisorDescription* forMarshaling, uint8_t** ptr) {
7621     (void)vkStream;
7622     (void)rootType;
7623     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
7624     *ptr += sizeof(uint32_t);
7625     memcpy(*ptr, (uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
7626     *ptr += sizeof(uint32_t);
7627 }
7628 
reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfo * forMarshaling,uint8_t ** ptr)7629 void reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfo(
7630     VulkanStreamGuest* vkStream, VkStructureType rootType,
7631     const VkPipelineVertexInputDivisorStateCreateInfo* forMarshaling, uint8_t** ptr) {
7632     (void)vkStream;
7633     (void)rootType;
7634     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7635     *ptr += sizeof(VkStructureType);
7636     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7637         rootType = forMarshaling->sType;
7638     }
7639     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7640     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
7641     *ptr += sizeof(uint32_t);
7642     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i) {
7643         reservedmarshal_VkVertexInputBindingDivisorDescription(
7644             vkStream, rootType,
7645             (const VkVertexInputBindingDivisorDescription*)(forMarshaling->pVertexBindingDivisors +
7646                                                             i),
7647             ptr);
7648     }
7649 }
7650 
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeatures * forMarshaling,uint8_t ** ptr)7651 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeatures(
7652     VulkanStreamGuest* vkStream, VkStructureType rootType,
7653     const VkPhysicalDeviceVertexAttributeDivisorFeatures* forMarshaling, uint8_t** ptr) {
7654     (void)vkStream;
7655     (void)rootType;
7656     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7657     *ptr += sizeof(VkStructureType);
7658     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7659         rootType = forMarshaling->sType;
7660     }
7661     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7662     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateDivisor, sizeof(VkBool32));
7663     *ptr += sizeof(VkBool32);
7664     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateZeroDivisor,
7665            sizeof(VkBool32));
7666     *ptr += sizeof(VkBool32);
7667 }
7668 
reservedmarshal_VkPhysicalDeviceIndexTypeUint8Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8Features * forMarshaling,uint8_t ** ptr)7669 void reservedmarshal_VkPhysicalDeviceIndexTypeUint8Features(
7670     VulkanStreamGuest* vkStream, VkStructureType rootType,
7671     const VkPhysicalDeviceIndexTypeUint8Features* forMarshaling, uint8_t** ptr) {
7672     (void)vkStream;
7673     (void)rootType;
7674     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7675     *ptr += sizeof(VkStructureType);
7676     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7677         rootType = forMarshaling->sType;
7678     }
7679     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7680     memcpy(*ptr, (VkBool32*)&forMarshaling->indexTypeUint8, sizeof(VkBool32));
7681     *ptr += sizeof(VkBool32);
7682 }
7683 
reservedmarshal_VkMemoryMapInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryMapInfo * forMarshaling,uint8_t ** ptr)7684 void reservedmarshal_VkMemoryMapInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7685                                      const VkMemoryMapInfo* forMarshaling, uint8_t** ptr) {
7686     (void)vkStream;
7687     (void)rootType;
7688     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7689     *ptr += sizeof(VkStructureType);
7690     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7691         rootType = forMarshaling->sType;
7692     }
7693     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7694     memcpy(*ptr, (VkMemoryMapFlags*)&forMarshaling->flags, sizeof(VkMemoryMapFlags));
7695     *ptr += sizeof(VkMemoryMapFlags);
7696     uint64_t cgen_var_0;
7697     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
7698     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7699     *ptr += 1 * 8;
7700     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
7701     *ptr += sizeof(VkDeviceSize);
7702     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
7703     *ptr += sizeof(VkDeviceSize);
7704 }
7705 
reservedmarshal_VkMemoryUnmapInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryUnmapInfo * forMarshaling,uint8_t ** ptr)7706 void reservedmarshal_VkMemoryUnmapInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7707                                        const VkMemoryUnmapInfo* forMarshaling, uint8_t** ptr) {
7708     (void)vkStream;
7709     (void)rootType;
7710     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7711     *ptr += sizeof(VkStructureType);
7712     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7713         rootType = forMarshaling->sType;
7714     }
7715     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7716     memcpy(*ptr, (VkMemoryUnmapFlags*)&forMarshaling->flags, sizeof(VkMemoryUnmapFlags));
7717     *ptr += sizeof(VkMemoryUnmapFlags);
7718     uint64_t cgen_var_0;
7719     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
7720     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7721     *ptr += 1 * 8;
7722 }
7723 
reservedmarshal_VkPhysicalDeviceMaintenance5Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5Features * forMarshaling,uint8_t ** ptr)7724 void reservedmarshal_VkPhysicalDeviceMaintenance5Features(
7725     VulkanStreamGuest* vkStream, VkStructureType rootType,
7726     const VkPhysicalDeviceMaintenance5Features* forMarshaling, uint8_t** ptr) {
7727     (void)vkStream;
7728     (void)rootType;
7729     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7730     *ptr += sizeof(VkStructureType);
7731     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7732         rootType = forMarshaling->sType;
7733     }
7734     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7735     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance5, sizeof(VkBool32));
7736     *ptr += sizeof(VkBool32);
7737 }
7738 
reservedmarshal_VkPhysicalDeviceMaintenance5Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5Properties * forMarshaling,uint8_t ** ptr)7739 void reservedmarshal_VkPhysicalDeviceMaintenance5Properties(
7740     VulkanStreamGuest* vkStream, VkStructureType rootType,
7741     const VkPhysicalDeviceMaintenance5Properties* forMarshaling, uint8_t** ptr) {
7742     (void)vkStream;
7743     (void)rootType;
7744     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7745     *ptr += sizeof(VkStructureType);
7746     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7747         rootType = forMarshaling->sType;
7748     }
7749     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7750     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
7751            sizeof(VkBool32));
7752     *ptr += sizeof(VkBool32);
7753     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
7754            sizeof(VkBool32));
7755     *ptr += sizeof(VkBool32);
7756     memcpy(*ptr, (VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
7757     *ptr += sizeof(VkBool32);
7758     memcpy(*ptr, (VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
7759     *ptr += sizeof(VkBool32);
7760     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
7761            sizeof(VkBool32));
7762     *ptr += sizeof(VkBool32);
7763     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram, sizeof(VkBool32));
7764     *ptr += sizeof(VkBool32);
7765 }
7766 
reservedmarshal_VkRenderingAreaInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAreaInfo * forMarshaling,uint8_t ** ptr)7767 void reservedmarshal_VkRenderingAreaInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7768                                          const VkRenderingAreaInfo* forMarshaling, uint8_t** ptr) {
7769     (void)vkStream;
7770     (void)rootType;
7771     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7772     *ptr += sizeof(VkStructureType);
7773     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7774         rootType = forMarshaling->sType;
7775     }
7776     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7777     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
7778     *ptr += sizeof(uint32_t);
7779     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7780     *ptr += sizeof(uint32_t);
7781     // WARNING PTR CHECK
7782     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
7783     memcpy((*ptr), &cgen_var_0, 8);
7784     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7785     *ptr += 8;
7786     if (forMarshaling->pColorAttachmentFormats) {
7787         memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
7788                forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
7789         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
7790     }
7791     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
7792     *ptr += sizeof(VkFormat);
7793     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
7794     *ptr += sizeof(VkFormat);
7795 }
7796 
reservedmarshal_VkImageSubresource2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource2 * forMarshaling,uint8_t ** ptr)7797 void reservedmarshal_VkImageSubresource2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7798                                          const VkImageSubresource2* forMarshaling, uint8_t** ptr) {
7799     (void)vkStream;
7800     (void)rootType;
7801     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7802     *ptr += sizeof(VkStructureType);
7803     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7804         rootType = forMarshaling->sType;
7805     }
7806     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7807     reservedmarshal_VkImageSubresource(
7808         vkStream, rootType, (VkImageSubresource*)(&forMarshaling->imageSubresource), ptr);
7809 }
7810 
reservedmarshal_VkDeviceImageSubresourceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageSubresourceInfo * forMarshaling,uint8_t ** ptr)7811 void reservedmarshal_VkDeviceImageSubresourceInfo(VulkanStreamGuest* vkStream,
7812                                                   VkStructureType rootType,
7813                                                   const VkDeviceImageSubresourceInfo* forMarshaling,
7814                                                   uint8_t** ptr) {
7815     (void)vkStream;
7816     (void)rootType;
7817     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7818     *ptr += sizeof(VkStructureType);
7819     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7820         rootType = forMarshaling->sType;
7821     }
7822     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7823     reservedmarshal_VkImageCreateInfo(vkStream, rootType,
7824                                       (const VkImageCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7825     reservedmarshal_VkImageSubresource2(
7826         vkStream, rootType, (const VkImageSubresource2*)(forMarshaling->pSubresource), ptr);
7827 }
7828 
reservedmarshal_VkSubresourceLayout2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout2 * forMarshaling,uint8_t ** ptr)7829 void reservedmarshal_VkSubresourceLayout2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7830                                           const VkSubresourceLayout2* forMarshaling,
7831                                           uint8_t** ptr) {
7832     (void)vkStream;
7833     (void)rootType;
7834     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7835     *ptr += sizeof(VkStructureType);
7836     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7837         rootType = forMarshaling->sType;
7838     }
7839     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7840     reservedmarshal_VkSubresourceLayout(
7841         vkStream, rootType, (VkSubresourceLayout*)(&forMarshaling->subresourceLayout), ptr);
7842 }
7843 
reservedmarshal_VkPipelineCreateFlags2CreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfo * forMarshaling,uint8_t ** ptr)7844 void reservedmarshal_VkPipelineCreateFlags2CreateInfo(
7845     VulkanStreamGuest* vkStream, VkStructureType rootType,
7846     const VkPipelineCreateFlags2CreateInfo* forMarshaling, uint8_t** ptr) {
7847     (void)vkStream;
7848     (void)rootType;
7849     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7850     *ptr += sizeof(VkStructureType);
7851     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7852         rootType = forMarshaling->sType;
7853     }
7854     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7855     memcpy(*ptr, (VkPipelineCreateFlags2*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags2));
7856     *ptr += sizeof(VkPipelineCreateFlags2);
7857 }
7858 
reservedmarshal_VkBufferUsageFlags2CreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferUsageFlags2CreateInfo * forMarshaling,uint8_t ** ptr)7859 void reservedmarshal_VkBufferUsageFlags2CreateInfo(
7860     VulkanStreamGuest* vkStream, VkStructureType rootType,
7861     const VkBufferUsageFlags2CreateInfo* forMarshaling, uint8_t** ptr) {
7862     (void)vkStream;
7863     (void)rootType;
7864     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7865     *ptr += sizeof(VkStructureType);
7866     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7867         rootType = forMarshaling->sType;
7868     }
7869     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7870     memcpy(*ptr, (VkBufferUsageFlags2*)&forMarshaling->usage, sizeof(VkBufferUsageFlags2));
7871     *ptr += sizeof(VkBufferUsageFlags2);
7872 }
7873 
reservedmarshal_VkPhysicalDevicePushDescriptorProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePushDescriptorProperties * forMarshaling,uint8_t ** ptr)7874 void reservedmarshal_VkPhysicalDevicePushDescriptorProperties(
7875     VulkanStreamGuest* vkStream, VkStructureType rootType,
7876     const VkPhysicalDevicePushDescriptorProperties* forMarshaling, uint8_t** ptr) {
7877     (void)vkStream;
7878     (void)rootType;
7879     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7880     *ptr += sizeof(VkStructureType);
7881     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7882         rootType = forMarshaling->sType;
7883     }
7884     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7885     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPushDescriptors, sizeof(uint32_t));
7886     *ptr += sizeof(uint32_t);
7887 }
7888 
reservedmarshal_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingLocalReadFeatures * forMarshaling,uint8_t ** ptr)7889 void reservedmarshal_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(
7890     VulkanStreamGuest* vkStream, VkStructureType rootType,
7891     const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* forMarshaling, uint8_t** ptr) {
7892     (void)vkStream;
7893     (void)rootType;
7894     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7895     *ptr += sizeof(VkStructureType);
7896     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7897         rootType = forMarshaling->sType;
7898     }
7899     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7900     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRenderingLocalRead, sizeof(VkBool32));
7901     *ptr += sizeof(VkBool32);
7902 }
7903 
reservedmarshal_VkRenderingAttachmentLocationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAttachmentLocationInfo * forMarshaling,uint8_t ** ptr)7904 void reservedmarshal_VkRenderingAttachmentLocationInfo(
7905     VulkanStreamGuest* vkStream, VkStructureType rootType,
7906     const VkRenderingAttachmentLocationInfo* forMarshaling, uint8_t** ptr) {
7907     (void)vkStream;
7908     (void)rootType;
7909     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7910     *ptr += sizeof(VkStructureType);
7911     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7912         rootType = forMarshaling->sType;
7913     }
7914     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7915     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7916     *ptr += sizeof(uint32_t);
7917     // WARNING PTR CHECK
7918     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentLocations;
7919     memcpy((*ptr), &cgen_var_0, 8);
7920     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7921     *ptr += 8;
7922     if (forMarshaling->pColorAttachmentLocations) {
7923         memcpy(*ptr, (const uint32_t*)forMarshaling->pColorAttachmentLocations,
7924                forMarshaling->colorAttachmentCount * sizeof(const uint32_t));
7925         *ptr += forMarshaling->colorAttachmentCount * sizeof(const uint32_t);
7926     }
7927 }
7928 
reservedmarshal_VkRenderingInputAttachmentIndexInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingInputAttachmentIndexInfo * forMarshaling,uint8_t ** ptr)7929 void reservedmarshal_VkRenderingInputAttachmentIndexInfo(
7930     VulkanStreamGuest* vkStream, VkStructureType rootType,
7931     const VkRenderingInputAttachmentIndexInfo* forMarshaling, uint8_t** ptr) {
7932     (void)vkStream;
7933     (void)rootType;
7934     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7935     *ptr += sizeof(VkStructureType);
7936     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7937         rootType = forMarshaling->sType;
7938     }
7939     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7940     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7941     *ptr += sizeof(uint32_t);
7942     // WARNING PTR CHECK
7943     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentInputIndices;
7944     memcpy((*ptr), &cgen_var_0, 8);
7945     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7946     *ptr += 8;
7947     if (forMarshaling->pColorAttachmentInputIndices) {
7948         memcpy(*ptr, (const uint32_t*)forMarshaling->pColorAttachmentInputIndices,
7949                forMarshaling->colorAttachmentCount * sizeof(const uint32_t));
7950         *ptr += forMarshaling->colorAttachmentCount * sizeof(const uint32_t);
7951     }
7952     // WARNING PTR CHECK
7953     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthInputAttachmentIndex;
7954     memcpy((*ptr), &cgen_var_1, 8);
7955     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7956     *ptr += 8;
7957     if (forMarshaling->pDepthInputAttachmentIndex) {
7958         memcpy(*ptr, (const uint32_t*)forMarshaling->pDepthInputAttachmentIndex,
7959                sizeof(const uint32_t));
7960         *ptr += sizeof(const uint32_t);
7961     }
7962     // WARNING PTR CHECK
7963     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pStencilInputAttachmentIndex;
7964     memcpy((*ptr), &cgen_var_2, 8);
7965     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
7966     *ptr += 8;
7967     if (forMarshaling->pStencilInputAttachmentIndex) {
7968         memcpy(*ptr, (const uint32_t*)forMarshaling->pStencilInputAttachmentIndex,
7969                sizeof(const uint32_t));
7970         *ptr += sizeof(const uint32_t);
7971     }
7972 }
7973 
reservedmarshal_VkPhysicalDeviceMaintenance6Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance6Features * forMarshaling,uint8_t ** ptr)7974 void reservedmarshal_VkPhysicalDeviceMaintenance6Features(
7975     VulkanStreamGuest* vkStream, VkStructureType rootType,
7976     const VkPhysicalDeviceMaintenance6Features* forMarshaling, uint8_t** ptr) {
7977     (void)vkStream;
7978     (void)rootType;
7979     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7980     *ptr += sizeof(VkStructureType);
7981     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7982         rootType = forMarshaling->sType;
7983     }
7984     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7985     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance6, sizeof(VkBool32));
7986     *ptr += sizeof(VkBool32);
7987 }
7988 
reservedmarshal_VkPhysicalDeviceMaintenance6Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance6Properties * forMarshaling,uint8_t ** ptr)7989 void reservedmarshal_VkPhysicalDeviceMaintenance6Properties(
7990     VulkanStreamGuest* vkStream, VkStructureType rootType,
7991     const VkPhysicalDeviceMaintenance6Properties* forMarshaling, uint8_t** ptr) {
7992     (void)vkStream;
7993     (void)rootType;
7994     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7995     *ptr += sizeof(VkStructureType);
7996     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7997         rootType = forMarshaling->sType;
7998     }
7999     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8000     memcpy(*ptr, (VkBool32*)&forMarshaling->blockTexelViewCompatibleMultipleLayers,
8001            sizeof(VkBool32));
8002     *ptr += sizeof(VkBool32);
8003     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCombinedImageSamplerDescriptorCount,
8004            sizeof(uint32_t));
8005     *ptr += sizeof(uint32_t);
8006     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentShadingRateClampCombinerInputs,
8007            sizeof(VkBool32));
8008     *ptr += sizeof(VkBool32);
8009 }
8010 
reservedmarshal_VkBindMemoryStatus(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindMemoryStatus * forMarshaling,uint8_t ** ptr)8011 void reservedmarshal_VkBindMemoryStatus(VulkanStreamGuest* vkStream, VkStructureType rootType,
8012                                         const VkBindMemoryStatus* forMarshaling, uint8_t** ptr) {
8013     (void)vkStream;
8014     (void)rootType;
8015     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8016     *ptr += sizeof(VkStructureType);
8017     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8018         rootType = forMarshaling->sType;
8019     }
8020     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8021     memcpy(*ptr, (VkResult*)forMarshaling->pResult, sizeof(VkResult));
8022     *ptr += sizeof(VkResult);
8023 }
8024 
reservedmarshal_VkBindDescriptorSetsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindDescriptorSetsInfo * forMarshaling,uint8_t ** ptr)8025 void reservedmarshal_VkBindDescriptorSetsInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8026                                               const VkBindDescriptorSetsInfo* forMarshaling,
8027                                               uint8_t** ptr) {
8028     (void)vkStream;
8029     (void)rootType;
8030     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8031     *ptr += sizeof(VkStructureType);
8032     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8033         rootType = forMarshaling->sType;
8034     }
8035     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8036     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
8037     *ptr += sizeof(VkShaderStageFlags);
8038     uint64_t cgen_var_0;
8039     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
8040     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8041     *ptr += 1 * 8;
8042     memcpy(*ptr, (uint32_t*)&forMarshaling->firstSet, sizeof(uint32_t));
8043     *ptr += sizeof(uint32_t);
8044     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
8045     *ptr += sizeof(uint32_t);
8046     if (forMarshaling->descriptorSetCount) {
8047         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
8048         if (forMarshaling) {
8049             for (uint32_t k = 0; k < forMarshaling->descriptorSetCount; ++k) {
8050                 uint64_t tmpval = get_host_u64_VkDescriptorSet(forMarshaling->pDescriptorSets[k]);
8051                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
8052             }
8053         }
8054         *ptr += 8 * forMarshaling->descriptorSetCount;
8055     }
8056     memcpy(*ptr, (uint32_t*)&forMarshaling->dynamicOffsetCount, sizeof(uint32_t));
8057     *ptr += sizeof(uint32_t);
8058     // WARNING PTR CHECK
8059     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pDynamicOffsets;
8060     memcpy((*ptr), &cgen_var_2, 8);
8061     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8062     *ptr += 8;
8063     if (forMarshaling->pDynamicOffsets) {
8064         memcpy(*ptr, (const uint32_t*)forMarshaling->pDynamicOffsets,
8065                forMarshaling->dynamicOffsetCount * sizeof(const uint32_t));
8066         *ptr += forMarshaling->dynamicOffsetCount * sizeof(const uint32_t);
8067     }
8068 }
8069 
reservedmarshal_VkPushConstantsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushConstantsInfo * forMarshaling,uint8_t ** ptr)8070 void reservedmarshal_VkPushConstantsInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8071                                          const VkPushConstantsInfo* forMarshaling, uint8_t** ptr) {
8072     (void)vkStream;
8073     (void)rootType;
8074     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8075     *ptr += sizeof(VkStructureType);
8076     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8077         rootType = forMarshaling->sType;
8078     }
8079     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8080     uint64_t cgen_var_0;
8081     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
8082     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8083     *ptr += 1 * 8;
8084     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
8085     *ptr += sizeof(VkShaderStageFlags);
8086     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
8087     *ptr += sizeof(uint32_t);
8088     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
8089     *ptr += sizeof(uint32_t);
8090     memcpy(*ptr, (const void*)forMarshaling->pValues, forMarshaling->size * sizeof(const uint8_t));
8091     *ptr += forMarshaling->size * sizeof(const uint8_t);
8092 }
8093 
reservedmarshal_VkPushDescriptorSetInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushDescriptorSetInfo * forMarshaling,uint8_t ** ptr)8094 void reservedmarshal_VkPushDescriptorSetInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8095                                              const VkPushDescriptorSetInfo* forMarshaling,
8096                                              uint8_t** ptr) {
8097     (void)vkStream;
8098     (void)rootType;
8099     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8100     *ptr += sizeof(VkStructureType);
8101     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8102         rootType = forMarshaling->sType;
8103     }
8104     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8105     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
8106     *ptr += sizeof(VkShaderStageFlags);
8107     uint64_t cgen_var_0;
8108     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
8109     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8110     *ptr += 1 * 8;
8111     memcpy(*ptr, (uint32_t*)&forMarshaling->set, sizeof(uint32_t));
8112     *ptr += sizeof(uint32_t);
8113     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorWriteCount, sizeof(uint32_t));
8114     *ptr += sizeof(uint32_t);
8115     for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorWriteCount; ++i) {
8116         reservedmarshal_VkWriteDescriptorSet(
8117             vkStream, rootType, (const VkWriteDescriptorSet*)(forMarshaling->pDescriptorWrites + i),
8118             ptr);
8119     }
8120 }
8121 
reservedmarshal_VkPushDescriptorSetWithTemplateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushDescriptorSetWithTemplateInfo * forMarshaling,uint8_t ** ptr)8122 void reservedmarshal_VkPushDescriptorSetWithTemplateInfo(
8123     VulkanStreamGuest* vkStream, VkStructureType rootType,
8124     const VkPushDescriptorSetWithTemplateInfo* forMarshaling, uint8_t** ptr) {
8125     (void)vkStream;
8126     (void)rootType;
8127     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8128     *ptr += sizeof(VkStructureType);
8129     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8130         rootType = forMarshaling->sType;
8131     }
8132     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8133     uint64_t cgen_var_0;
8134     *&cgen_var_0 =
8135         get_host_u64_VkDescriptorUpdateTemplate((*&forMarshaling->descriptorUpdateTemplate));
8136     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8137     *ptr += 1 * 8;
8138     uint64_t cgen_var_1;
8139     *&cgen_var_1 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
8140     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
8141     *ptr += 1 * 8;
8142     memcpy(*ptr, (uint32_t*)&forMarshaling->set, sizeof(uint32_t));
8143     *ptr += sizeof(uint32_t);
8144     memcpy(*ptr, (const void*)forMarshaling->pData, sizeof(const uint8_t));
8145     *ptr += sizeof(const uint8_t);
8146 }
8147 
reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineProtectedAccessFeatures * forMarshaling,uint8_t ** ptr)8148 void reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeatures(
8149     VulkanStreamGuest* vkStream, VkStructureType rootType,
8150     const VkPhysicalDevicePipelineProtectedAccessFeatures* forMarshaling, uint8_t** ptr) {
8151     (void)vkStream;
8152     (void)rootType;
8153     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8154     *ptr += sizeof(VkStructureType);
8155     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8156         rootType = forMarshaling->sType;
8157     }
8158     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8159     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineProtectedAccess, sizeof(VkBool32));
8160     *ptr += sizeof(VkBool32);
8161 }
8162 
reservedmarshal_VkPhysicalDevicePipelineRobustnessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessFeatures * forMarshaling,uint8_t ** ptr)8163 void reservedmarshal_VkPhysicalDevicePipelineRobustnessFeatures(
8164     VulkanStreamGuest* vkStream, VkStructureType rootType,
8165     const VkPhysicalDevicePipelineRobustnessFeatures* forMarshaling, uint8_t** ptr) {
8166     (void)vkStream;
8167     (void)rootType;
8168     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8169     *ptr += sizeof(VkStructureType);
8170     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8171         rootType = forMarshaling->sType;
8172     }
8173     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8174     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineRobustness, sizeof(VkBool32));
8175     *ptr += sizeof(VkBool32);
8176 }
8177 
reservedmarshal_VkPhysicalDevicePipelineRobustnessProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessProperties * forMarshaling,uint8_t ** ptr)8178 void reservedmarshal_VkPhysicalDevicePipelineRobustnessProperties(
8179     VulkanStreamGuest* vkStream, VkStructureType rootType,
8180     const VkPhysicalDevicePipelineRobustnessProperties* forMarshaling, 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,
8190            (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessStorageBuffers,
8191            sizeof(VkPipelineRobustnessBufferBehavior));
8192     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8193     memcpy(*ptr,
8194            (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessUniformBuffers,
8195            sizeof(VkPipelineRobustnessBufferBehavior));
8196     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8197     memcpy(*ptr, (VkPipelineRobustnessBufferBehavior*)&forMarshaling->defaultRobustnessVertexInputs,
8198            sizeof(VkPipelineRobustnessBufferBehavior));
8199     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8200     memcpy(*ptr, (VkPipelineRobustnessImageBehavior*)&forMarshaling->defaultRobustnessImages,
8201            sizeof(VkPipelineRobustnessImageBehavior));
8202     *ptr += sizeof(VkPipelineRobustnessImageBehavior);
8203 }
8204 
reservedmarshal_VkPipelineRobustnessCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRobustnessCreateInfo * forMarshaling,uint8_t ** ptr)8205 void reservedmarshal_VkPipelineRobustnessCreateInfo(
8206     VulkanStreamGuest* vkStream, VkStructureType rootType,
8207     const VkPipelineRobustnessCreateInfo* forMarshaling, uint8_t** ptr) {
8208     (void)vkStream;
8209     (void)rootType;
8210     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8211     *ptr += sizeof(VkStructureType);
8212     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8213         rootType = forMarshaling->sType;
8214     }
8215     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8216     memcpy(*ptr, (VkPipelineRobustnessBufferBehavior*)&forMarshaling->storageBuffers,
8217            sizeof(VkPipelineRobustnessBufferBehavior));
8218     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8219     memcpy(*ptr, (VkPipelineRobustnessBufferBehavior*)&forMarshaling->uniformBuffers,
8220            sizeof(VkPipelineRobustnessBufferBehavior));
8221     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8222     memcpy(*ptr, (VkPipelineRobustnessBufferBehavior*)&forMarshaling->vertexInputs,
8223            sizeof(VkPipelineRobustnessBufferBehavior));
8224     *ptr += sizeof(VkPipelineRobustnessBufferBehavior);
8225     memcpy(*ptr, (VkPipelineRobustnessImageBehavior*)&forMarshaling->images,
8226            sizeof(VkPipelineRobustnessImageBehavior));
8227     *ptr += sizeof(VkPipelineRobustnessImageBehavior);
8228 }
8229 
reservedmarshal_VkPhysicalDeviceHostImageCopyFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeatures * forMarshaling,uint8_t ** ptr)8230 void reservedmarshal_VkPhysicalDeviceHostImageCopyFeatures(
8231     VulkanStreamGuest* vkStream, VkStructureType rootType,
8232     const VkPhysicalDeviceHostImageCopyFeatures* forMarshaling, uint8_t** ptr) {
8233     (void)vkStream;
8234     (void)rootType;
8235     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8236     *ptr += sizeof(VkStructureType);
8237     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8238         rootType = forMarshaling->sType;
8239     }
8240     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8241     memcpy(*ptr, (VkBool32*)&forMarshaling->hostImageCopy, sizeof(VkBool32));
8242     *ptr += sizeof(VkBool32);
8243 }
8244 
reservedmarshal_VkPhysicalDeviceHostImageCopyProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyProperties * forMarshaling,uint8_t ** ptr)8245 void reservedmarshal_VkPhysicalDeviceHostImageCopyProperties(
8246     VulkanStreamGuest* vkStream, VkStructureType rootType,
8247     const VkPhysicalDeviceHostImageCopyProperties* forMarshaling, 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, (uint32_t*)&forMarshaling->copySrcLayoutCount, sizeof(uint32_t));
8257     *ptr += sizeof(uint32_t);
8258     // WARNING PTR CHECK
8259     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
8260     memcpy((*ptr), &cgen_var_0, 8);
8261     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8262     *ptr += 8;
8263     if (forMarshaling->pCopySrcLayouts) {
8264         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopySrcLayouts,
8265                forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
8266         *ptr += forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout);
8267     }
8268     memcpy(*ptr, (uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
8269     *ptr += sizeof(uint32_t);
8270     // WARNING PTR CHECK
8271     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
8272     memcpy((*ptr), &cgen_var_1, 8);
8273     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8274     *ptr += 8;
8275     if (forMarshaling->pCopyDstLayouts) {
8276         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopyDstLayouts,
8277                forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
8278         *ptr += forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout);
8279     }
8280     memcpy(*ptr, (uint8_t*)forMarshaling->optimalTilingLayoutUUID, VK_UUID_SIZE * sizeof(uint8_t));
8281     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
8282     memcpy(*ptr, (VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
8283     *ptr += sizeof(VkBool32);
8284 }
8285 
reservedmarshal_VkMemoryToImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryToImageCopy * forMarshaling,uint8_t ** ptr)8286 void reservedmarshal_VkMemoryToImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
8287                                          const VkMemoryToImageCopy* forMarshaling, uint8_t** ptr) {
8288     (void)vkStream;
8289     (void)rootType;
8290     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8291     *ptr += sizeof(VkStructureType);
8292     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8293         rootType = forMarshaling->sType;
8294     }
8295     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8296     memcpy(*ptr, (const void*)forMarshaling->pHostPointer, sizeof(const uint8_t));
8297     *ptr += sizeof(const uint8_t);
8298     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
8299     *ptr += sizeof(uint32_t);
8300     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
8301     *ptr += sizeof(uint32_t);
8302     reservedmarshal_VkImageSubresourceLayers(
8303         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
8304     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
8305     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
8306 }
8307 
reservedmarshal_VkImageToMemoryCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageToMemoryCopy * forMarshaling,uint8_t ** ptr)8308 void reservedmarshal_VkImageToMemoryCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
8309                                          const VkImageToMemoryCopy* forMarshaling, uint8_t** ptr) {
8310     (void)vkStream;
8311     (void)rootType;
8312     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8313     *ptr += sizeof(VkStructureType);
8314     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8315         rootType = forMarshaling->sType;
8316     }
8317     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8318     memcpy(*ptr, (void*)forMarshaling->pHostPointer, sizeof(uint8_t));
8319     *ptr += sizeof(uint8_t);
8320     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
8321     *ptr += sizeof(uint32_t);
8322     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
8323     *ptr += sizeof(uint32_t);
8324     reservedmarshal_VkImageSubresourceLayers(
8325         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
8326     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
8327     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
8328 }
8329 
reservedmarshal_VkCopyMemoryToImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToImageInfo * forMarshaling,uint8_t ** ptr)8330 void reservedmarshal_VkCopyMemoryToImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8331                                              const VkCopyMemoryToImageInfo* forMarshaling,
8332                                              uint8_t** ptr) {
8333     (void)vkStream;
8334     (void)rootType;
8335     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8336     *ptr += sizeof(VkStructureType);
8337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8338         rootType = forMarshaling->sType;
8339     }
8340     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8341     memcpy(*ptr, (VkHostImageCopyFlags*)&forMarshaling->flags, sizeof(VkHostImageCopyFlags));
8342     *ptr += sizeof(VkHostImageCopyFlags);
8343     uint64_t cgen_var_0;
8344     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->dstImage));
8345     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8346     *ptr += 1 * 8;
8347     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
8348     *ptr += sizeof(VkImageLayout);
8349     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8350     *ptr += sizeof(uint32_t);
8351     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8352         reservedmarshal_VkMemoryToImageCopy(
8353             vkStream, rootType, (const VkMemoryToImageCopy*)(forMarshaling->pRegions + i), ptr);
8354     }
8355 }
8356 
reservedmarshal_VkCopyImageToMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToMemoryInfo * forMarshaling,uint8_t ** ptr)8357 void reservedmarshal_VkCopyImageToMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8358                                              const VkCopyImageToMemoryInfo* forMarshaling,
8359                                              uint8_t** ptr) {
8360     (void)vkStream;
8361     (void)rootType;
8362     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8363     *ptr += sizeof(VkStructureType);
8364     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8365         rootType = forMarshaling->sType;
8366     }
8367     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8368     memcpy(*ptr, (VkHostImageCopyFlags*)&forMarshaling->flags, sizeof(VkHostImageCopyFlags));
8369     *ptr += sizeof(VkHostImageCopyFlags);
8370     uint64_t cgen_var_0;
8371     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
8372     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8373     *ptr += 1 * 8;
8374     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
8375     *ptr += sizeof(VkImageLayout);
8376     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8377     *ptr += sizeof(uint32_t);
8378     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8379         reservedmarshal_VkImageToMemoryCopy(
8380             vkStream, rootType, (const VkImageToMemoryCopy*)(forMarshaling->pRegions + i), ptr);
8381     }
8382 }
8383 
reservedmarshal_VkCopyImageToImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToImageInfo * forMarshaling,uint8_t ** ptr)8384 void reservedmarshal_VkCopyImageToImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8385                                             const VkCopyImageToImageInfo* forMarshaling,
8386                                             uint8_t** ptr) {
8387     (void)vkStream;
8388     (void)rootType;
8389     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8390     *ptr += sizeof(VkStructureType);
8391     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8392         rootType = forMarshaling->sType;
8393     }
8394     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8395     memcpy(*ptr, (VkHostImageCopyFlags*)&forMarshaling->flags, sizeof(VkHostImageCopyFlags));
8396     *ptr += sizeof(VkHostImageCopyFlags);
8397     uint64_t cgen_var_0;
8398     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
8399     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8400     *ptr += 1 * 8;
8401     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
8402     *ptr += sizeof(VkImageLayout);
8403     uint64_t cgen_var_1;
8404     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
8405     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
8406     *ptr += 1 * 8;
8407     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
8408     *ptr += sizeof(VkImageLayout);
8409     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8410     *ptr += sizeof(uint32_t);
8411     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8412         reservedmarshal_VkImageCopy2(vkStream, rootType,
8413                                      (const VkImageCopy2*)(forMarshaling->pRegions + i), ptr);
8414     }
8415 }
8416 
reservedmarshal_VkHostImageLayoutTransitionInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageLayoutTransitionInfo * forMarshaling,uint8_t ** ptr)8417 void reservedmarshal_VkHostImageLayoutTransitionInfo(
8418     VulkanStreamGuest* vkStream, VkStructureType rootType,
8419     const VkHostImageLayoutTransitionInfo* forMarshaling, uint8_t** ptr) {
8420     (void)vkStream;
8421     (void)rootType;
8422     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8423     *ptr += sizeof(VkStructureType);
8424     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8425         rootType = forMarshaling->sType;
8426     }
8427     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8428     uint64_t cgen_var_0;
8429     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
8430     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8431     *ptr += 1 * 8;
8432     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
8433     *ptr += sizeof(VkImageLayout);
8434     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
8435     *ptr += sizeof(VkImageLayout);
8436     reservedmarshal_VkImageSubresourceRange(
8437         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
8438 }
8439 
reservedmarshal_VkSubresourceHostMemcpySize(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceHostMemcpySize * forMarshaling,uint8_t ** ptr)8440 void reservedmarshal_VkSubresourceHostMemcpySize(VulkanStreamGuest* vkStream,
8441                                                  VkStructureType rootType,
8442                                                  const VkSubresourceHostMemcpySize* forMarshaling,
8443                                                  uint8_t** ptr) {
8444     (void)vkStream;
8445     (void)rootType;
8446     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8447     *ptr += sizeof(VkStructureType);
8448     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8449         rootType = forMarshaling->sType;
8450     }
8451     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8452     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
8453     *ptr += sizeof(VkDeviceSize);
8454 }
8455 
reservedmarshal_VkHostImageCopyDevicePerformanceQuery(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQuery * forMarshaling,uint8_t ** ptr)8456 void reservedmarshal_VkHostImageCopyDevicePerformanceQuery(
8457     VulkanStreamGuest* vkStream, VkStructureType rootType,
8458     const VkHostImageCopyDevicePerformanceQuery* forMarshaling, uint8_t** ptr) {
8459     (void)vkStream;
8460     (void)rootType;
8461     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8462     *ptr += sizeof(VkStructureType);
8463     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8464         rootType = forMarshaling->sType;
8465     }
8466     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8467     memcpy(*ptr, (VkBool32*)&forMarshaling->optimalDeviceAccess, sizeof(VkBool32));
8468     *ptr += sizeof(VkBool32);
8469     memcpy(*ptr, (VkBool32*)&forMarshaling->identicalMemoryLayout, sizeof(VkBool32));
8470     *ptr += sizeof(VkBool32);
8471 }
8472 
8473 #endif
8474 #ifdef VK_KHR_external_semaphore_fd
reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * forMarshaling,uint8_t ** ptr)8475 void reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest* vkStream,
8476                                                 VkStructureType rootType,
8477                                                 const VkImportSemaphoreFdInfoKHR* forMarshaling,
8478                                                 uint8_t** ptr) {
8479     (void)vkStream;
8480     (void)rootType;
8481     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8482     *ptr += sizeof(VkStructureType);
8483     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8484         rootType = forMarshaling->sType;
8485     }
8486     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8487     uint64_t cgen_var_0;
8488     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8489     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8490     *ptr += 1 * 8;
8491     memcpy(*ptr, (VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
8492     *ptr += sizeof(VkSemaphoreImportFlags);
8493     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8494            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8495     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8496     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
8497     *ptr += sizeof(int);
8498 }
8499 
reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * forMarshaling,uint8_t ** ptr)8500 void reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8501                                              const VkSemaphoreGetFdInfoKHR* forMarshaling,
8502                                              uint8_t** ptr) {
8503     (void)vkStream;
8504     (void)rootType;
8505     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8506     *ptr += sizeof(VkStructureType);
8507     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8508         rootType = forMarshaling->sType;
8509     }
8510     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8511     uint64_t cgen_var_0;
8512     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
8513     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8514     *ptr += 1 * 8;
8515     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
8516            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
8517     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
8518 }
8519 
8520 #endif
8521 #ifdef VK_KHR_incremental_present
reservedmarshal_VkRectLayerKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRectLayerKHR * forMarshaling,uint8_t ** ptr)8522 void reservedmarshal_VkRectLayerKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8523                                     const VkRectLayerKHR* forMarshaling, uint8_t** ptr) {
8524     (void)vkStream;
8525     (void)rootType;
8526     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset), ptr);
8527     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent), ptr);
8528     memcpy(*ptr, (uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
8529     *ptr += sizeof(uint32_t);
8530 }
8531 
reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionKHR * forMarshaling,uint8_t ** ptr)8532 void reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8533                                         const VkPresentRegionKHR* forMarshaling, uint8_t** ptr) {
8534     (void)vkStream;
8535     (void)rootType;
8536     memcpy(*ptr, (uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
8537     *ptr += sizeof(uint32_t);
8538     // WARNING PTR CHECK
8539     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
8540     memcpy((*ptr), &cgen_var_0, 8);
8541     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8542     *ptr += 8;
8543     if (forMarshaling->pRectangles) {
8544         for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
8545             reservedmarshal_VkRectLayerKHR(
8546                 vkStream, rootType, (const VkRectLayerKHR*)(forMarshaling->pRectangles + i), ptr);
8547         }
8548     }
8549 }
8550 
reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionsKHR * forMarshaling,uint8_t ** ptr)8551 void reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8552                                          const VkPresentRegionsKHR* forMarshaling, uint8_t** ptr) {
8553     (void)vkStream;
8554     (void)rootType;
8555     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8556     *ptr += sizeof(VkStructureType);
8557     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8558         rootType = forMarshaling->sType;
8559     }
8560     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8561     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
8562     *ptr += sizeof(uint32_t);
8563     // WARNING PTR CHECK
8564     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
8565     memcpy((*ptr), &cgen_var_0, 8);
8566     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8567     *ptr += 8;
8568     if (forMarshaling->pRegions) {
8569         for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
8570             reservedmarshal_VkPresentRegionKHR(
8571                 vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i), ptr);
8572         }
8573     }
8574 }
8575 
8576 #endif
8577 #ifdef VK_KHR_external_fence_fd
reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportFenceFdInfoKHR * forMarshaling,uint8_t ** ptr)8578 void reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8579                                             const VkImportFenceFdInfoKHR* forMarshaling,
8580                                             uint8_t** ptr) {
8581     (void)vkStream;
8582     (void)rootType;
8583     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8584     *ptr += sizeof(VkStructureType);
8585     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8586         rootType = forMarshaling->sType;
8587     }
8588     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8589     uint64_t cgen_var_0;
8590     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
8591     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8592     *ptr += 1 * 8;
8593     memcpy(*ptr, (VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
8594     *ptr += sizeof(VkFenceImportFlags);
8595     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
8596            sizeof(VkExternalFenceHandleTypeFlagBits));
8597     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
8598     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
8599     *ptr += sizeof(int);
8600 }
8601 
reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceGetFdInfoKHR * forMarshaling,uint8_t ** ptr)8602 void reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8603                                          const VkFenceGetFdInfoKHR* forMarshaling, uint8_t** ptr) {
8604     (void)vkStream;
8605     (void)rootType;
8606     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8607     *ptr += sizeof(VkStructureType);
8608     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8609         rootType = forMarshaling->sType;
8610     }
8611     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8612     uint64_t cgen_var_0;
8613     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
8614     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8615     *ptr += 1 * 8;
8616     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
8617            sizeof(VkExternalFenceHandleTypeFlagBits));
8618     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
8619 }
8620 
8621 #endif
8622 #ifdef VK_KHR_pipeline_executable_properties
reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forMarshaling,uint8_t ** ptr)8623 void reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
8624     VulkanStreamGuest* vkStream, VkStructureType rootType,
8625     const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling, uint8_t** ptr) {
8626     (void)vkStream;
8627     (void)rootType;
8628     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8629     *ptr += sizeof(VkStructureType);
8630     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8631         rootType = forMarshaling->sType;
8632     }
8633     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8634     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineExecutableInfo, sizeof(VkBool32));
8635     *ptr += sizeof(VkBool32);
8636 }
8637 
reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInfoKHR * forMarshaling,uint8_t ** ptr)8638 void reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
8639                                        const VkPipelineInfoKHR* forMarshaling, uint8_t** ptr) {
8640     (void)vkStream;
8641     (void)rootType;
8642     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8643     *ptr += sizeof(VkStructureType);
8644     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8645         rootType = forMarshaling->sType;
8646     }
8647     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8648     uint64_t cgen_var_0;
8649     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
8650     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8651     *ptr += 1 * 8;
8652 }
8653 
reservedmarshal_VkPipelineExecutablePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * forMarshaling,uint8_t ** ptr)8654 void reservedmarshal_VkPipelineExecutablePropertiesKHR(
8655     VulkanStreamGuest* vkStream, VkStructureType rootType,
8656     const VkPipelineExecutablePropertiesKHR* forMarshaling, uint8_t** ptr) {
8657     (void)vkStream;
8658     (void)rootType;
8659     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8660     *ptr += sizeof(VkStructureType);
8661     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8662         rootType = forMarshaling->sType;
8663     }
8664     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8665     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
8666     *ptr += sizeof(VkShaderStageFlags);
8667     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8668     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8669     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8670     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8671     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
8672     *ptr += sizeof(uint32_t);
8673 }
8674 
reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInfoKHR * forMarshaling,uint8_t ** ptr)8675 void reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest* vkStream,
8676                                                  VkStructureType rootType,
8677                                                  const VkPipelineExecutableInfoKHR* forMarshaling,
8678                                                  uint8_t** ptr) {
8679     (void)vkStream;
8680     (void)rootType;
8681     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8682     *ptr += sizeof(VkStructureType);
8683     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8684         rootType = forMarshaling->sType;
8685     }
8686     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8687     uint64_t cgen_var_0;
8688     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
8689     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8690     *ptr += 1 * 8;
8691     memcpy(*ptr, (uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
8692     *ptr += sizeof(uint32_t);
8693 }
8694 
reservedmarshal_VkPipelineExecutableStatisticValueKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * forMarshaling,uint8_t ** ptr)8695 void reservedmarshal_VkPipelineExecutableStatisticValueKHR(
8696     VulkanStreamGuest* vkStream, VkStructureType rootType,
8697     const VkPipelineExecutableStatisticValueKHR* forMarshaling, uint8_t** ptr) {
8698     (void)vkStream;
8699     (void)rootType;
8700     memcpy(*ptr, (VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
8701     *ptr += sizeof(VkBool32);
8702 }
8703 
reservedmarshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * forMarshaling,uint8_t ** ptr)8704 void reservedmarshal_VkPipelineExecutableStatisticKHR(
8705     VulkanStreamGuest* vkStream, VkStructureType rootType,
8706     const VkPipelineExecutableStatisticKHR* forMarshaling, uint8_t** ptr) {
8707     (void)vkStream;
8708     (void)rootType;
8709     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8710     *ptr += sizeof(VkStructureType);
8711     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8712         rootType = forMarshaling->sType;
8713     }
8714     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8715     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8716     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8717     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8718     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8719     memcpy(*ptr, (VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
8720            sizeof(VkPipelineExecutableStatisticFormatKHR));
8721     *ptr += sizeof(VkPipelineExecutableStatisticFormatKHR);
8722     reservedmarshal_VkPipelineExecutableStatisticValueKHR(
8723         vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value), ptr);
8724 }
8725 
reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * forMarshaling,uint8_t ** ptr)8726 void reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(
8727     VulkanStreamGuest* vkStream, VkStructureType rootType,
8728     const VkPipelineExecutableInternalRepresentationKHR* forMarshaling, uint8_t** ptr) {
8729     (void)vkStream;
8730     (void)rootType;
8731     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8732     *ptr += sizeof(VkStructureType);
8733     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8734         rootType = forMarshaling->sType;
8735     }
8736     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8737     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8738     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8739     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8740     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8741     memcpy(*ptr, (VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
8742     *ptr += sizeof(VkBool32);
8743     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
8744     memcpy((*ptr), &cgen_var_0, 8);
8745     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8746     *ptr += 8;
8747     // WARNING PTR CHECK
8748     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
8749     memcpy((*ptr), &cgen_var_1, 8);
8750     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8751     *ptr += 8;
8752     if (forMarshaling->pData) {
8753         memcpy(*ptr, (void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
8754         *ptr += forMarshaling->dataSize * sizeof(uint8_t);
8755     }
8756 }
8757 
8758 #endif
8759 #ifdef VK_ANDROID_native_buffer
reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * forMarshaling,uint8_t ** ptr)8760 void reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest* vkStream,
8761                                                  VkStructureType rootType,
8762                                                  const VkNativeBufferUsage2ANDROID* forMarshaling,
8763                                                  uint8_t** ptr) {
8764     (void)vkStream;
8765     (void)rootType;
8766     memcpy(*ptr, (uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
8767     *ptr += sizeof(uint64_t);
8768     memcpy(*ptr, (uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
8769     *ptr += sizeof(uint64_t);
8770 }
8771 
reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferANDROID * forMarshaling,uint8_t ** ptr)8772 void reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
8773                                            const VkNativeBufferANDROID* forMarshaling,
8774                                            uint8_t** ptr) {
8775     (void)vkStream;
8776     (void)rootType;
8777     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8778     *ptr += sizeof(VkStructureType);
8779     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8780         rootType = forMarshaling->sType;
8781     }
8782     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8783     // WARNING PTR CHECK
8784     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle;
8785     memcpy((*ptr), &cgen_var_0, 8);
8786     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8787     *ptr += 8;
8788     if (forMarshaling->handle) {
8789         memcpy(*ptr, (const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
8790         *ptr += sizeof(const uint32_t);
8791     }
8792     memcpy(*ptr, (int*)&forMarshaling->stride, sizeof(int));
8793     *ptr += sizeof(int);
8794     memcpy(*ptr, (int*)&forMarshaling->format, sizeof(int));
8795     *ptr += sizeof(int);
8796     memcpy(*ptr, (int*)&forMarshaling->usage, sizeof(int));
8797     *ptr += sizeof(int);
8798     reservedmarshal_VkNativeBufferUsage2ANDROID(
8799         vkStream, rootType, (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2), ptr);
8800 }
8801 
reservedmarshal_VkSwapchainImageCreateInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * forMarshaling,uint8_t ** ptr)8802 void reservedmarshal_VkSwapchainImageCreateInfoANDROID(
8803     VulkanStreamGuest* vkStream, VkStructureType rootType,
8804     const VkSwapchainImageCreateInfoANDROID* forMarshaling, uint8_t** ptr) {
8805     (void)vkStream;
8806     (void)rootType;
8807     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8808     *ptr += sizeof(VkStructureType);
8809     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8810         rootType = forMarshaling->sType;
8811     }
8812     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8813     memcpy(*ptr, (VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
8814            sizeof(VkSwapchainImageUsageFlagsANDROID));
8815     *ptr += sizeof(VkSwapchainImageUsageFlagsANDROID);
8816 }
8817 
reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * forMarshaling,uint8_t ** ptr)8818 void reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
8819     VulkanStreamGuest* vkStream, VkStructureType rootType,
8820     const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling, uint8_t** ptr) {
8821     (void)vkStream;
8822     (void)rootType;
8823     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8824     *ptr += sizeof(VkStructureType);
8825     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8826         rootType = forMarshaling->sType;
8827     }
8828     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8829     memcpy(*ptr, (VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
8830     *ptr += sizeof(VkBool32);
8831 }
8832 
8833 #endif
8834 #ifdef VK_EXT_transform_feedback
reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * forMarshaling,uint8_t ** ptr)8835 void reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
8836     VulkanStreamGuest* vkStream, VkStructureType rootType,
8837     const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling, uint8_t** ptr) {
8838     (void)vkStream;
8839     (void)rootType;
8840     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8841     *ptr += sizeof(VkStructureType);
8842     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8843         rootType = forMarshaling->sType;
8844     }
8845     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8846     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedback, sizeof(VkBool32));
8847     *ptr += sizeof(VkBool32);
8848     memcpy(*ptr, (VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
8849     *ptr += sizeof(VkBool32);
8850 }
8851 
reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * forMarshaling,uint8_t ** ptr)8852 void reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
8853     VulkanStreamGuest* vkStream, VkStructureType rootType,
8854     const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling, uint8_t** ptr) {
8855     (void)vkStream;
8856     (void)rootType;
8857     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8858     *ptr += sizeof(VkStructureType);
8859     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8860         rootType = forMarshaling->sType;
8861     }
8862     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8863     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
8864     *ptr += sizeof(uint32_t);
8865     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
8866     *ptr += sizeof(uint32_t);
8867     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
8868            sizeof(VkDeviceSize));
8869     *ptr += sizeof(VkDeviceSize);
8870     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize, sizeof(uint32_t));
8871     *ptr += sizeof(uint32_t);
8872     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize, sizeof(uint32_t));
8873     *ptr += sizeof(uint32_t);
8874     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride, sizeof(uint32_t));
8875     *ptr += sizeof(uint32_t);
8876     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
8877     *ptr += sizeof(VkBool32);
8878     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
8879            sizeof(VkBool32));
8880     *ptr += sizeof(VkBool32);
8881     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
8882            sizeof(VkBool32));
8883     *ptr += sizeof(VkBool32);
8884     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
8885     *ptr += sizeof(VkBool32);
8886 }
8887 
reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * forMarshaling,uint8_t ** ptr)8888 void reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
8889     VulkanStreamGuest* vkStream, VkStructureType rootType,
8890     const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8891     (void)vkStream;
8892     (void)rootType;
8893     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8894     *ptr += sizeof(VkStructureType);
8895     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8896         rootType = forMarshaling->sType;
8897     }
8898     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8899     memcpy(*ptr, (VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
8900            sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
8901     *ptr += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
8902     memcpy(*ptr, (uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
8903     *ptr += sizeof(uint32_t);
8904 }
8905 
8906 #endif
8907 #ifdef VK_EXT_depth_clip_enable
reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * forMarshaling,uint8_t ** ptr)8908 void reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
8909     VulkanStreamGuest* vkStream, VkStructureType rootType,
8910     const VkPhysicalDeviceDepthClipEnableFeaturesEXT* forMarshaling, uint8_t** ptr) {
8911     (void)vkStream;
8912     (void)rootType;
8913     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8914     *ptr += sizeof(VkStructureType);
8915     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8916         rootType = forMarshaling->sType;
8917     }
8918     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8919     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
8920     *ptr += sizeof(VkBool32);
8921 }
8922 
reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)8923 void reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
8924     VulkanStreamGuest* vkStream, VkStructureType rootType,
8925     const VkPipelineRasterizationDepthClipStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8926     (void)vkStream;
8927     (void)rootType;
8928     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8929     *ptr += sizeof(VkStructureType);
8930     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8931         rootType = forMarshaling->sType;
8932     }
8933     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8934     memcpy(*ptr, (VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forMarshaling->flags,
8935            sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
8936     *ptr += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
8937     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
8938     *ptr += sizeof(VkBool32);
8939 }
8940 
8941 #endif
8942 #ifdef VK_EXT_image_drm_format_modifier
reservedmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * forMarshaling,uint8_t ** ptr)8943 void reservedmarshal_VkDrmFormatModifierPropertiesEXT(
8944     VulkanStreamGuest* vkStream, VkStructureType rootType,
8945     const VkDrmFormatModifierPropertiesEXT* forMarshaling, uint8_t** ptr) {
8946     (void)vkStream;
8947     (void)rootType;
8948     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
8949     *ptr += sizeof(uint64_t);
8950     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
8951     *ptr += sizeof(uint32_t);
8952     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->drmFormatModifierTilingFeatures,
8953            sizeof(VkFormatFeatureFlags));
8954     *ptr += sizeof(VkFormatFeatureFlags);
8955 }
8956 
reservedmarshal_VkDrmFormatModifierPropertiesListEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * forMarshaling,uint8_t ** ptr)8957 void reservedmarshal_VkDrmFormatModifierPropertiesListEXT(
8958     VulkanStreamGuest* vkStream, VkStructureType rootType,
8959     const VkDrmFormatModifierPropertiesListEXT* forMarshaling, uint8_t** ptr) {
8960     (void)vkStream;
8961     (void)rootType;
8962     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8963     *ptr += sizeof(VkStructureType);
8964     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8965         rootType = forMarshaling->sType;
8966     }
8967     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8968     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
8969     *ptr += sizeof(uint32_t);
8970     // WARNING PTR CHECK
8971     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
8972     memcpy((*ptr), &cgen_var_0, 8);
8973     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
8974     *ptr += 8;
8975     if (forMarshaling->pDrmFormatModifierProperties) {
8976         for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
8977             reservedmarshal_VkDrmFormatModifierPropertiesEXT(
8978                 vkStream, rootType,
8979                 (VkDrmFormatModifierPropertiesEXT*)(forMarshaling->pDrmFormatModifierProperties +
8980                                                     i),
8981                 ptr);
8982         }
8983     }
8984 }
8985 
reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forMarshaling,uint8_t ** ptr)8986 void reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
8987     VulkanStreamGuest* vkStream, VkStructureType rootType,
8988     const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forMarshaling, uint8_t** ptr) {
8989     (void)vkStream;
8990     (void)rootType;
8991     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8992     *ptr += sizeof(VkStructureType);
8993     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8994         rootType = forMarshaling->sType;
8995     }
8996     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8997     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
8998     *ptr += sizeof(uint64_t);
8999     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
9000     *ptr += sizeof(VkSharingMode);
9001     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
9002     *ptr += sizeof(uint32_t);
9003     // WARNING PTR CHECK
9004     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
9005     memcpy((*ptr), &cgen_var_0, 8);
9006     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
9007     *ptr += 8;
9008     if (forMarshaling->pQueueFamilyIndices) {
9009         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
9010                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
9011         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
9012     }
9013 }
9014 
reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * forMarshaling,uint8_t ** ptr)9015 void reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
9016     VulkanStreamGuest* vkStream, VkStructureType rootType,
9017     const VkImageDrmFormatModifierListCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9018     (void)vkStream;
9019     (void)rootType;
9020     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9021     *ptr += sizeof(VkStructureType);
9022     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9023         rootType = forMarshaling->sType;
9024     }
9025     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9026     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
9027     *ptr += sizeof(uint32_t);
9028     memcpy(*ptr, (const uint64_t*)forMarshaling->pDrmFormatModifiers,
9029            forMarshaling->drmFormatModifierCount * sizeof(const uint64_t));
9030     *ptr += forMarshaling->drmFormatModifierCount * sizeof(const uint64_t);
9031 }
9032 
reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * forMarshaling,uint8_t ** ptr)9033 void reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
9034     VulkanStreamGuest* vkStream, VkStructureType rootType,
9035     const VkImageDrmFormatModifierExplicitCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9036     (void)vkStream;
9037     (void)rootType;
9038     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9039     *ptr += sizeof(VkStructureType);
9040     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9041         rootType = forMarshaling->sType;
9042     }
9043     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9044     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
9045     *ptr += sizeof(uint64_t);
9046     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
9047     *ptr += sizeof(uint32_t);
9048     for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierPlaneCount; ++i) {
9049         reservedmarshal_VkSubresourceLayout(
9050             vkStream, rootType, (const VkSubresourceLayout*)(forMarshaling->pPlaneLayouts + i),
9051             ptr);
9052     }
9053 }
9054 
reservedmarshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * forMarshaling,uint8_t ** ptr)9055 void reservedmarshal_VkImageDrmFormatModifierPropertiesEXT(
9056     VulkanStreamGuest* vkStream, VkStructureType rootType,
9057     const VkImageDrmFormatModifierPropertiesEXT* forMarshaling, uint8_t** ptr) {
9058     (void)vkStream;
9059     (void)rootType;
9060     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9061     *ptr += sizeof(VkStructureType);
9062     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9063         rootType = forMarshaling->sType;
9064     }
9065     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9066     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
9067     *ptr += sizeof(uint64_t);
9068 }
9069 
reservedmarshal_VkDrmFormatModifierProperties2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * forMarshaling,uint8_t ** ptr)9070 void reservedmarshal_VkDrmFormatModifierProperties2EXT(
9071     VulkanStreamGuest* vkStream, VkStructureType rootType,
9072     const VkDrmFormatModifierProperties2EXT* forMarshaling, uint8_t** ptr) {
9073     (void)vkStream;
9074     (void)rootType;
9075     memcpy(*ptr, (uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
9076     *ptr += sizeof(uint64_t);
9077     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
9078     *ptr += sizeof(uint32_t);
9079     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->drmFormatModifierTilingFeatures,
9080            sizeof(VkFormatFeatureFlags2));
9081     *ptr += sizeof(VkFormatFeatureFlags2);
9082 }
9083 
reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * forMarshaling,uint8_t ** ptr)9084 void reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(
9085     VulkanStreamGuest* vkStream, VkStructureType rootType,
9086     const VkDrmFormatModifierPropertiesList2EXT* forMarshaling, uint8_t** ptr) {
9087     (void)vkStream;
9088     (void)rootType;
9089     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9090     *ptr += sizeof(VkStructureType);
9091     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9092         rootType = forMarshaling->sType;
9093     }
9094     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9095     memcpy(*ptr, (uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
9096     *ptr += sizeof(uint32_t);
9097     // WARNING PTR CHECK
9098     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
9099     memcpy((*ptr), &cgen_var_0, 8);
9100     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
9101     *ptr += 8;
9102     if (forMarshaling->pDrmFormatModifierProperties) {
9103         for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
9104             reservedmarshal_VkDrmFormatModifierProperties2EXT(
9105                 vkStream, rootType,
9106                 (VkDrmFormatModifierProperties2EXT*)(forMarshaling->pDrmFormatModifierProperties +
9107                                                      i),
9108                 ptr);
9109         }
9110     }
9111 }
9112 
9113 #endif
9114 #ifdef VK_EXT_vertex_attribute_divisor
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forMarshaling,uint8_t ** ptr)9115 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
9116     VulkanStreamGuest* vkStream, VkStructureType rootType,
9117     const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling, uint8_t** ptr) {
9118     (void)vkStream;
9119     (void)rootType;
9120     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9121     *ptr += sizeof(VkStructureType);
9122     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9123         rootType = forMarshaling->sType;
9124     }
9125     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9126     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
9127     *ptr += sizeof(uint32_t);
9128 }
9129 
9130 #endif
9131 #ifdef VK_EXT_fragment_density_map
reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forMarshaling,uint8_t ** ptr)9132 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
9133     VulkanStreamGuest* vkStream, VkStructureType rootType,
9134     const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forMarshaling, uint8_t** ptr) {
9135     (void)vkStream;
9136     (void)rootType;
9137     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9138     *ptr += sizeof(VkStructureType);
9139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9140         rootType = forMarshaling->sType;
9141     }
9142     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9143     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMap, sizeof(VkBool32));
9144     *ptr += sizeof(VkBool32);
9145     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
9146     *ptr += sizeof(VkBool32);
9147     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapNonSubsampledImages,
9148            sizeof(VkBool32));
9149     *ptr += sizeof(VkBool32);
9150 }
9151 
reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forMarshaling,uint8_t ** ptr)9152 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
9153     VulkanStreamGuest* vkStream, VkStructureType rootType,
9154     const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forMarshaling, uint8_t** ptr) {
9155     (void)vkStream;
9156     (void)rootType;
9157     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9158     *ptr += sizeof(VkStructureType);
9159     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9160         rootType = forMarshaling->sType;
9161     }
9162     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9163     reservedmarshal_VkExtent2D(vkStream, rootType,
9164                                (VkExtent2D*)(&forMarshaling->minFragmentDensityTexelSize), ptr);
9165     reservedmarshal_VkExtent2D(vkStream, rootType,
9166                                (VkExtent2D*)(&forMarshaling->maxFragmentDensityTexelSize), ptr);
9167     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityInvocations, sizeof(VkBool32));
9168     *ptr += sizeof(VkBool32);
9169 }
9170 
reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * forMarshaling,uint8_t ** ptr)9171 void reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
9172     VulkanStreamGuest* vkStream, VkStructureType rootType,
9173     const VkRenderPassFragmentDensityMapCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9174     (void)vkStream;
9175     (void)rootType;
9176     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9177     *ptr += sizeof(VkStructureType);
9178     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9179         rootType = forMarshaling->sType;
9180     }
9181     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9182     reservedmarshal_VkAttachmentReference(
9183         vkStream, rootType, (VkAttachmentReference*)(&forMarshaling->fragmentDensityMapAttachment),
9184         ptr);
9185 }
9186 
reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * forMarshaling,uint8_t ** ptr)9187 void reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
9188     VulkanStreamGuest* vkStream, VkStructureType rootType,
9189     const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling, uint8_t** ptr) {
9190     (void)vkStream;
9191     (void)rootType;
9192     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9193     *ptr += sizeof(VkStructureType);
9194     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9195         rootType = forMarshaling->sType;
9196     }
9197     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9198     uint64_t cgen_var_0;
9199     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
9200     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
9201     *ptr += 1 * 8;
9202     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
9203     *ptr += sizeof(VkImageLayout);
9204 }
9205 
9206 #endif
9207 #ifdef VK_EXT_provoking_vertex
reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * forMarshaling,uint8_t ** ptr)9208 void reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
9209     VulkanStreamGuest* vkStream, VkStructureType rootType,
9210     const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling, uint8_t** ptr) {
9211     (void)vkStream;
9212     (void)rootType;
9213     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9214     *ptr += sizeof(VkStructureType);
9215     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9216         rootType = forMarshaling->sType;
9217     }
9218     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9219     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexLast, sizeof(VkBool32));
9220     *ptr += sizeof(VkBool32);
9221     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
9222            sizeof(VkBool32));
9223     *ptr += sizeof(VkBool32);
9224 }
9225 
reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * forMarshaling,uint8_t ** ptr)9226 void reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
9227     VulkanStreamGuest* vkStream, VkStructureType rootType,
9228     const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling, uint8_t** ptr) {
9229     (void)vkStream;
9230     (void)rootType;
9231     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9232     *ptr += sizeof(VkStructureType);
9233     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9234         rootType = forMarshaling->sType;
9235     }
9236     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9237     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
9238     *ptr += sizeof(VkBool32);
9239     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
9240            sizeof(VkBool32));
9241     *ptr += sizeof(VkBool32);
9242 }
9243 
reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)9244 void reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
9245     VulkanStreamGuest* vkStream, VkStructureType rootType,
9246     const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9247     (void)vkStream;
9248     (void)rootType;
9249     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9250     *ptr += sizeof(VkStructureType);
9251     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9252         rootType = forMarshaling->sType;
9253     }
9254     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9255     memcpy(*ptr, (VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
9256            sizeof(VkProvokingVertexModeEXT));
9257     *ptr += sizeof(VkProvokingVertexModeEXT);
9258 }
9259 
9260 #endif
9261 #ifdef VK_EXT_extended_dynamic_state
reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forMarshaling,uint8_t ** ptr)9262 void reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
9263     VulkanStreamGuest* vkStream, VkStructureType rootType,
9264     const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling, uint8_t** ptr) {
9265     (void)vkStream;
9266     (void)rootType;
9267     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9268     *ptr += sizeof(VkStructureType);
9269     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9270         rootType = forMarshaling->sType;
9271     }
9272     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9273     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState, sizeof(VkBool32));
9274     *ptr += sizeof(VkBool32);
9275 }
9276 
9277 #endif
9278 #ifdef VK_EXT_texel_buffer_alignment
reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forMarshaling,uint8_t ** ptr)9279 void reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
9280     VulkanStreamGuest* vkStream, VkStructureType rootType,
9281     const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling, uint8_t** ptr) {
9282     (void)vkStream;
9283     (void)rootType;
9284     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9285     *ptr += sizeof(VkStructureType);
9286     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9287         rootType = forMarshaling->sType;
9288     }
9289     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9290     memcpy(*ptr, (VkBool32*)&forMarshaling->texelBufferAlignment, sizeof(VkBool32));
9291     *ptr += sizeof(VkBool32);
9292 }
9293 
9294 #endif
9295 #ifdef VK_EXT_device_memory_report
reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forMarshaling,uint8_t ** ptr)9296 void reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
9297     VulkanStreamGuest* vkStream, VkStructureType rootType,
9298     const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling, uint8_t** ptr) {
9299     (void)vkStream;
9300     (void)rootType;
9301     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9302     *ptr += sizeof(VkStructureType);
9303     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9304         rootType = forMarshaling->sType;
9305     }
9306     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9307     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceMemoryReport, sizeof(VkBool32));
9308     *ptr += sizeof(VkBool32);
9309 }
9310 
reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * forMarshaling,uint8_t ** ptr)9311 void reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(
9312     VulkanStreamGuest* vkStream, VkStructureType rootType,
9313     const VkDeviceMemoryReportCallbackDataEXT* forMarshaling, uint8_t** ptr) {
9314     (void)vkStream;
9315     (void)rootType;
9316     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9317     *ptr += sizeof(VkStructureType);
9318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9319         rootType = forMarshaling->sType;
9320     }
9321     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9322     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
9323            sizeof(VkDeviceMemoryReportFlagsEXT));
9324     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
9325     memcpy(*ptr, (VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
9326            sizeof(VkDeviceMemoryReportEventTypeEXT));
9327     *ptr += sizeof(VkDeviceMemoryReportEventTypeEXT);
9328     memcpy(*ptr, (uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
9329     *ptr += sizeof(uint64_t);
9330     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
9331     *ptr += sizeof(VkDeviceSize);
9332     memcpy(*ptr, (VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
9333     *ptr += sizeof(VkObjectType);
9334     memcpy(*ptr, (uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
9335     *ptr += sizeof(uint64_t);
9336     memcpy(*ptr, (uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
9337     *ptr += sizeof(uint32_t);
9338 }
9339 
reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * forMarshaling,uint8_t ** ptr)9340 void reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
9341     VulkanStreamGuest* vkStream, VkStructureType rootType,
9342     const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9343     (void)vkStream;
9344     (void)rootType;
9345     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9346     *ptr += sizeof(VkStructureType);
9347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9348         rootType = forMarshaling->sType;
9349     }
9350     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9351     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
9352            sizeof(VkDeviceMemoryReportFlagsEXT));
9353     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
9354     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
9355     memcpy((*ptr), &cgen_var_0, 8);
9356     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
9357     *ptr += 8;
9358     memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
9359     *ptr += sizeof(uint8_t);
9360 }
9361 
9362 #endif
9363 #ifdef VK_EXT_robustness2
reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * forMarshaling,uint8_t ** ptr)9364 void reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
9365     VulkanStreamGuest* vkStream, VkStructureType rootType,
9366     const VkPhysicalDeviceRobustness2FeaturesEXT* forMarshaling, uint8_t** ptr) {
9367     (void)vkStream;
9368     (void)rootType;
9369     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9370     *ptr += sizeof(VkStructureType);
9371     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9372         rootType = forMarshaling->sType;
9373     }
9374     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9375     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccess2, sizeof(VkBool32));
9376     *ptr += sizeof(VkBool32);
9377     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess2, sizeof(VkBool32));
9378     *ptr += sizeof(VkBool32);
9379     memcpy(*ptr, (VkBool32*)&forMarshaling->nullDescriptor, sizeof(VkBool32));
9380     *ptr += sizeof(VkBool32);
9381 }
9382 
reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * forMarshaling,uint8_t ** ptr)9383 void reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
9384     VulkanStreamGuest* vkStream, VkStructureType rootType,
9385     const VkPhysicalDeviceRobustness2PropertiesEXT* forMarshaling, uint8_t** ptr) {
9386     (void)vkStream;
9387     (void)rootType;
9388     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9389     *ptr += sizeof(VkStructureType);
9390     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9391         rootType = forMarshaling->sType;
9392     }
9393     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9394     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustStorageBufferAccessSizeAlignment,
9395            sizeof(VkDeviceSize));
9396     *ptr += sizeof(VkDeviceSize);
9397     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustUniformBufferAccessSizeAlignment,
9398            sizeof(VkDeviceSize));
9399     *ptr += sizeof(VkDeviceSize);
9400 }
9401 
9402 #endif
9403 #ifdef VK_EXT_custom_border_color
reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * forMarshaling,uint8_t ** ptr)9404 void reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
9405     VulkanStreamGuest* vkStream, VkStructureType rootType,
9406     const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9407     (void)vkStream;
9408     (void)rootType;
9409     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9410     *ptr += sizeof(VkStructureType);
9411     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9412         rootType = forMarshaling->sType;
9413     }
9414     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9415     reservedmarshal_VkClearColorValue(vkStream, rootType,
9416                                       (VkClearColorValue*)(&forMarshaling->customBorderColor), ptr);
9417     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
9418     *ptr += sizeof(VkFormat);
9419 }
9420 
reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * forMarshaling,uint8_t ** ptr)9421 void reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
9422     VulkanStreamGuest* vkStream, VkStructureType rootType,
9423     const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling, uint8_t** ptr) {
9424     (void)vkStream;
9425     (void)rootType;
9426     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9427     *ptr += sizeof(VkStructureType);
9428     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9429         rootType = forMarshaling->sType;
9430     }
9431     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9432     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
9433     *ptr += sizeof(uint32_t);
9434 }
9435 
reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * forMarshaling,uint8_t ** ptr)9436 void reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
9437     VulkanStreamGuest* vkStream, VkStructureType rootType,
9438     const VkPhysicalDeviceCustomBorderColorFeaturesEXT* forMarshaling, uint8_t** ptr) {
9439     (void)vkStream;
9440     (void)rootType;
9441     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9442     *ptr += sizeof(VkStructureType);
9443     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9444         rootType = forMarshaling->sType;
9445     }
9446     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9447     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColors, sizeof(VkBool32));
9448     *ptr += sizeof(VkBool32);
9449     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
9450     *ptr += sizeof(VkBool32);
9451 }
9452 
9453 #endif
9454 #ifdef VK_EXT_graphics_pipeline_library
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forMarshaling,uint8_t ** ptr)9455 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
9456     VulkanStreamGuest* vkStream, VkStructureType rootType,
9457     const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling, uint8_t** ptr) {
9458     (void)vkStream;
9459     (void)rootType;
9460     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9461     *ptr += sizeof(VkStructureType);
9462     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9463         rootType = forMarshaling->sType;
9464     }
9465     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9466     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
9467     *ptr += sizeof(VkBool32);
9468 }
9469 
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forMarshaling,uint8_t ** ptr)9470 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
9471     VulkanStreamGuest* vkStream, VkStructureType rootType,
9472     const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling, uint8_t** ptr) {
9473     (void)vkStream;
9474     (void)rootType;
9475     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9476     *ptr += sizeof(VkStructureType);
9477     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9478         rootType = forMarshaling->sType;
9479     }
9480     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9481     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking, sizeof(VkBool32));
9482     *ptr += sizeof(VkBool32);
9483     memcpy(*ptr,
9484            (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
9485            sizeof(VkBool32));
9486     *ptr += sizeof(VkBool32);
9487 }
9488 
reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * forMarshaling,uint8_t ** ptr)9489 void reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
9490     VulkanStreamGuest* vkStream, VkStructureType rootType,
9491     const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling, uint8_t** ptr) {
9492     (void)vkStream;
9493     (void)rootType;
9494     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9495     *ptr += sizeof(VkStructureType);
9496     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9497         rootType = forMarshaling->sType;
9498     }
9499     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9500     memcpy(*ptr, (VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags,
9501            sizeof(VkGraphicsPipelineLibraryFlagsEXT));
9502     *ptr += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
9503 }
9504 
9505 #endif
9506 #ifdef VK_EXT_ycbcr_2plane_444_formats
reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)9507 void reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
9508     VulkanStreamGuest* vkStream, VkStructureType rootType,
9509     const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* 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, (VkBool32*)&forMarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
9519     *ptr += sizeof(VkBool32);
9520 }
9521 
9522 #endif
9523 #ifdef VK_EXT_image_compression_control
reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * forMarshaling,uint8_t ** ptr)9524 void reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
9525     VulkanStreamGuest* vkStream, VkStructureType rootType,
9526     const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling, uint8_t** ptr) {
9527     (void)vkStream;
9528     (void)rootType;
9529     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9530     *ptr += sizeof(VkStructureType);
9531     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9532         rootType = forMarshaling->sType;
9533     }
9534     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9535     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32));
9536     *ptr += sizeof(VkBool32);
9537 }
9538 
reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionControlEXT * forMarshaling,uint8_t ** ptr)9539 void reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest* vkStream,
9540                                                   VkStructureType rootType,
9541                                                   const VkImageCompressionControlEXT* forMarshaling,
9542                                                   uint8_t** ptr) {
9543     (void)vkStream;
9544     (void)rootType;
9545     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9546     *ptr += sizeof(VkStructureType);
9547     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9548         rootType = forMarshaling->sType;
9549     }
9550     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9551     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->flags,
9552            sizeof(VkImageCompressionFlagsEXT));
9553     *ptr += sizeof(VkImageCompressionFlagsEXT);
9554     memcpy(*ptr, (uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t));
9555     *ptr += sizeof(uint32_t);
9556     // WARNING PTR CHECK
9557     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags;
9558     memcpy((*ptr), &cgen_var_0, 8);
9559     gfxstream::aemu::Stream::toBe64((uint8_t*)(*ptr));
9560     *ptr += 8;
9561     if (forMarshaling->pFixedRateFlags) {
9562         memcpy(*ptr, (VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags,
9563                forMarshaling->compressionControlPlaneCount *
9564                    sizeof(VkImageCompressionFixedRateFlagsEXT));
9565         *ptr += forMarshaling->compressionControlPlaneCount *
9566                 sizeof(VkImageCompressionFixedRateFlagsEXT);
9567     }
9568 }
9569 
reservedmarshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionPropertiesEXT * forMarshaling,uint8_t ** ptr)9570 void reservedmarshal_VkImageCompressionPropertiesEXT(
9571     VulkanStreamGuest* vkStream, VkStructureType rootType,
9572     const VkImageCompressionPropertiesEXT* forMarshaling, uint8_t** ptr) {
9573     (void)vkStream;
9574     (void)rootType;
9575     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9576     *ptr += sizeof(VkStructureType);
9577     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9578         rootType = forMarshaling->sType;
9579     }
9580     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9581     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags,
9582            sizeof(VkImageCompressionFlagsEXT));
9583     *ptr += sizeof(VkImageCompressionFlagsEXT);
9584     memcpy(*ptr,
9585            (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags,
9586            sizeof(VkImageCompressionFixedRateFlagsEXT));
9587     *ptr += sizeof(VkImageCompressionFixedRateFlagsEXT);
9588 }
9589 
9590 #endif
9591 #ifdef VK_EXT_4444_formats
reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)9592 void reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
9593     VulkanStreamGuest* vkStream, VkStructureType rootType,
9594     const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
9595     (void)vkStream;
9596     (void)rootType;
9597     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9598     *ptr += sizeof(VkStructureType);
9599     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9600         rootType = forMarshaling->sType;
9601     }
9602     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9603     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4R4G4B4, sizeof(VkBool32));
9604     *ptr += sizeof(VkBool32);
9605     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
9606     *ptr += sizeof(VkBool32);
9607 }
9608 
9609 #endif
9610 #ifdef VK_EXT_primitive_topology_list_restart
reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forMarshaling,uint8_t ** ptr)9611 void reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
9612     VulkanStreamGuest* vkStream, VkStructureType rootType,
9613     const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling, uint8_t** ptr) {
9614     (void)vkStream;
9615     (void)rootType;
9616     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9617     *ptr += sizeof(VkStructureType);
9618     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9619         rootType = forMarshaling->sType;
9620     }
9621     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9622     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
9623     *ptr += sizeof(VkBool32);
9624     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
9625     *ptr += sizeof(VkBool32);
9626 }
9627 
9628 #endif
9629 #ifdef VK_EXT_extended_dynamic_state2
reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forMarshaling,uint8_t ** ptr)9630 void reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
9631     VulkanStreamGuest* vkStream, VkStructureType rootType,
9632     const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling, uint8_t** ptr) {
9633     (void)vkStream;
9634     (void)rootType;
9635     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9636     *ptr += sizeof(VkStructureType);
9637     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9638         rootType = forMarshaling->sType;
9639     }
9640     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9641     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2, sizeof(VkBool32));
9642     *ptr += sizeof(VkBool32);
9643     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
9644     *ptr += sizeof(VkBool32);
9645     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
9646            sizeof(VkBool32));
9647     *ptr += sizeof(VkBool32);
9648 }
9649 
9650 #endif
9651 #ifdef VK_EXT_color_write_enable
reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * forMarshaling,uint8_t ** ptr)9652 void reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
9653     VulkanStreamGuest* vkStream, VkStructureType rootType,
9654     const VkPhysicalDeviceColorWriteEnableFeaturesEXT* 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->colorWriteEnable, sizeof(VkBool32));
9664     *ptr += sizeof(VkBool32);
9665 }
9666 
reservedmarshal_VkPipelineColorWriteCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * forMarshaling,uint8_t ** ptr)9667 void reservedmarshal_VkPipelineColorWriteCreateInfoEXT(
9668     VulkanStreamGuest* vkStream, VkStructureType rootType,
9669     const VkPipelineColorWriteCreateInfoEXT* 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->attachmentCount, sizeof(uint32_t));
9679     *ptr += sizeof(uint32_t);
9680     memcpy(*ptr, (const VkBool32*)forMarshaling->pColorWriteEnables,
9681            forMarshaling->attachmentCount * sizeof(const VkBool32));
9682     *ptr += forMarshaling->attachmentCount * sizeof(const VkBool32);
9683 }
9684 
9685 #endif
9686 #ifdef VK_GOOGLE_gfxstream
reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportColorBufferGOOGLE * forMarshaling,uint8_t ** ptr)9687 void reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest* vkStream,
9688                                                VkStructureType rootType,
9689                                                const VkImportColorBufferGOOGLE* forMarshaling,
9690                                                uint8_t** ptr) {
9691     (void)vkStream;
9692     (void)rootType;
9693     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9694     *ptr += sizeof(VkStructureType);
9695     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9696         rootType = forMarshaling->sType;
9697     }
9698     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9699     memcpy(*ptr, (uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
9700     *ptr += sizeof(uint32_t);
9701 }
9702 
reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportBufferGOOGLE * forMarshaling,uint8_t ** ptr)9703 void reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
9704                                           const VkImportBufferGOOGLE* forMarshaling,
9705                                           uint8_t** ptr) {
9706     (void)vkStream;
9707     (void)rootType;
9708     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9709     *ptr += sizeof(VkStructureType);
9710     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9711         rootType = forMarshaling->sType;
9712     }
9713     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9714     memcpy(*ptr, (uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
9715     *ptr += sizeof(uint32_t);
9716 }
9717 
reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCreateBlobGOOGLE * forMarshaling,uint8_t ** ptr)9718 void reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
9719                                         const VkCreateBlobGOOGLE* forMarshaling, uint8_t** ptr) {
9720     (void)vkStream;
9721     (void)rootType;
9722     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9723     *ptr += sizeof(VkStructureType);
9724     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9725         rootType = forMarshaling->sType;
9726     }
9727     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9728     memcpy(*ptr, (uint32_t*)&forMarshaling->blobMem, sizeof(uint32_t));
9729     *ptr += sizeof(uint32_t);
9730     memcpy(*ptr, (uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
9731     *ptr += sizeof(uint32_t);
9732     memcpy(*ptr, (uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
9733     *ptr += sizeof(uint64_t);
9734 }
9735 
9736 #endif
9737 #ifdef VK_EXT_image_compression_control_swapchain
reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forMarshaling,uint8_t ** ptr)9738 void reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
9739     VulkanStreamGuest* vkStream, VkStructureType rootType,
9740     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling,
9741     uint8_t** ptr) {
9742     (void)vkStream;
9743     (void)rootType;
9744     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9745     *ptr += sizeof(VkStructureType);
9746     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9747         rootType = forMarshaling->sType;
9748     }
9749     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9750     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
9751     *ptr += sizeof(VkBool32);
9752 }
9753 
9754 #endif
reservedmarshal_extension_struct(VulkanStreamGuest * vkStream,VkStructureType rootType,const void * structExtension,uint8_t ** ptr)9755 void reservedmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
9756                                       const void* structExtension, uint8_t** ptr) {
9757     VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
9758     uint32_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
9759         vkStream->getFeatureBits(), rootType, structExtension);
9760     if (!currExtSize && structExtension) {
9761         // unknown struct extension; skip and call on its pNext field
9762         reservedmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext, ptr);
9763         return;
9764     } else {
9765         // known or null extension struct
9766         memcpy(*ptr, &currExtSize, sizeof(uint32_t));
9767         ;
9768         gfxstream::aemu::Stream::toBe32((uint8_t*)*ptr);
9769         *ptr += sizeof(uint32_t);
9770         if (!currExtSize) {
9771             // exit if this was a null extension struct (size == 0 in this branch)
9772             return;
9773         }
9774     }
9775     memcpy(*ptr, structExtension, sizeof(VkStructureType));
9776     *ptr += sizeof(VkStructureType);
9777     if (!structExtension) {
9778         return;
9779     }
9780     uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
9781     switch (structType) {
9782 #ifdef VK_VERSION_1_0
9783         case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
9784             reservedmarshal_VkShaderModuleCreateInfo(
9785                 vkStream, rootType,
9786                 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), ptr);
9787             break;
9788         }
9789         case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: {
9790             reservedmarshal_VkPipelineLayoutCreateInfo(
9791                 vkStream, rootType,
9792                 reinterpret_cast<const VkPipelineLayoutCreateInfo*>(structExtension), ptr);
9793             break;
9794         }
9795 #endif
9796 #ifdef VK_VERSION_1_1
9797         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
9798             reservedmarshal_VkPhysicalDeviceSubgroupProperties(
9799                 vkStream, rootType,
9800                 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), ptr);
9801             break;
9802         }
9803         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
9804             reservedmarshal_VkPhysicalDevice16BitStorageFeatures(
9805                 vkStream, rootType,
9806                 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
9807                 ptr);
9808             break;
9809         }
9810         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
9811             reservedmarshal_VkMemoryDedicatedRequirements(
9812                 vkStream, rootType,
9813                 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), ptr);
9814             break;
9815         }
9816         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
9817             reservedmarshal_VkMemoryDedicatedAllocateInfo(
9818                 vkStream, rootType,
9819                 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), ptr);
9820             break;
9821         }
9822         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
9823             reservedmarshal_VkMemoryAllocateFlagsInfo(
9824                 vkStream, rootType,
9825                 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), ptr);
9826             break;
9827         }
9828         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
9829             reservedmarshal_VkDeviceGroupRenderPassBeginInfo(
9830                 vkStream, rootType,
9831                 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), ptr);
9832             break;
9833         }
9834         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
9835             reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(
9836                 vkStream, rootType,
9837                 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), ptr);
9838             break;
9839         }
9840         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
9841             reservedmarshal_VkDeviceGroupSubmitInfo(
9842                 vkStream, rootType,
9843                 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), ptr);
9844             break;
9845         }
9846         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
9847             reservedmarshal_VkDeviceGroupBindSparseInfo(
9848                 vkStream, rootType,
9849                 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), ptr);
9850             break;
9851         }
9852         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
9853             reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(
9854                 vkStream, rootType,
9855                 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), ptr);
9856             break;
9857         }
9858         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
9859             reservedmarshal_VkBindImageMemoryDeviceGroupInfo(
9860                 vkStream, rootType,
9861                 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), ptr);
9862             break;
9863         }
9864         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
9865             reservedmarshal_VkDeviceGroupDeviceCreateInfo(
9866                 vkStream, rootType,
9867                 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), ptr);
9868             break;
9869         }
9870         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
9871             reservedmarshal_VkPhysicalDeviceFeatures2(
9872                 vkStream, rootType,
9873                 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), ptr);
9874             break;
9875         }
9876         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
9877             reservedmarshal_VkPhysicalDevicePointClippingProperties(
9878                 vkStream, rootType,
9879                 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
9880                 ptr);
9881             break;
9882         }
9883         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
9884             reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
9885                 vkStream, rootType,
9886                 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
9887                     structExtension),
9888                 ptr);
9889             break;
9890         }
9891         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
9892             reservedmarshal_VkImageViewUsageCreateInfo(
9893                 vkStream, rootType,
9894                 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), ptr);
9895             break;
9896         }
9897         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
9898             reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
9899                 vkStream, rootType,
9900                 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
9901                     structExtension),
9902                 ptr);
9903             break;
9904         }
9905         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
9906             reservedmarshal_VkRenderPassMultiviewCreateInfo(
9907                 vkStream, rootType,
9908                 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), ptr);
9909             break;
9910         }
9911         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
9912             reservedmarshal_VkPhysicalDeviceMultiviewFeatures(
9913                 vkStream, rootType,
9914                 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), ptr);
9915             break;
9916         }
9917         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
9918             reservedmarshal_VkPhysicalDeviceMultiviewProperties(
9919                 vkStream, rootType,
9920                 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), ptr);
9921             break;
9922         }
9923         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
9924             reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(
9925                 vkStream, rootType,
9926                 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
9927                 ptr);
9928             break;
9929         }
9930         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
9931             reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
9932                 vkStream, rootType,
9933                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
9934                 ptr);
9935             break;
9936         }
9937         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
9938             reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(
9939                 vkStream, rootType,
9940                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
9941                 ptr);
9942             break;
9943         }
9944         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
9945             reservedmarshal_VkProtectedSubmitInfo(
9946                 vkStream, rootType, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension),
9947                 ptr);
9948             break;
9949         }
9950         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
9951             reservedmarshal_VkSamplerYcbcrConversionInfo(
9952                 vkStream, rootType,
9953                 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), ptr);
9954             break;
9955         }
9956         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
9957             reservedmarshal_VkBindImagePlaneMemoryInfo(
9958                 vkStream, rootType,
9959                 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), ptr);
9960             break;
9961         }
9962         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
9963             reservedmarshal_VkImagePlaneMemoryRequirementsInfo(
9964                 vkStream, rootType,
9965                 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), ptr);
9966             break;
9967         }
9968         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
9969             reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
9970                 vkStream, rootType,
9971                 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
9972                     structExtension),
9973                 ptr);
9974             break;
9975         }
9976         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
9977             reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(
9978                 vkStream, rootType,
9979                 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
9980                     structExtension),
9981                 ptr);
9982             break;
9983         }
9984         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
9985             reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(
9986                 vkStream, rootType,
9987                 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
9988                 ptr);
9989             break;
9990         }
9991         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
9992             reservedmarshal_VkExternalImageFormatProperties(
9993                 vkStream, rootType,
9994                 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), ptr);
9995             break;
9996         }
9997         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
9998             reservedmarshal_VkPhysicalDeviceIDProperties(
9999                 vkStream, rootType,
10000                 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), ptr);
10001             break;
10002         }
10003         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
10004             reservedmarshal_VkExternalMemoryImageCreateInfo(
10005                 vkStream, rootType,
10006                 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), ptr);
10007             break;
10008         }
10009         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
10010             reservedmarshal_VkExternalMemoryBufferCreateInfo(
10011                 vkStream, rootType,
10012                 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), ptr);
10013             break;
10014         }
10015         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
10016             reservedmarshal_VkExportMemoryAllocateInfo(
10017                 vkStream, rootType,
10018                 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), ptr);
10019             break;
10020         }
10021         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
10022             reservedmarshal_VkExportFenceCreateInfo(
10023                 vkStream, rootType,
10024                 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), ptr);
10025             break;
10026         }
10027         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
10028             reservedmarshal_VkExportSemaphoreCreateInfo(
10029                 vkStream, rootType,
10030                 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), ptr);
10031             break;
10032         }
10033         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
10034             reservedmarshal_VkPhysicalDeviceMaintenance3Properties(
10035                 vkStream, rootType,
10036                 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
10037                 ptr);
10038             break;
10039         }
10040         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
10041             reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
10042                 vkStream, rootType,
10043                 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
10044                     structExtension),
10045                 ptr);
10046             break;
10047         }
10048 #endif
10049 #ifdef VK_VERSION_1_2
10050         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
10051             reservedmarshal_VkPhysicalDeviceVulkan11Features(
10052                 vkStream, rootType,
10053                 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), ptr);
10054             break;
10055         }
10056         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
10057             reservedmarshal_VkPhysicalDeviceVulkan11Properties(
10058                 vkStream, rootType,
10059                 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension), ptr);
10060             break;
10061         }
10062         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
10063             reservedmarshal_VkPhysicalDeviceVulkan12Features(
10064                 vkStream, rootType,
10065                 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), ptr);
10066             break;
10067         }
10068         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
10069             reservedmarshal_VkPhysicalDeviceVulkan12Properties(
10070                 vkStream, rootType,
10071                 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension), ptr);
10072             break;
10073         }
10074         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
10075             reservedmarshal_VkImageFormatListCreateInfo(
10076                 vkStream, rootType,
10077                 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), ptr);
10078             break;
10079         }
10080         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
10081             reservedmarshal_VkPhysicalDevice8BitStorageFeatures(
10082                 vkStream, rootType,
10083                 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension), ptr);
10084             break;
10085         }
10086         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
10087             reservedmarshal_VkPhysicalDeviceDriverProperties(
10088                 vkStream, rootType,
10089                 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), ptr);
10090             break;
10091         }
10092         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
10093             reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
10094                 vkStream, rootType,
10095                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
10096                 ptr);
10097             break;
10098         }
10099         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
10100             reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
10101                 vkStream, rootType,
10102                 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
10103                 ptr);
10104             break;
10105         }
10106         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
10107             reservedmarshal_VkPhysicalDeviceFloatControlsProperties(
10108                 vkStream, rootType,
10109                 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
10110                 ptr);
10111             break;
10112         }
10113         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
10114             reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
10115                 vkStream, rootType,
10116                 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
10117                     structExtension),
10118                 ptr);
10119             break;
10120         }
10121         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
10122             reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
10123                 vkStream, rootType,
10124                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
10125                     structExtension),
10126                 ptr);
10127             break;
10128         }
10129         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
10130             reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
10131                 vkStream, rootType,
10132                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
10133                     structExtension),
10134                 ptr);
10135             break;
10136         }
10137         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
10138             reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
10139                 vkStream, rootType,
10140                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
10141                     structExtension),
10142                 ptr);
10143             break;
10144         }
10145         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
10146             reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
10147                 vkStream, rootType,
10148                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
10149                     structExtension),
10150                 ptr);
10151             break;
10152         }
10153         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
10154             reservedmarshal_VkSubpassDescriptionDepthStencilResolve(
10155                 vkStream, rootType,
10156                 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
10157                 ptr);
10158             break;
10159         }
10160         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
10161             reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
10162                 vkStream, rootType,
10163                 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
10164                     structExtension),
10165                 ptr);
10166             break;
10167         }
10168         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
10169             reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
10170                 vkStream, rootType,
10171                 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
10172                 ptr);
10173             break;
10174         }
10175         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
10176             reservedmarshal_VkImageStencilUsageCreateInfo(
10177                 vkStream, rootType,
10178                 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), ptr);
10179             break;
10180         }
10181         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
10182             reservedmarshal_VkSamplerReductionModeCreateInfo(
10183                 vkStream, rootType,
10184                 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), ptr);
10185             break;
10186         }
10187         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
10188             reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
10189                 vkStream, rootType,
10190                 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
10191                     structExtension),
10192                 ptr);
10193             break;
10194         }
10195         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
10196             reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
10197                 vkStream, rootType,
10198                 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
10199                 ptr);
10200             break;
10201         }
10202         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
10203             reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
10204                 vkStream, rootType,
10205                 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
10206                     structExtension),
10207                 ptr);
10208             break;
10209         }
10210         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
10211             reservedmarshal_VkFramebufferAttachmentsCreateInfo(
10212                 vkStream, rootType,
10213                 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension), ptr);
10214             break;
10215         }
10216         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
10217             reservedmarshal_VkRenderPassAttachmentBeginInfo(
10218                 vkStream, rootType,
10219                 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), ptr);
10220             break;
10221         }
10222         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
10223             reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
10224                 vkStream, rootType,
10225                 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
10226                     structExtension),
10227                 ptr);
10228             break;
10229         }
10230         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
10231             reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
10232                 vkStream, rootType,
10233                 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
10234                     structExtension),
10235                 ptr);
10236             break;
10237         }
10238         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
10239             reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
10240                 vkStream, rootType,
10241                 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
10242                     structExtension),
10243                 ptr);
10244             break;
10245         }
10246         case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
10247             reservedmarshal_VkAttachmentReferenceStencilLayout(
10248                 vkStream, rootType,
10249                 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension), ptr);
10250             break;
10251         }
10252         case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
10253             reservedmarshal_VkAttachmentDescriptionStencilLayout(
10254                 vkStream, rootType,
10255                 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
10256                 ptr);
10257             break;
10258         }
10259         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
10260             reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(
10261                 vkStream, rootType,
10262                 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
10263                 ptr);
10264             break;
10265         }
10266         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
10267             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
10268                 vkStream, rootType,
10269                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
10270                 ptr);
10271             break;
10272         }
10273         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
10274             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
10275                 vkStream, rootType,
10276                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
10277                     structExtension),
10278                 ptr);
10279             break;
10280         }
10281         case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
10282             reservedmarshal_VkSemaphoreTypeCreateInfo(
10283                 vkStream, rootType,
10284                 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), ptr);
10285             break;
10286         }
10287         case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
10288             reservedmarshal_VkTimelineSemaphoreSubmitInfo(
10289                 vkStream, rootType,
10290                 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), ptr);
10291             break;
10292         }
10293         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
10294             reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
10295                 vkStream, rootType,
10296                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
10297                     structExtension),
10298                 ptr);
10299             break;
10300         }
10301         case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
10302             reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
10303                 vkStream, rootType,
10304                 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
10305                 ptr);
10306             break;
10307         }
10308         case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
10309             reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
10310                 vkStream, rootType,
10311                 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
10312                 ptr);
10313             break;
10314         }
10315 #endif
10316 #ifdef VK_VERSION_1_3
10317         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
10318             reservedmarshal_VkPhysicalDeviceVulkan13Features(
10319                 vkStream, rootType,
10320                 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), ptr);
10321             break;
10322         }
10323         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
10324             reservedmarshal_VkPhysicalDeviceVulkan13Properties(
10325                 vkStream, rootType,
10326                 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension), ptr);
10327             break;
10328         }
10329         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
10330             reservedmarshal_VkPipelineCreationFeedbackCreateInfo(
10331                 vkStream, rootType,
10332                 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
10333                 ptr);
10334             break;
10335         }
10336         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
10337             reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
10338                 vkStream, rootType,
10339                 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
10340                     structExtension),
10341                 ptr);
10342             break;
10343         }
10344         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
10345             reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
10346                 vkStream, rootType,
10347                 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
10348                     structExtension),
10349                 ptr);
10350             break;
10351         }
10352         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
10353             reservedmarshal_VkPhysicalDevicePrivateDataFeatures(
10354                 vkStream, rootType,
10355                 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension), ptr);
10356             break;
10357         }
10358         case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
10359             reservedmarshal_VkDevicePrivateDataCreateInfo(
10360                 vkStream, rootType,
10361                 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), ptr);
10362             break;
10363         }
10364         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
10365             reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
10366                 vkStream, rootType,
10367                 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
10368                     structExtension),
10369                 ptr);
10370             break;
10371         }
10372         case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
10373             reservedmarshal_VkMemoryBarrier2(
10374                 vkStream, rootType, reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
10375                 ptr);
10376             break;
10377         }
10378         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
10379             reservedmarshal_VkPhysicalDeviceSynchronization2Features(
10380                 vkStream, rootType,
10381                 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
10382                 ptr);
10383             break;
10384         }
10385         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
10386             reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
10387                 vkStream, rootType,
10388                 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
10389                     structExtension),
10390                 ptr);
10391             break;
10392         }
10393         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
10394             reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(
10395                 vkStream, rootType,
10396                 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
10397                 ptr);
10398             break;
10399         }
10400         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
10401             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
10402                 vkStream, rootType,
10403                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
10404                     structExtension),
10405                 ptr);
10406             break;
10407         }
10408         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
10409             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
10410                 vkStream, rootType,
10411                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
10412                     structExtension),
10413                 ptr);
10414             break;
10415         }
10416         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
10417             reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
10418                 vkStream, rootType,
10419                 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
10420                     structExtension),
10421                 ptr);
10422             break;
10423         }
10424         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
10425             reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
10426                 vkStream, rootType,
10427                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
10428                     structExtension),
10429                 ptr);
10430             break;
10431         }
10432         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
10433             reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
10434                 vkStream, rootType,
10435                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
10436                     structExtension),
10437                 ptr);
10438             break;
10439         }
10440         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
10441             reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(
10442                 vkStream, rootType,
10443                 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
10444                 ptr);
10445             break;
10446         }
10447         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
10448             reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
10449                 vkStream, rootType,
10450                 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
10451                     structExtension),
10452                 ptr);
10453             break;
10454         }
10455         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
10456             reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
10457                 vkStream, rootType,
10458                 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
10459                     structExtension),
10460                 ptr);
10461             break;
10462         }
10463         case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
10464             reservedmarshal_VkPipelineRenderingCreateInfo(
10465                 vkStream, rootType,
10466                 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), ptr);
10467             break;
10468         }
10469         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
10470             reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
10471                 vkStream, rootType,
10472                 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
10473                 ptr);
10474             break;
10475         }
10476         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
10477             reservedmarshal_VkCommandBufferInheritanceRenderingInfo(
10478                 vkStream, rootType,
10479                 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
10480                 ptr);
10481             break;
10482         }
10483         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
10484             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
10485                 vkStream, rootType,
10486                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
10487                     structExtension),
10488                 ptr);
10489             break;
10490         }
10491         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
10492             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
10493                 vkStream, rootType,
10494                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
10495                     structExtension),
10496                 ptr);
10497             break;
10498         }
10499         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
10500             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
10501                 vkStream, rootType,
10502                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
10503                     structExtension),
10504                 ptr);
10505             break;
10506         }
10507         case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
10508             reservedmarshal_VkFormatProperties3(
10509                 vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension),
10510                 ptr);
10511             break;
10512         }
10513         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
10514             reservedmarshal_VkPhysicalDeviceMaintenance4Features(
10515                 vkStream, rootType,
10516                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
10517                 ptr);
10518             break;
10519         }
10520         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
10521             reservedmarshal_VkPhysicalDeviceMaintenance4Properties(
10522                 vkStream, rootType,
10523                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
10524                 ptr);
10525             break;
10526         }
10527 #endif
10528 #ifdef VK_VERSION_1_4
10529         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: {
10530             reservedmarshal_VkPhysicalDeviceVulkan14Features(
10531                 vkStream, rootType,
10532                 reinterpret_cast<const VkPhysicalDeviceVulkan14Features*>(structExtension), ptr);
10533             break;
10534         }
10535         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: {
10536             reservedmarshal_VkPhysicalDeviceVulkan14Properties(
10537                 vkStream, rootType,
10538                 reinterpret_cast<const VkPhysicalDeviceVulkan14Properties*>(structExtension), ptr);
10539             break;
10540         }
10541         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: {
10542             reservedmarshal_VkDeviceQueueGlobalPriorityCreateInfo(
10543                 vkStream, rootType,
10544                 reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfo*>(structExtension),
10545                 ptr);
10546             break;
10547         }
10548         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: {
10549             reservedmarshal_VkPhysicalDeviceGlobalPriorityQueryFeatures(
10550                 vkStream, rootType,
10551                 reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeatures*>(
10552                     structExtension),
10553                 ptr);
10554             break;
10555         }
10556         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: {
10557             reservedmarshal_VkQueueFamilyGlobalPriorityProperties(
10558                 vkStream, rootType,
10559                 reinterpret_cast<const VkQueueFamilyGlobalPriorityProperties*>(structExtension),
10560                 ptr);
10561             break;
10562         }
10563         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: {
10564             reservedmarshal_VkPhysicalDeviceShaderSubgroupRotateFeatures(
10565                 vkStream, rootType,
10566                 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupRotateFeatures*>(
10567                     structExtension),
10568                 ptr);
10569             break;
10570         }
10571         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: {
10572             reservedmarshal_VkPhysicalDeviceShaderFloatControls2Features(
10573                 vkStream, rootType,
10574                 reinterpret_cast<const VkPhysicalDeviceShaderFloatControls2Features*>(
10575                     structExtension),
10576                 ptr);
10577             break;
10578         }
10579         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: {
10580             reservedmarshal_VkPhysicalDeviceShaderExpectAssumeFeatures(
10581                 vkStream, rootType,
10582                 reinterpret_cast<const VkPhysicalDeviceShaderExpectAssumeFeatures*>(
10583                     structExtension),
10584                 ptr);
10585             break;
10586         }
10587         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: {
10588             reservedmarshal_VkPhysicalDeviceLineRasterizationFeatures(
10589                 vkStream, rootType,
10590                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeatures*>(structExtension),
10591                 ptr);
10592             break;
10593         }
10594         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: {
10595             reservedmarshal_VkPhysicalDeviceLineRasterizationProperties(
10596                 vkStream, rootType,
10597                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationProperties*>(
10598                     structExtension),
10599                 ptr);
10600             break;
10601         }
10602         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: {
10603             reservedmarshal_VkPipelineRasterizationLineStateCreateInfo(
10604                 vkStream, rootType,
10605                 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfo*>(
10606                     structExtension),
10607                 ptr);
10608             break;
10609         }
10610         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: {
10611             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorProperties(
10612                 vkStream, rootType,
10613                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorProperties*>(
10614                     structExtension),
10615                 ptr);
10616             break;
10617         }
10618         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: {
10619             reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfo(
10620                 vkStream, rootType,
10621                 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfo*>(
10622                     structExtension),
10623                 ptr);
10624             break;
10625         }
10626         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: {
10627             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeatures(
10628                 vkStream, rootType,
10629                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeatures*>(
10630                     structExtension),
10631                 ptr);
10632             break;
10633         }
10634         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: {
10635             reservedmarshal_VkPhysicalDeviceIndexTypeUint8Features(
10636                 vkStream, rootType,
10637                 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8Features*>(structExtension),
10638                 ptr);
10639             break;
10640         }
10641         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: {
10642             reservedmarshal_VkPhysicalDeviceMaintenance5Features(
10643                 vkStream, rootType,
10644                 reinterpret_cast<const VkPhysicalDeviceMaintenance5Features*>(structExtension),
10645                 ptr);
10646             break;
10647         }
10648         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: {
10649             reservedmarshal_VkPhysicalDeviceMaintenance5Properties(
10650                 vkStream, rootType,
10651                 reinterpret_cast<const VkPhysicalDeviceMaintenance5Properties*>(structExtension),
10652                 ptr);
10653             break;
10654         }
10655         case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: {
10656             reservedmarshal_VkPipelineCreateFlags2CreateInfo(
10657                 vkStream, rootType,
10658                 reinterpret_cast<const VkPipelineCreateFlags2CreateInfo*>(structExtension), ptr);
10659             break;
10660         }
10661         case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: {
10662             reservedmarshal_VkBufferUsageFlags2CreateInfo(
10663                 vkStream, rootType,
10664                 reinterpret_cast<const VkBufferUsageFlags2CreateInfo*>(structExtension), ptr);
10665             break;
10666         }
10667         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: {
10668             reservedmarshal_VkPhysicalDevicePushDescriptorProperties(
10669                 vkStream, rootType,
10670                 reinterpret_cast<const VkPhysicalDevicePushDescriptorProperties*>(structExtension),
10671                 ptr);
10672             break;
10673         }
10674         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: {
10675             reservedmarshal_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(
10676                 vkStream, rootType,
10677                 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingLocalReadFeatures*>(
10678                     structExtension),
10679                 ptr);
10680             break;
10681         }
10682         case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: {
10683             reservedmarshal_VkRenderingAttachmentLocationInfo(
10684                 vkStream, rootType,
10685                 reinterpret_cast<const VkRenderingAttachmentLocationInfo*>(structExtension), ptr);
10686             break;
10687         }
10688         case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: {
10689             reservedmarshal_VkRenderingInputAttachmentIndexInfo(
10690                 vkStream, rootType,
10691                 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo*>(structExtension), ptr);
10692             break;
10693         }
10694         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: {
10695             reservedmarshal_VkPhysicalDeviceMaintenance6Features(
10696                 vkStream, rootType,
10697                 reinterpret_cast<const VkPhysicalDeviceMaintenance6Features*>(structExtension),
10698                 ptr);
10699             break;
10700         }
10701         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: {
10702             reservedmarshal_VkPhysicalDeviceMaintenance6Properties(
10703                 vkStream, rootType,
10704                 reinterpret_cast<const VkPhysicalDeviceMaintenance6Properties*>(structExtension),
10705                 ptr);
10706             break;
10707         }
10708         case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: {
10709             reservedmarshal_VkBindMemoryStatus(
10710                 vkStream, rootType, reinterpret_cast<const VkBindMemoryStatus*>(structExtension),
10711                 ptr);
10712             break;
10713         }
10714         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: {
10715             reservedmarshal_VkPhysicalDevicePipelineProtectedAccessFeatures(
10716                 vkStream, rootType,
10717                 reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeatures*>(
10718                     structExtension),
10719                 ptr);
10720             break;
10721         }
10722         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: {
10723             reservedmarshal_VkPhysicalDevicePipelineRobustnessFeatures(
10724                 vkStream, rootType,
10725                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeatures*>(
10726                     structExtension),
10727                 ptr);
10728             break;
10729         }
10730         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: {
10731             reservedmarshal_VkPhysicalDevicePipelineRobustnessProperties(
10732                 vkStream, rootType,
10733                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessProperties*>(
10734                     structExtension),
10735                 ptr);
10736             break;
10737         }
10738         case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: {
10739             reservedmarshal_VkPipelineRobustnessCreateInfo(
10740                 vkStream, rootType,
10741                 reinterpret_cast<const VkPipelineRobustnessCreateInfo*>(structExtension), ptr);
10742             break;
10743         }
10744         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: {
10745             reservedmarshal_VkPhysicalDeviceHostImageCopyFeatures(
10746                 vkStream, rootType,
10747                 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeatures*>(structExtension),
10748                 ptr);
10749             break;
10750         }
10751         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: {
10752             reservedmarshal_VkPhysicalDeviceHostImageCopyProperties(
10753                 vkStream, rootType,
10754                 reinterpret_cast<const VkPhysicalDeviceHostImageCopyProperties*>(structExtension),
10755                 ptr);
10756             break;
10757         }
10758         case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: {
10759             reservedmarshal_VkSubresourceHostMemcpySize(
10760                 vkStream, rootType,
10761                 reinterpret_cast<const VkSubresourceHostMemcpySize*>(structExtension), ptr);
10762             break;
10763         }
10764         case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: {
10765             reservedmarshal_VkHostImageCopyDevicePerformanceQuery(
10766                 vkStream, rootType,
10767                 reinterpret_cast<const VkHostImageCopyDevicePerformanceQuery*>(structExtension),
10768                 ptr);
10769             break;
10770         }
10771 #endif
10772 #ifdef VK_KHR_incremental_present
10773         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
10774             reservedmarshal_VkPresentRegionsKHR(
10775                 vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
10776                 ptr);
10777             break;
10778         }
10779 #endif
10780 #ifdef VK_KHR_pipeline_executable_properties
10781         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
10782             reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
10783                 vkStream, rootType,
10784                 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
10785                     structExtension),
10786                 ptr);
10787             break;
10788         }
10789 #endif
10790 #ifdef VK_ANDROID_native_buffer
10791         case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
10792             reservedmarshal_VkNativeBufferANDROID(
10793                 vkStream, rootType, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension),
10794                 ptr);
10795             break;
10796         }
10797 #endif
10798 #ifdef VK_EXT_transform_feedback
10799         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
10800             reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
10801                 vkStream, rootType,
10802                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
10803                     structExtension),
10804                 ptr);
10805             break;
10806         }
10807         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
10808             reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
10809                 vkStream, rootType,
10810                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
10811                     structExtension),
10812                 ptr);
10813             break;
10814         }
10815         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
10816             reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
10817                 vkStream, rootType,
10818                 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
10819                     structExtension),
10820                 ptr);
10821             break;
10822         }
10823 #endif
10824 #ifdef VK_EXT_depth_clip_enable
10825         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
10826             reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
10827                 vkStream, rootType,
10828                 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
10829                     structExtension),
10830                 ptr);
10831             break;
10832         }
10833         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
10834             reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
10835                 vkStream, rootType,
10836                 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
10837                     structExtension),
10838                 ptr);
10839             break;
10840         }
10841 #endif
10842 #ifdef VK_EXT_image_drm_format_modifier
10843         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
10844             reservedmarshal_VkDrmFormatModifierPropertiesListEXT(
10845                 vkStream, rootType,
10846                 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
10847                 ptr);
10848             break;
10849         }
10850         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
10851             reservedmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
10852                 vkStream, rootType,
10853                 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
10854                     structExtension),
10855                 ptr);
10856             break;
10857         }
10858         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
10859             reservedmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
10860                 vkStream, rootType,
10861                 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
10862                 ptr);
10863             break;
10864         }
10865         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
10866             reservedmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
10867                 vkStream, rootType,
10868                 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
10869                     structExtension),
10870                 ptr);
10871             break;
10872         }
10873         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
10874             reservedmarshal_VkDrmFormatModifierPropertiesList2EXT(
10875                 vkStream, rootType,
10876                 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
10877                 ptr);
10878             break;
10879         }
10880 #endif
10881 #ifdef VK_EXT_vertex_attribute_divisor
10882         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
10883             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
10884                 vkStream, rootType,
10885                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
10886                     structExtension),
10887                 ptr);
10888             break;
10889         }
10890 #endif
10891 #ifdef VK_EXT_fragment_density_map
10892         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
10893             switch (rootType) {
10894                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
10895                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10896                         vkStream, rootType,
10897                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10898                             structExtension),
10899                         ptr);
10900                     break;
10901                 }
10902                 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
10903                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10904                         vkStream, rootType,
10905                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10906                             structExtension),
10907                         ptr);
10908                     break;
10909                 }
10910                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10911                     reservedmarshal_VkImportColorBufferGOOGLE(
10912                         vkStream, rootType,
10913                         reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
10914                     break;
10915                 }
10916                 default: {
10917                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10918                         vkStream, rootType,
10919                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10920                             structExtension),
10921                         ptr);
10922                     break;
10923                 }
10924             }
10925             break;
10926         }
10927         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
10928             switch (rootType) {
10929                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
10930                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
10931                         vkStream, rootType,
10932                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
10933                             structExtension),
10934                         ptr);
10935                     break;
10936                 }
10937                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10938                     reservedmarshal_VkCreateBlobGOOGLE(
10939                         vkStream, rootType,
10940                         reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), ptr);
10941                     break;
10942                 }
10943                 default: {
10944                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
10945                         vkStream, rootType,
10946                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
10947                             structExtension),
10948                         ptr);
10949                     break;
10950                 }
10951             }
10952             break;
10953         }
10954         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
10955             switch (rootType) {
10956                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
10957                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10958                         vkStream, rootType,
10959                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10960                             structExtension),
10961                         ptr);
10962                     break;
10963                 }
10964                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
10965                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10966                         vkStream, rootType,
10967                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10968                             structExtension),
10969                         ptr);
10970                     break;
10971                 }
10972                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10973                     reservedmarshal_VkImportBufferGOOGLE(
10974                         vkStream, rootType,
10975                         reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), ptr);
10976                     break;
10977                 }
10978                 default: {
10979                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10980                         vkStream, rootType,
10981                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10982                             structExtension),
10983                         ptr);
10984                     break;
10985                 }
10986             }
10987             break;
10988         }
10989         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
10990             reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
10991                 vkStream, rootType,
10992                 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
10993                     structExtension),
10994                 ptr);
10995             break;
10996         }
10997 #endif
10998 #ifdef VK_EXT_provoking_vertex
10999         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
11000             reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
11001                 vkStream, rootType,
11002                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
11003                     structExtension),
11004                 ptr);
11005             break;
11006         }
11007         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
11008             reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
11009                 vkStream, rootType,
11010                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
11011                     structExtension),
11012                 ptr);
11013             break;
11014         }
11015         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
11016             reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
11017                 vkStream, rootType,
11018                 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
11019                     structExtension),
11020                 ptr);
11021             break;
11022         }
11023 #endif
11024 #ifdef VK_EXT_extended_dynamic_state
11025         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
11026             reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
11027                 vkStream, rootType,
11028                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
11029                     structExtension),
11030                 ptr);
11031             break;
11032         }
11033 #endif
11034 #ifdef VK_EXT_texel_buffer_alignment
11035         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
11036             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
11037                 vkStream, rootType,
11038                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
11039                     structExtension),
11040                 ptr);
11041             break;
11042         }
11043 #endif
11044 #ifdef VK_EXT_device_memory_report
11045         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
11046             reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
11047                 vkStream, rootType,
11048                 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
11049                     structExtension),
11050                 ptr);
11051             break;
11052         }
11053         case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
11054             reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
11055                 vkStream, rootType,
11056                 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
11057                 ptr);
11058             break;
11059         }
11060 #endif
11061 #ifdef VK_EXT_robustness2
11062         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
11063             reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
11064                 vkStream, rootType,
11065                 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
11066                 ptr);
11067             break;
11068         }
11069         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
11070             reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
11071                 vkStream, rootType,
11072                 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
11073                 ptr);
11074             break;
11075         }
11076 #endif
11077 #ifdef VK_EXT_custom_border_color
11078         case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
11079             reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
11080                 vkStream, rootType,
11081                 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
11082                 ptr);
11083             break;
11084         }
11085         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
11086             reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
11087                 vkStream, rootType,
11088                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
11089                     structExtension),
11090                 ptr);
11091             break;
11092         }
11093         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
11094             reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
11095                 vkStream, rootType,
11096                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
11097                     structExtension),
11098                 ptr);
11099             break;
11100         }
11101 #endif
11102 #ifdef VK_EXT_graphics_pipeline_library
11103         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
11104             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
11105                 vkStream, rootType,
11106                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
11107                     structExtension),
11108                 ptr);
11109             break;
11110         }
11111         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
11112             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
11113                 vkStream, rootType,
11114                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
11115                     structExtension),
11116                 ptr);
11117             break;
11118         }
11119         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
11120             reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
11121                 vkStream, rootType,
11122                 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
11123                 ptr);
11124             break;
11125         }
11126 #endif
11127 #ifdef VK_EXT_ycbcr_2plane_444_formats
11128         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
11129             reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
11130                 vkStream, rootType,
11131                 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
11132                     structExtension),
11133                 ptr);
11134             break;
11135         }
11136 #endif
11137 #ifdef VK_EXT_image_compression_control
11138         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
11139             reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
11140                 vkStream, rootType,
11141                 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
11142                     structExtension),
11143                 ptr);
11144             break;
11145         }
11146         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
11147             reservedmarshal_VkImageCompressionControlEXT(
11148                 vkStream, rootType,
11149                 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), ptr);
11150             break;
11151         }
11152         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
11153             reservedmarshal_VkImageCompressionPropertiesEXT(
11154                 vkStream, rootType,
11155                 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), ptr);
11156             break;
11157         }
11158 #endif
11159 #ifdef VK_EXT_4444_formats
11160         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
11161             reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
11162                 vkStream, rootType,
11163                 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
11164                 ptr);
11165             break;
11166         }
11167 #endif
11168 #ifdef VK_EXT_primitive_topology_list_restart
11169         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
11170             reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
11171                 vkStream, rootType,
11172                 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
11173                     structExtension),
11174                 ptr);
11175             break;
11176         }
11177 #endif
11178 #ifdef VK_EXT_extended_dynamic_state2
11179         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
11180             reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
11181                 vkStream, rootType,
11182                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
11183                     structExtension),
11184                 ptr);
11185             break;
11186         }
11187 #endif
11188 #ifdef VK_EXT_color_write_enable
11189         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
11190             reservedmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
11191                 vkStream, rootType,
11192                 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
11193                     structExtension),
11194                 ptr);
11195             break;
11196         }
11197         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
11198             reservedmarshal_VkPipelineColorWriteCreateInfoEXT(
11199                 vkStream, rootType,
11200                 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension), ptr);
11201             break;
11202         }
11203 #endif
11204 #ifdef VK_GOOGLE_gfxstream
11205         case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
11206             reservedmarshal_VkImportColorBufferGOOGLE(
11207                 vkStream, rootType,
11208                 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
11209             break;
11210         }
11211         case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
11212             reservedmarshal_VkImportBufferGOOGLE(
11213                 vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension),
11214                 ptr);
11215             break;
11216         }
11217         case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
11218             reservedmarshal_VkCreateBlobGOOGLE(
11219                 vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
11220                 ptr);
11221             break;
11222         }
11223 #endif
11224 #ifdef VK_EXT_image_compression_control_swapchain
11225         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
11226             reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
11227                 vkStream, rootType,
11228                 reinterpret_cast<
11229                     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
11230                     structExtension),
11231                 ptr);
11232             break;
11233         }
11234 #endif
11235         default: {
11236             // fatal; the switch is only taken if the extension struct is known
11237             abort();
11238         }
11239     }
11240 }
11241 
11242 }  // namespace vk
11243 }  // namespace gfxstream
11244