• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 // Autogenerated module goldfish_vk_reserved_marshaling_guest
17 //
18 // (impl) generated by codegen/vulkan/vulkan-docs-next/scripts/genvk.py -registry
19 // codegen/vulkan/vulkan-docs-next/xml/vk.xml -registryGfxstream
20 // codegen/vulkan/vulkan-docs-next/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
21 //
22 // Please do not modify directly;
23 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
24 // or directly from Python by defining:
25 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
26 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
27 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
28 //
29 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
30 // $CEREAL_OUTPUT_DIR
31 //
32 
33 #include "goldfish_vk_reserved_marshaling_guest.h"
34 
35 #include <cstring>
36 
37 #include "Resources.h"
38 #include "goldfish_vk_extension_structs_guest.h"
39 #include "goldfish_vk_private_defs.h"
40 
41 namespace gfxstream {
42 namespace vk {
43 
44 void reservedmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
45                                       const void* structExtension, uint8_t** ptr);
46 
47 void reservedunmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
48                                         void* structExtension_out, uint8_t** ptr);
49 
50 #ifdef VK_VERSION_1_0
reservedmarshal_VkExtent2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent2D * forMarshaling,uint8_t ** ptr)51 void reservedmarshal_VkExtent2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
52                                 const VkExtent2D* forMarshaling, uint8_t** ptr) {
53     (void)vkStream;
54     (void)rootType;
55     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
56     *ptr += sizeof(uint32_t);
57     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
58     *ptr += sizeof(uint32_t);
59 }
60 
reservedmarshal_VkExtent3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent3D * forMarshaling,uint8_t ** ptr)61 void reservedmarshal_VkExtent3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
62                                 const VkExtent3D* forMarshaling, uint8_t** ptr) {
63     (void)vkStream;
64     (void)rootType;
65     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
66     *ptr += sizeof(uint32_t);
67     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
68     *ptr += sizeof(uint32_t);
69     memcpy(*ptr, (uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
70     *ptr += sizeof(uint32_t);
71 }
72 
reservedmarshal_VkOffset2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset2D * forMarshaling,uint8_t ** ptr)73 void reservedmarshal_VkOffset2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
74                                 const VkOffset2D* forMarshaling, uint8_t** ptr) {
75     (void)vkStream;
76     (void)rootType;
77     memcpy(*ptr, (int32_t*)&forMarshaling->x, sizeof(int32_t));
78     *ptr += sizeof(int32_t);
79     memcpy(*ptr, (int32_t*)&forMarshaling->y, sizeof(int32_t));
80     *ptr += sizeof(int32_t);
81 }
82 
reservedmarshal_VkOffset3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset3D * forMarshaling,uint8_t ** ptr)83 void reservedmarshal_VkOffset3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
84                                 const VkOffset3D* forMarshaling, uint8_t** ptr) {
85     (void)vkStream;
86     (void)rootType;
87     memcpy(*ptr, (int32_t*)&forMarshaling->x, sizeof(int32_t));
88     *ptr += sizeof(int32_t);
89     memcpy(*ptr, (int32_t*)&forMarshaling->y, sizeof(int32_t));
90     *ptr += sizeof(int32_t);
91     memcpy(*ptr, (int32_t*)&forMarshaling->z, sizeof(int32_t));
92     *ptr += sizeof(int32_t);
93 }
94 
reservedmarshal_VkRect2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRect2D * forMarshaling,uint8_t ** ptr)95 void reservedmarshal_VkRect2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
96                               const VkRect2D* forMarshaling, uint8_t** ptr) {
97     (void)vkStream;
98     (void)rootType;
99     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset), ptr);
100     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent), ptr);
101 }
102 
reservedmarshal_VkBaseInStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseInStructure * forMarshaling,uint8_t ** ptr)103 void reservedmarshal_VkBaseInStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
104                                        const VkBaseInStructure* forMarshaling, uint8_t** ptr) {
105     (void)vkStream;
106     (void)rootType;
107     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
108     *ptr += sizeof(VkStructureType);
109     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
110         rootType = forMarshaling->sType;
111     }
112     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
113 }
114 
reservedmarshal_VkBaseOutStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseOutStructure * forMarshaling,uint8_t ** ptr)115 void reservedmarshal_VkBaseOutStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
116                                         const VkBaseOutStructure* forMarshaling, uint8_t** ptr) {
117     (void)vkStream;
118     (void)rootType;
119     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
120     *ptr += sizeof(VkStructureType);
121     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
122         rootType = forMarshaling->sType;
123     }
124     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
125 }
126 
reservedmarshal_VkBufferMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier * forMarshaling,uint8_t ** ptr)127 void reservedmarshal_VkBufferMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
128                                            const VkBufferMemoryBarrier* forMarshaling,
129                                            uint8_t** ptr) {
130     (void)vkStream;
131     (void)rootType;
132     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
133     *ptr += sizeof(VkStructureType);
134     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
135         rootType = forMarshaling->sType;
136     }
137     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
138     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
139     *ptr += sizeof(VkAccessFlags);
140     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
141     *ptr += sizeof(VkAccessFlags);
142     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
143     *ptr += sizeof(uint32_t);
144     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
145     *ptr += sizeof(uint32_t);
146     uint64_t cgen_var_0;
147     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
148     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
149     *ptr += 1 * 8;
150     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
151     *ptr += sizeof(VkDeviceSize);
152     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
153     *ptr += sizeof(VkDeviceSize);
154 }
155 
reservedmarshal_VkDispatchIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDispatchIndirectCommand * forMarshaling,uint8_t ** ptr)156 void reservedmarshal_VkDispatchIndirectCommand(VulkanStreamGuest* vkStream,
157                                                VkStructureType rootType,
158                                                const VkDispatchIndirectCommand* forMarshaling,
159                                                uint8_t** ptr) {
160     (void)vkStream;
161     (void)rootType;
162     memcpy(*ptr, (uint32_t*)&forMarshaling->x, sizeof(uint32_t));
163     *ptr += sizeof(uint32_t);
164     memcpy(*ptr, (uint32_t*)&forMarshaling->y, sizeof(uint32_t));
165     *ptr += sizeof(uint32_t);
166     memcpy(*ptr, (uint32_t*)&forMarshaling->z, sizeof(uint32_t));
167     *ptr += sizeof(uint32_t);
168 }
169 
reservedmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndexedIndirectCommand * forMarshaling,uint8_t ** ptr)170 void reservedmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest* vkStream,
171                                                   VkStructureType rootType,
172                                                   const VkDrawIndexedIndirectCommand* forMarshaling,
173                                                   uint8_t** ptr) {
174     (void)vkStream;
175     (void)rootType;
176     memcpy(*ptr, (uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
177     *ptr += sizeof(uint32_t);
178     memcpy(*ptr, (uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
179     *ptr += sizeof(uint32_t);
180     memcpy(*ptr, (uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
181     *ptr += sizeof(uint32_t);
182     memcpy(*ptr, (int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
183     *ptr += sizeof(int32_t);
184     memcpy(*ptr, (uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
185     *ptr += sizeof(uint32_t);
186 }
187 
reservedmarshal_VkDrawIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndirectCommand * forMarshaling,uint8_t ** ptr)188 void reservedmarshal_VkDrawIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
189                                            const VkDrawIndirectCommand* forMarshaling,
190                                            uint8_t** ptr) {
191     (void)vkStream;
192     (void)rootType;
193     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
194     *ptr += sizeof(uint32_t);
195     memcpy(*ptr, (uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
196     *ptr += sizeof(uint32_t);
197     memcpy(*ptr, (uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
198     *ptr += sizeof(uint32_t);
199     memcpy(*ptr, (uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
200     *ptr += sizeof(uint32_t);
201 }
202 
reservedmarshal_VkImageSubresourceRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceRange * forMarshaling,uint8_t ** ptr)203 void reservedmarshal_VkImageSubresourceRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
204                                              const VkImageSubresourceRange* forMarshaling,
205                                              uint8_t** ptr) {
206     (void)vkStream;
207     (void)rootType;
208     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
209     *ptr += sizeof(VkImageAspectFlags);
210     memcpy(*ptr, (uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
211     *ptr += sizeof(uint32_t);
212     memcpy(*ptr, (uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
213     *ptr += sizeof(uint32_t);
214     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
215     *ptr += sizeof(uint32_t);
216     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
217     *ptr += sizeof(uint32_t);
218 }
219 
reservedmarshal_VkImageMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier * forMarshaling,uint8_t ** ptr)220 void reservedmarshal_VkImageMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
221                                           const VkImageMemoryBarrier* forMarshaling,
222                                           uint8_t** ptr) {
223     (void)vkStream;
224     (void)rootType;
225     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
226     *ptr += sizeof(VkStructureType);
227     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
228         rootType = forMarshaling->sType;
229     }
230     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
231     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
232     *ptr += sizeof(VkAccessFlags);
233     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
234     *ptr += sizeof(VkAccessFlags);
235     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
236     *ptr += sizeof(VkImageLayout);
237     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
238     *ptr += sizeof(VkImageLayout);
239     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
240     *ptr += sizeof(uint32_t);
241     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
242     *ptr += sizeof(uint32_t);
243     uint64_t cgen_var_0;
244     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
245     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
246     *ptr += 1 * 8;
247     reservedmarshal_VkImageSubresourceRange(
248         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
249 }
250 
reservedmarshal_VkMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier * forMarshaling,uint8_t ** ptr)251 void reservedmarshal_VkMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
252                                      const VkMemoryBarrier* forMarshaling, uint8_t** ptr) {
253     (void)vkStream;
254     (void)rootType;
255     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
256     *ptr += sizeof(VkStructureType);
257     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
258         rootType = forMarshaling->sType;
259     }
260     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
261     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
262     *ptr += sizeof(VkAccessFlags);
263     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
264     *ptr += sizeof(VkAccessFlags);
265 }
266 
reservedmarshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheHeaderVersionOne * forMarshaling,uint8_t ** ptr)267 void reservedmarshal_VkPipelineCacheHeaderVersionOne(
268     VulkanStreamGuest* vkStream, VkStructureType rootType,
269     const VkPipelineCacheHeaderVersionOne* forMarshaling, uint8_t** ptr) {
270     (void)vkStream;
271     (void)rootType;
272     memcpy(*ptr, (uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
273     *ptr += sizeof(uint32_t);
274     memcpy(*ptr, (VkPipelineCacheHeaderVersion*)&forMarshaling->headerVersion,
275            sizeof(VkPipelineCacheHeaderVersion));
276     *ptr += sizeof(VkPipelineCacheHeaderVersion);
277     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
278     *ptr += sizeof(uint32_t);
279     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
280     *ptr += sizeof(uint32_t);
281     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
282     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
283 }
284 
reservedmarshal_VkAllocationCallbacks(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAllocationCallbacks * forMarshaling,uint8_t ** ptr)285 void reservedmarshal_VkAllocationCallbacks(VulkanStreamGuest* vkStream, VkStructureType rootType,
286                                            const VkAllocationCallbacks* forMarshaling,
287                                            uint8_t** ptr) {
288     (void)vkStream;
289     (void)rootType;
290     // WARNING PTR CHECK
291     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
292     memcpy((*ptr), &cgen_var_0, 8);
293     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
294     *ptr += 8;
295     if (forMarshaling->pUserData) {
296         memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
297         *ptr += sizeof(uint8_t);
298     }
299     uint64_t cgen_var_1 = (uint64_t)forMarshaling->pfnAllocation;
300     memcpy((*ptr), &cgen_var_1, 8);
301     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
302     *ptr += 8;
303     uint64_t cgen_var_2 = (uint64_t)forMarshaling->pfnReallocation;
304     memcpy((*ptr), &cgen_var_2, 8);
305     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
306     *ptr += 8;
307     uint64_t cgen_var_3 = (uint64_t)forMarshaling->pfnFree;
308     memcpy((*ptr), &cgen_var_3, 8);
309     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
310     *ptr += 8;
311     uint64_t cgen_var_4 = (uint64_t)forMarshaling->pfnInternalAllocation;
312     memcpy((*ptr), &cgen_var_4, 8);
313     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
314     *ptr += 8;
315     uint64_t cgen_var_5 = (uint64_t)forMarshaling->pfnInternalFree;
316     memcpy((*ptr), &cgen_var_5, 8);
317     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
318     *ptr += 8;
319 }
320 
reservedmarshal_VkApplicationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkApplicationInfo * forMarshaling,uint8_t ** ptr)321 void reservedmarshal_VkApplicationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
322                                        const VkApplicationInfo* forMarshaling, uint8_t** ptr) {
323     (void)vkStream;
324     (void)rootType;
325     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
326     *ptr += sizeof(VkStructureType);
327     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
328         rootType = forMarshaling->sType;
329     }
330     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
331     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
332         // WARNING PTR CHECK
333         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
334         memcpy((*ptr), &cgen_var_0, 8);
335         gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
336         *ptr += 8;
337         if (forMarshaling->pApplicationName) {
338             {
339                 uint32_t l =
340                     forMarshaling->pApplicationName ? strlen(forMarshaling->pApplicationName) : 0;
341                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
342                 gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
343                 *ptr += sizeof(uint32_t);
344                 memcpy(*ptr, (char*)forMarshaling->pApplicationName, l);
345                 *ptr += l;
346             }
347         }
348     } else {
349         {
350             uint32_t l =
351                 forMarshaling->pApplicationName ? strlen(forMarshaling->pApplicationName) : 0;
352             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
353             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
354             *ptr += sizeof(uint32_t);
355             memcpy(*ptr, (char*)forMarshaling->pApplicationName, l);
356             *ptr += l;
357         }
358     }
359     memcpy(*ptr, (uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
360     *ptr += sizeof(uint32_t);
361     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
362         // WARNING PTR CHECK
363         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
364         memcpy((*ptr), &cgen_var_0, 8);
365         gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
366         *ptr += 8;
367         if (forMarshaling->pEngineName) {
368             {
369                 uint32_t l = forMarshaling->pEngineName ? strlen(forMarshaling->pEngineName) : 0;
370                 memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
371                 gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
372                 *ptr += sizeof(uint32_t);
373                 memcpy(*ptr, (char*)forMarshaling->pEngineName, l);
374                 *ptr += l;
375             }
376         }
377     } else {
378         {
379             uint32_t l = forMarshaling->pEngineName ? strlen(forMarshaling->pEngineName) : 0;
380             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
381             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
382             *ptr += sizeof(uint32_t);
383             memcpy(*ptr, (char*)forMarshaling->pEngineName, l);
384             *ptr += l;
385         }
386     }
387     memcpy(*ptr, (uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
388     *ptr += sizeof(uint32_t);
389     memcpy(*ptr, (uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
390     *ptr += sizeof(uint32_t);
391 }
392 
reservedmarshal_VkFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties * forMarshaling,uint8_t ** ptr)393 void reservedmarshal_VkFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
394                                         const VkFormatProperties* forMarshaling, uint8_t** ptr) {
395     (void)vkStream;
396     (void)rootType;
397     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures,
398            sizeof(VkFormatFeatureFlags));
399     *ptr += sizeof(VkFormatFeatureFlags);
400     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures,
401            sizeof(VkFormatFeatureFlags));
402     *ptr += sizeof(VkFormatFeatureFlags);
403     memcpy(*ptr, (VkFormatFeatureFlags*)&forMarshaling->bufferFeatures,
404            sizeof(VkFormatFeatureFlags));
405     *ptr += sizeof(VkFormatFeatureFlags);
406 }
407 
reservedmarshal_VkImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties * forMarshaling,uint8_t ** ptr)408 void reservedmarshal_VkImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
409                                              const VkImageFormatProperties* forMarshaling,
410                                              uint8_t** ptr) {
411     (void)vkStream;
412     (void)rootType;
413     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->maxExtent), ptr);
414     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
415     *ptr += sizeof(uint32_t);
416     memcpy(*ptr, (uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
417     *ptr += sizeof(uint32_t);
418     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
419     *ptr += sizeof(VkSampleCountFlags);
420     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
421     *ptr += sizeof(VkDeviceSize);
422 }
423 
reservedmarshal_VkInstanceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInstanceCreateInfo * forMarshaling,uint8_t ** ptr)424 void reservedmarshal_VkInstanceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
425                                           const VkInstanceCreateInfo* forMarshaling,
426                                           uint8_t** ptr) {
427     (void)vkStream;
428     (void)rootType;
429     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
430     *ptr += sizeof(VkStructureType);
431     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
432         rootType = forMarshaling->sType;
433     }
434     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
435     memcpy(*ptr, (VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
436     *ptr += sizeof(VkInstanceCreateFlags);
437     // WARNING PTR CHECK
438     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
439     memcpy((*ptr), &cgen_var_0, 8);
440     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
441     *ptr += 8;
442     if (forMarshaling->pApplicationInfo) {
443         reservedmarshal_VkApplicationInfo(
444             vkStream, rootType, (const VkApplicationInfo*)(forMarshaling->pApplicationInfo), ptr);
445     }
446     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
447     *ptr += sizeof(uint32_t);
448     {
449         uint32_t c = 0;
450         if (forMarshaling) {
451             c = forMarshaling->enabledLayerCount;
452         }
453         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
454         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
455         *ptr += sizeof(uint32_t);
456         for (uint32_t i = 0; i < c; ++i) {
457             uint32_t l = forMarshaling->ppEnabledLayerNames
458                              ? strlen(forMarshaling->ppEnabledLayerNames[i])
459                              : 0;
460             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
461             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
462             *ptr += sizeof(uint32_t);
463             if (l) {
464                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledLayerNames[i]), l);
465                 *ptr += l;
466             }
467         }
468     }
469     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
470     *ptr += sizeof(uint32_t);
471     {
472         uint32_t c = 0;
473         if (forMarshaling) {
474             c = forMarshaling->enabledExtensionCount;
475         }
476         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
477         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
478         *ptr += sizeof(uint32_t);
479         for (uint32_t i = 0; i < c; ++i) {
480             uint32_t l = forMarshaling->ppEnabledExtensionNames
481                              ? strlen(forMarshaling->ppEnabledExtensionNames[i])
482                              : 0;
483             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
484             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
485             *ptr += sizeof(uint32_t);
486             if (l) {
487                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledExtensionNames[i]), l);
488                 *ptr += l;
489             }
490         }
491     }
492 }
493 
reservedmarshal_VkMemoryHeap(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryHeap * forMarshaling,uint8_t ** ptr)494 void reservedmarshal_VkMemoryHeap(VulkanStreamGuest* vkStream, VkStructureType rootType,
495                                   const VkMemoryHeap* forMarshaling, uint8_t** ptr) {
496     (void)vkStream;
497     (void)rootType;
498     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
499     *ptr += sizeof(VkDeviceSize);
500     memcpy(*ptr, (VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
501     *ptr += sizeof(VkMemoryHeapFlags);
502 }
503 
reservedmarshal_VkMemoryType(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryType * forMarshaling,uint8_t ** ptr)504 void reservedmarshal_VkMemoryType(VulkanStreamGuest* vkStream, VkStructureType rootType,
505                                   const VkMemoryType* forMarshaling, uint8_t** ptr) {
506     (void)vkStream;
507     (void)rootType;
508     memcpy(*ptr, (VkMemoryPropertyFlags*)&forMarshaling->propertyFlags,
509            sizeof(VkMemoryPropertyFlags));
510     *ptr += sizeof(VkMemoryPropertyFlags);
511     memcpy(*ptr, (uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
512     *ptr += sizeof(uint32_t);
513 }
514 
reservedmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures * forMarshaling,uint8_t ** ptr)515 void reservedmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest* vkStream, VkStructureType rootType,
516                                               const VkPhysicalDeviceFeatures* forMarshaling,
517                                               uint8_t** ptr) {
518     (void)vkStream;
519     (void)rootType;
520     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
521     *ptr += sizeof(VkBool32);
522     memcpy(*ptr, (VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
523     *ptr += sizeof(VkBool32);
524     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
525     *ptr += sizeof(VkBool32);
526     memcpy(*ptr, (VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
527     *ptr += sizeof(VkBool32);
528     memcpy(*ptr, (VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
529     *ptr += sizeof(VkBool32);
530     memcpy(*ptr, (VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
531     *ptr += sizeof(VkBool32);
532     memcpy(*ptr, (VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
533     *ptr += sizeof(VkBool32);
534     memcpy(*ptr, (VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
535     *ptr += sizeof(VkBool32);
536     memcpy(*ptr, (VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
537     *ptr += sizeof(VkBool32);
538     memcpy(*ptr, (VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
539     *ptr += sizeof(VkBool32);
540     memcpy(*ptr, (VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
541     *ptr += sizeof(VkBool32);
542     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
543     *ptr += sizeof(VkBool32);
544     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
545     *ptr += sizeof(VkBool32);
546     memcpy(*ptr, (VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
547     *ptr += sizeof(VkBool32);
548     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
549     *ptr += sizeof(VkBool32);
550     memcpy(*ptr, (VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
551     *ptr += sizeof(VkBool32);
552     memcpy(*ptr, (VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
553     *ptr += sizeof(VkBool32);
554     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
555     *ptr += sizeof(VkBool32);
556     memcpy(*ptr, (VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
557     *ptr += sizeof(VkBool32);
558     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
559     *ptr += sizeof(VkBool32);
560     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
561     *ptr += sizeof(VkBool32);
562     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
563     *ptr += sizeof(VkBool32);
564     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
565     *ptr += sizeof(VkBool32);
566     memcpy(*ptr, (VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
567     *ptr += sizeof(VkBool32);
568     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
569     *ptr += sizeof(VkBool32);
570     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
571     *ptr += sizeof(VkBool32);
572     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
573     *ptr += sizeof(VkBool32);
574     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize,
575            sizeof(VkBool32));
576     *ptr += sizeof(VkBool32);
577     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
578     *ptr += sizeof(VkBool32);
579     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
580     *ptr += sizeof(VkBool32);
581     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
582     *ptr += sizeof(VkBool32);
583     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32));
584     *ptr += sizeof(VkBool32);
585     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32));
586     *ptr += sizeof(VkBool32);
587     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing,
588            sizeof(VkBool32));
589     *ptr += sizeof(VkBool32);
590     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing,
591            sizeof(VkBool32));
592     *ptr += sizeof(VkBool32);
593     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing,
594            sizeof(VkBool32));
595     *ptr += sizeof(VkBool32);
596     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing,
597            sizeof(VkBool32));
598     *ptr += sizeof(VkBool32);
599     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
600     *ptr += sizeof(VkBool32);
601     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
602     *ptr += sizeof(VkBool32);
603     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
604     *ptr += sizeof(VkBool32);
605     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
606     *ptr += sizeof(VkBool32);
607     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
608     *ptr += sizeof(VkBool32);
609     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
610     *ptr += sizeof(VkBool32);
611     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
612     *ptr += sizeof(VkBool32);
613     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
614     *ptr += sizeof(VkBool32);
615     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
616     *ptr += sizeof(VkBool32);
617     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
618     *ptr += sizeof(VkBool32);
619     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
620     *ptr += sizeof(VkBool32);
621     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
622     *ptr += sizeof(VkBool32);
623     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
624     *ptr += sizeof(VkBool32);
625     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
626     *ptr += sizeof(VkBool32);
627     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
628     *ptr += sizeof(VkBool32);
629     memcpy(*ptr, (VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
630     *ptr += sizeof(VkBool32);
631     memcpy(*ptr, (VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
632     *ptr += sizeof(VkBool32);
633     memcpy(*ptr, (VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
634     *ptr += sizeof(VkBool32);
635 }
636 
reservedmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLimits * forMarshaling,uint8_t ** ptr)637 void reservedmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest* vkStream, VkStructureType rootType,
638                                             const VkPhysicalDeviceLimits* forMarshaling,
639                                             uint8_t** ptr) {
640     (void)vkStream;
641     (void)rootType;
642     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
643     *ptr += sizeof(uint32_t);
644     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
645     *ptr += sizeof(uint32_t);
646     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
647     *ptr += sizeof(uint32_t);
648     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
649     *ptr += sizeof(uint32_t);
650     memcpy(*ptr, (uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
651     *ptr += sizeof(uint32_t);
652     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
653     *ptr += sizeof(uint32_t);
654     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
655     *ptr += sizeof(uint32_t);
656     memcpy(*ptr, (uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
657     *ptr += sizeof(uint32_t);
658     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
659     *ptr += sizeof(uint32_t);
660     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
661     *ptr += sizeof(uint32_t);
662     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
663     *ptr += sizeof(uint32_t);
664     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
665     *ptr += sizeof(VkDeviceSize);
666     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
667     *ptr += sizeof(VkDeviceSize);
668     memcpy(*ptr, (uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
669     *ptr += sizeof(uint32_t);
670     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
671     *ptr += sizeof(uint32_t);
672     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t));
673     *ptr += sizeof(uint32_t);
674     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t));
675     *ptr += sizeof(uint32_t);
676     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t));
677     *ptr += sizeof(uint32_t);
678     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t));
679     *ptr += sizeof(uint32_t);
680     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments,
681            sizeof(uint32_t));
682     *ptr += sizeof(uint32_t);
683     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
684     *ptr += sizeof(uint32_t);
685     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
686     *ptr += sizeof(uint32_t);
687     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
688     *ptr += sizeof(uint32_t);
689     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic,
690            sizeof(uint32_t));
691     *ptr += sizeof(uint32_t);
692     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
693     *ptr += sizeof(uint32_t);
694     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic,
695            sizeof(uint32_t));
696     *ptr += sizeof(uint32_t);
697     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
698     *ptr += sizeof(uint32_t);
699     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
700     *ptr += sizeof(uint32_t);
701     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
702     *ptr += sizeof(uint32_t);
703     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
704     *ptr += sizeof(uint32_t);
705     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
706     *ptr += sizeof(uint32_t);
707     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
708     *ptr += sizeof(uint32_t);
709     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
710     *ptr += sizeof(uint32_t);
711     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
712     *ptr += sizeof(uint32_t);
713     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
714     *ptr += sizeof(uint32_t);
715     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
716     *ptr += sizeof(uint32_t);
717     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents,
718            sizeof(uint32_t));
719     *ptr += sizeof(uint32_t);
720     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents,
721            sizeof(uint32_t));
722     *ptr += sizeof(uint32_t);
723     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents,
724            sizeof(uint32_t));
725     *ptr += sizeof(uint32_t);
726     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents,
727            sizeof(uint32_t));
728     *ptr += sizeof(uint32_t);
729     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents,
730            sizeof(uint32_t));
731     *ptr += sizeof(uint32_t);
732     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents,
733            sizeof(uint32_t));
734     *ptr += sizeof(uint32_t);
735     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
736     *ptr += sizeof(uint32_t);
737     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
738     *ptr += sizeof(uint32_t);
739     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
740     *ptr += sizeof(uint32_t);
741     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
742     *ptr += sizeof(uint32_t);
743     memcpy(*ptr, (uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
744     *ptr += sizeof(uint32_t);
745     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
746     *ptr += sizeof(uint32_t);
747     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
748     *ptr += sizeof(uint32_t);
749     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
750     *ptr += sizeof(uint32_t);
751     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t));
752     *ptr += sizeof(uint32_t);
753     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
754     *ptr += sizeof(uint32_t);
755     memcpy(*ptr, (uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
756     *ptr += 3 * sizeof(uint32_t);
757     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
758     *ptr += sizeof(uint32_t);
759     memcpy(*ptr, (uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
760     *ptr += 3 * sizeof(uint32_t);
761     memcpy(*ptr, (uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
762     *ptr += sizeof(uint32_t);
763     memcpy(*ptr, (uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
764     *ptr += sizeof(uint32_t);
765     memcpy(*ptr, (uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
766     *ptr += sizeof(uint32_t);
767     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
768     *ptr += sizeof(uint32_t);
769     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
770     *ptr += sizeof(uint32_t);
771     memcpy(*ptr, (float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
772     *ptr += sizeof(float);
773     memcpy(*ptr, (float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
774     *ptr += sizeof(float);
775     memcpy(*ptr, (uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
776     *ptr += sizeof(uint32_t);
777     memcpy(*ptr, (uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
778     *ptr += 2 * sizeof(uint32_t);
779     memcpy(*ptr, (float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
780     *ptr += 2 * sizeof(float);
781     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
782     *ptr += sizeof(uint32_t);
783     uint64_t cgen_var_0 = (uint64_t)forMarshaling->minMemoryMapAlignment;
784     memcpy((*ptr), &cgen_var_0, 8);
785     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
786     *ptr += 8;
787     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment,
788            sizeof(VkDeviceSize));
789     *ptr += sizeof(VkDeviceSize);
790     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment,
791            sizeof(VkDeviceSize));
792     *ptr += sizeof(VkDeviceSize);
793     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment,
794            sizeof(VkDeviceSize));
795     *ptr += sizeof(VkDeviceSize);
796     memcpy(*ptr, (int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
797     *ptr += sizeof(int32_t);
798     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
799     *ptr += sizeof(uint32_t);
800     memcpy(*ptr, (int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
801     *ptr += sizeof(int32_t);
802     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
803     *ptr += sizeof(uint32_t);
804     memcpy(*ptr, (float*)&forMarshaling->minInterpolationOffset, sizeof(float));
805     *ptr += sizeof(float);
806     memcpy(*ptr, (float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
807     *ptr += sizeof(float);
808     memcpy(*ptr, (uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
809     *ptr += sizeof(uint32_t);
810     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
811     *ptr += sizeof(uint32_t);
812     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
813     *ptr += sizeof(uint32_t);
814     memcpy(*ptr, (uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
815     *ptr += sizeof(uint32_t);
816     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts,
817            sizeof(VkSampleCountFlags));
818     *ptr += sizeof(VkSampleCountFlags);
819     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts,
820            sizeof(VkSampleCountFlags));
821     *ptr += sizeof(VkSampleCountFlags);
822     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts,
823            sizeof(VkSampleCountFlags));
824     *ptr += sizeof(VkSampleCountFlags);
825     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts,
826            sizeof(VkSampleCountFlags));
827     *ptr += sizeof(VkSampleCountFlags);
828     memcpy(*ptr, (uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
829     *ptr += sizeof(uint32_t);
830     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts,
831            sizeof(VkSampleCountFlags));
832     *ptr += sizeof(VkSampleCountFlags);
833     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts,
834            sizeof(VkSampleCountFlags));
835     *ptr += sizeof(VkSampleCountFlags);
836     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts,
837            sizeof(VkSampleCountFlags));
838     *ptr += sizeof(VkSampleCountFlags);
839     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts,
840            sizeof(VkSampleCountFlags));
841     *ptr += sizeof(VkSampleCountFlags);
842     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts,
843            sizeof(VkSampleCountFlags));
844     *ptr += sizeof(VkSampleCountFlags);
845     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
846     *ptr += sizeof(uint32_t);
847     memcpy(*ptr, (VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
848     *ptr += sizeof(VkBool32);
849     memcpy(*ptr, (float*)&forMarshaling->timestampPeriod, sizeof(float));
850     *ptr += sizeof(float);
851     memcpy(*ptr, (uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
852     *ptr += sizeof(uint32_t);
853     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
854     *ptr += sizeof(uint32_t);
855     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
856     *ptr += sizeof(uint32_t);
857     memcpy(*ptr, (uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
858     *ptr += sizeof(uint32_t);
859     memcpy(*ptr, (float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
860     *ptr += 2 * sizeof(float);
861     memcpy(*ptr, (float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
862     *ptr += 2 * sizeof(float);
863     memcpy(*ptr, (float*)&forMarshaling->pointSizeGranularity, sizeof(float));
864     *ptr += sizeof(float);
865     memcpy(*ptr, (float*)&forMarshaling->lineWidthGranularity, sizeof(float));
866     *ptr += sizeof(float);
867     memcpy(*ptr, (VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
868     *ptr += sizeof(VkBool32);
869     memcpy(*ptr, (VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
870     *ptr += sizeof(VkBool32);
871     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment,
872            sizeof(VkDeviceSize));
873     *ptr += sizeof(VkDeviceSize);
874     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment,
875            sizeof(VkDeviceSize));
876     *ptr += sizeof(VkDeviceSize);
877     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
878     *ptr += sizeof(VkDeviceSize);
879 }
880 
reservedmarshal_VkPhysicalDeviceMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties * forMarshaling,uint8_t ** ptr)881 void reservedmarshal_VkPhysicalDeviceMemoryProperties(
882     VulkanStreamGuest* vkStream, VkStructureType rootType,
883     const VkPhysicalDeviceMemoryProperties* forMarshaling, uint8_t** ptr) {
884     (void)vkStream;
885     (void)rootType;
886     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
887     *ptr += sizeof(uint32_t);
888     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
889         reservedmarshal_VkMemoryType(vkStream, rootType,
890                                      (VkMemoryType*)(forMarshaling->memoryTypes + i), ptr);
891     }
892     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
893     *ptr += sizeof(uint32_t);
894     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
895         reservedmarshal_VkMemoryHeap(vkStream, rootType,
896                                      (VkMemoryHeap*)(forMarshaling->memoryHeaps + i), ptr);
897     }
898 }
899 
reservedmarshal_VkPhysicalDeviceSparseProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseProperties * forMarshaling,uint8_t ** ptr)900 void reservedmarshal_VkPhysicalDeviceSparseProperties(
901     VulkanStreamGuest* vkStream, VkStructureType rootType,
902     const VkPhysicalDeviceSparseProperties* forMarshaling, uint8_t** ptr) {
903     (void)vkStream;
904     (void)rootType;
905     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
906     *ptr += sizeof(VkBool32);
907     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape,
908            sizeof(VkBool32));
909     *ptr += sizeof(VkBool32);
910     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
911     *ptr += sizeof(VkBool32);
912     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
913     *ptr += sizeof(VkBool32);
914     memcpy(*ptr, (VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
915     *ptr += sizeof(VkBool32);
916 }
917 
reservedmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties * forMarshaling,uint8_t ** ptr)918 void reservedmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest* vkStream,
919                                                 VkStructureType rootType,
920                                                 const VkPhysicalDeviceProperties* forMarshaling,
921                                                 uint8_t** ptr) {
922     (void)vkStream;
923     (void)rootType;
924     memcpy(*ptr, (uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
925     *ptr += sizeof(uint32_t);
926     memcpy(*ptr, (uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
927     *ptr += sizeof(uint32_t);
928     memcpy(*ptr, (uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
929     *ptr += sizeof(uint32_t);
930     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
931     *ptr += sizeof(uint32_t);
932     memcpy(*ptr, (VkPhysicalDeviceType*)&forMarshaling->deviceType, sizeof(VkPhysicalDeviceType));
933     *ptr += sizeof(VkPhysicalDeviceType);
934     memcpy(*ptr, (char*)forMarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
935     *ptr += VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char);
936     memcpy(*ptr, (uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
937     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
938     reservedmarshal_VkPhysicalDeviceLimits(vkStream, rootType,
939                                            (VkPhysicalDeviceLimits*)(&forMarshaling->limits), ptr);
940     reservedmarshal_VkPhysicalDeviceSparseProperties(
941         vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties),
942         ptr);
943 }
944 
reservedmarshal_VkQueueFamilyProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties * forMarshaling,uint8_t ** ptr)945 void reservedmarshal_VkQueueFamilyProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
946                                              const VkQueueFamilyProperties* forMarshaling,
947                                              uint8_t** ptr) {
948     (void)vkStream;
949     (void)rootType;
950     memcpy(*ptr, (VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
951     *ptr += sizeof(VkQueueFlags);
952     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
953     *ptr += sizeof(uint32_t);
954     memcpy(*ptr, (uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
955     *ptr += sizeof(uint32_t);
956     reservedmarshal_VkExtent3D(vkStream, rootType,
957                                (VkExtent3D*)(&forMarshaling->minImageTransferGranularity), ptr);
958 }
959 
reservedmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueCreateInfo * forMarshaling,uint8_t ** ptr)960 void reservedmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
961                                              const VkDeviceQueueCreateInfo* forMarshaling,
962                                              uint8_t** ptr) {
963     (void)vkStream;
964     (void)rootType;
965     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
966     *ptr += sizeof(VkStructureType);
967     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
968         rootType = forMarshaling->sType;
969     }
970     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
971     memcpy(*ptr, (VkDeviceQueueCreateFlags*)&forMarshaling->flags,
972            sizeof(VkDeviceQueueCreateFlags));
973     *ptr += sizeof(VkDeviceQueueCreateFlags);
974     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
975     *ptr += sizeof(uint32_t);
976     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
977     *ptr += sizeof(uint32_t);
978     memcpy(*ptr, (const float*)forMarshaling->pQueuePriorities,
979            forMarshaling->queueCount * sizeof(const float));
980     *ptr += forMarshaling->queueCount * sizeof(const float);
981 }
982 
reservedmarshal_VkDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceCreateInfo * forMarshaling,uint8_t ** ptr)983 void reservedmarshal_VkDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
984                                         const VkDeviceCreateInfo* forMarshaling, uint8_t** ptr) {
985     (void)vkStream;
986     (void)rootType;
987     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
988     *ptr += sizeof(VkStructureType);
989     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
990         rootType = forMarshaling->sType;
991     }
992     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
993     memcpy(*ptr, (VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
994     *ptr += sizeof(VkDeviceCreateFlags);
995     memcpy(*ptr, (uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
996     *ptr += sizeof(uint32_t);
997     for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) {
998         reservedmarshal_VkDeviceQueueCreateInfo(
999             vkStream, rootType,
1000             (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i), ptr);
1001     }
1002     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
1003     *ptr += sizeof(uint32_t);
1004     {
1005         uint32_t c = 0;
1006         if (forMarshaling) {
1007             c = forMarshaling->enabledLayerCount;
1008         }
1009         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
1010         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
1011         *ptr += sizeof(uint32_t);
1012         for (uint32_t i = 0; i < c; ++i) {
1013             uint32_t l = forMarshaling->ppEnabledLayerNames
1014                              ? strlen(forMarshaling->ppEnabledLayerNames[i])
1015                              : 0;
1016             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1017             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
1018             *ptr += sizeof(uint32_t);
1019             if (l) {
1020                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledLayerNames[i]), l);
1021                 *ptr += l;
1022             }
1023         }
1024     }
1025     memcpy(*ptr, (uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
1026     *ptr += sizeof(uint32_t);
1027     {
1028         uint32_t c = 0;
1029         if (forMarshaling) {
1030             c = forMarshaling->enabledExtensionCount;
1031         }
1032         memcpy(*ptr, (uint32_t*)&c, sizeof(uint32_t));
1033         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
1034         *ptr += sizeof(uint32_t);
1035         for (uint32_t i = 0; i < c; ++i) {
1036             uint32_t l = forMarshaling->ppEnabledExtensionNames
1037                              ? strlen(forMarshaling->ppEnabledExtensionNames[i])
1038                              : 0;
1039             memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1040             gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
1041             *ptr += sizeof(uint32_t);
1042             if (l) {
1043                 memcpy(*ptr, (char*)(forMarshaling->ppEnabledExtensionNames[i]), l);
1044                 *ptr += l;
1045             }
1046         }
1047     }
1048     // WARNING PTR CHECK
1049     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
1050     memcpy((*ptr), &cgen_var_0, 8);
1051     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1052     *ptr += 8;
1053     if (forMarshaling->pEnabledFeatures) {
1054         reservedmarshal_VkPhysicalDeviceFeatures(
1055             vkStream, rootType, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures),
1056             ptr);
1057     }
1058 }
1059 
reservedmarshal_VkExtensionProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtensionProperties * forMarshaling,uint8_t ** ptr)1060 void reservedmarshal_VkExtensionProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1061                                            const VkExtensionProperties* forMarshaling,
1062                                            uint8_t** ptr) {
1063     (void)vkStream;
1064     (void)rootType;
1065     memcpy(*ptr, (char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1066     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
1067     memcpy(*ptr, (uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1068     *ptr += sizeof(uint32_t);
1069 }
1070 
reservedmarshal_VkLayerProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkLayerProperties * forMarshaling,uint8_t ** ptr)1071 void reservedmarshal_VkLayerProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1072                                        const VkLayerProperties* forMarshaling, uint8_t** ptr) {
1073     (void)vkStream;
1074     (void)rootType;
1075     memcpy(*ptr, (char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1076     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
1077     memcpy(*ptr, (uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1078     *ptr += sizeof(uint32_t);
1079     memcpy(*ptr, (uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
1080     *ptr += sizeof(uint32_t);
1081     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1082     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
1083 }
1084 
reservedmarshal_VkSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo * forMarshaling,uint8_t ** ptr)1085 void reservedmarshal_VkSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1086                                   const VkSubmitInfo* forMarshaling, uint8_t** ptr) {
1087     (void)vkStream;
1088     (void)rootType;
1089     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1090     *ptr += sizeof(VkStructureType);
1091     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1092         rootType = forMarshaling->sType;
1093     }
1094     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1095     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1096     *ptr += sizeof(uint32_t);
1097     if (forMarshaling->waitSemaphoreCount) {
1098         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
1099         if (forMarshaling) {
1100             for (uint32_t k = 0; k < forMarshaling->waitSemaphoreCount; ++k) {
1101                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pWaitSemaphores[k]);
1102                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
1103             }
1104         }
1105         *ptr += 8 * forMarshaling->waitSemaphoreCount;
1106     }
1107     memcpy(*ptr, (const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask,
1108            forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1109     *ptr += forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags);
1110     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
1111     *ptr += sizeof(uint32_t);
1112     if (forMarshaling->commandBufferCount) {
1113         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
1114         if (forMarshaling) {
1115             for (uint32_t k = 0; k < forMarshaling->commandBufferCount; ++k) {
1116                 uint64_t tmpval = get_host_u64_VkCommandBuffer(forMarshaling->pCommandBuffers[k]);
1117                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
1118             }
1119         }
1120         *ptr += 8 * forMarshaling->commandBufferCount;
1121     }
1122     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1123     *ptr += sizeof(uint32_t);
1124     if (forMarshaling->signalSemaphoreCount) {
1125         uint8_t* cgen_var_2_ptr = (uint8_t*)(*ptr);
1126         if (forMarshaling) {
1127             for (uint32_t k = 0; k < forMarshaling->signalSemaphoreCount; ++k) {
1128                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSignalSemaphores[k]);
1129                 memcpy(cgen_var_2_ptr + k * 8, &tmpval, sizeof(uint64_t));
1130             }
1131         }
1132         *ptr += 8 * forMarshaling->signalSemaphoreCount;
1133     }
1134 }
1135 
reservedmarshal_VkMappedMemoryRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMappedMemoryRange * forMarshaling,uint8_t ** ptr)1136 void reservedmarshal_VkMappedMemoryRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
1137                                          const VkMappedMemoryRange* forMarshaling, uint8_t** ptr) {
1138     (void)vkStream;
1139     (void)rootType;
1140     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1141     *ptr += sizeof(VkStructureType);
1142     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1143         rootType = forMarshaling->sType;
1144     }
1145     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1146     uint64_t cgen_var_0;
1147     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1148     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1149     *ptr += 1 * 8;
1150     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1151     *ptr += sizeof(VkDeviceSize);
1152     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1153     *ptr += sizeof(VkDeviceSize);
1154 }
1155 
reservedmarshal_VkMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateInfo * forMarshaling,uint8_t ** ptr)1156 void reservedmarshal_VkMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1157                                           const VkMemoryAllocateInfo* forMarshaling,
1158                                           uint8_t** ptr) {
1159     (void)vkStream;
1160     (void)rootType;
1161     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1162     *ptr += sizeof(VkStructureType);
1163     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1164         rootType = forMarshaling->sType;
1165     }
1166     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1167     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
1168     *ptr += sizeof(VkDeviceSize);
1169     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
1170     *ptr += sizeof(uint32_t);
1171 }
1172 
reservedmarshal_VkMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements * forMarshaling,uint8_t ** ptr)1173 void reservedmarshal_VkMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
1174                                           const VkMemoryRequirements* forMarshaling,
1175                                           uint8_t** ptr) {
1176     (void)vkStream;
1177     (void)rootType;
1178     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1179     *ptr += sizeof(VkDeviceSize);
1180     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
1181     *ptr += sizeof(VkDeviceSize);
1182     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
1183     *ptr += sizeof(uint32_t);
1184 }
1185 
reservedmarshal_VkSparseMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseMemoryBind * forMarshaling,uint8_t ** ptr)1186 void reservedmarshal_VkSparseMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1187                                         const VkSparseMemoryBind* forMarshaling, uint8_t** ptr) {
1188     (void)vkStream;
1189     (void)rootType;
1190     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
1191     *ptr += sizeof(VkDeviceSize);
1192     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1193     *ptr += sizeof(VkDeviceSize);
1194     uint64_t cgen_var_0;
1195     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1196     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1197     *ptr += 1 * 8;
1198     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1199     *ptr += sizeof(VkDeviceSize);
1200     memcpy(*ptr, (VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
1201     *ptr += sizeof(VkSparseMemoryBindFlags);
1202 }
1203 
reservedmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseBufferMemoryBindInfo * forMarshaling,uint8_t ** ptr)1204 void reservedmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest* vkStream,
1205                                                   VkStructureType rootType,
1206                                                   const VkSparseBufferMemoryBindInfo* forMarshaling,
1207                                                   uint8_t** ptr) {
1208     (void)vkStream;
1209     (void)rootType;
1210     uint64_t cgen_var_0;
1211     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
1212     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1213     *ptr += 1 * 8;
1214     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1215     *ptr += sizeof(uint32_t);
1216     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1217         reservedmarshal_VkSparseMemoryBind(
1218             vkStream, rootType, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i), ptr);
1219     }
1220 }
1221 
reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageOpaqueMemoryBindInfo * forMarshaling,uint8_t ** ptr)1222 void reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(
1223     VulkanStreamGuest* vkStream, VkStructureType rootType,
1224     const VkSparseImageOpaqueMemoryBindInfo* forMarshaling, uint8_t** ptr) {
1225     (void)vkStream;
1226     (void)rootType;
1227     uint64_t cgen_var_0;
1228     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1229     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1230     *ptr += 1 * 8;
1231     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1232     *ptr += sizeof(uint32_t);
1233     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1234         reservedmarshal_VkSparseMemoryBind(
1235             vkStream, rootType, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i), ptr);
1236     }
1237 }
1238 
reservedmarshal_VkImageSubresource(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource * forMarshaling,uint8_t ** ptr)1239 void reservedmarshal_VkImageSubresource(VulkanStreamGuest* vkStream, VkStructureType rootType,
1240                                         const VkImageSubresource* forMarshaling, uint8_t** ptr) {
1241     (void)vkStream;
1242     (void)rootType;
1243     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1244     *ptr += sizeof(VkImageAspectFlags);
1245     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
1246     *ptr += sizeof(uint32_t);
1247     memcpy(*ptr, (uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
1248     *ptr += sizeof(uint32_t);
1249 }
1250 
reservedmarshal_VkSparseImageMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBind * forMarshaling,uint8_t ** ptr)1251 void reservedmarshal_VkSparseImageMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1252                                              const VkSparseImageMemoryBind* forMarshaling,
1253                                              uint8_t** ptr) {
1254     (void)vkStream;
1255     (void)rootType;
1256     reservedmarshal_VkImageSubresource(vkStream, rootType,
1257                                        (VkImageSubresource*)(&forMarshaling->subresource), ptr);
1258     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->offset), ptr);
1259     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
1260     uint64_t cgen_var_0;
1261     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
1262     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1263     *ptr += 1 * 8;
1264     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1265     *ptr += sizeof(VkDeviceSize);
1266     memcpy(*ptr, (VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
1267     *ptr += sizeof(VkSparseMemoryBindFlags);
1268 }
1269 
reservedmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBindInfo * forMarshaling,uint8_t ** ptr)1270 void reservedmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest* vkStream,
1271                                                  VkStructureType rootType,
1272                                                  const VkSparseImageMemoryBindInfo* forMarshaling,
1273                                                  uint8_t** ptr) {
1274     (void)vkStream;
1275     (void)rootType;
1276     uint64_t cgen_var_0;
1277     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1278     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1279     *ptr += 1 * 8;
1280     memcpy(*ptr, (uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1281     *ptr += sizeof(uint32_t);
1282     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1283         reservedmarshal_VkSparseImageMemoryBind(
1284             vkStream, rootType, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i), ptr);
1285     }
1286 }
1287 
reservedmarshal_VkBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindSparseInfo * forMarshaling,uint8_t ** ptr)1288 void reservedmarshal_VkBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1289                                       const VkBindSparseInfo* forMarshaling, uint8_t** ptr) {
1290     (void)vkStream;
1291     (void)rootType;
1292     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1293     *ptr += sizeof(VkStructureType);
1294     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1295         rootType = forMarshaling->sType;
1296     }
1297     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1298     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1299     *ptr += sizeof(uint32_t);
1300     if (forMarshaling->waitSemaphoreCount) {
1301         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
1302         if (forMarshaling) {
1303             for (uint32_t k = 0; k < forMarshaling->waitSemaphoreCount; ++k) {
1304                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pWaitSemaphores[k]);
1305                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
1306             }
1307         }
1308         *ptr += 8 * forMarshaling->waitSemaphoreCount;
1309     }
1310     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
1311     *ptr += sizeof(uint32_t);
1312     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) {
1313         reservedmarshal_VkSparseBufferMemoryBindInfo(
1314             vkStream, rootType,
1315             (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i), ptr);
1316     }
1317     memcpy(*ptr, (uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1318     *ptr += sizeof(uint32_t);
1319     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) {
1320         reservedmarshal_VkSparseImageOpaqueMemoryBindInfo(
1321             vkStream, rootType,
1322             (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i), ptr);
1323     }
1324     memcpy(*ptr, (uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
1325     *ptr += sizeof(uint32_t);
1326     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) {
1327         reservedmarshal_VkSparseImageMemoryBindInfo(
1328             vkStream, rootType,
1329             (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i), ptr);
1330     }
1331     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1332     *ptr += sizeof(uint32_t);
1333     if (forMarshaling->signalSemaphoreCount) {
1334         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
1335         if (forMarshaling) {
1336             for (uint32_t k = 0; k < forMarshaling->signalSemaphoreCount; ++k) {
1337                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSignalSemaphores[k]);
1338                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
1339             }
1340         }
1341         *ptr += 8 * forMarshaling->signalSemaphoreCount;
1342     }
1343 }
1344 
reservedmarshal_VkSparseImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties * forMarshaling,uint8_t ** ptr)1345 void reservedmarshal_VkSparseImageFormatProperties(
1346     VulkanStreamGuest* vkStream, VkStructureType rootType,
1347     const VkSparseImageFormatProperties* forMarshaling, uint8_t** ptr) {
1348     (void)vkStream;
1349     (void)rootType;
1350     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1351     *ptr += sizeof(VkImageAspectFlags);
1352     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageGranularity),
1353                                ptr);
1354     memcpy(*ptr, (VkSparseImageFormatFlags*)&forMarshaling->flags,
1355            sizeof(VkSparseImageFormatFlags));
1356     *ptr += sizeof(VkSparseImageFormatFlags);
1357 }
1358 
reservedmarshal_VkSparseImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements * forMarshaling,uint8_t ** ptr)1359 void reservedmarshal_VkSparseImageMemoryRequirements(
1360     VulkanStreamGuest* vkStream, VkStructureType rootType,
1361     const VkSparseImageMemoryRequirements* forMarshaling, uint8_t** ptr) {
1362     (void)vkStream;
1363     (void)rootType;
1364     reservedmarshal_VkSparseImageFormatProperties(
1365         vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties),
1366         ptr);
1367     memcpy(*ptr, (uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1368     *ptr += sizeof(uint32_t);
1369     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1370     *ptr += sizeof(VkDeviceSize);
1371     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1372     *ptr += sizeof(VkDeviceSize);
1373     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1374     *ptr += sizeof(VkDeviceSize);
1375 }
1376 
reservedmarshal_VkFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceCreateInfo * forMarshaling,uint8_t ** ptr)1377 void reservedmarshal_VkFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1378                                        const VkFenceCreateInfo* forMarshaling, uint8_t** ptr) {
1379     (void)vkStream;
1380     (void)rootType;
1381     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1382     *ptr += sizeof(VkStructureType);
1383     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1384         rootType = forMarshaling->sType;
1385     }
1386     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1387     memcpy(*ptr, (VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
1388     *ptr += sizeof(VkFenceCreateFlags);
1389 }
1390 
reservedmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreCreateInfo * forMarshaling,uint8_t ** ptr)1391 void reservedmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1392                                            const VkSemaphoreCreateInfo* forMarshaling,
1393                                            uint8_t** ptr) {
1394     (void)vkStream;
1395     (void)rootType;
1396     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1397     *ptr += sizeof(VkStructureType);
1398     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1399         rootType = forMarshaling->sType;
1400     }
1401     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1402     memcpy(*ptr, (VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
1403     *ptr += sizeof(VkSemaphoreCreateFlags);
1404 }
1405 
reservedmarshal_VkEventCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkEventCreateInfo * forMarshaling,uint8_t ** ptr)1406 void reservedmarshal_VkEventCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1407                                        const VkEventCreateInfo* forMarshaling, uint8_t** ptr) {
1408     (void)vkStream;
1409     (void)rootType;
1410     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1411     *ptr += sizeof(VkStructureType);
1412     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1413         rootType = forMarshaling->sType;
1414     }
1415     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1416     memcpy(*ptr, (VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
1417     *ptr += sizeof(VkEventCreateFlags);
1418 }
1419 
reservedmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolCreateInfo * forMarshaling,uint8_t ** ptr)1420 void reservedmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1421                                            const VkQueryPoolCreateInfo* forMarshaling,
1422                                            uint8_t** ptr) {
1423     (void)vkStream;
1424     (void)rootType;
1425     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1426     *ptr += sizeof(VkStructureType);
1427     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1428         rootType = forMarshaling->sType;
1429     }
1430     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1431     memcpy(*ptr, (VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
1432     *ptr += sizeof(VkQueryPoolCreateFlags);
1433     memcpy(*ptr, (VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
1434     *ptr += sizeof(VkQueryType);
1435     memcpy(*ptr, (uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
1436     *ptr += sizeof(uint32_t);
1437     memcpy(*ptr, (VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
1438            sizeof(VkQueryPipelineStatisticFlags));
1439     *ptr += sizeof(VkQueryPipelineStatisticFlags);
1440 }
1441 
reservedmarshal_VkBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCreateInfo * forMarshaling,uint8_t ** ptr)1442 void reservedmarshal_VkBufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1443                                         const VkBufferCreateInfo* forMarshaling, uint8_t** ptr) {
1444     (void)vkStream;
1445     (void)rootType;
1446     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1447     *ptr += sizeof(VkStructureType);
1448     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1449         rootType = forMarshaling->sType;
1450     }
1451     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1452     memcpy(*ptr, (VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
1453     *ptr += sizeof(VkBufferCreateFlags);
1454     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1455     *ptr += sizeof(VkDeviceSize);
1456     memcpy(*ptr, (VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
1457     *ptr += sizeof(VkBufferUsageFlags);
1458     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1459     *ptr += sizeof(VkSharingMode);
1460     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1461     *ptr += sizeof(uint32_t);
1462     // WARNING PTR CHECK
1463     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1464     memcpy((*ptr), &cgen_var_0, 8);
1465     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1466     *ptr += 8;
1467     if (forMarshaling->pQueueFamilyIndices) {
1468         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
1469                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1470         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
1471     }
1472 }
1473 
reservedmarshal_VkBufferViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferViewCreateInfo * forMarshaling,uint8_t ** ptr)1474 void reservedmarshal_VkBufferViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1475                                             const VkBufferViewCreateInfo* forMarshaling,
1476                                             uint8_t** ptr) {
1477     (void)vkStream;
1478     (void)rootType;
1479     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1480     *ptr += sizeof(VkStructureType);
1481     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1482         rootType = forMarshaling->sType;
1483     }
1484     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1485     memcpy(*ptr, (VkBufferViewCreateFlags*)&forMarshaling->flags, sizeof(VkBufferViewCreateFlags));
1486     *ptr += sizeof(VkBufferViewCreateFlags);
1487     uint64_t cgen_var_0;
1488     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
1489     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1490     *ptr += 1 * 8;
1491     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1492     *ptr += sizeof(VkFormat);
1493     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1494     *ptr += sizeof(VkDeviceSize);
1495     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
1496     *ptr += sizeof(VkDeviceSize);
1497 }
1498 
reservedmarshal_VkImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCreateInfo * forMarshaling,uint8_t ** ptr)1499 void reservedmarshal_VkImageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1500                                        const VkImageCreateInfo* forMarshaling, uint8_t** ptr) {
1501     (void)vkStream;
1502     (void)rootType;
1503     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1504     *ptr += sizeof(VkStructureType);
1505     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1506         rootType = forMarshaling->sType;
1507     }
1508     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1509     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
1510     *ptr += sizeof(VkImageCreateFlags);
1511     memcpy(*ptr, (VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
1512     *ptr += sizeof(VkImageType);
1513     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1514     *ptr += sizeof(VkFormat);
1515     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
1516     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
1517     *ptr += sizeof(uint32_t);
1518     memcpy(*ptr, (uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
1519     *ptr += sizeof(uint32_t);
1520     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
1521     *ptr += sizeof(VkSampleCountFlagBits);
1522     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
1523     *ptr += sizeof(VkImageTiling);
1524     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
1525     *ptr += sizeof(VkImageUsageFlags);
1526     memcpy(*ptr, (VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1527     *ptr += sizeof(VkSharingMode);
1528     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1529     *ptr += sizeof(uint32_t);
1530     // WARNING PTR CHECK
1531     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1532     memcpy((*ptr), &cgen_var_0, 8);
1533     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1534     *ptr += 8;
1535     if (forMarshaling->pQueueFamilyIndices) {
1536         memcpy(*ptr, (const uint32_t*)forMarshaling->pQueueFamilyIndices,
1537                forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1538         *ptr += forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
1539     }
1540     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
1541     *ptr += sizeof(VkImageLayout);
1542 }
1543 
reservedmarshal_VkSubresourceLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout * forMarshaling,uint8_t ** ptr)1544 void reservedmarshal_VkSubresourceLayout(VulkanStreamGuest* vkStream, VkStructureType rootType,
1545                                          const VkSubresourceLayout* forMarshaling, uint8_t** ptr) {
1546     (void)vkStream;
1547     (void)rootType;
1548     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1549     *ptr += sizeof(VkDeviceSize);
1550     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1551     *ptr += sizeof(VkDeviceSize);
1552     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
1553     *ptr += sizeof(VkDeviceSize);
1554     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
1555     *ptr += sizeof(VkDeviceSize);
1556     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
1557     *ptr += sizeof(VkDeviceSize);
1558 }
1559 
reservedmarshal_VkComponentMapping(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComponentMapping * forMarshaling,uint8_t ** ptr)1560 void reservedmarshal_VkComponentMapping(VulkanStreamGuest* vkStream, VkStructureType rootType,
1561                                         const VkComponentMapping* forMarshaling, uint8_t** ptr) {
1562     (void)vkStream;
1563     (void)rootType;
1564     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
1565     *ptr += sizeof(VkComponentSwizzle);
1566     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
1567     *ptr += sizeof(VkComponentSwizzle);
1568     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
1569     *ptr += sizeof(VkComponentSwizzle);
1570     memcpy(*ptr, (VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
1571     *ptr += sizeof(VkComponentSwizzle);
1572 }
1573 
reservedmarshal_VkImageViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewCreateInfo * forMarshaling,uint8_t ** ptr)1574 void reservedmarshal_VkImageViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1575                                            const VkImageViewCreateInfo* forMarshaling,
1576                                            uint8_t** ptr) {
1577     (void)vkStream;
1578     (void)rootType;
1579     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1580     *ptr += sizeof(VkStructureType);
1581     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1582         rootType = forMarshaling->sType;
1583     }
1584     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1585     memcpy(*ptr, (VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
1586     *ptr += sizeof(VkImageViewCreateFlags);
1587     uint64_t cgen_var_0;
1588     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
1589     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1590     *ptr += 1 * 8;
1591     memcpy(*ptr, (VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
1592     *ptr += sizeof(VkImageViewType);
1593     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1594     *ptr += sizeof(VkFormat);
1595     reservedmarshal_VkComponentMapping(vkStream, rootType,
1596                                        (VkComponentMapping*)(&forMarshaling->components), ptr);
1597     reservedmarshal_VkImageSubresourceRange(
1598         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
1599 }
1600 
reservedmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderModuleCreateInfo * forMarshaling,uint8_t ** ptr)1601 void reservedmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1602                                               const VkShaderModuleCreateInfo* forMarshaling,
1603                                               uint8_t** ptr) {
1604     (void)vkStream;
1605     (void)rootType;
1606     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1607     *ptr += sizeof(VkStructureType);
1608     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1609         rootType = forMarshaling->sType;
1610     }
1611     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1612     memcpy(*ptr, (VkShaderModuleCreateFlags*)&forMarshaling->flags,
1613            sizeof(VkShaderModuleCreateFlags));
1614     *ptr += sizeof(VkShaderModuleCreateFlags);
1615     uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
1616     memcpy((*ptr), &cgen_var_0, 8);
1617     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1618     *ptr += 8;
1619     memcpy(*ptr, (const uint32_t*)forMarshaling->pCode,
1620            (forMarshaling->codeSize / 4) * sizeof(const uint32_t));
1621     *ptr += (forMarshaling->codeSize / 4) * sizeof(const uint32_t);
1622 }
1623 
reservedmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheCreateInfo * forMarshaling,uint8_t ** ptr)1624 void reservedmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest* vkStream,
1625                                                VkStructureType rootType,
1626                                                const VkPipelineCacheCreateInfo* forMarshaling,
1627                                                uint8_t** ptr) {
1628     (void)vkStream;
1629     (void)rootType;
1630     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1631     *ptr += sizeof(VkStructureType);
1632     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1633         rootType = forMarshaling->sType;
1634     }
1635     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1636     memcpy(*ptr, (VkPipelineCacheCreateFlags*)&forMarshaling->flags,
1637            sizeof(VkPipelineCacheCreateFlags));
1638     *ptr += sizeof(VkPipelineCacheCreateFlags);
1639     uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
1640     memcpy((*ptr), &cgen_var_0, 8);
1641     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1642     *ptr += 8;
1643     memcpy(*ptr, (const void*)forMarshaling->pInitialData,
1644            forMarshaling->initialDataSize * sizeof(const uint8_t));
1645     *ptr += forMarshaling->initialDataSize * sizeof(const uint8_t);
1646 }
1647 
reservedmarshal_VkSpecializationMapEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationMapEntry * forMarshaling,uint8_t ** ptr)1648 void reservedmarshal_VkSpecializationMapEntry(VulkanStreamGuest* vkStream, VkStructureType rootType,
1649                                               const VkSpecializationMapEntry* forMarshaling,
1650                                               uint8_t** ptr) {
1651     (void)vkStream;
1652     (void)rootType;
1653     memcpy(*ptr, (uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
1654     *ptr += sizeof(uint32_t);
1655     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
1656     *ptr += sizeof(uint32_t);
1657     uint64_t cgen_var_0 = (uint64_t)forMarshaling->size;
1658     memcpy((*ptr), &cgen_var_0, 8);
1659     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1660     *ptr += 8;
1661 }
1662 
reservedmarshal_VkSpecializationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationInfo * forMarshaling,uint8_t ** ptr)1663 void reservedmarshal_VkSpecializationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1664                                           const VkSpecializationInfo* forMarshaling,
1665                                           uint8_t** ptr) {
1666     (void)vkStream;
1667     (void)rootType;
1668     memcpy(*ptr, (uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
1669     *ptr += sizeof(uint32_t);
1670     for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) {
1671         reservedmarshal_VkSpecializationMapEntry(
1672             vkStream, rootType, (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i),
1673             ptr);
1674     }
1675     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
1676     memcpy((*ptr), &cgen_var_0, 8);
1677     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1678     *ptr += 8;
1679     memcpy(*ptr, (const void*)forMarshaling->pData,
1680            forMarshaling->dataSize * sizeof(const uint8_t));
1681     *ptr += forMarshaling->dataSize * sizeof(const uint8_t);
1682 }
1683 
reservedmarshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageCreateInfo * forMarshaling,uint8_t ** ptr)1684 void reservedmarshal_VkPipelineShaderStageCreateInfo(
1685     VulkanStreamGuest* vkStream, VkStructureType rootType,
1686     const VkPipelineShaderStageCreateInfo* forMarshaling, uint8_t** ptr) {
1687     (void)vkStream;
1688     (void)rootType;
1689     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1690     *ptr += sizeof(VkStructureType);
1691     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1692         rootType = forMarshaling->sType;
1693     }
1694     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1695     memcpy(*ptr, (VkPipelineShaderStageCreateFlags*)&forMarshaling->flags,
1696            sizeof(VkPipelineShaderStageCreateFlags));
1697     *ptr += sizeof(VkPipelineShaderStageCreateFlags);
1698     memcpy(*ptr, (VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
1699     *ptr += sizeof(VkShaderStageFlagBits);
1700     uint64_t cgen_var_0;
1701     *&cgen_var_0 = get_host_u64_VkShaderModule((*&forMarshaling->module));
1702     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1703     *ptr += 1 * 8;
1704     {
1705         uint32_t l = forMarshaling->pName ? strlen(forMarshaling->pName) : 0;
1706         memcpy(*ptr, (uint32_t*)&l, sizeof(uint32_t));
1707         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
1708         *ptr += sizeof(uint32_t);
1709         memcpy(*ptr, (char*)forMarshaling->pName, l);
1710         *ptr += l;
1711     }
1712     // WARNING PTR CHECK
1713     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
1714     memcpy((*ptr), &cgen_var_1, 8);
1715     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1716     *ptr += 8;
1717     if (forMarshaling->pSpecializationInfo) {
1718         reservedmarshal_VkSpecializationInfo(
1719             vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo),
1720             ptr);
1721     }
1722 }
1723 
reservedmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComputePipelineCreateInfo * forMarshaling,uint8_t ** ptr)1724 void reservedmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest* vkStream,
1725                                                  VkStructureType rootType,
1726                                                  const VkComputePipelineCreateInfo* forMarshaling,
1727                                                  uint8_t** ptr) {
1728     (void)vkStream;
1729     (void)rootType;
1730     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1731     *ptr += sizeof(VkStructureType);
1732     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1733         rootType = forMarshaling->sType;
1734     }
1735     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1736     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
1737     *ptr += sizeof(VkPipelineCreateFlags);
1738     reservedmarshal_VkPipelineShaderStageCreateInfo(
1739         vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage), ptr);
1740     uint64_t cgen_var_0;
1741     *&cgen_var_0 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
1742     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
1743     *ptr += 1 * 8;
1744     uint64_t cgen_var_1;
1745     *&cgen_var_1 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
1746     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
1747     *ptr += 1 * 8;
1748     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
1749     *ptr += sizeof(int32_t);
1750 }
1751 
reservedmarshal_VkVertexInputBindingDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDescription * forMarshaling,uint8_t ** ptr)1752 void reservedmarshal_VkVertexInputBindingDescription(
1753     VulkanStreamGuest* vkStream, VkStructureType rootType,
1754     const VkVertexInputBindingDescription* forMarshaling, uint8_t** ptr) {
1755     (void)vkStream;
1756     (void)rootType;
1757     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
1758     *ptr += sizeof(uint32_t);
1759     memcpy(*ptr, (uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
1760     *ptr += sizeof(uint32_t);
1761     memcpy(*ptr, (VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
1762     *ptr += sizeof(VkVertexInputRate);
1763 }
1764 
reservedmarshal_VkVertexInputAttributeDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputAttributeDescription * forMarshaling,uint8_t ** ptr)1765 void reservedmarshal_VkVertexInputAttributeDescription(
1766     VulkanStreamGuest* vkStream, VkStructureType rootType,
1767     const VkVertexInputAttributeDescription* forMarshaling, uint8_t** ptr) {
1768     (void)vkStream;
1769     (void)rootType;
1770     memcpy(*ptr, (uint32_t*)&forMarshaling->location, sizeof(uint32_t));
1771     *ptr += sizeof(uint32_t);
1772     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
1773     *ptr += sizeof(uint32_t);
1774     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1775     *ptr += sizeof(VkFormat);
1776     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
1777     *ptr += sizeof(uint32_t);
1778 }
1779 
reservedmarshal_VkPipelineVertexInputStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputStateCreateInfo * forMarshaling,uint8_t ** ptr)1780 void reservedmarshal_VkPipelineVertexInputStateCreateInfo(
1781     VulkanStreamGuest* vkStream, VkStructureType rootType,
1782     const VkPipelineVertexInputStateCreateInfo* forMarshaling, uint8_t** ptr) {
1783     (void)vkStream;
1784     (void)rootType;
1785     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1786     *ptr += sizeof(VkStructureType);
1787     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1788         rootType = forMarshaling->sType;
1789     }
1790     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1791     memcpy(*ptr, (VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags,
1792            sizeof(VkPipelineVertexInputStateCreateFlags));
1793     *ptr += sizeof(VkPipelineVertexInputStateCreateFlags);
1794     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
1795     *ptr += sizeof(uint32_t);
1796     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) {
1797         reservedmarshal_VkVertexInputBindingDescription(
1798             vkStream, rootType,
1799             (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions + i),
1800             ptr);
1801     }
1802     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
1803     *ptr += sizeof(uint32_t);
1804     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) {
1805         reservedmarshal_VkVertexInputAttributeDescription(
1806             vkStream, rootType,
1807             (const VkVertexInputAttributeDescription*)(forMarshaling->pVertexAttributeDescriptions +
1808                                                        i),
1809             ptr);
1810     }
1811 }
1812 
reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInputAssemblyStateCreateInfo * forMarshaling,uint8_t ** ptr)1813 void reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(
1814     VulkanStreamGuest* vkStream, VkStructureType rootType,
1815     const VkPipelineInputAssemblyStateCreateInfo* forMarshaling, uint8_t** ptr) {
1816     (void)vkStream;
1817     (void)rootType;
1818     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1819     *ptr += sizeof(VkStructureType);
1820     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1821         rootType = forMarshaling->sType;
1822     }
1823     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1824     memcpy(*ptr, (VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags,
1825            sizeof(VkPipelineInputAssemblyStateCreateFlags));
1826     *ptr += sizeof(VkPipelineInputAssemblyStateCreateFlags);
1827     memcpy(*ptr, (VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
1828     *ptr += sizeof(VkPrimitiveTopology);
1829     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
1830     *ptr += sizeof(VkBool32);
1831 }
1832 
reservedmarshal_VkPipelineTessellationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationStateCreateInfo * forMarshaling,uint8_t ** ptr)1833 void reservedmarshal_VkPipelineTessellationStateCreateInfo(
1834     VulkanStreamGuest* vkStream, VkStructureType rootType,
1835     const VkPipelineTessellationStateCreateInfo* forMarshaling, uint8_t** ptr) {
1836     (void)vkStream;
1837     (void)rootType;
1838     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1839     *ptr += sizeof(VkStructureType);
1840     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1841         rootType = forMarshaling->sType;
1842     }
1843     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1844     memcpy(*ptr, (VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags,
1845            sizeof(VkPipelineTessellationStateCreateFlags));
1846     *ptr += sizeof(VkPipelineTessellationStateCreateFlags);
1847     memcpy(*ptr, (uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
1848     *ptr += sizeof(uint32_t);
1849 }
1850 
reservedmarshal_VkViewport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViewport * forMarshaling,uint8_t ** ptr)1851 void reservedmarshal_VkViewport(VulkanStreamGuest* vkStream, VkStructureType rootType,
1852                                 const VkViewport* forMarshaling, uint8_t** ptr) {
1853     (void)vkStream;
1854     (void)rootType;
1855     memcpy(*ptr, (float*)&forMarshaling->x, sizeof(float));
1856     *ptr += sizeof(float);
1857     memcpy(*ptr, (float*)&forMarshaling->y, sizeof(float));
1858     *ptr += sizeof(float);
1859     memcpy(*ptr, (float*)&forMarshaling->width, sizeof(float));
1860     *ptr += sizeof(float);
1861     memcpy(*ptr, (float*)&forMarshaling->height, sizeof(float));
1862     *ptr += sizeof(float);
1863     memcpy(*ptr, (float*)&forMarshaling->minDepth, sizeof(float));
1864     *ptr += sizeof(float);
1865     memcpy(*ptr, (float*)&forMarshaling->maxDepth, sizeof(float));
1866     *ptr += sizeof(float);
1867 }
1868 
reservedmarshal_VkPipelineViewportStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportStateCreateInfo * forMarshaling,uint8_t ** ptr)1869 void reservedmarshal_VkPipelineViewportStateCreateInfo(
1870     VulkanStreamGuest* vkStream, VkStructureType rootType,
1871     const VkPipelineViewportStateCreateInfo* forMarshaling, uint8_t** ptr) {
1872     (void)vkStream;
1873     (void)rootType;
1874     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1875     *ptr += sizeof(VkStructureType);
1876     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1877         rootType = forMarshaling->sType;
1878     }
1879     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1880     memcpy(*ptr, (VkPipelineViewportStateCreateFlags*)&forMarshaling->flags,
1881            sizeof(VkPipelineViewportStateCreateFlags));
1882     *ptr += sizeof(VkPipelineViewportStateCreateFlags);
1883     memcpy(*ptr, (uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
1884     *ptr += sizeof(uint32_t);
1885     // WARNING PTR CHECK
1886     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
1887     memcpy((*ptr), &cgen_var_0, 8);
1888     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1889     *ptr += 8;
1890     if (forMarshaling->pViewports) {
1891         for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
1892             reservedmarshal_VkViewport(vkStream, rootType,
1893                                        (const VkViewport*)(forMarshaling->pViewports + i), ptr);
1894         }
1895     }
1896     memcpy(*ptr, (uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
1897     *ptr += sizeof(uint32_t);
1898     // WARNING PTR CHECK
1899     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
1900     memcpy((*ptr), &cgen_var_1, 8);
1901     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1902     *ptr += 8;
1903     if (forMarshaling->pScissors) {
1904         for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) {
1905             reservedmarshal_VkRect2D(vkStream, rootType,
1906                                      (const VkRect2D*)(forMarshaling->pScissors + i), ptr);
1907         }
1908     }
1909 }
1910 
reservedmarshal_VkPipelineRasterizationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateCreateInfo * forMarshaling,uint8_t ** ptr)1911 void reservedmarshal_VkPipelineRasterizationStateCreateInfo(
1912     VulkanStreamGuest* vkStream, VkStructureType rootType,
1913     const VkPipelineRasterizationStateCreateInfo* forMarshaling, uint8_t** ptr) {
1914     (void)vkStream;
1915     (void)rootType;
1916     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1917     *ptr += sizeof(VkStructureType);
1918     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1919         rootType = forMarshaling->sType;
1920     }
1921     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1922     memcpy(*ptr, (VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags,
1923            sizeof(VkPipelineRasterizationStateCreateFlags));
1924     *ptr += sizeof(VkPipelineRasterizationStateCreateFlags);
1925     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
1926     *ptr += sizeof(VkBool32);
1927     memcpy(*ptr, (VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
1928     *ptr += sizeof(VkBool32);
1929     memcpy(*ptr, (VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
1930     *ptr += sizeof(VkPolygonMode);
1931     memcpy(*ptr, (VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
1932     *ptr += sizeof(VkCullModeFlags);
1933     memcpy(*ptr, (VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
1934     *ptr += sizeof(VkFrontFace);
1935     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
1936     *ptr += sizeof(VkBool32);
1937     memcpy(*ptr, (float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
1938     *ptr += sizeof(float);
1939     memcpy(*ptr, (float*)&forMarshaling->depthBiasClamp, sizeof(float));
1940     *ptr += sizeof(float);
1941     memcpy(*ptr, (float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
1942     *ptr += sizeof(float);
1943     memcpy(*ptr, (float*)&forMarshaling->lineWidth, sizeof(float));
1944     *ptr += sizeof(float);
1945 }
1946 
reservedmarshal_VkPipelineMultisampleStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineMultisampleStateCreateInfo * forMarshaling,uint8_t ** ptr)1947 void reservedmarshal_VkPipelineMultisampleStateCreateInfo(
1948     VulkanStreamGuest* vkStream, VkStructureType rootType,
1949     const VkPipelineMultisampleStateCreateInfo* forMarshaling, uint8_t** ptr) {
1950     (void)vkStream;
1951     (void)rootType;
1952     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1953     *ptr += sizeof(VkStructureType);
1954     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1955         rootType = forMarshaling->sType;
1956     }
1957     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
1958     memcpy(*ptr, (VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags,
1959            sizeof(VkPipelineMultisampleStateCreateFlags));
1960     *ptr += sizeof(VkPipelineMultisampleStateCreateFlags);
1961     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
1962            sizeof(VkSampleCountFlagBits));
1963     *ptr += sizeof(VkSampleCountFlagBits);
1964     memcpy(*ptr, (VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
1965     *ptr += sizeof(VkBool32);
1966     memcpy(*ptr, (float*)&forMarshaling->minSampleShading, sizeof(float));
1967     *ptr += sizeof(float);
1968     // WARNING PTR CHECK
1969     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
1970     memcpy((*ptr), &cgen_var_0, 8);
1971     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
1972     *ptr += 8;
1973     if (forMarshaling->pSampleMask) {
1974         memcpy(*ptr, (const VkSampleMask*)forMarshaling->pSampleMask,
1975                (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
1976         *ptr += (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask);
1977     }
1978     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
1979     *ptr += sizeof(VkBool32);
1980     memcpy(*ptr, (VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
1981     *ptr += sizeof(VkBool32);
1982 }
1983 
reservedmarshal_VkStencilOpState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkStencilOpState * forMarshaling,uint8_t ** ptr)1984 void reservedmarshal_VkStencilOpState(VulkanStreamGuest* vkStream, VkStructureType rootType,
1985                                       const VkStencilOpState* forMarshaling, uint8_t** ptr) {
1986     (void)vkStream;
1987     (void)rootType;
1988     memcpy(*ptr, (VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
1989     *ptr += sizeof(VkStencilOp);
1990     memcpy(*ptr, (VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
1991     *ptr += sizeof(VkStencilOp);
1992     memcpy(*ptr, (VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
1993     *ptr += sizeof(VkStencilOp);
1994     memcpy(*ptr, (VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
1995     *ptr += sizeof(VkCompareOp);
1996     memcpy(*ptr, (uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
1997     *ptr += sizeof(uint32_t);
1998     memcpy(*ptr, (uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
1999     *ptr += sizeof(uint32_t);
2000     memcpy(*ptr, (uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
2001     *ptr += sizeof(uint32_t);
2002 }
2003 
reservedmarshal_VkPipelineDepthStencilStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDepthStencilStateCreateInfo * forMarshaling,uint8_t ** ptr)2004 void reservedmarshal_VkPipelineDepthStencilStateCreateInfo(
2005     VulkanStreamGuest* vkStream, VkStructureType rootType,
2006     const VkPipelineDepthStencilStateCreateInfo* forMarshaling, uint8_t** ptr) {
2007     (void)vkStream;
2008     (void)rootType;
2009     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2010     *ptr += sizeof(VkStructureType);
2011     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2012         rootType = forMarshaling->sType;
2013     }
2014     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2015     memcpy(*ptr, (VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags,
2016            sizeof(VkPipelineDepthStencilStateCreateFlags));
2017     *ptr += sizeof(VkPipelineDepthStencilStateCreateFlags);
2018     memcpy(*ptr, (VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
2019     *ptr += sizeof(VkBool32);
2020     memcpy(*ptr, (VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
2021     *ptr += sizeof(VkBool32);
2022     memcpy(*ptr, (VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
2023     *ptr += sizeof(VkCompareOp);
2024     memcpy(*ptr, (VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
2025     *ptr += sizeof(VkBool32);
2026     memcpy(*ptr, (VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
2027     *ptr += sizeof(VkBool32);
2028     reservedmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->front),
2029                                      ptr);
2030     reservedmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->back),
2031                                      ptr);
2032     memcpy(*ptr, (float*)&forMarshaling->minDepthBounds, sizeof(float));
2033     *ptr += sizeof(float);
2034     memcpy(*ptr, (float*)&forMarshaling->maxDepthBounds, sizeof(float));
2035     *ptr += sizeof(float);
2036 }
2037 
reservedmarshal_VkPipelineColorBlendAttachmentState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendAttachmentState * forMarshaling,uint8_t ** ptr)2038 void reservedmarshal_VkPipelineColorBlendAttachmentState(
2039     VulkanStreamGuest* vkStream, VkStructureType rootType,
2040     const VkPipelineColorBlendAttachmentState* forMarshaling, uint8_t** ptr) {
2041     (void)vkStream;
2042     (void)rootType;
2043     memcpy(*ptr, (VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
2044     *ptr += sizeof(VkBool32);
2045     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
2046     *ptr += sizeof(VkBlendFactor);
2047     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
2048     *ptr += sizeof(VkBlendFactor);
2049     memcpy(*ptr, (VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
2050     *ptr += sizeof(VkBlendOp);
2051     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
2052     *ptr += sizeof(VkBlendFactor);
2053     memcpy(*ptr, (VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
2054     *ptr += sizeof(VkBlendFactor);
2055     memcpy(*ptr, (VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
2056     *ptr += sizeof(VkBlendOp);
2057     memcpy(*ptr, (VkColorComponentFlags*)&forMarshaling->colorWriteMask,
2058            sizeof(VkColorComponentFlags));
2059     *ptr += sizeof(VkColorComponentFlags);
2060 }
2061 
reservedmarshal_VkPipelineColorBlendStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendStateCreateInfo * forMarshaling,uint8_t ** ptr)2062 void reservedmarshal_VkPipelineColorBlendStateCreateInfo(
2063     VulkanStreamGuest* vkStream, VkStructureType rootType,
2064     const VkPipelineColorBlendStateCreateInfo* forMarshaling, uint8_t** ptr) {
2065     (void)vkStream;
2066     (void)rootType;
2067     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2068     *ptr += sizeof(VkStructureType);
2069     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2070         rootType = forMarshaling->sType;
2071     }
2072     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2073     memcpy(*ptr, (VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags,
2074            sizeof(VkPipelineColorBlendStateCreateFlags));
2075     *ptr += sizeof(VkPipelineColorBlendStateCreateFlags);
2076     memcpy(*ptr, (VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
2077     *ptr += sizeof(VkBool32);
2078     memcpy(*ptr, (VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
2079     *ptr += sizeof(VkLogicOp);
2080     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2081     *ptr += sizeof(uint32_t);
2082     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
2083         reservedmarshal_VkPipelineColorBlendAttachmentState(
2084             vkStream, rootType,
2085             (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i), ptr);
2086     }
2087     memcpy(*ptr, (float*)forMarshaling->blendConstants, 4 * sizeof(float));
2088     *ptr += 4 * sizeof(float);
2089 }
2090 
reservedmarshal_VkPipelineDynamicStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDynamicStateCreateInfo * forMarshaling,uint8_t ** ptr)2091 void reservedmarshal_VkPipelineDynamicStateCreateInfo(
2092     VulkanStreamGuest* vkStream, VkStructureType rootType,
2093     const VkPipelineDynamicStateCreateInfo* forMarshaling, uint8_t** ptr) {
2094     (void)vkStream;
2095     (void)rootType;
2096     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2097     *ptr += sizeof(VkStructureType);
2098     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2099         rootType = forMarshaling->sType;
2100     }
2101     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2102     memcpy(*ptr, (VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags,
2103            sizeof(VkPipelineDynamicStateCreateFlags));
2104     *ptr += sizeof(VkPipelineDynamicStateCreateFlags);
2105     memcpy(*ptr, (uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
2106     *ptr += sizeof(uint32_t);
2107     memcpy(*ptr, (const VkDynamicState*)forMarshaling->pDynamicStates,
2108            forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
2109     *ptr += forMarshaling->dynamicStateCount * sizeof(const VkDynamicState);
2110 }
2111 
reservedmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineCreateInfo * forMarshaling,uint8_t ** ptr)2112 void reservedmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest* vkStream,
2113                                                   VkStructureType rootType,
2114                                                   const VkGraphicsPipelineCreateInfo* forMarshaling,
2115                                                   uint8_t** ptr) {
2116     (void)vkStream;
2117     (void)rootType;
2118     uint32_t hasRasterization = 1;
2119     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2120         hasRasterization =
2121             ((((0 == forMarshaling->pRasterizationState))
2122                   ? (0)
2123                   : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))) ||
2124              (((0 == forMarshaling->pDynamicState))
2125                   ? (0)
2126                   : (arrayany((*(forMarshaling->pDynamicState)).pDynamicStates, 0,
2127                               (*(forMarshaling->pDynamicState)).dynamicStateCount,
2128                               [](VkDynamicState s) {
2129                                   return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
2130                               }))));
2131         uint32_t cgen_var_0 = (uint32_t)hasRasterization;
2132         memcpy((*ptr), &cgen_var_0, 4);
2133         gfxstream::guest::Stream::toBe32((uint8_t*)(*ptr));
2134         *ptr += 4;
2135     }
2136     uint32_t hasTessellation = 1;
2137     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2138         hasTessellation =
2139             arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount,
2140                      [](VkPipelineShaderStageCreateInfo s) {
2141                          return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
2142                                  (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
2143                      });
2144         uint32_t cgen_var_0 = (uint32_t)hasTessellation;
2145         memcpy((*ptr), &cgen_var_0, 4);
2146         gfxstream::guest::Stream::toBe32((uint8_t*)(*ptr));
2147         *ptr += 4;
2148     }
2149     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2150     *ptr += sizeof(VkStructureType);
2151     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2152         rootType = forMarshaling->sType;
2153     }
2154     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2155     memcpy(*ptr, (VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
2156     *ptr += sizeof(VkPipelineCreateFlags);
2157     memcpy(*ptr, (uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
2158     *ptr += sizeof(uint32_t);
2159     for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
2160         reservedmarshal_VkPipelineShaderStageCreateInfo(
2161             vkStream, rootType,
2162             (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i), ptr);
2163     }
2164     // WARNING PTR CHECK
2165     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2166         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
2167         memcpy((*ptr), &cgen_var_0, 8);
2168         gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2169         *ptr += 8;
2170     }
2171     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2172          forMarshaling->pVertexInputState)) {
2173         reservedmarshal_VkPipelineVertexInputStateCreateInfo(
2174             vkStream, rootType,
2175             (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState), ptr);
2176     }
2177     // WARNING PTR CHECK
2178     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2179         uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
2180         memcpy((*ptr), &cgen_var_0, 8);
2181         gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2182         *ptr += 8;
2183     }
2184     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2185          forMarshaling->pInputAssemblyState)) {
2186         reservedmarshal_VkPipelineInputAssemblyStateCreateInfo(
2187             vkStream, rootType,
2188             (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState),
2189             ptr);
2190     }
2191     // WARNING PTR CHECK
2192     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
2193     memcpy((*ptr), &cgen_var_0, 8);
2194     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2195     *ptr += 8;
2196     if (forMarshaling->pTessellationState) {
2197         if (hasTessellation) {
2198             reservedmarshal_VkPipelineTessellationStateCreateInfo(
2199                 vkStream, rootType,
2200                 (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState),
2201                 ptr);
2202         }
2203     }
2204     // WARNING PTR CHECK
2205     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
2206     memcpy((*ptr), &cgen_var_1, 8);
2207     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2208     *ptr += 8;
2209     if (forMarshaling->pViewportState) {
2210         if (hasRasterization) {
2211             reservedmarshal_VkPipelineViewportStateCreateInfo(
2212                 vkStream, rootType,
2213                 (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState), ptr);
2214         }
2215     }
2216     // WARNING PTR CHECK
2217     if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2218         uint64_t cgen_var_1_0 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
2219         memcpy((*ptr), &cgen_var_1_0, 8);
2220         gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2221         *ptr += 8;
2222     }
2223     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2224          forMarshaling->pRasterizationState)) {
2225         reservedmarshal_VkPipelineRasterizationStateCreateInfo(
2226             vkStream, rootType,
2227             (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState),
2228             ptr);
2229     }
2230     // WARNING PTR CHECK
2231     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
2232     memcpy((*ptr), &cgen_var_2, 8);
2233     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2234     *ptr += 8;
2235     if (forMarshaling->pMultisampleState) {
2236         if (hasRasterization) {
2237             reservedmarshal_VkPipelineMultisampleStateCreateInfo(
2238                 vkStream, rootType,
2239                 (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState),
2240                 ptr);
2241         }
2242     }
2243     // WARNING PTR CHECK
2244     uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
2245     memcpy((*ptr), &cgen_var_3, 8);
2246     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2247     *ptr += 8;
2248     if (forMarshaling->pDepthStencilState) {
2249         if (hasRasterization) {
2250             reservedmarshal_VkPipelineDepthStencilStateCreateInfo(
2251                 vkStream, rootType,
2252                 (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState),
2253                 ptr);
2254         }
2255     }
2256     // WARNING PTR CHECK
2257     uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
2258     memcpy((*ptr), &cgen_var_4, 8);
2259     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2260     *ptr += 8;
2261     if (forMarshaling->pColorBlendState) {
2262         if (hasRasterization) {
2263             reservedmarshal_VkPipelineColorBlendStateCreateInfo(
2264                 vkStream, rootType,
2265                 (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState), ptr);
2266         }
2267     }
2268     // WARNING PTR CHECK
2269     uint64_t cgen_var_5 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
2270     memcpy((*ptr), &cgen_var_5, 8);
2271     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2272     *ptr += 8;
2273     if (forMarshaling->pDynamicState) {
2274         reservedmarshal_VkPipelineDynamicStateCreateInfo(
2275             vkStream, rootType,
2276             (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState), ptr);
2277     }
2278     uint64_t cgen_var_6;
2279     *&cgen_var_6 = get_host_u64_VkPipelineLayout((*&forMarshaling->layout));
2280     memcpy(*ptr, (uint64_t*)&cgen_var_6, 1 * 8);
2281     *ptr += 1 * 8;
2282     uint64_t cgen_var_7;
2283     *&cgen_var_7 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2284     memcpy(*ptr, (uint64_t*)&cgen_var_7, 1 * 8);
2285     *ptr += 1 * 8;
2286     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
2287     *ptr += sizeof(uint32_t);
2288     uint64_t cgen_var_8;
2289     *&cgen_var_8 = get_host_u64_VkPipeline((*&forMarshaling->basePipelineHandle));
2290     memcpy(*ptr, (uint64_t*)&cgen_var_8, 1 * 8);
2291     *ptr += 1 * 8;
2292     memcpy(*ptr, (int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
2293     *ptr += sizeof(int32_t);
2294 }
2295 
reservedmarshal_VkPushConstantRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushConstantRange * forMarshaling,uint8_t ** ptr)2296 void reservedmarshal_VkPushConstantRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
2297                                          const VkPushConstantRange* forMarshaling, uint8_t** ptr) {
2298     (void)vkStream;
2299     (void)rootType;
2300     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
2301     *ptr += sizeof(VkShaderStageFlags);
2302     memcpy(*ptr, (uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2303     *ptr += sizeof(uint32_t);
2304     memcpy(*ptr, (uint32_t*)&forMarshaling->size, sizeof(uint32_t));
2305     *ptr += sizeof(uint32_t);
2306 }
2307 
reservedmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineLayoutCreateInfo * forMarshaling,uint8_t ** ptr)2308 void reservedmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest* vkStream,
2309                                                 VkStructureType rootType,
2310                                                 const VkPipelineLayoutCreateInfo* forMarshaling,
2311                                                 uint8_t** ptr) {
2312     (void)vkStream;
2313     (void)rootType;
2314     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2315     *ptr += sizeof(VkStructureType);
2316     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2317         rootType = forMarshaling->sType;
2318     }
2319     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2320     memcpy(*ptr, (VkPipelineLayoutCreateFlags*)&forMarshaling->flags,
2321            sizeof(VkPipelineLayoutCreateFlags));
2322     *ptr += sizeof(VkPipelineLayoutCreateFlags);
2323     memcpy(*ptr, (uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
2324     *ptr += sizeof(uint32_t);
2325     if (forMarshaling->setLayoutCount) {
2326         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
2327         if (forMarshaling) {
2328             for (uint32_t k = 0; k < forMarshaling->setLayoutCount; ++k) {
2329                 uint64_t tmpval = get_host_u64_VkDescriptorSetLayout(forMarshaling->pSetLayouts[k]);
2330                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2331             }
2332         }
2333         *ptr += 8 * forMarshaling->setLayoutCount;
2334     }
2335     memcpy(*ptr, (uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
2336     *ptr += sizeof(uint32_t);
2337     for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
2338         reservedmarshal_VkPushConstantRange(
2339             vkStream, rootType,
2340             (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i), ptr);
2341     }
2342 }
2343 
reservedmarshal_VkSamplerCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCreateInfo * forMarshaling,uint8_t ** ptr)2344 void reservedmarshal_VkSamplerCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2345                                          const VkSamplerCreateInfo* forMarshaling, uint8_t** ptr) {
2346     (void)vkStream;
2347     (void)rootType;
2348     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2349     *ptr += sizeof(VkStructureType);
2350     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2351         rootType = forMarshaling->sType;
2352     }
2353     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2354     memcpy(*ptr, (VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
2355     *ptr += sizeof(VkSamplerCreateFlags);
2356     memcpy(*ptr, (VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
2357     *ptr += sizeof(VkFilter);
2358     memcpy(*ptr, (VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
2359     *ptr += sizeof(VkFilter);
2360     memcpy(*ptr, (VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
2361     *ptr += sizeof(VkSamplerMipmapMode);
2362     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeU, sizeof(VkSamplerAddressMode));
2363     *ptr += sizeof(VkSamplerAddressMode);
2364     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeV, sizeof(VkSamplerAddressMode));
2365     *ptr += sizeof(VkSamplerAddressMode);
2366     memcpy(*ptr, (VkSamplerAddressMode*)&forMarshaling->addressModeW, sizeof(VkSamplerAddressMode));
2367     *ptr += sizeof(VkSamplerAddressMode);
2368     memcpy(*ptr, (float*)&forMarshaling->mipLodBias, sizeof(float));
2369     *ptr += sizeof(float);
2370     memcpy(*ptr, (VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
2371     *ptr += sizeof(VkBool32);
2372     memcpy(*ptr, (float*)&forMarshaling->maxAnisotropy, sizeof(float));
2373     *ptr += sizeof(float);
2374     memcpy(*ptr, (VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
2375     *ptr += sizeof(VkBool32);
2376     memcpy(*ptr, (VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
2377     *ptr += sizeof(VkCompareOp);
2378     memcpy(*ptr, (float*)&forMarshaling->minLod, sizeof(float));
2379     *ptr += sizeof(float);
2380     memcpy(*ptr, (float*)&forMarshaling->maxLod, sizeof(float));
2381     *ptr += sizeof(float);
2382     memcpy(*ptr, (VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
2383     *ptr += sizeof(VkBorderColor);
2384     memcpy(*ptr, (VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
2385     *ptr += sizeof(VkBool32);
2386 }
2387 
reservedmarshal_VkCopyDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyDescriptorSet * forMarshaling,uint8_t ** ptr)2388 void reservedmarshal_VkCopyDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
2389                                          const VkCopyDescriptorSet* forMarshaling, uint8_t** ptr) {
2390     (void)vkStream;
2391     (void)rootType;
2392     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2393     *ptr += sizeof(VkStructureType);
2394     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2395         rootType = forMarshaling->sType;
2396     }
2397     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2398     uint64_t cgen_var_0;
2399     *&cgen_var_0 = get_host_u64_VkDescriptorSet((*&forMarshaling->srcSet));
2400     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2401     *ptr += 1 * 8;
2402     memcpy(*ptr, (uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
2403     *ptr += sizeof(uint32_t);
2404     memcpy(*ptr, (uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
2405     *ptr += sizeof(uint32_t);
2406     uint64_t cgen_var_1;
2407     *&cgen_var_1 = get_host_u64_VkDescriptorSet((*&forMarshaling->dstSet));
2408     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2409     *ptr += 1 * 8;
2410     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
2411     *ptr += sizeof(uint32_t);
2412     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
2413     *ptr += sizeof(uint32_t);
2414     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2415     *ptr += sizeof(uint32_t);
2416 }
2417 
reservedmarshal_VkDescriptorBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorBufferInfo * forMarshaling,uint8_t ** ptr)2418 void reservedmarshal_VkDescriptorBufferInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2419                                             const VkDescriptorBufferInfo* forMarshaling,
2420                                             uint8_t** ptr) {
2421     (void)vkStream;
2422     (void)rootType;
2423     uint64_t cgen_var_0;
2424     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
2425     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2426     *ptr += 1 * 8;
2427     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
2428     *ptr += sizeof(VkDeviceSize);
2429     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
2430     *ptr += sizeof(VkDeviceSize);
2431 }
2432 
reservedmarshal_VkDescriptorImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorImageInfo * forMarshaling,uint8_t ** ptr)2433 void reservedmarshal_VkDescriptorImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2434                                            const VkDescriptorImageInfo* forMarshaling,
2435                                            uint8_t** ptr) {
2436     (void)vkStream;
2437     (void)rootType;
2438     uint64_t cgen_var_0;
2439     *&cgen_var_0 = get_host_u64_VkSampler((*&forMarshaling->sampler));
2440     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2441     *ptr += 1 * 8;
2442     uint64_t cgen_var_1;
2443     *&cgen_var_1 = get_host_u64_VkImageView((*&forMarshaling->imageView));
2444     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2445     *ptr += 1 * 8;
2446     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
2447     *ptr += sizeof(VkImageLayout);
2448 }
2449 
reservedmarshal_VkDescriptorPoolSize(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolSize * forMarshaling,uint8_t ** ptr)2450 void reservedmarshal_VkDescriptorPoolSize(VulkanStreamGuest* vkStream, VkStructureType rootType,
2451                                           const VkDescriptorPoolSize* forMarshaling,
2452                                           uint8_t** ptr) {
2453     (void)vkStream;
2454     (void)rootType;
2455     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
2456     *ptr += sizeof(VkDescriptorType);
2457     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2458     *ptr += sizeof(uint32_t);
2459 }
2460 
reservedmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolCreateInfo * forMarshaling,uint8_t ** ptr)2461 void reservedmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest* vkStream,
2462                                                 VkStructureType rootType,
2463                                                 const VkDescriptorPoolCreateInfo* forMarshaling,
2464                                                 uint8_t** ptr) {
2465     (void)vkStream;
2466     (void)rootType;
2467     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2468     *ptr += sizeof(VkStructureType);
2469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2470         rootType = forMarshaling->sType;
2471     }
2472     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2473     memcpy(*ptr, (VkDescriptorPoolCreateFlags*)&forMarshaling->flags,
2474            sizeof(VkDescriptorPoolCreateFlags));
2475     *ptr += sizeof(VkDescriptorPoolCreateFlags);
2476     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
2477     *ptr += sizeof(uint32_t);
2478     memcpy(*ptr, (uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
2479     *ptr += sizeof(uint32_t);
2480     for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) {
2481         reservedmarshal_VkDescriptorPoolSize(
2482             vkStream, rootType, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i), ptr);
2483     }
2484 }
2485 
reservedmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetAllocateInfo * forMarshaling,uint8_t ** ptr)2486 void reservedmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest* vkStream,
2487                                                  VkStructureType rootType,
2488                                                  const VkDescriptorSetAllocateInfo* forMarshaling,
2489                                                  uint8_t** ptr) {
2490     (void)vkStream;
2491     (void)rootType;
2492     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2493     *ptr += sizeof(VkStructureType);
2494     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2495         rootType = forMarshaling->sType;
2496     }
2497     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2498     uint64_t cgen_var_0;
2499     *&cgen_var_0 = get_host_u64_VkDescriptorPool((*&forMarshaling->descriptorPool));
2500     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2501     *ptr += 1 * 8;
2502     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
2503     *ptr += sizeof(uint32_t);
2504     if (forMarshaling->descriptorSetCount) {
2505         uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
2506         if (forMarshaling) {
2507             for (uint32_t k = 0; k < forMarshaling->descriptorSetCount; ++k) {
2508                 uint64_t tmpval = get_host_u64_VkDescriptorSetLayout(forMarshaling->pSetLayouts[k]);
2509                 memcpy(cgen_var_1_ptr + k * 8, &tmpval, sizeof(uint64_t));
2510             }
2511         }
2512         *ptr += 8 * forMarshaling->descriptorSetCount;
2513     }
2514 }
2515 
reservedmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBinding * forMarshaling,uint8_t ** ptr)2516 void reservedmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest* vkStream,
2517                                                   VkStructureType rootType,
2518                                                   const VkDescriptorSetLayoutBinding* forMarshaling,
2519                                                   uint8_t** ptr) {
2520     (void)vkStream;
2521     (void)rootType;
2522     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2523     *ptr += sizeof(uint32_t);
2524     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
2525     *ptr += sizeof(VkDescriptorType);
2526     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2527     *ptr += sizeof(uint32_t);
2528     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
2529     *ptr += sizeof(VkShaderStageFlags);
2530     // WARNING PTR CHECK
2531     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
2532     memcpy((*ptr), &cgen_var_0, 8);
2533     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2534     *ptr += 8;
2535     if (forMarshaling->pImmutableSamplers) {
2536         if (forMarshaling->descriptorCount) {
2537             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
2538             if (forMarshaling) {
2539                 for (uint32_t k = 0; k < forMarshaling->descriptorCount; ++k) {
2540                     uint64_t tmpval = get_host_u64_VkSampler(forMarshaling->pImmutableSamplers[k]);
2541                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2542                 }
2543             }
2544             *ptr += 8 * forMarshaling->descriptorCount;
2545         }
2546     }
2547 }
2548 
reservedmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * forMarshaling,uint8_t ** ptr)2549 void reservedmarshal_VkDescriptorSetLayoutCreateInfo(
2550     VulkanStreamGuest* vkStream, VkStructureType rootType,
2551     const VkDescriptorSetLayoutCreateInfo* forMarshaling, uint8_t** ptr) {
2552     (void)vkStream;
2553     (void)rootType;
2554     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2555     *ptr += sizeof(VkStructureType);
2556     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2557         rootType = forMarshaling->sType;
2558     }
2559     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2560     memcpy(*ptr, (VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags,
2561            sizeof(VkDescriptorSetLayoutCreateFlags));
2562     *ptr += sizeof(VkDescriptorSetLayoutCreateFlags);
2563     memcpy(*ptr, (uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
2564     *ptr += sizeof(uint32_t);
2565     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) {
2566         reservedmarshal_VkDescriptorSetLayoutBinding(
2567             vkStream, rootType, (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i),
2568             ptr);
2569     }
2570 }
2571 
reservedmarshal_VkWriteDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSet * forMarshaling,uint8_t ** ptr)2572 void reservedmarshal_VkWriteDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
2573                                           const VkWriteDescriptorSet* forMarshaling,
2574                                           uint8_t** ptr) {
2575     (void)vkStream;
2576     (void)rootType;
2577     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2578     *ptr += sizeof(VkStructureType);
2579     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2580         rootType = forMarshaling->sType;
2581     }
2582     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2583     uint64_t cgen_var_0;
2584     *&cgen_var_0 = get_host_u64_VkDescriptorSet((*&forMarshaling->dstSet));
2585     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2586     *ptr += 1 * 8;
2587     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
2588     *ptr += sizeof(uint32_t);
2589     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
2590     *ptr += sizeof(uint32_t);
2591     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
2592     *ptr += sizeof(uint32_t);
2593     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
2594     *ptr += sizeof(VkDescriptorType);
2595     // WARNING PTR CHECK
2596     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
2597     memcpy((*ptr), &cgen_var_1, 8);
2598     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2599     *ptr += 8;
2600     if (forMarshaling->pImageInfo) {
2601         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2602              ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) ||
2603               (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) ||
2604               (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) ||
2605               (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) ||
2606               (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) {
2607             for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
2608                 reservedmarshal_VkDescriptorImageInfo(
2609                     vkStream, rootType,
2610                     (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i), ptr);
2611             }
2612         }
2613     }
2614     // WARNING PTR CHECK
2615     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
2616     memcpy((*ptr), &cgen_var_2, 8);
2617     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2618     *ptr += 8;
2619     if (forMarshaling->pBufferInfo) {
2620         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2621              ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) ||
2622               (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) ||
2623               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) ||
2624               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) {
2625             for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
2626                 reservedmarshal_VkDescriptorBufferInfo(
2627                     vkStream, rootType,
2628                     (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i), ptr);
2629             }
2630         }
2631     }
2632     // WARNING PTR CHECK
2633     uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
2634     memcpy((*ptr), &cgen_var_3, 8);
2635     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2636     *ptr += 8;
2637     if (forMarshaling->pTexelBufferView) {
2638         if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2639              ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) ||
2640               (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) {
2641             if (forMarshaling->descriptorCount) {
2642                 uint8_t* cgen_var_3_0_ptr = (uint8_t*)(*ptr);
2643                 if (forMarshaling) {
2644                     for (uint32_t k = 0; k < forMarshaling->descriptorCount; ++k) {
2645                         uint64_t tmpval =
2646                             get_host_u64_VkBufferView(forMarshaling->pTexelBufferView[k]);
2647                         memcpy(cgen_var_3_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2648                     }
2649                 }
2650                 *ptr += 8 * forMarshaling->descriptorCount;
2651             }
2652         }
2653     }
2654 }
2655 
reservedmarshal_VkAttachmentDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription * forMarshaling,uint8_t ** ptr)2656 void reservedmarshal_VkAttachmentDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
2657                                              const VkAttachmentDescription* forMarshaling,
2658                                              uint8_t** ptr) {
2659     (void)vkStream;
2660     (void)rootType;
2661     memcpy(*ptr, (VkAttachmentDescriptionFlags*)&forMarshaling->flags,
2662            sizeof(VkAttachmentDescriptionFlags));
2663     *ptr += sizeof(VkAttachmentDescriptionFlags);
2664     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2665     *ptr += sizeof(VkFormat);
2666     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
2667     *ptr += sizeof(VkSampleCountFlagBits);
2668     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
2669     *ptr += sizeof(VkAttachmentLoadOp);
2670     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
2671     *ptr += sizeof(VkAttachmentStoreOp);
2672     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
2673     *ptr += sizeof(VkAttachmentLoadOp);
2674     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
2675     *ptr += sizeof(VkAttachmentStoreOp);
2676     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
2677     *ptr += sizeof(VkImageLayout);
2678     memcpy(*ptr, (VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
2679     *ptr += sizeof(VkImageLayout);
2680 }
2681 
reservedmarshal_VkAttachmentReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference * forMarshaling,uint8_t ** ptr)2682 void reservedmarshal_VkAttachmentReference(VulkanStreamGuest* vkStream, VkStructureType rootType,
2683                                            const VkAttachmentReference* forMarshaling,
2684                                            uint8_t** ptr) {
2685     (void)vkStream;
2686     (void)rootType;
2687     memcpy(*ptr, (uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
2688     *ptr += sizeof(uint32_t);
2689     memcpy(*ptr, (VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
2690     *ptr += sizeof(VkImageLayout);
2691 }
2692 
reservedmarshal_VkFramebufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferCreateInfo * forMarshaling,uint8_t ** ptr)2693 void reservedmarshal_VkFramebufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2694                                              const VkFramebufferCreateInfo* forMarshaling,
2695                                              uint8_t** ptr) {
2696     (void)vkStream;
2697     (void)rootType;
2698     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2699     *ptr += sizeof(VkStructureType);
2700     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2701         rootType = forMarshaling->sType;
2702     }
2703     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2704     memcpy(*ptr, (VkFramebufferCreateFlags*)&forMarshaling->flags,
2705            sizeof(VkFramebufferCreateFlags));
2706     *ptr += sizeof(VkFramebufferCreateFlags);
2707     uint64_t cgen_var_0;
2708     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2709     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2710     *ptr += 1 * 8;
2711     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2712     *ptr += sizeof(uint32_t);
2713     if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2714          (((forMarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
2715         if (forMarshaling->attachmentCount) {
2716             uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
2717             if (forMarshaling) {
2718                 for (uint32_t k = 0; k < forMarshaling->attachmentCount; ++k) {
2719                     uint64_t tmpval = get_host_u64_VkImageView(forMarshaling->pAttachments[k]);
2720                     memcpy(cgen_var_0_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
2721                 }
2722             }
2723             *ptr += 8 * forMarshaling->attachmentCount;
2724         }
2725     }
2726     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
2727     *ptr += sizeof(uint32_t);
2728     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
2729     *ptr += sizeof(uint32_t);
2730     memcpy(*ptr, (uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
2731     *ptr += sizeof(uint32_t);
2732 }
2733 
reservedmarshal_VkSubpassDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription * forMarshaling,uint8_t ** ptr)2734 void reservedmarshal_VkSubpassDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
2735                                           const VkSubpassDescription* forMarshaling,
2736                                           uint8_t** ptr) {
2737     (void)vkStream;
2738     (void)rootType;
2739     memcpy(*ptr, (VkSubpassDescriptionFlags*)&forMarshaling->flags,
2740            sizeof(VkSubpassDescriptionFlags));
2741     *ptr += sizeof(VkSubpassDescriptionFlags);
2742     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
2743            sizeof(VkPipelineBindPoint));
2744     *ptr += sizeof(VkPipelineBindPoint);
2745     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
2746     *ptr += sizeof(uint32_t);
2747     for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
2748         reservedmarshal_VkAttachmentReference(
2749             vkStream, rootType,
2750             (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i), ptr);
2751     }
2752     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
2753     *ptr += sizeof(uint32_t);
2754     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
2755         reservedmarshal_VkAttachmentReference(
2756             vkStream, rootType,
2757             (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i), ptr);
2758     }
2759     // WARNING PTR CHECK
2760     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
2761     memcpy((*ptr), &cgen_var_0, 8);
2762     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2763     *ptr += 8;
2764     if (forMarshaling->pResolveAttachments) {
2765         for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
2766             reservedmarshal_VkAttachmentReference(
2767                 vkStream, rootType,
2768                 (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i), ptr);
2769         }
2770     }
2771     // WARNING PTR CHECK
2772     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
2773     memcpy((*ptr), &cgen_var_1, 8);
2774     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2775     *ptr += 8;
2776     if (forMarshaling->pDepthStencilAttachment) {
2777         reservedmarshal_VkAttachmentReference(
2778             vkStream, rootType,
2779             (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment), ptr);
2780     }
2781     memcpy(*ptr, (uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
2782     *ptr += sizeof(uint32_t);
2783     memcpy(*ptr, (const uint32_t*)forMarshaling->pPreserveAttachments,
2784            forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
2785     *ptr += forMarshaling->preserveAttachmentCount * sizeof(const uint32_t);
2786 }
2787 
reservedmarshal_VkSubpassDependency(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency * forMarshaling,uint8_t ** ptr)2788 void reservedmarshal_VkSubpassDependency(VulkanStreamGuest* vkStream, VkStructureType rootType,
2789                                          const VkSubpassDependency* forMarshaling, uint8_t** ptr) {
2790     (void)vkStream;
2791     (void)rootType;
2792     memcpy(*ptr, (uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
2793     *ptr += sizeof(uint32_t);
2794     memcpy(*ptr, (uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
2795     *ptr += sizeof(uint32_t);
2796     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
2797     *ptr += sizeof(VkPipelineStageFlags);
2798     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
2799     *ptr += sizeof(VkPipelineStageFlags);
2800     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
2801     *ptr += sizeof(VkAccessFlags);
2802     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
2803     *ptr += sizeof(VkAccessFlags);
2804     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
2805     *ptr += sizeof(VkDependencyFlags);
2806 }
2807 
reservedmarshal_VkRenderPassCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo * forMarshaling,uint8_t ** ptr)2808 void reservedmarshal_VkRenderPassCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2809                                             const VkRenderPassCreateInfo* forMarshaling,
2810                                             uint8_t** ptr) {
2811     (void)vkStream;
2812     (void)rootType;
2813     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2814     *ptr += sizeof(VkStructureType);
2815     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2816         rootType = forMarshaling->sType;
2817     }
2818     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2819     memcpy(*ptr, (VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
2820     *ptr += sizeof(VkRenderPassCreateFlags);
2821     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2822     *ptr += sizeof(uint32_t);
2823     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
2824         reservedmarshal_VkAttachmentDescription(
2825             vkStream, rootType, (const VkAttachmentDescription*)(forMarshaling->pAttachments + i),
2826             ptr);
2827     }
2828     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
2829     *ptr += sizeof(uint32_t);
2830     for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
2831         reservedmarshal_VkSubpassDescription(
2832             vkStream, rootType, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i), ptr);
2833     }
2834     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
2835     *ptr += sizeof(uint32_t);
2836     for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
2837         reservedmarshal_VkSubpassDependency(
2838             vkStream, rootType, (const VkSubpassDependency*)(forMarshaling->pDependencies + i),
2839             ptr);
2840     }
2841 }
2842 
reservedmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandPoolCreateInfo * forMarshaling,uint8_t ** ptr)2843 void reservedmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2844                                              const VkCommandPoolCreateInfo* forMarshaling,
2845                                              uint8_t** ptr) {
2846     (void)vkStream;
2847     (void)rootType;
2848     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2849     *ptr += sizeof(VkStructureType);
2850     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2851         rootType = forMarshaling->sType;
2852     }
2853     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2854     memcpy(*ptr, (VkCommandPoolCreateFlags*)&forMarshaling->flags,
2855            sizeof(VkCommandPoolCreateFlags));
2856     *ptr += sizeof(VkCommandPoolCreateFlags);
2857     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
2858     *ptr += sizeof(uint32_t);
2859 }
2860 
reservedmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferAllocateInfo * forMarshaling,uint8_t ** ptr)2861 void reservedmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest* vkStream,
2862                                                  VkStructureType rootType,
2863                                                  const VkCommandBufferAllocateInfo* forMarshaling,
2864                                                  uint8_t** ptr) {
2865     (void)vkStream;
2866     (void)rootType;
2867     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2868     *ptr += sizeof(VkStructureType);
2869     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2870         rootType = forMarshaling->sType;
2871     }
2872     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2873     uint64_t cgen_var_0;
2874     *&cgen_var_0 = get_host_u64_VkCommandPool((*&forMarshaling->commandPool));
2875     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2876     *ptr += 1 * 8;
2877     memcpy(*ptr, (VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
2878     *ptr += sizeof(VkCommandBufferLevel);
2879     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
2880     *ptr += sizeof(uint32_t);
2881 }
2882 
reservedmarshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceInfo * forMarshaling,uint8_t ** ptr)2883 void reservedmarshal_VkCommandBufferInheritanceInfo(
2884     VulkanStreamGuest* vkStream, VkStructureType rootType,
2885     const VkCommandBufferInheritanceInfo* forMarshaling, uint8_t** ptr) {
2886     (void)vkStream;
2887     (void)rootType;
2888     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2889     *ptr += sizeof(VkStructureType);
2890     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2891         rootType = forMarshaling->sType;
2892     }
2893     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2894     uint64_t cgen_var_0;
2895     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
2896     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
2897     *ptr += 1 * 8;
2898     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
2899     *ptr += sizeof(uint32_t);
2900     uint64_t cgen_var_1;
2901     *&cgen_var_1 = get_host_u64_VkFramebuffer((*&forMarshaling->framebuffer));
2902     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
2903     *ptr += 1 * 8;
2904     memcpy(*ptr, (VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
2905     *ptr += sizeof(VkBool32);
2906     memcpy(*ptr, (VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
2907     *ptr += sizeof(VkQueryControlFlags);
2908     memcpy(*ptr, (VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
2909            sizeof(VkQueryPipelineStatisticFlags));
2910     *ptr += sizeof(VkQueryPipelineStatisticFlags);
2911 }
2912 
reservedmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferBeginInfo * forMarshaling,uint8_t ** ptr)2913 void reservedmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2914                                               const VkCommandBufferBeginInfo* forMarshaling,
2915                                               uint8_t** ptr) {
2916     (void)vkStream;
2917     (void)rootType;
2918     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2919     *ptr += sizeof(VkStructureType);
2920     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2921         rootType = forMarshaling->sType;
2922     }
2923     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
2924     memcpy(*ptr, (VkCommandBufferUsageFlags*)&forMarshaling->flags,
2925            sizeof(VkCommandBufferUsageFlags));
2926     *ptr += sizeof(VkCommandBufferUsageFlags);
2927     // WARNING PTR CHECK
2928     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
2929     memcpy((*ptr), &cgen_var_0, 8);
2930     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
2931     *ptr += 8;
2932     if (forMarshaling->pInheritanceInfo) {
2933         reservedmarshal_VkCommandBufferInheritanceInfo(
2934             vkStream, rootType,
2935             (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo), ptr);
2936     }
2937 }
2938 
reservedmarshal_VkBufferCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy * forMarshaling,uint8_t ** ptr)2939 void reservedmarshal_VkBufferCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
2940                                   const VkBufferCopy* forMarshaling, uint8_t** ptr) {
2941     (void)vkStream;
2942     (void)rootType;
2943     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
2944     *ptr += sizeof(VkDeviceSize);
2945     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
2946     *ptr += sizeof(VkDeviceSize);
2947     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
2948     *ptr += sizeof(VkDeviceSize);
2949 }
2950 
reservedmarshal_VkImageSubresourceLayers(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceLayers * forMarshaling,uint8_t ** ptr)2951 void reservedmarshal_VkImageSubresourceLayers(VulkanStreamGuest* vkStream, VkStructureType rootType,
2952                                               const VkImageSubresourceLayers* forMarshaling,
2953                                               uint8_t** ptr) {
2954     (void)vkStream;
2955     (void)rootType;
2956     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
2957     *ptr += sizeof(VkImageAspectFlags);
2958     memcpy(*ptr, (uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
2959     *ptr += sizeof(uint32_t);
2960     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
2961     *ptr += sizeof(uint32_t);
2962     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
2963     *ptr += sizeof(uint32_t);
2964 }
2965 
reservedmarshal_VkBufferImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy * forMarshaling,uint8_t ** ptr)2966 void reservedmarshal_VkBufferImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
2967                                        const VkBufferImageCopy* forMarshaling, uint8_t** ptr) {
2968     (void)vkStream;
2969     (void)rootType;
2970     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
2971     *ptr += sizeof(VkDeviceSize);
2972     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
2973     *ptr += sizeof(uint32_t);
2974     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
2975     *ptr += sizeof(uint32_t);
2976     reservedmarshal_VkImageSubresourceLayers(
2977         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
2978     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
2979     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
2980 }
2981 
reservedmarshal_VkClearColorValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearColorValue * forMarshaling,uint8_t ** ptr)2982 void reservedmarshal_VkClearColorValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
2983                                        const VkClearColorValue* forMarshaling, uint8_t** ptr) {
2984     (void)vkStream;
2985     (void)rootType;
2986     memcpy(*ptr, (float*)forMarshaling->float32, 4 * sizeof(float));
2987     *ptr += 4 * sizeof(float);
2988 }
2989 
reservedmarshal_VkClearDepthStencilValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearDepthStencilValue * forMarshaling,uint8_t ** ptr)2990 void reservedmarshal_VkClearDepthStencilValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
2991                                               const VkClearDepthStencilValue* forMarshaling,
2992                                               uint8_t** ptr) {
2993     (void)vkStream;
2994     (void)rootType;
2995     memcpy(*ptr, (float*)&forMarshaling->depth, sizeof(float));
2996     *ptr += sizeof(float);
2997     memcpy(*ptr, (uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
2998     *ptr += sizeof(uint32_t);
2999 }
3000 
reservedmarshal_VkClearValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearValue * forMarshaling,uint8_t ** ptr)3001 void reservedmarshal_VkClearValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
3002                                   const VkClearValue* forMarshaling, uint8_t** ptr) {
3003     (void)vkStream;
3004     (void)rootType;
3005     reservedmarshal_VkClearColorValue(vkStream, rootType,
3006                                       (VkClearColorValue*)(&forMarshaling->color), ptr);
3007 }
3008 
reservedmarshal_VkClearAttachment(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearAttachment * forMarshaling,uint8_t ** ptr)3009 void reservedmarshal_VkClearAttachment(VulkanStreamGuest* vkStream, VkStructureType rootType,
3010                                        const VkClearAttachment* forMarshaling, uint8_t** ptr) {
3011     (void)vkStream;
3012     (void)rootType;
3013     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
3014     *ptr += sizeof(VkImageAspectFlags);
3015     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
3016     *ptr += sizeof(uint32_t);
3017     reservedmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue),
3018                                  ptr);
3019 }
3020 
reservedmarshal_VkClearRect(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearRect * forMarshaling,uint8_t ** ptr)3021 void reservedmarshal_VkClearRect(VulkanStreamGuest* vkStream, VkStructureType rootType,
3022                                  const VkClearRect* forMarshaling, uint8_t** ptr) {
3023     (void)vkStream;
3024     (void)rootType;
3025     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->rect), ptr);
3026     memcpy(*ptr, (uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
3027     *ptr += sizeof(uint32_t);
3028     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
3029     *ptr += sizeof(uint32_t);
3030 }
3031 
reservedmarshal_VkImageBlit(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit * forMarshaling,uint8_t ** ptr)3032 void reservedmarshal_VkImageBlit(VulkanStreamGuest* vkStream, VkStructureType rootType,
3033                                  const VkImageBlit* forMarshaling, uint8_t** ptr) {
3034     (void)vkStream;
3035     (void)rootType;
3036     reservedmarshal_VkImageSubresourceLayers(
3037         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3038     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
3039         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i),
3040                                    ptr);
3041     }
3042     reservedmarshal_VkImageSubresourceLayers(
3043         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3044     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
3045         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i),
3046                                    ptr);
3047     }
3048 }
3049 
reservedmarshal_VkImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy * forMarshaling,uint8_t ** ptr)3050 void reservedmarshal_VkImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
3051                                  const VkImageCopy* forMarshaling, uint8_t** ptr) {
3052     (void)vkStream;
3053     (void)rootType;
3054     reservedmarshal_VkImageSubresourceLayers(
3055         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3056     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
3057     reservedmarshal_VkImageSubresourceLayers(
3058         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3059     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
3060     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
3061 }
3062 
reservedmarshal_VkImageResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve * forMarshaling,uint8_t ** ptr)3063 void reservedmarshal_VkImageResolve(VulkanStreamGuest* vkStream, VkStructureType rootType,
3064                                     const VkImageResolve* forMarshaling, uint8_t** ptr) {
3065     (void)vkStream;
3066     (void)rootType;
3067     reservedmarshal_VkImageSubresourceLayers(
3068         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
3069     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
3070     reservedmarshal_VkImageSubresourceLayers(
3071         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
3072     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
3073     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
3074 }
3075 
reservedmarshal_VkRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassBeginInfo * forMarshaling,uint8_t ** ptr)3076 void reservedmarshal_VkRenderPassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3077                                            const VkRenderPassBeginInfo* forMarshaling,
3078                                            uint8_t** ptr) {
3079     (void)vkStream;
3080     (void)rootType;
3081     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3082     *ptr += sizeof(VkStructureType);
3083     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3084         rootType = forMarshaling->sType;
3085     }
3086     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3087     uint64_t cgen_var_0;
3088     *&cgen_var_0 = get_host_u64_VkRenderPass((*&forMarshaling->renderPass));
3089     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3090     *ptr += 1 * 8;
3091     uint64_t cgen_var_1;
3092     *&cgen_var_1 = get_host_u64_VkFramebuffer((*&forMarshaling->framebuffer));
3093     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3094     *ptr += 1 * 8;
3095     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea), ptr);
3096     memcpy(*ptr, (uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
3097     *ptr += sizeof(uint32_t);
3098     // WARNING PTR CHECK
3099     uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
3100     memcpy((*ptr), &cgen_var_2, 8);
3101     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
3102     *ptr += 8;
3103     if (forMarshaling->pClearValues) {
3104         for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) {
3105             reservedmarshal_VkClearValue(
3106                 vkStream, rootType, (const VkClearValue*)(forMarshaling->pClearValues + i), ptr);
3107         }
3108     }
3109 }
3110 
3111 #endif
3112 #ifdef VK_VERSION_1_1
reservedmarshal_VkPhysicalDeviceSubgroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * forMarshaling,uint8_t ** ptr)3113 void reservedmarshal_VkPhysicalDeviceSubgroupProperties(
3114     VulkanStreamGuest* vkStream, VkStructureType rootType,
3115     const VkPhysicalDeviceSubgroupProperties* forMarshaling, uint8_t** ptr) {
3116     (void)vkStream;
3117     (void)rootType;
3118     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3119     *ptr += sizeof(VkStructureType);
3120     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3121         rootType = forMarshaling->sType;
3122     }
3123     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3124     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
3125     *ptr += sizeof(uint32_t);
3126     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->supportedStages, sizeof(VkShaderStageFlags));
3127     *ptr += sizeof(VkShaderStageFlags);
3128     memcpy(*ptr, (VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations,
3129            sizeof(VkSubgroupFeatureFlags));
3130     *ptr += sizeof(VkSubgroupFeatureFlags);
3131     memcpy(*ptr, (VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
3132     *ptr += sizeof(VkBool32);
3133 }
3134 
reservedmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryInfo * forMarshaling,uint8_t ** ptr)3135 void reservedmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3136                                             const VkBindBufferMemoryInfo* forMarshaling,
3137                                             uint8_t** ptr) {
3138     (void)vkStream;
3139     (void)rootType;
3140     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3141     *ptr += sizeof(VkStructureType);
3142     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3143         rootType = forMarshaling->sType;
3144     }
3145     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3146     uint64_t cgen_var_0;
3147     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3148     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3149     *ptr += 1 * 8;
3150     uint64_t cgen_var_1;
3151     *&cgen_var_1 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
3152     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3153     *ptr += 1 * 8;
3154     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
3155     *ptr += sizeof(VkDeviceSize);
3156 }
3157 
reservedmarshal_VkBindImageMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryInfo * forMarshaling,uint8_t ** ptr)3158 void reservedmarshal_VkBindImageMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3159                                            const VkBindImageMemoryInfo* forMarshaling,
3160                                            uint8_t** ptr) {
3161     (void)vkStream;
3162     (void)rootType;
3163     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3164     *ptr += sizeof(VkStructureType);
3165     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3166         rootType = forMarshaling->sType;
3167     }
3168     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3169     uint64_t cgen_var_0;
3170     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3171     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3172     *ptr += 1 * 8;
3173     uint64_t cgen_var_1;
3174     *&cgen_var_1 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
3175     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3176     *ptr += 1 * 8;
3177     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
3178     *ptr += sizeof(VkDeviceSize);
3179 }
3180 
reservedmarshal_VkPhysicalDevice16BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * forMarshaling,uint8_t ** ptr)3181 void reservedmarshal_VkPhysicalDevice16BitStorageFeatures(
3182     VulkanStreamGuest* vkStream, VkStructureType rootType,
3183     const VkPhysicalDevice16BitStorageFeatures* forMarshaling, uint8_t** ptr) {
3184     (void)vkStream;
3185     (void)rootType;
3186     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3187     *ptr += sizeof(VkStructureType);
3188     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3189         rootType = forMarshaling->sType;
3190     }
3191     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3192     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
3193     *ptr += sizeof(VkBool32);
3194     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
3195     *ptr += sizeof(VkBool32);
3196     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
3197     *ptr += sizeof(VkBool32);
3198     memcpy(*ptr, (VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
3199     *ptr += sizeof(VkBool32);
3200 }
3201 
reservedmarshal_VkMemoryDedicatedRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedRequirements * forMarshaling,uint8_t ** ptr)3202 void reservedmarshal_VkMemoryDedicatedRequirements(
3203     VulkanStreamGuest* vkStream, VkStructureType rootType,
3204     const VkMemoryDedicatedRequirements* forMarshaling, uint8_t** ptr) {
3205     (void)vkStream;
3206     (void)rootType;
3207     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3208     *ptr += sizeof(VkStructureType);
3209     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3210         rootType = forMarshaling->sType;
3211     }
3212     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3213     memcpy(*ptr, (VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
3214     *ptr += sizeof(VkBool32);
3215     memcpy(*ptr, (VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
3216     *ptr += sizeof(VkBool32);
3217 }
3218 
reservedmarshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * forMarshaling,uint8_t ** ptr)3219 void reservedmarshal_VkMemoryDedicatedAllocateInfo(
3220     VulkanStreamGuest* vkStream, VkStructureType rootType,
3221     const VkMemoryDedicatedAllocateInfo* forMarshaling, uint8_t** ptr) {
3222     (void)vkStream;
3223     (void)rootType;
3224     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3225     *ptr += sizeof(VkStructureType);
3226     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3227         rootType = forMarshaling->sType;
3228     }
3229     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3230     uint64_t cgen_var_0;
3231     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3232     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3233     *ptr += 1 * 8;
3234     uint64_t cgen_var_1;
3235     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3236     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
3237     *ptr += 1 * 8;
3238 }
3239 
reservedmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * forMarshaling,uint8_t ** ptr)3240 void reservedmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest* vkStream,
3241                                                VkStructureType rootType,
3242                                                const VkMemoryAllocateFlagsInfo* forMarshaling,
3243                                                uint8_t** ptr) {
3244     (void)vkStream;
3245     (void)rootType;
3246     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3247     *ptr += sizeof(VkStructureType);
3248     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3249         rootType = forMarshaling->sType;
3250     }
3251     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3252     memcpy(*ptr, (VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
3253     *ptr += sizeof(VkMemoryAllocateFlags);
3254     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3255     *ptr += sizeof(uint32_t);
3256 }
3257 
reservedmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * forMarshaling,uint8_t ** ptr)3258 void reservedmarshal_VkDeviceGroupRenderPassBeginInfo(
3259     VulkanStreamGuest* vkStream, VkStructureType rootType,
3260     const VkDeviceGroupRenderPassBeginInfo* forMarshaling, uint8_t** ptr) {
3261     (void)vkStream;
3262     (void)rootType;
3263     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3264     *ptr += sizeof(VkStructureType);
3265     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3266         rootType = forMarshaling->sType;
3267     }
3268     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3269     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3270     *ptr += sizeof(uint32_t);
3271     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
3272     *ptr += sizeof(uint32_t);
3273     for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) {
3274         reservedmarshal_VkRect2D(vkStream, rootType,
3275                                  (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i), ptr);
3276     }
3277 }
3278 
reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * forMarshaling,uint8_t ** ptr)3279 void reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(
3280     VulkanStreamGuest* vkStream, VkStructureType rootType,
3281     const VkDeviceGroupCommandBufferBeginInfo* forMarshaling, uint8_t** ptr) {
3282     (void)vkStream;
3283     (void)rootType;
3284     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3285     *ptr += sizeof(VkStructureType);
3286     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3287         rootType = forMarshaling->sType;
3288     }
3289     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3290     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
3291     *ptr += sizeof(uint32_t);
3292 }
3293 
reservedmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupSubmitInfo * forMarshaling,uint8_t ** ptr)3294 void reservedmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3295                                              const VkDeviceGroupSubmitInfo* forMarshaling,
3296                                              uint8_t** ptr) {
3297     (void)vkStream;
3298     (void)rootType;
3299     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3300     *ptr += sizeof(VkStructureType);
3301     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3302         rootType = forMarshaling->sType;
3303     }
3304     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3305     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
3306     *ptr += sizeof(uint32_t);
3307     memcpy(*ptr, (const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices,
3308            forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
3309     *ptr += forMarshaling->waitSemaphoreCount * sizeof(const uint32_t);
3310     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
3311     *ptr += sizeof(uint32_t);
3312     memcpy(*ptr, (const uint32_t*)forMarshaling->pCommandBufferDeviceMasks,
3313            forMarshaling->commandBufferCount * sizeof(const uint32_t));
3314     *ptr += forMarshaling->commandBufferCount * sizeof(const uint32_t);
3315     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
3316     *ptr += sizeof(uint32_t);
3317     memcpy(*ptr, (const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices,
3318            forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
3319     *ptr += forMarshaling->signalSemaphoreCount * sizeof(const uint32_t);
3320 }
3321 
reservedmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * forMarshaling,uint8_t ** ptr)3322 void reservedmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest* vkStream,
3323                                                  VkStructureType rootType,
3324                                                  const VkDeviceGroupBindSparseInfo* forMarshaling,
3325                                                  uint8_t** ptr) {
3326     (void)vkStream;
3327     (void)rootType;
3328     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3329     *ptr += sizeof(VkStructureType);
3330     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3331         rootType = forMarshaling->sType;
3332     }
3333     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3334     memcpy(*ptr, (uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t));
3335     *ptr += sizeof(uint32_t);
3336     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
3337     *ptr += sizeof(uint32_t);
3338 }
3339 
reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * forMarshaling,uint8_t ** ptr)3340 void reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(
3341     VulkanStreamGuest* vkStream, VkStructureType rootType,
3342     const VkBindBufferMemoryDeviceGroupInfo* forMarshaling, uint8_t** ptr) {
3343     (void)vkStream;
3344     (void)rootType;
3345     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3346     *ptr += sizeof(VkStructureType);
3347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3348         rootType = forMarshaling->sType;
3349     }
3350     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3351     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
3352     *ptr += sizeof(uint32_t);
3353     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceIndices,
3354            forMarshaling->deviceIndexCount * sizeof(const uint32_t));
3355     *ptr += forMarshaling->deviceIndexCount * sizeof(const uint32_t);
3356 }
3357 
reservedmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * forMarshaling,uint8_t ** ptr)3358 void reservedmarshal_VkBindImageMemoryDeviceGroupInfo(
3359     VulkanStreamGuest* vkStream, VkStructureType rootType,
3360     const VkBindImageMemoryDeviceGroupInfo* forMarshaling, uint8_t** ptr) {
3361     (void)vkStream;
3362     (void)rootType;
3363     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3364     *ptr += sizeof(VkStructureType);
3365     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3366         rootType = forMarshaling->sType;
3367     }
3368     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3369     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
3370     *ptr += sizeof(uint32_t);
3371     memcpy(*ptr, (const uint32_t*)forMarshaling->pDeviceIndices,
3372            forMarshaling->deviceIndexCount * sizeof(const uint32_t));
3373     *ptr += forMarshaling->deviceIndexCount * sizeof(const uint32_t);
3374     memcpy(*ptr, (uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
3375     *ptr += sizeof(uint32_t);
3376     for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) {
3377         reservedmarshal_VkRect2D(vkStream, rootType,
3378                                  (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i),
3379                                  ptr);
3380     }
3381 }
3382 
reservedmarshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * forMarshaling,uint8_t ** ptr)3383 void reservedmarshal_VkPhysicalDeviceGroupProperties(
3384     VulkanStreamGuest* vkStream, VkStructureType rootType,
3385     const VkPhysicalDeviceGroupProperties* forMarshaling, uint8_t** ptr) {
3386     (void)vkStream;
3387     (void)rootType;
3388     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3389     *ptr += sizeof(VkStructureType);
3390     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3391         rootType = forMarshaling->sType;
3392     }
3393     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3394     memcpy(*ptr, (uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
3395     *ptr += sizeof(uint32_t);
3396     memcpy(*ptr, (VkPhysicalDevice*)forMarshaling->physicalDevices,
3397            VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
3398     *ptr += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
3399     memcpy(*ptr, (VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
3400     *ptr += sizeof(VkBool32);
3401 }
3402 
reservedmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * forMarshaling,uint8_t ** ptr)3403 void reservedmarshal_VkDeviceGroupDeviceCreateInfo(
3404     VulkanStreamGuest* vkStream, VkStructureType rootType,
3405     const VkDeviceGroupDeviceCreateInfo* forMarshaling, uint8_t** ptr) {
3406     (void)vkStream;
3407     (void)rootType;
3408     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3409     *ptr += sizeof(VkStructureType);
3410     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3411         rootType = forMarshaling->sType;
3412     }
3413     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3414     memcpy(*ptr, (uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
3415     *ptr += sizeof(uint32_t);
3416     if (forMarshaling->physicalDeviceCount) {
3417         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
3418         if (forMarshaling) {
3419             for (uint32_t k = 0; k < forMarshaling->physicalDeviceCount; ++k) {
3420                 uint64_t tmpval = get_host_u64_VkPhysicalDevice(forMarshaling->pPhysicalDevices[k]);
3421                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
3422             }
3423         }
3424         *ptr += 8 * forMarshaling->physicalDeviceCount;
3425     }
3426 }
3427 
reservedmarshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3428 void reservedmarshal_VkBufferMemoryRequirementsInfo2(
3429     VulkanStreamGuest* vkStream, VkStructureType rootType,
3430     const VkBufferMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3431     (void)vkStream;
3432     (void)rootType;
3433     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3434     *ptr += sizeof(VkStructureType);
3435     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3436         rootType = forMarshaling->sType;
3437     }
3438     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3439     uint64_t cgen_var_0;
3440     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
3441     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3442     *ptr += 1 * 8;
3443 }
3444 
reservedmarshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3445 void reservedmarshal_VkImageMemoryRequirementsInfo2(
3446     VulkanStreamGuest* vkStream, VkStructureType rootType,
3447     const VkImageMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3448     (void)vkStream;
3449     (void)rootType;
3450     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3451     *ptr += sizeof(VkStructureType);
3452     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3453         rootType = forMarshaling->sType;
3454     }
3455     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3456     uint64_t cgen_var_0;
3457     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3458     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3459     *ptr += 1 * 8;
3460 }
3461 
reservedmarshal_VkImageSparseMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * forMarshaling,uint8_t ** ptr)3462 void reservedmarshal_VkImageSparseMemoryRequirementsInfo2(
3463     VulkanStreamGuest* vkStream, VkStructureType rootType,
3464     const VkImageSparseMemoryRequirementsInfo2* forMarshaling, uint8_t** ptr) {
3465     (void)vkStream;
3466     (void)rootType;
3467     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3468     *ptr += sizeof(VkStructureType);
3469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3470         rootType = forMarshaling->sType;
3471     }
3472     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3473     uint64_t cgen_var_0;
3474     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
3475     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3476     *ptr += 1 * 8;
3477 }
3478 
reservedmarshal_VkMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements2 * forMarshaling,uint8_t ** ptr)3479 void reservedmarshal_VkMemoryRequirements2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3480                                            const VkMemoryRequirements2* forMarshaling,
3481                                            uint8_t** ptr) {
3482     (void)vkStream;
3483     (void)rootType;
3484     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3485     *ptr += sizeof(VkStructureType);
3486     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3487         rootType = forMarshaling->sType;
3488     }
3489     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3490     reservedmarshal_VkMemoryRequirements(
3491         vkStream, rootType, (VkMemoryRequirements*)(&forMarshaling->memoryRequirements), ptr);
3492 }
3493 
reservedmarshal_VkSparseImageMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * forMarshaling,uint8_t ** ptr)3494 void reservedmarshal_VkSparseImageMemoryRequirements2(
3495     VulkanStreamGuest* vkStream, VkStructureType rootType,
3496     const VkSparseImageMemoryRequirements2* forMarshaling, uint8_t** ptr) {
3497     (void)vkStream;
3498     (void)rootType;
3499     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3500     *ptr += sizeof(VkStructureType);
3501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3502         rootType = forMarshaling->sType;
3503     }
3504     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3505     reservedmarshal_VkSparseImageMemoryRequirements(
3506         vkStream, rootType, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements),
3507         ptr);
3508 }
3509 
reservedmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * forMarshaling,uint8_t ** ptr)3510 void reservedmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest* vkStream,
3511                                                VkStructureType rootType,
3512                                                const VkPhysicalDeviceFeatures2* forMarshaling,
3513                                                uint8_t** ptr) {
3514     (void)vkStream;
3515     (void)rootType;
3516     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3517     *ptr += sizeof(VkStructureType);
3518     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3519         rootType = forMarshaling->sType;
3520     }
3521     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3522     reservedmarshal_VkPhysicalDeviceFeatures(
3523         vkStream, rootType, (VkPhysicalDeviceFeatures*)(&forMarshaling->features), ptr);
3524 }
3525 
reservedmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties2 * forMarshaling,uint8_t ** ptr)3526 void reservedmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest* vkStream,
3527                                                  VkStructureType rootType,
3528                                                  const VkPhysicalDeviceProperties2* forMarshaling,
3529                                                  uint8_t** ptr) {
3530     (void)vkStream;
3531     (void)rootType;
3532     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3533     *ptr += sizeof(VkStructureType);
3534     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3535         rootType = forMarshaling->sType;
3536     }
3537     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3538     reservedmarshal_VkPhysicalDeviceProperties(
3539         vkStream, rootType, (VkPhysicalDeviceProperties*)(&forMarshaling->properties), ptr);
3540 }
3541 
reservedmarshal_VkFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties2 * forMarshaling,uint8_t ** ptr)3542 void reservedmarshal_VkFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3543                                          const VkFormatProperties2* forMarshaling, uint8_t** ptr) {
3544     (void)vkStream;
3545     (void)rootType;
3546     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3547     *ptr += sizeof(VkStructureType);
3548     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3549         rootType = forMarshaling->sType;
3550     }
3551     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3552     reservedmarshal_VkFormatProperties(
3553         vkStream, rootType, (VkFormatProperties*)(&forMarshaling->formatProperties), ptr);
3554 }
3555 
reservedmarshal_VkImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties2 * forMarshaling,uint8_t ** ptr)3556 void reservedmarshal_VkImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3557                                               const VkImageFormatProperties2* forMarshaling,
3558                                               uint8_t** ptr) {
3559     (void)vkStream;
3560     (void)rootType;
3561     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3562     *ptr += sizeof(VkStructureType);
3563     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3564         rootType = forMarshaling->sType;
3565     }
3566     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3567     reservedmarshal_VkImageFormatProperties(
3568         vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties), ptr);
3569 }
3570 
reservedmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * forMarshaling,uint8_t ** ptr)3571 void reservedmarshal_VkPhysicalDeviceImageFormatInfo2(
3572     VulkanStreamGuest* vkStream, VkStructureType rootType,
3573     const VkPhysicalDeviceImageFormatInfo2* forMarshaling, uint8_t** ptr) {
3574     (void)vkStream;
3575     (void)rootType;
3576     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3577     *ptr += sizeof(VkStructureType);
3578     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3579         rootType = forMarshaling->sType;
3580     }
3581     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3582     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3583     *ptr += sizeof(VkFormat);
3584     memcpy(*ptr, (VkImageType*)&forMarshaling->type, sizeof(VkImageType));
3585     *ptr += sizeof(VkImageType);
3586     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
3587     *ptr += sizeof(VkImageTiling);
3588     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3589     *ptr += sizeof(VkImageUsageFlags);
3590     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
3591     *ptr += sizeof(VkImageCreateFlags);
3592 }
3593 
reservedmarshal_VkQueueFamilyProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties2 * forMarshaling,uint8_t ** ptr)3594 void reservedmarshal_VkQueueFamilyProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3595                                               const VkQueueFamilyProperties2* forMarshaling,
3596                                               uint8_t** ptr) {
3597     (void)vkStream;
3598     (void)rootType;
3599     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3600     *ptr += sizeof(VkStructureType);
3601     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3602         rootType = forMarshaling->sType;
3603     }
3604     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3605     reservedmarshal_VkQueueFamilyProperties(
3606         vkStream, rootType, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties), ptr);
3607 }
3608 
reservedmarshal_VkPhysicalDeviceMemoryProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * forMarshaling,uint8_t ** ptr)3609 void reservedmarshal_VkPhysicalDeviceMemoryProperties2(
3610     VulkanStreamGuest* vkStream, VkStructureType rootType,
3611     const VkPhysicalDeviceMemoryProperties2* forMarshaling, uint8_t** ptr) {
3612     (void)vkStream;
3613     (void)rootType;
3614     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3615     *ptr += sizeof(VkStructureType);
3616     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3617         rootType = forMarshaling->sType;
3618     }
3619     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3620     reservedmarshal_VkPhysicalDeviceMemoryProperties(
3621         vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties),
3622         ptr);
3623 }
3624 
reservedmarshal_VkSparseImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties2 * forMarshaling,uint8_t ** ptr)3625 void reservedmarshal_VkSparseImageFormatProperties2(
3626     VulkanStreamGuest* vkStream, VkStructureType rootType,
3627     const VkSparseImageFormatProperties2* forMarshaling, uint8_t** ptr) {
3628     (void)vkStream;
3629     (void)rootType;
3630     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3631     *ptr += sizeof(VkStructureType);
3632     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3633         rootType = forMarshaling->sType;
3634     }
3635     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3636     reservedmarshal_VkSparseImageFormatProperties(
3637         vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->properties), ptr);
3638 }
3639 
reservedmarshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * forMarshaling,uint8_t ** ptr)3640 void reservedmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
3641     VulkanStreamGuest* vkStream, VkStructureType rootType,
3642     const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling, uint8_t** ptr) {
3643     (void)vkStream;
3644     (void)rootType;
3645     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3646     *ptr += sizeof(VkStructureType);
3647     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3648         rootType = forMarshaling->sType;
3649     }
3650     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3651     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3652     *ptr += sizeof(VkFormat);
3653     memcpy(*ptr, (VkImageType*)&forMarshaling->type, sizeof(VkImageType));
3654     *ptr += sizeof(VkImageType);
3655     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
3656     *ptr += sizeof(VkSampleCountFlagBits);
3657     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3658     *ptr += sizeof(VkImageUsageFlags);
3659     memcpy(*ptr, (VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
3660     *ptr += sizeof(VkImageTiling);
3661 }
3662 
reservedmarshal_VkPhysicalDevicePointClippingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * forMarshaling,uint8_t ** ptr)3663 void reservedmarshal_VkPhysicalDevicePointClippingProperties(
3664     VulkanStreamGuest* vkStream, VkStructureType rootType,
3665     const VkPhysicalDevicePointClippingProperties* forMarshaling, uint8_t** ptr) {
3666     (void)vkStream;
3667     (void)rootType;
3668     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3669     *ptr += sizeof(VkStructureType);
3670     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3671         rootType = forMarshaling->sType;
3672     }
3673     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3674     memcpy(*ptr, (VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
3675            sizeof(VkPointClippingBehavior));
3676     *ptr += sizeof(VkPointClippingBehavior);
3677 }
3678 
reservedmarshal_VkInputAttachmentAspectReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInputAttachmentAspectReference * forMarshaling,uint8_t ** ptr)3679 void reservedmarshal_VkInputAttachmentAspectReference(
3680     VulkanStreamGuest* vkStream, VkStructureType rootType,
3681     const VkInputAttachmentAspectReference* forMarshaling, uint8_t** ptr) {
3682     (void)vkStream;
3683     (void)rootType;
3684     memcpy(*ptr, (uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
3685     *ptr += sizeof(uint32_t);
3686     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
3687     *ptr += sizeof(uint32_t);
3688     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
3689     *ptr += sizeof(VkImageAspectFlags);
3690 }
3691 
reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * forMarshaling,uint8_t ** ptr)3692 void reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
3693     VulkanStreamGuest* vkStream, VkStructureType rootType,
3694     const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling, uint8_t** ptr) {
3695     (void)vkStream;
3696     (void)rootType;
3697     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3698     *ptr += sizeof(VkStructureType);
3699     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3700         rootType = forMarshaling->sType;
3701     }
3702     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3703     memcpy(*ptr, (uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t));
3704     *ptr += sizeof(uint32_t);
3705     for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) {
3706         reservedmarshal_VkInputAttachmentAspectReference(
3707             vkStream, rootType,
3708             (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i), ptr);
3709     }
3710 }
3711 
reservedmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewUsageCreateInfo * forMarshaling,uint8_t ** ptr)3712 void reservedmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest* vkStream,
3713                                                 VkStructureType rootType,
3714                                                 const VkImageViewUsageCreateInfo* forMarshaling,
3715                                                 uint8_t** ptr) {
3716     (void)vkStream;
3717     (void)rootType;
3718     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3719     *ptr += sizeof(VkStructureType);
3720     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3721         rootType = forMarshaling->sType;
3722     }
3723     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3724     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
3725     *ptr += sizeof(VkImageUsageFlags);
3726 }
3727 
reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * forMarshaling,uint8_t ** ptr)3728 void reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
3729     VulkanStreamGuest* vkStream, VkStructureType rootType,
3730     const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling, uint8_t** ptr) {
3731     (void)vkStream;
3732     (void)rootType;
3733     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3734     *ptr += sizeof(VkStructureType);
3735     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3736         rootType = forMarshaling->sType;
3737     }
3738     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3739     memcpy(*ptr, (VkTessellationDomainOrigin*)&forMarshaling->domainOrigin,
3740            sizeof(VkTessellationDomainOrigin));
3741     *ptr += sizeof(VkTessellationDomainOrigin);
3742 }
3743 
reservedmarshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * forMarshaling,uint8_t ** ptr)3744 void reservedmarshal_VkRenderPassMultiviewCreateInfo(
3745     VulkanStreamGuest* vkStream, VkStructureType rootType,
3746     const VkRenderPassMultiviewCreateInfo* forMarshaling, uint8_t** ptr) {
3747     (void)vkStream;
3748     (void)rootType;
3749     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3750     *ptr += sizeof(VkStructureType);
3751     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3752         rootType = forMarshaling->sType;
3753     }
3754     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3755     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
3756     *ptr += sizeof(uint32_t);
3757     memcpy(*ptr, (const uint32_t*)forMarshaling->pViewMasks,
3758            forMarshaling->subpassCount * sizeof(const uint32_t));
3759     *ptr += forMarshaling->subpassCount * sizeof(const uint32_t);
3760     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
3761     *ptr += sizeof(uint32_t);
3762     memcpy(*ptr, (const int32_t*)forMarshaling->pViewOffsets,
3763            forMarshaling->dependencyCount * sizeof(const int32_t));
3764     *ptr += forMarshaling->dependencyCount * sizeof(const int32_t);
3765     memcpy(*ptr, (uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
3766     *ptr += sizeof(uint32_t);
3767     memcpy(*ptr, (const uint32_t*)forMarshaling->pCorrelationMasks,
3768            forMarshaling->correlationMaskCount * sizeof(const uint32_t));
3769     *ptr += forMarshaling->correlationMaskCount * sizeof(const uint32_t);
3770 }
3771 
reservedmarshal_VkPhysicalDeviceMultiviewFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * forMarshaling,uint8_t ** ptr)3772 void reservedmarshal_VkPhysicalDeviceMultiviewFeatures(
3773     VulkanStreamGuest* vkStream, VkStructureType rootType,
3774     const VkPhysicalDeviceMultiviewFeatures* forMarshaling, uint8_t** ptr) {
3775     (void)vkStream;
3776     (void)rootType;
3777     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3778     *ptr += sizeof(VkStructureType);
3779     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3780         rootType = forMarshaling->sType;
3781     }
3782     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3783     memcpy(*ptr, (VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
3784     *ptr += sizeof(VkBool32);
3785     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
3786     *ptr += sizeof(VkBool32);
3787     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
3788     *ptr += sizeof(VkBool32);
3789 }
3790 
reservedmarshal_VkPhysicalDeviceMultiviewProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * forMarshaling,uint8_t ** ptr)3791 void reservedmarshal_VkPhysicalDeviceMultiviewProperties(
3792     VulkanStreamGuest* vkStream, VkStructureType rootType,
3793     const VkPhysicalDeviceMultiviewProperties* forMarshaling, uint8_t** ptr) {
3794     (void)vkStream;
3795     (void)rootType;
3796     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3797     *ptr += sizeof(VkStructureType);
3798     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3799         rootType = forMarshaling->sType;
3800     }
3801     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3802     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
3803     *ptr += sizeof(uint32_t);
3804     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
3805     *ptr += sizeof(uint32_t);
3806 }
3807 
reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * forMarshaling,uint8_t ** ptr)3808 void reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(
3809     VulkanStreamGuest* vkStream, VkStructureType rootType,
3810     const VkPhysicalDeviceVariablePointersFeatures* forMarshaling, uint8_t** ptr) {
3811     (void)vkStream;
3812     (void)rootType;
3813     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3814     *ptr += sizeof(VkStructureType);
3815     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3816         rootType = forMarshaling->sType;
3817     }
3818     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3819     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
3820     *ptr += sizeof(VkBool32);
3821     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
3822     *ptr += sizeof(VkBool32);
3823 }
3824 
reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * forMarshaling,uint8_t ** ptr)3825 void reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
3826     VulkanStreamGuest* vkStream, VkStructureType rootType,
3827     const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling, uint8_t** ptr) {
3828     (void)vkStream;
3829     (void)rootType;
3830     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3831     *ptr += sizeof(VkStructureType);
3832     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3833         rootType = forMarshaling->sType;
3834     }
3835     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3836     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
3837     *ptr += sizeof(VkBool32);
3838 }
3839 
reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * forMarshaling,uint8_t ** ptr)3840 void reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(
3841     VulkanStreamGuest* vkStream, VkStructureType rootType,
3842     const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling, uint8_t** ptr) {
3843     (void)vkStream;
3844     (void)rootType;
3845     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3846     *ptr += sizeof(VkStructureType);
3847     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3848         rootType = forMarshaling->sType;
3849     }
3850     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3851     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
3852     *ptr += sizeof(VkBool32);
3853 }
3854 
reservedmarshal_VkDeviceQueueInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueInfo2 * forMarshaling,uint8_t ** ptr)3855 void reservedmarshal_VkDeviceQueueInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
3856                                         const VkDeviceQueueInfo2* forMarshaling, uint8_t** ptr) {
3857     (void)vkStream;
3858     (void)rootType;
3859     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3860     *ptr += sizeof(VkStructureType);
3861     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3862         rootType = forMarshaling->sType;
3863     }
3864     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3865     memcpy(*ptr, (VkDeviceQueueCreateFlags*)&forMarshaling->flags,
3866            sizeof(VkDeviceQueueCreateFlags));
3867     *ptr += sizeof(VkDeviceQueueCreateFlags);
3868     memcpy(*ptr, (uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
3869     *ptr += sizeof(uint32_t);
3870     memcpy(*ptr, (uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
3871     *ptr += sizeof(uint32_t);
3872 }
3873 
reservedmarshal_VkProtectedSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkProtectedSubmitInfo * forMarshaling,uint8_t ** ptr)3874 void reservedmarshal_VkProtectedSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3875                                            const VkProtectedSubmitInfo* forMarshaling,
3876                                            uint8_t** ptr) {
3877     (void)vkStream;
3878     (void)rootType;
3879     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3880     *ptr += sizeof(VkStructureType);
3881     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3882         rootType = forMarshaling->sType;
3883     }
3884     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3885     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32));
3886     *ptr += sizeof(VkBool32);
3887 }
3888 
reservedmarshal_VkSamplerYcbcrConversionCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * forMarshaling,uint8_t ** ptr)3889 void reservedmarshal_VkSamplerYcbcrConversionCreateInfo(
3890     VulkanStreamGuest* vkStream, VkStructureType rootType,
3891     const VkSamplerYcbcrConversionCreateInfo* forMarshaling, uint8_t** ptr) {
3892     (void)vkStream;
3893     (void)rootType;
3894     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3895     *ptr += sizeof(VkStructureType);
3896     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3897         rootType = forMarshaling->sType;
3898     }
3899     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3900     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3901     *ptr += sizeof(VkFormat);
3902     memcpy(*ptr, (VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel,
3903            sizeof(VkSamplerYcbcrModelConversion));
3904     *ptr += sizeof(VkSamplerYcbcrModelConversion);
3905     memcpy(*ptr, (VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
3906     *ptr += sizeof(VkSamplerYcbcrRange);
3907     reservedmarshal_VkComponentMapping(vkStream, rootType,
3908                                        (VkComponentMapping*)(&forMarshaling->components), ptr);
3909     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
3910     *ptr += sizeof(VkChromaLocation);
3911     memcpy(*ptr, (VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
3912     *ptr += sizeof(VkChromaLocation);
3913     memcpy(*ptr, (VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
3914     *ptr += sizeof(VkFilter);
3915     memcpy(*ptr, (VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
3916     *ptr += sizeof(VkBool32);
3917 }
3918 
reservedmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * forMarshaling,uint8_t ** ptr)3919 void reservedmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest* vkStream,
3920                                                   VkStructureType rootType,
3921                                                   const VkSamplerYcbcrConversionInfo* forMarshaling,
3922                                                   uint8_t** ptr) {
3923     (void)vkStream;
3924     (void)rootType;
3925     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3926     *ptr += sizeof(VkStructureType);
3927     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3928         rootType = forMarshaling->sType;
3929     }
3930     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3931     uint64_t cgen_var_0;
3932     *&cgen_var_0 = get_host_u64_VkSamplerYcbcrConversion((*&forMarshaling->conversion));
3933     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
3934     *ptr += 1 * 8;
3935 }
3936 
reservedmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * forMarshaling,uint8_t ** ptr)3937 void reservedmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest* vkStream,
3938                                                 VkStructureType rootType,
3939                                                 const VkBindImagePlaneMemoryInfo* forMarshaling,
3940                                                 uint8_t** ptr) {
3941     (void)vkStream;
3942     (void)rootType;
3943     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3944     *ptr += sizeof(VkStructureType);
3945     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3946         rootType = forMarshaling->sType;
3947     }
3948     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3949     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
3950            sizeof(VkImageAspectFlagBits));
3951     *ptr += sizeof(VkImageAspectFlagBits);
3952 }
3953 
reservedmarshal_VkImagePlaneMemoryRequirementsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * forMarshaling,uint8_t ** ptr)3954 void reservedmarshal_VkImagePlaneMemoryRequirementsInfo(
3955     VulkanStreamGuest* vkStream, VkStructureType rootType,
3956     const VkImagePlaneMemoryRequirementsInfo* forMarshaling, uint8_t** ptr) {
3957     (void)vkStream;
3958     (void)rootType;
3959     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3960     *ptr += sizeof(VkStructureType);
3961     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3962         rootType = forMarshaling->sType;
3963     }
3964     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3965     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
3966            sizeof(VkImageAspectFlagBits));
3967     *ptr += sizeof(VkImageAspectFlagBits);
3968 }
3969 
reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * forMarshaling,uint8_t ** ptr)3970 void reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
3971     VulkanStreamGuest* vkStream, VkStructureType rootType,
3972     const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling, uint8_t** ptr) {
3973     (void)vkStream;
3974     (void)rootType;
3975     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3976     *ptr += sizeof(VkStructureType);
3977     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3978         rootType = forMarshaling->sType;
3979     }
3980     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3981     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
3982     *ptr += sizeof(VkBool32);
3983 }
3984 
reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * forMarshaling,uint8_t ** ptr)3985 void reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(
3986     VulkanStreamGuest* vkStream, VkStructureType rootType,
3987     const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling, uint8_t** ptr) {
3988     (void)vkStream;
3989     (void)rootType;
3990     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3991     *ptr += sizeof(VkStructureType);
3992     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3993         rootType = forMarshaling->sType;
3994     }
3995     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
3996     memcpy(*ptr, (uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t));
3997     *ptr += sizeof(uint32_t);
3998 }
3999 
reservedmarshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * forMarshaling,uint8_t ** ptr)4000 void reservedmarshal_VkDescriptorUpdateTemplateEntry(
4001     VulkanStreamGuest* vkStream, VkStructureType rootType,
4002     const VkDescriptorUpdateTemplateEntry* forMarshaling, uint8_t** ptr) {
4003     (void)vkStream;
4004     (void)rootType;
4005     memcpy(*ptr, (uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
4006     *ptr += sizeof(uint32_t);
4007     memcpy(*ptr, (uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
4008     *ptr += sizeof(uint32_t);
4009     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
4010     *ptr += sizeof(uint32_t);
4011     memcpy(*ptr, (VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
4012     *ptr += sizeof(VkDescriptorType);
4013     uint64_t cgen_var_0 = (uint64_t)forMarshaling->offset;
4014     memcpy((*ptr), &cgen_var_0, 8);
4015     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
4016     *ptr += 8;
4017     uint64_t cgen_var_1 = (uint64_t)forMarshaling->stride;
4018     memcpy((*ptr), &cgen_var_1, 8);
4019     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
4020     *ptr += 8;
4021 }
4022 
reservedmarshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * forMarshaling,uint8_t ** ptr)4023 void reservedmarshal_VkDescriptorUpdateTemplateCreateInfo(
4024     VulkanStreamGuest* vkStream, VkStructureType rootType,
4025     const VkDescriptorUpdateTemplateCreateInfo* forMarshaling, uint8_t** ptr) {
4026     (void)vkStream;
4027     (void)rootType;
4028     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4029     *ptr += sizeof(VkStructureType);
4030     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4031         rootType = forMarshaling->sType;
4032     }
4033     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4034     memcpy(*ptr, (VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags,
4035            sizeof(VkDescriptorUpdateTemplateCreateFlags));
4036     *ptr += sizeof(VkDescriptorUpdateTemplateCreateFlags);
4037     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
4038     *ptr += sizeof(uint32_t);
4039     for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) {
4040         reservedmarshal_VkDescriptorUpdateTemplateEntry(
4041             vkStream, rootType,
4042             (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries + i),
4043             ptr);
4044     }
4045     memcpy(*ptr, (VkDescriptorUpdateTemplateType*)&forMarshaling->templateType,
4046            sizeof(VkDescriptorUpdateTemplateType));
4047     *ptr += sizeof(VkDescriptorUpdateTemplateType);
4048     uint64_t cgen_var_0;
4049     *&cgen_var_0 = get_host_u64_VkDescriptorSetLayout((*&forMarshaling->descriptorSetLayout));
4050     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
4051     *ptr += 1 * 8;
4052     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
4053            sizeof(VkPipelineBindPoint));
4054     *ptr += sizeof(VkPipelineBindPoint);
4055     uint64_t cgen_var_1;
4056     *&cgen_var_1 = get_host_u64_VkPipelineLayout((*&forMarshaling->pipelineLayout));
4057     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
4058     *ptr += 1 * 8;
4059     memcpy(*ptr, (uint32_t*)&forMarshaling->set, sizeof(uint32_t));
4060     *ptr += sizeof(uint32_t);
4061 }
4062 
reservedmarshal_VkExternalMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryProperties * forMarshaling,uint8_t ** ptr)4063 void reservedmarshal_VkExternalMemoryProperties(VulkanStreamGuest* vkStream,
4064                                                 VkStructureType rootType,
4065                                                 const VkExternalMemoryProperties* forMarshaling,
4066                                                 uint8_t** ptr) {
4067     (void)vkStream;
4068     (void)rootType;
4069     memcpy(*ptr, (VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures,
4070            sizeof(VkExternalMemoryFeatureFlags));
4071     *ptr += sizeof(VkExternalMemoryFeatureFlags);
4072     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4073            sizeof(VkExternalMemoryHandleTypeFlags));
4074     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4075     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4076            sizeof(VkExternalMemoryHandleTypeFlags));
4077     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4078 }
4079 
reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * forMarshaling,uint8_t ** ptr)4080 void reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(
4081     VulkanStreamGuest* vkStream, VkStructureType rootType,
4082     const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling, uint8_t** ptr) {
4083     (void)vkStream;
4084     (void)rootType;
4085     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4086     *ptr += sizeof(VkStructureType);
4087     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4088         rootType = forMarshaling->sType;
4089     }
4090     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4091     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
4092            sizeof(VkExternalMemoryHandleTypeFlagBits));
4093     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
4094 }
4095 
reservedmarshal_VkExternalImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalImageFormatProperties * forMarshaling,uint8_t ** ptr)4096 void reservedmarshal_VkExternalImageFormatProperties(
4097     VulkanStreamGuest* vkStream, VkStructureType rootType,
4098     const VkExternalImageFormatProperties* forMarshaling, uint8_t** ptr) {
4099     (void)vkStream;
4100     (void)rootType;
4101     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4102     *ptr += sizeof(VkStructureType);
4103     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4104         rootType = forMarshaling->sType;
4105     }
4106     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4107     reservedmarshal_VkExternalMemoryProperties(
4108         vkStream, rootType, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties),
4109         ptr);
4110 }
4111 
reservedmarshal_VkPhysicalDeviceExternalBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * forMarshaling,uint8_t ** ptr)4112 void reservedmarshal_VkPhysicalDeviceExternalBufferInfo(
4113     VulkanStreamGuest* vkStream, VkStructureType rootType,
4114     const VkPhysicalDeviceExternalBufferInfo* forMarshaling, uint8_t** ptr) {
4115     (void)vkStream;
4116     (void)rootType;
4117     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4118     *ptr += sizeof(VkStructureType);
4119     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4120         rootType = forMarshaling->sType;
4121     }
4122     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4123     memcpy(*ptr, (VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
4124     *ptr += sizeof(VkBufferCreateFlags);
4125     memcpy(*ptr, (VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
4126     *ptr += sizeof(VkBufferUsageFlags);
4127     memcpy(*ptr, (VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
4128            sizeof(VkExternalMemoryHandleTypeFlagBits));
4129     *ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
4130 }
4131 
reservedmarshal_VkExternalBufferProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalBufferProperties * forMarshaling,uint8_t ** ptr)4132 void reservedmarshal_VkExternalBufferProperties(VulkanStreamGuest* vkStream,
4133                                                 VkStructureType rootType,
4134                                                 const VkExternalBufferProperties* forMarshaling,
4135                                                 uint8_t** ptr) {
4136     (void)vkStream;
4137     (void)rootType;
4138     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4139     *ptr += sizeof(VkStructureType);
4140     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4141         rootType = forMarshaling->sType;
4142     }
4143     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4144     reservedmarshal_VkExternalMemoryProperties(
4145         vkStream, rootType, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties),
4146         ptr);
4147 }
4148 
reservedmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIDProperties * forMarshaling,uint8_t ** ptr)4149 void reservedmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest* vkStream,
4150                                                   VkStructureType rootType,
4151                                                   const VkPhysicalDeviceIDProperties* forMarshaling,
4152                                                   uint8_t** ptr) {
4153     (void)vkStream;
4154     (void)rootType;
4155     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4156     *ptr += sizeof(VkStructureType);
4157     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4158         rootType = forMarshaling->sType;
4159     }
4160     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4161     memcpy(*ptr, (uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
4162     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4163     memcpy(*ptr, (uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
4164     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4165     memcpy(*ptr, (uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
4166     *ptr += VK_LUID_SIZE * sizeof(uint8_t);
4167     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
4168     *ptr += sizeof(uint32_t);
4169     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
4170     *ptr += sizeof(VkBool32);
4171 }
4172 
reservedmarshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * forMarshaling,uint8_t ** ptr)4173 void reservedmarshal_VkExternalMemoryImageCreateInfo(
4174     VulkanStreamGuest* vkStream, VkStructureType rootType,
4175     const VkExternalMemoryImageCreateInfo* forMarshaling, uint8_t** ptr) {
4176     (void)vkStream;
4177     (void)rootType;
4178     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4179     *ptr += sizeof(VkStructureType);
4180     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4181         rootType = forMarshaling->sType;
4182     }
4183     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4184     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4185            sizeof(VkExternalMemoryHandleTypeFlags));
4186     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4187 }
4188 
reservedmarshal_VkExternalMemoryBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * forMarshaling,uint8_t ** ptr)4189 void reservedmarshal_VkExternalMemoryBufferCreateInfo(
4190     VulkanStreamGuest* vkStream, VkStructureType rootType,
4191     const VkExternalMemoryBufferCreateInfo* forMarshaling, uint8_t** ptr) {
4192     (void)vkStream;
4193     (void)rootType;
4194     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4195     *ptr += sizeof(VkStructureType);
4196     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4197         rootType = forMarshaling->sType;
4198     }
4199     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4200     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4201            sizeof(VkExternalMemoryHandleTypeFlags));
4202     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4203 }
4204 
reservedmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryAllocateInfo * forMarshaling,uint8_t ** ptr)4205 void reservedmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest* vkStream,
4206                                                 VkStructureType rootType,
4207                                                 const VkExportMemoryAllocateInfo* forMarshaling,
4208                                                 uint8_t** ptr) {
4209     (void)vkStream;
4210     (void)rootType;
4211     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4212     *ptr += sizeof(VkStructureType);
4213     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4214         rootType = forMarshaling->sType;
4215     }
4216     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4217     memcpy(*ptr, (VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
4218            sizeof(VkExternalMemoryHandleTypeFlags));
4219     *ptr += sizeof(VkExternalMemoryHandleTypeFlags);
4220 }
4221 
reservedmarshal_VkPhysicalDeviceExternalFenceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * forMarshaling,uint8_t ** ptr)4222 void reservedmarshal_VkPhysicalDeviceExternalFenceInfo(
4223     VulkanStreamGuest* vkStream, VkStructureType rootType,
4224     const VkPhysicalDeviceExternalFenceInfo* forMarshaling, uint8_t** ptr) {
4225     (void)vkStream;
4226     (void)rootType;
4227     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4228     *ptr += sizeof(VkStructureType);
4229     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4230         rootType = forMarshaling->sType;
4231     }
4232     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4233     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
4234            sizeof(VkExternalFenceHandleTypeFlagBits));
4235     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
4236 }
4237 
reservedmarshal_VkExternalFenceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalFenceProperties * forMarshaling,uint8_t ** ptr)4238 void reservedmarshal_VkExternalFenceProperties(VulkanStreamGuest* vkStream,
4239                                                VkStructureType rootType,
4240                                                const VkExternalFenceProperties* forMarshaling,
4241                                                uint8_t** ptr) {
4242     (void)vkStream;
4243     (void)rootType;
4244     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4245     *ptr += sizeof(VkStructureType);
4246     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4247         rootType = forMarshaling->sType;
4248     }
4249     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4250     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4251            sizeof(VkExternalFenceHandleTypeFlags));
4252     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4253     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4254            sizeof(VkExternalFenceHandleTypeFlags));
4255     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4256     memcpy(*ptr, (VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures,
4257            sizeof(VkExternalFenceFeatureFlags));
4258     *ptr += sizeof(VkExternalFenceFeatureFlags);
4259 }
4260 
reservedmarshal_VkExportFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportFenceCreateInfo * forMarshaling,uint8_t ** ptr)4261 void reservedmarshal_VkExportFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4262                                              const VkExportFenceCreateInfo* forMarshaling,
4263                                              uint8_t** ptr) {
4264     (void)vkStream;
4265     (void)rootType;
4266     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4267     *ptr += sizeof(VkStructureType);
4268     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4269         rootType = forMarshaling->sType;
4270     }
4271     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4272     memcpy(*ptr, (VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes,
4273            sizeof(VkExternalFenceHandleTypeFlags));
4274     *ptr += sizeof(VkExternalFenceHandleTypeFlags);
4275 }
4276 
reservedmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportSemaphoreCreateInfo * forMarshaling,uint8_t ** ptr)4277 void reservedmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest* vkStream,
4278                                                  VkStructureType rootType,
4279                                                  const VkExportSemaphoreCreateInfo* forMarshaling,
4280                                                  uint8_t** ptr) {
4281     (void)vkStream;
4282     (void)rootType;
4283     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4284     *ptr += sizeof(VkStructureType);
4285     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4286         rootType = forMarshaling->sType;
4287     }
4288     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4289     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes,
4290            sizeof(VkExternalSemaphoreHandleTypeFlags));
4291     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4292 }
4293 
reservedmarshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * forMarshaling,uint8_t ** ptr)4294 void reservedmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
4295     VulkanStreamGuest* vkStream, VkStructureType rootType,
4296     const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling, uint8_t** ptr) {
4297     (void)vkStream;
4298     (void)rootType;
4299     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4300     *ptr += sizeof(VkStructureType);
4301     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4302         rootType = forMarshaling->sType;
4303     }
4304     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4305     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
4306            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
4307     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
4308 }
4309 
reservedmarshal_VkExternalSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalSemaphoreProperties * forMarshaling,uint8_t ** ptr)4310 void reservedmarshal_VkExternalSemaphoreProperties(
4311     VulkanStreamGuest* vkStream, VkStructureType rootType,
4312     const VkExternalSemaphoreProperties* forMarshaling, uint8_t** ptr) {
4313     (void)vkStream;
4314     (void)rootType;
4315     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4316     *ptr += sizeof(VkStructureType);
4317     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4318         rootType = forMarshaling->sType;
4319     }
4320     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4321     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
4322            sizeof(VkExternalSemaphoreHandleTypeFlags));
4323     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4324     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
4325            sizeof(VkExternalSemaphoreHandleTypeFlags));
4326     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
4327     memcpy(*ptr, (VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures,
4328            sizeof(VkExternalSemaphoreFeatureFlags));
4329     *ptr += sizeof(VkExternalSemaphoreFeatureFlags);
4330 }
4331 
reservedmarshal_VkPhysicalDeviceMaintenance3Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * forMarshaling,uint8_t ** ptr)4332 void reservedmarshal_VkPhysicalDeviceMaintenance3Properties(
4333     VulkanStreamGuest* vkStream, VkStructureType rootType,
4334     const VkPhysicalDeviceMaintenance3Properties* forMarshaling, uint8_t** ptr) {
4335     (void)vkStream;
4336     (void)rootType;
4337     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4338     *ptr += sizeof(VkStructureType);
4339     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4340         rootType = forMarshaling->sType;
4341     }
4342     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4343     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
4344     *ptr += sizeof(uint32_t);
4345     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
4346     *ptr += sizeof(VkDeviceSize);
4347 }
4348 
reservedmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutSupport * forMarshaling,uint8_t ** ptr)4349 void reservedmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest* vkStream,
4350                                                   VkStructureType rootType,
4351                                                   const VkDescriptorSetLayoutSupport* forMarshaling,
4352                                                   uint8_t** ptr) {
4353     (void)vkStream;
4354     (void)rootType;
4355     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4356     *ptr += sizeof(VkStructureType);
4357     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4358         rootType = forMarshaling->sType;
4359     }
4360     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4361     memcpy(*ptr, (VkBool32*)&forMarshaling->supported, sizeof(VkBool32));
4362     *ptr += sizeof(VkBool32);
4363 }
4364 
reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * forMarshaling,uint8_t ** ptr)4365 void reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
4366     VulkanStreamGuest* vkStream, VkStructureType rootType,
4367     const VkPhysicalDeviceShaderDrawParametersFeatures* forMarshaling, uint8_t** ptr) {
4368     (void)vkStream;
4369     (void)rootType;
4370     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4371     *ptr += sizeof(VkStructureType);
4372     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4373         rootType = forMarshaling->sType;
4374     }
4375     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4376     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
4377     *ptr += sizeof(VkBool32);
4378 }
4379 
4380 #endif
4381 #ifdef VK_VERSION_1_2
reservedmarshal_VkPhysicalDeviceVulkan11Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * forMarshaling,uint8_t ** ptr)4382 void reservedmarshal_VkPhysicalDeviceVulkan11Features(
4383     VulkanStreamGuest* vkStream, VkStructureType rootType,
4384     const VkPhysicalDeviceVulkan11Features* forMarshaling, uint8_t** ptr) {
4385     (void)vkStream;
4386     (void)rootType;
4387     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4388     *ptr += sizeof(VkStructureType);
4389     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4390         rootType = forMarshaling->sType;
4391     }
4392     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4393     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
4394     *ptr += sizeof(VkBool32);
4395     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
4396     *ptr += sizeof(VkBool32);
4397     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
4398     *ptr += sizeof(VkBool32);
4399     memcpy(*ptr, (VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
4400     *ptr += sizeof(VkBool32);
4401     memcpy(*ptr, (VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
4402     *ptr += sizeof(VkBool32);
4403     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
4404     *ptr += sizeof(VkBool32);
4405     memcpy(*ptr, (VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
4406     *ptr += sizeof(VkBool32);
4407     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
4408     *ptr += sizeof(VkBool32);
4409     memcpy(*ptr, (VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
4410     *ptr += sizeof(VkBool32);
4411     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
4412     *ptr += sizeof(VkBool32);
4413     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
4414     *ptr += sizeof(VkBool32);
4415     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
4416     *ptr += sizeof(VkBool32);
4417 }
4418 
reservedmarshal_VkPhysicalDeviceVulkan11Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * forMarshaling,uint8_t ** ptr)4419 void reservedmarshal_VkPhysicalDeviceVulkan11Properties(
4420     VulkanStreamGuest* vkStream, VkStructureType rootType,
4421     const VkPhysicalDeviceVulkan11Properties* forMarshaling, uint8_t** ptr) {
4422     (void)vkStream;
4423     (void)rootType;
4424     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4425     *ptr += sizeof(VkStructureType);
4426     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4427         rootType = forMarshaling->sType;
4428     }
4429     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4430     memcpy(*ptr, (uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
4431     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4432     memcpy(*ptr, (uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
4433     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
4434     memcpy(*ptr, (uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
4435     *ptr += VK_LUID_SIZE * sizeof(uint8_t);
4436     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
4437     *ptr += sizeof(uint32_t);
4438     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
4439     *ptr += sizeof(VkBool32);
4440     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
4441     *ptr += sizeof(uint32_t);
4442     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->subgroupSupportedStages,
4443            sizeof(VkShaderStageFlags));
4444     *ptr += sizeof(VkShaderStageFlags);
4445     memcpy(*ptr, (VkSubgroupFeatureFlags*)&forMarshaling->subgroupSupportedOperations,
4446            sizeof(VkSubgroupFeatureFlags));
4447     *ptr += sizeof(VkSubgroupFeatureFlags);
4448     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupQuadOperationsInAllStages, sizeof(VkBool32));
4449     *ptr += sizeof(VkBool32);
4450     memcpy(*ptr, (VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
4451            sizeof(VkPointClippingBehavior));
4452     *ptr += sizeof(VkPointClippingBehavior);
4453     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
4454     *ptr += sizeof(uint32_t);
4455     memcpy(*ptr, (uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
4456     *ptr += sizeof(uint32_t);
4457     memcpy(*ptr, (VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
4458     *ptr += sizeof(VkBool32);
4459     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
4460     *ptr += sizeof(uint32_t);
4461     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
4462     *ptr += sizeof(VkDeviceSize);
4463 }
4464 
reservedmarshal_VkPhysicalDeviceVulkan12Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * forMarshaling,uint8_t ** ptr)4465 void reservedmarshal_VkPhysicalDeviceVulkan12Features(
4466     VulkanStreamGuest* vkStream, VkStructureType rootType,
4467     const VkPhysicalDeviceVulkan12Features* forMarshaling, uint8_t** ptr) {
4468     (void)vkStream;
4469     (void)rootType;
4470     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4471     *ptr += sizeof(VkStructureType);
4472     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4473         rootType = forMarshaling->sType;
4474     }
4475     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4476     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
4477     *ptr += sizeof(VkBool32);
4478     memcpy(*ptr, (VkBool32*)&forMarshaling->drawIndirectCount, sizeof(VkBool32));
4479     *ptr += sizeof(VkBool32);
4480     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
4481     *ptr += sizeof(VkBool32);
4482     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
4483     *ptr += sizeof(VkBool32);
4484     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
4485     *ptr += sizeof(VkBool32);
4486     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
4487     *ptr += sizeof(VkBool32);
4488     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
4489     *ptr += sizeof(VkBool32);
4490     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
4491     *ptr += sizeof(VkBool32);
4492     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
4493     *ptr += sizeof(VkBool32);
4494     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorIndexing, sizeof(VkBool32));
4495     *ptr += sizeof(VkBool32);
4496     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
4497            sizeof(VkBool32));
4498     *ptr += sizeof(VkBool32);
4499     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
4500            sizeof(VkBool32));
4501     *ptr += sizeof(VkBool32);
4502     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
4503            sizeof(VkBool32));
4504     *ptr += sizeof(VkBool32);
4505     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
4506            sizeof(VkBool32));
4507     *ptr += sizeof(VkBool32);
4508     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
4509            sizeof(VkBool32));
4510     *ptr += sizeof(VkBool32);
4511     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
4512            sizeof(VkBool32));
4513     *ptr += sizeof(VkBool32);
4514     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
4515            sizeof(VkBool32));
4516     *ptr += sizeof(VkBool32);
4517     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
4518            sizeof(VkBool32));
4519     *ptr += sizeof(VkBool32);
4520     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
4521            sizeof(VkBool32));
4522     *ptr += sizeof(VkBool32);
4523     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
4524            sizeof(VkBool32));
4525     *ptr += sizeof(VkBool32);
4526     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
4527            sizeof(VkBool32));
4528     *ptr += sizeof(VkBool32);
4529     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
4530            sizeof(VkBool32));
4531     *ptr += sizeof(VkBool32);
4532     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
4533            sizeof(VkBool32));
4534     *ptr += sizeof(VkBool32);
4535     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
4536            sizeof(VkBool32));
4537     *ptr += sizeof(VkBool32);
4538     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
4539            sizeof(VkBool32));
4540     *ptr += sizeof(VkBool32);
4541     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
4542            sizeof(VkBool32));
4543     *ptr += sizeof(VkBool32);
4544     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
4545            sizeof(VkBool32));
4546     *ptr += sizeof(VkBool32);
4547     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
4548     *ptr += sizeof(VkBool32);
4549     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
4550            sizeof(VkBool32));
4551     *ptr += sizeof(VkBool32);
4552     memcpy(*ptr, (VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
4553     *ptr += sizeof(VkBool32);
4554     memcpy(*ptr, (VkBool32*)&forMarshaling->samplerFilterMinmax, sizeof(VkBool32));
4555     *ptr += sizeof(VkBool32);
4556     memcpy(*ptr, (VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
4557     *ptr += sizeof(VkBool32);
4558     memcpy(*ptr, (VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
4559     *ptr += sizeof(VkBool32);
4560     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
4561     *ptr += sizeof(VkBool32);
4562     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
4563     *ptr += sizeof(VkBool32);
4564     memcpy(*ptr, (VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
4565     *ptr += sizeof(VkBool32);
4566     memcpy(*ptr, (VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
4567     *ptr += sizeof(VkBool32);
4568     memcpy(*ptr, (VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
4569     *ptr += sizeof(VkBool32);
4570     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
4571     *ptr += sizeof(VkBool32);
4572     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
4573     *ptr += sizeof(VkBool32);
4574     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
4575     *ptr += sizeof(VkBool32);
4576     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
4577     *ptr += sizeof(VkBool32);
4578     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
4579     *ptr += sizeof(VkBool32);
4580     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
4581            sizeof(VkBool32));
4582     *ptr += sizeof(VkBool32);
4583     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
4584     *ptr += sizeof(VkBool32);
4585     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderOutputLayer, sizeof(VkBool32));
4586     *ptr += sizeof(VkBool32);
4587     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
4588     *ptr += sizeof(VkBool32);
4589 }
4590 
reservedmarshal_VkConformanceVersion(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkConformanceVersion * forMarshaling,uint8_t ** ptr)4591 void reservedmarshal_VkConformanceVersion(VulkanStreamGuest* vkStream, VkStructureType rootType,
4592                                           const VkConformanceVersion* forMarshaling,
4593                                           uint8_t** ptr) {
4594     (void)vkStream;
4595     (void)rootType;
4596     memcpy(*ptr, (uint8_t*)&forMarshaling->major, sizeof(uint8_t));
4597     *ptr += sizeof(uint8_t);
4598     memcpy(*ptr, (uint8_t*)&forMarshaling->minor, sizeof(uint8_t));
4599     *ptr += sizeof(uint8_t);
4600     memcpy(*ptr, (uint8_t*)&forMarshaling->subminor, sizeof(uint8_t));
4601     *ptr += sizeof(uint8_t);
4602     memcpy(*ptr, (uint8_t*)&forMarshaling->patch, sizeof(uint8_t));
4603     *ptr += sizeof(uint8_t);
4604 }
4605 
reservedmarshal_VkPhysicalDeviceVulkan12Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * forMarshaling,uint8_t ** ptr)4606 void reservedmarshal_VkPhysicalDeviceVulkan12Properties(
4607     VulkanStreamGuest* vkStream, VkStructureType rootType,
4608     const VkPhysicalDeviceVulkan12Properties* forMarshaling, uint8_t** ptr) {
4609     (void)vkStream;
4610     (void)rootType;
4611     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4612     *ptr += sizeof(VkStructureType);
4613     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4614         rootType = forMarshaling->sType;
4615     }
4616     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4617     memcpy(*ptr, (VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
4618     *ptr += sizeof(VkDriverId);
4619     memcpy(*ptr, (char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
4620     *ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
4621     memcpy(*ptr, (char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
4622     *ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
4623     reservedmarshal_VkConformanceVersion(
4624         vkStream, rootType, (VkConformanceVersion*)(&forMarshaling->conformanceVersion), ptr);
4625     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
4626            sizeof(VkShaderFloatControlsIndependence));
4627     *ptr += sizeof(VkShaderFloatControlsIndependence);
4628     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
4629            sizeof(VkShaderFloatControlsIndependence));
4630     *ptr += sizeof(VkShaderFloatControlsIndependence);
4631     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
4632            sizeof(VkBool32));
4633     *ptr += sizeof(VkBool32);
4634     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
4635            sizeof(VkBool32));
4636     *ptr += sizeof(VkBool32);
4637     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
4638            sizeof(VkBool32));
4639     *ptr += sizeof(VkBool32);
4640     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
4641     *ptr += sizeof(VkBool32);
4642     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
4643     *ptr += sizeof(VkBool32);
4644     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
4645     *ptr += sizeof(VkBool32);
4646     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
4647     *ptr += sizeof(VkBool32);
4648     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
4649     *ptr += sizeof(VkBool32);
4650     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
4651     *ptr += sizeof(VkBool32);
4652     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
4653     *ptr += sizeof(VkBool32);
4654     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
4655     *ptr += sizeof(VkBool32);
4656     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
4657     *ptr += sizeof(VkBool32);
4658     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
4659     *ptr += sizeof(VkBool32);
4660     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
4661     *ptr += sizeof(VkBool32);
4662     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
4663     *ptr += sizeof(VkBool32);
4664     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
4665            sizeof(uint32_t));
4666     *ptr += sizeof(uint32_t);
4667     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
4668            sizeof(VkBool32));
4669     *ptr += sizeof(VkBool32);
4670     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
4671            sizeof(VkBool32));
4672     *ptr += sizeof(VkBool32);
4673     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
4674            sizeof(VkBool32));
4675     *ptr += sizeof(VkBool32);
4676     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
4677            sizeof(VkBool32));
4678     *ptr += sizeof(VkBool32);
4679     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
4680            sizeof(VkBool32));
4681     *ptr += sizeof(VkBool32);
4682     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
4683     *ptr += sizeof(VkBool32);
4684     memcpy(*ptr, (VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
4685     *ptr += sizeof(VkBool32);
4686     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
4687            sizeof(uint32_t));
4688     *ptr += sizeof(uint32_t);
4689     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
4690            sizeof(uint32_t));
4691     *ptr += sizeof(uint32_t);
4692     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
4693            sizeof(uint32_t));
4694     *ptr += sizeof(uint32_t);
4695     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
4696            sizeof(uint32_t));
4697     *ptr += sizeof(uint32_t);
4698     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
4699            sizeof(uint32_t));
4700     *ptr += sizeof(uint32_t);
4701     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
4702            sizeof(uint32_t));
4703     *ptr += sizeof(uint32_t);
4704     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
4705     *ptr += sizeof(uint32_t);
4706     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
4707            sizeof(uint32_t));
4708     *ptr += sizeof(uint32_t);
4709     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
4710            sizeof(uint32_t));
4711     *ptr += sizeof(uint32_t);
4712     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
4713            sizeof(uint32_t));
4714     *ptr += sizeof(uint32_t);
4715     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
4716            sizeof(uint32_t));
4717     *ptr += sizeof(uint32_t);
4718     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
4719            sizeof(uint32_t));
4720     *ptr += sizeof(uint32_t);
4721     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
4722            sizeof(uint32_t));
4723     *ptr += sizeof(uint32_t);
4724     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
4725            sizeof(uint32_t));
4726     *ptr += sizeof(uint32_t);
4727     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
4728            sizeof(uint32_t));
4729     *ptr += sizeof(uint32_t);
4730     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
4731            sizeof(VkResolveModeFlags));
4732     *ptr += sizeof(VkResolveModeFlags);
4733     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
4734            sizeof(VkResolveModeFlags));
4735     *ptr += sizeof(VkResolveModeFlags);
4736     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
4737     *ptr += sizeof(VkBool32);
4738     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
4739     *ptr += sizeof(VkBool32);
4740     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
4741     *ptr += sizeof(VkBool32);
4742     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
4743     *ptr += sizeof(VkBool32);
4744     memcpy(*ptr, (uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference, sizeof(uint64_t));
4745     *ptr += sizeof(uint64_t);
4746     memcpy(*ptr, (VkSampleCountFlags*)&forMarshaling->framebufferIntegerColorSampleCounts,
4747            sizeof(VkSampleCountFlags));
4748     *ptr += sizeof(VkSampleCountFlags);
4749 }
4750 
reservedmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatListCreateInfo * forMarshaling,uint8_t ** ptr)4751 void reservedmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest* vkStream,
4752                                                  VkStructureType rootType,
4753                                                  const VkImageFormatListCreateInfo* forMarshaling,
4754                                                  uint8_t** ptr) {
4755     (void)vkStream;
4756     (void)rootType;
4757     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4758     *ptr += sizeof(VkStructureType);
4759     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4760         rootType = forMarshaling->sType;
4761     }
4762     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4763     memcpy(*ptr, (uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
4764     *ptr += sizeof(uint32_t);
4765     memcpy(*ptr, (const VkFormat*)forMarshaling->pViewFormats,
4766            forMarshaling->viewFormatCount * sizeof(const VkFormat));
4767     *ptr += forMarshaling->viewFormatCount * sizeof(const VkFormat);
4768 }
4769 
reservedmarshal_VkAttachmentDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription2 * forMarshaling,uint8_t ** ptr)4770 void reservedmarshal_VkAttachmentDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4771                                               const VkAttachmentDescription2* forMarshaling,
4772                                               uint8_t** ptr) {
4773     (void)vkStream;
4774     (void)rootType;
4775     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4776     *ptr += sizeof(VkStructureType);
4777     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4778         rootType = forMarshaling->sType;
4779     }
4780     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4781     memcpy(*ptr, (VkAttachmentDescriptionFlags*)&forMarshaling->flags,
4782            sizeof(VkAttachmentDescriptionFlags));
4783     *ptr += sizeof(VkAttachmentDescriptionFlags);
4784     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
4785     *ptr += sizeof(VkFormat);
4786     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
4787     *ptr += sizeof(VkSampleCountFlagBits);
4788     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
4789     *ptr += sizeof(VkAttachmentLoadOp);
4790     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
4791     *ptr += sizeof(VkAttachmentStoreOp);
4792     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
4793     *ptr += sizeof(VkAttachmentLoadOp);
4794     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
4795     *ptr += sizeof(VkAttachmentStoreOp);
4796     memcpy(*ptr, (VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
4797     *ptr += sizeof(VkImageLayout);
4798     memcpy(*ptr, (VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
4799     *ptr += sizeof(VkImageLayout);
4800 }
4801 
reservedmarshal_VkAttachmentReference2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference2 * forMarshaling,uint8_t ** ptr)4802 void reservedmarshal_VkAttachmentReference2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4803                                             const VkAttachmentReference2* forMarshaling,
4804                                             uint8_t** ptr) {
4805     (void)vkStream;
4806     (void)rootType;
4807     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4808     *ptr += sizeof(VkStructureType);
4809     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4810         rootType = forMarshaling->sType;
4811     }
4812     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4813     memcpy(*ptr, (uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
4814     *ptr += sizeof(uint32_t);
4815     memcpy(*ptr, (VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
4816     *ptr += sizeof(VkImageLayout);
4817     memcpy(*ptr, (VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4818     *ptr += sizeof(VkImageAspectFlags);
4819 }
4820 
reservedmarshal_VkSubpassDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription2 * forMarshaling,uint8_t ** ptr)4821 void reservedmarshal_VkSubpassDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4822                                            const VkSubpassDescription2* forMarshaling,
4823                                            uint8_t** ptr) {
4824     (void)vkStream;
4825     (void)rootType;
4826     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4827     *ptr += sizeof(VkStructureType);
4828     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4829         rootType = forMarshaling->sType;
4830     }
4831     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4832     memcpy(*ptr, (VkSubpassDescriptionFlags*)&forMarshaling->flags,
4833            sizeof(VkSubpassDescriptionFlags));
4834     *ptr += sizeof(VkSubpassDescriptionFlags);
4835     memcpy(*ptr, (VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
4836            sizeof(VkPipelineBindPoint));
4837     *ptr += sizeof(VkPipelineBindPoint);
4838     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
4839     *ptr += sizeof(uint32_t);
4840     memcpy(*ptr, (uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
4841     *ptr += sizeof(uint32_t);
4842     for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
4843         reservedmarshal_VkAttachmentReference2(
4844             vkStream, rootType,
4845             (const VkAttachmentReference2*)(forMarshaling->pInputAttachments + i), ptr);
4846     }
4847     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
4848     *ptr += sizeof(uint32_t);
4849     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4850         reservedmarshal_VkAttachmentReference2(
4851             vkStream, rootType,
4852             (const VkAttachmentReference2*)(forMarshaling->pColorAttachments + i), ptr);
4853     }
4854     // WARNING PTR CHECK
4855     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
4856     memcpy((*ptr), &cgen_var_0, 8);
4857     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
4858     *ptr += 8;
4859     if (forMarshaling->pResolveAttachments) {
4860         for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4861             reservedmarshal_VkAttachmentReference2(
4862                 vkStream, rootType,
4863                 (const VkAttachmentReference2*)(forMarshaling->pResolveAttachments + i), ptr);
4864         }
4865     }
4866     // WARNING PTR CHECK
4867     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
4868     memcpy((*ptr), &cgen_var_1, 8);
4869     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
4870     *ptr += 8;
4871     if (forMarshaling->pDepthStencilAttachment) {
4872         reservedmarshal_VkAttachmentReference2(
4873             vkStream, rootType,
4874             (const VkAttachmentReference2*)(forMarshaling->pDepthStencilAttachment), ptr);
4875     }
4876     memcpy(*ptr, (uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
4877     *ptr += sizeof(uint32_t);
4878     memcpy(*ptr, (const uint32_t*)forMarshaling->pPreserveAttachments,
4879            forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
4880     *ptr += forMarshaling->preserveAttachmentCount * sizeof(const uint32_t);
4881 }
4882 
reservedmarshal_VkSubpassDependency2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency2 * forMarshaling,uint8_t ** ptr)4883 void reservedmarshal_VkSubpassDependency2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4884                                           const VkSubpassDependency2* forMarshaling,
4885                                           uint8_t** ptr) {
4886     (void)vkStream;
4887     (void)rootType;
4888     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4889     *ptr += sizeof(VkStructureType);
4890     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4891         rootType = forMarshaling->sType;
4892     }
4893     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4894     memcpy(*ptr, (uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
4895     *ptr += sizeof(uint32_t);
4896     memcpy(*ptr, (uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
4897     *ptr += sizeof(uint32_t);
4898     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
4899     *ptr += sizeof(VkPipelineStageFlags);
4900     memcpy(*ptr, (VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
4901     *ptr += sizeof(VkPipelineStageFlags);
4902     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
4903     *ptr += sizeof(VkAccessFlags);
4904     memcpy(*ptr, (VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
4905     *ptr += sizeof(VkAccessFlags);
4906     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
4907     *ptr += sizeof(VkDependencyFlags);
4908     memcpy(*ptr, (int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
4909     *ptr += sizeof(int32_t);
4910 }
4911 
reservedmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo2 * forMarshaling,uint8_t ** ptr)4912 void reservedmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4913                                              const VkRenderPassCreateInfo2* forMarshaling,
4914                                              uint8_t** ptr) {
4915     (void)vkStream;
4916     (void)rootType;
4917     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4918     *ptr += sizeof(VkStructureType);
4919     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4920         rootType = forMarshaling->sType;
4921     }
4922     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4923     memcpy(*ptr, (VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
4924     *ptr += sizeof(VkRenderPassCreateFlags);
4925     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
4926     *ptr += sizeof(uint32_t);
4927     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
4928         reservedmarshal_VkAttachmentDescription2(
4929             vkStream, rootType, (const VkAttachmentDescription2*)(forMarshaling->pAttachments + i),
4930             ptr);
4931     }
4932     memcpy(*ptr, (uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
4933     *ptr += sizeof(uint32_t);
4934     for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
4935         reservedmarshal_VkSubpassDescription2(
4936             vkStream, rootType, (const VkSubpassDescription2*)(forMarshaling->pSubpasses + i), ptr);
4937     }
4938     memcpy(*ptr, (uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
4939     *ptr += sizeof(uint32_t);
4940     for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
4941         reservedmarshal_VkSubpassDependency2(
4942             vkStream, rootType, (const VkSubpassDependency2*)(forMarshaling->pDependencies + i),
4943             ptr);
4944     }
4945     memcpy(*ptr, (uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
4946     *ptr += sizeof(uint32_t);
4947     memcpy(*ptr, (const uint32_t*)forMarshaling->pCorrelatedViewMasks,
4948            forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
4949     *ptr += forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t);
4950 }
4951 
reservedmarshal_VkSubpassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassBeginInfo * forMarshaling,uint8_t ** ptr)4952 void reservedmarshal_VkSubpassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4953                                         const VkSubpassBeginInfo* forMarshaling, uint8_t** ptr) {
4954     (void)vkStream;
4955     (void)rootType;
4956     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4957     *ptr += sizeof(VkStructureType);
4958     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4959         rootType = forMarshaling->sType;
4960     }
4961     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4962     memcpy(*ptr, (VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
4963     *ptr += sizeof(VkSubpassContents);
4964 }
4965 
reservedmarshal_VkSubpassEndInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassEndInfo * forMarshaling,uint8_t ** ptr)4966 void reservedmarshal_VkSubpassEndInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4967                                       const VkSubpassEndInfo* forMarshaling, uint8_t** ptr) {
4968     (void)vkStream;
4969     (void)rootType;
4970     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4971     *ptr += sizeof(VkStructureType);
4972     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4973         rootType = forMarshaling->sType;
4974     }
4975     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4976 }
4977 
reservedmarshal_VkPhysicalDevice8BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * forMarshaling,uint8_t ** ptr)4978 void reservedmarshal_VkPhysicalDevice8BitStorageFeatures(
4979     VulkanStreamGuest* vkStream, VkStructureType rootType,
4980     const VkPhysicalDevice8BitStorageFeatures* forMarshaling, uint8_t** ptr) {
4981     (void)vkStream;
4982     (void)rootType;
4983     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4984     *ptr += sizeof(VkStructureType);
4985     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4986         rootType = forMarshaling->sType;
4987     }
4988     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
4989     memcpy(*ptr, (VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
4990     *ptr += sizeof(VkBool32);
4991     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
4992     *ptr += sizeof(VkBool32);
4993     memcpy(*ptr, (VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
4994     *ptr += sizeof(VkBool32);
4995 }
4996 
reservedmarshal_VkPhysicalDeviceDriverProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * forMarshaling,uint8_t ** ptr)4997 void reservedmarshal_VkPhysicalDeviceDriverProperties(
4998     VulkanStreamGuest* vkStream, VkStructureType rootType,
4999     const VkPhysicalDeviceDriverProperties* forMarshaling, uint8_t** ptr) {
5000     (void)vkStream;
5001     (void)rootType;
5002     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5003     *ptr += sizeof(VkStructureType);
5004     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5005         rootType = forMarshaling->sType;
5006     }
5007     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5008     memcpy(*ptr, (VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
5009     *ptr += sizeof(VkDriverId);
5010     memcpy(*ptr, (char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
5011     *ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
5012     memcpy(*ptr, (char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
5013     *ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
5014     reservedmarshal_VkConformanceVersion(
5015         vkStream, rootType, (VkConformanceVersion*)(&forMarshaling->conformanceVersion), ptr);
5016 }
5017 
reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * forMarshaling,uint8_t ** ptr)5018 void reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
5019     VulkanStreamGuest* vkStream, VkStructureType rootType,
5020     const VkPhysicalDeviceShaderAtomicInt64Features* forMarshaling, uint8_t** ptr) {
5021     (void)vkStream;
5022     (void)rootType;
5023     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5024     *ptr += sizeof(VkStructureType);
5025     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5026         rootType = forMarshaling->sType;
5027     }
5028     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5029     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
5030     *ptr += sizeof(VkBool32);
5031     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
5032     *ptr += sizeof(VkBool32);
5033 }
5034 
reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * forMarshaling,uint8_t ** ptr)5035 void reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
5036     VulkanStreamGuest* vkStream, VkStructureType rootType,
5037     const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling, uint8_t** ptr) {
5038     (void)vkStream;
5039     (void)rootType;
5040     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5041     *ptr += sizeof(VkStructureType);
5042     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5043         rootType = forMarshaling->sType;
5044     }
5045     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5046     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
5047     *ptr += sizeof(VkBool32);
5048     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
5049     *ptr += sizeof(VkBool32);
5050 }
5051 
reservedmarshal_VkPhysicalDeviceFloatControlsProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * forMarshaling,uint8_t ** ptr)5052 void reservedmarshal_VkPhysicalDeviceFloatControlsProperties(
5053     VulkanStreamGuest* vkStream, VkStructureType rootType,
5054     const VkPhysicalDeviceFloatControlsProperties* forMarshaling, uint8_t** ptr) {
5055     (void)vkStream;
5056     (void)rootType;
5057     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5058     *ptr += sizeof(VkStructureType);
5059     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5060         rootType = forMarshaling->sType;
5061     }
5062     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5063     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
5064            sizeof(VkShaderFloatControlsIndependence));
5065     *ptr += sizeof(VkShaderFloatControlsIndependence);
5066     memcpy(*ptr, (VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
5067            sizeof(VkShaderFloatControlsIndependence));
5068     *ptr += sizeof(VkShaderFloatControlsIndependence);
5069     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
5070            sizeof(VkBool32));
5071     *ptr += sizeof(VkBool32);
5072     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
5073            sizeof(VkBool32));
5074     *ptr += sizeof(VkBool32);
5075     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
5076            sizeof(VkBool32));
5077     *ptr += sizeof(VkBool32);
5078     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
5079     *ptr += sizeof(VkBool32);
5080     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
5081     *ptr += sizeof(VkBool32);
5082     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
5083     *ptr += sizeof(VkBool32);
5084     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
5085     *ptr += sizeof(VkBool32);
5086     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
5087     *ptr += sizeof(VkBool32);
5088     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
5089     *ptr += sizeof(VkBool32);
5090     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
5091     *ptr += sizeof(VkBool32);
5092     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
5093     *ptr += sizeof(VkBool32);
5094     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
5095     *ptr += sizeof(VkBool32);
5096     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
5097     *ptr += sizeof(VkBool32);
5098     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
5099     *ptr += sizeof(VkBool32);
5100     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
5101     *ptr += sizeof(VkBool32);
5102 }
5103 
reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * forMarshaling,uint8_t ** ptr)5104 void reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
5105     VulkanStreamGuest* vkStream, VkStructureType rootType,
5106     const VkDescriptorSetLayoutBindingFlagsCreateInfo* forMarshaling, uint8_t** ptr) {
5107     (void)vkStream;
5108     (void)rootType;
5109     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5110     *ptr += sizeof(VkStructureType);
5111     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5112         rootType = forMarshaling->sType;
5113     }
5114     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5115     memcpy(*ptr, (uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
5116     *ptr += sizeof(uint32_t);
5117     // WARNING PTR CHECK
5118     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pBindingFlags;
5119     memcpy((*ptr), &cgen_var_0, 8);
5120     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
5121     *ptr += 8;
5122     if (forMarshaling->pBindingFlags) {
5123         memcpy(*ptr, (const VkDescriptorBindingFlags*)forMarshaling->pBindingFlags,
5124                forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
5125         *ptr += forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags);
5126     }
5127 }
5128 
reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * forMarshaling,uint8_t ** ptr)5129 void reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
5130     VulkanStreamGuest* vkStream, VkStructureType rootType,
5131     const VkPhysicalDeviceDescriptorIndexingFeatures* forMarshaling, uint8_t** ptr) {
5132     (void)vkStream;
5133     (void)rootType;
5134     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5135     *ptr += sizeof(VkStructureType);
5136     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5137         rootType = forMarshaling->sType;
5138     }
5139     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5140     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
5141            sizeof(VkBool32));
5142     *ptr += sizeof(VkBool32);
5143     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
5144            sizeof(VkBool32));
5145     *ptr += sizeof(VkBool32);
5146     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
5147            sizeof(VkBool32));
5148     *ptr += sizeof(VkBool32);
5149     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
5150            sizeof(VkBool32));
5151     *ptr += sizeof(VkBool32);
5152     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
5153            sizeof(VkBool32));
5154     *ptr += sizeof(VkBool32);
5155     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
5156            sizeof(VkBool32));
5157     *ptr += sizeof(VkBool32);
5158     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
5159            sizeof(VkBool32));
5160     *ptr += sizeof(VkBool32);
5161     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
5162            sizeof(VkBool32));
5163     *ptr += sizeof(VkBool32);
5164     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
5165            sizeof(VkBool32));
5166     *ptr += sizeof(VkBool32);
5167     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
5168            sizeof(VkBool32));
5169     *ptr += sizeof(VkBool32);
5170     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
5171            sizeof(VkBool32));
5172     *ptr += sizeof(VkBool32);
5173     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
5174            sizeof(VkBool32));
5175     *ptr += sizeof(VkBool32);
5176     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
5177            sizeof(VkBool32));
5178     *ptr += sizeof(VkBool32);
5179     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
5180            sizeof(VkBool32));
5181     *ptr += sizeof(VkBool32);
5182     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
5183            sizeof(VkBool32));
5184     *ptr += sizeof(VkBool32);
5185     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
5186            sizeof(VkBool32));
5187     *ptr += sizeof(VkBool32);
5188     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
5189            sizeof(VkBool32));
5190     *ptr += sizeof(VkBool32);
5191     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
5192     *ptr += sizeof(VkBool32);
5193     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
5194            sizeof(VkBool32));
5195     *ptr += sizeof(VkBool32);
5196     memcpy(*ptr, (VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
5197     *ptr += sizeof(VkBool32);
5198 }
5199 
reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * forMarshaling,uint8_t ** ptr)5200 void reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
5201     VulkanStreamGuest* vkStream, VkStructureType rootType,
5202     const VkPhysicalDeviceDescriptorIndexingProperties* forMarshaling, uint8_t** ptr) {
5203     (void)vkStream;
5204     (void)rootType;
5205     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5206     *ptr += sizeof(VkStructureType);
5207     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5208         rootType = forMarshaling->sType;
5209     }
5210     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5211     memcpy(*ptr, (uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
5212            sizeof(uint32_t));
5213     *ptr += sizeof(uint32_t);
5214     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
5215            sizeof(VkBool32));
5216     *ptr += sizeof(VkBool32);
5217     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
5218            sizeof(VkBool32));
5219     *ptr += sizeof(VkBool32);
5220     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
5221            sizeof(VkBool32));
5222     *ptr += sizeof(VkBool32);
5223     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
5224            sizeof(VkBool32));
5225     *ptr += sizeof(VkBool32);
5226     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
5227            sizeof(VkBool32));
5228     *ptr += sizeof(VkBool32);
5229     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
5230     *ptr += sizeof(VkBool32);
5231     memcpy(*ptr, (VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
5232     *ptr += sizeof(VkBool32);
5233     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
5234            sizeof(uint32_t));
5235     *ptr += sizeof(uint32_t);
5236     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
5237            sizeof(uint32_t));
5238     *ptr += sizeof(uint32_t);
5239     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
5240            sizeof(uint32_t));
5241     *ptr += sizeof(uint32_t);
5242     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
5243            sizeof(uint32_t));
5244     *ptr += sizeof(uint32_t);
5245     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
5246            sizeof(uint32_t));
5247     *ptr += sizeof(uint32_t);
5248     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
5249            sizeof(uint32_t));
5250     *ptr += sizeof(uint32_t);
5251     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
5252     *ptr += sizeof(uint32_t);
5253     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
5254            sizeof(uint32_t));
5255     *ptr += sizeof(uint32_t);
5256     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
5257            sizeof(uint32_t));
5258     *ptr += sizeof(uint32_t);
5259     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
5260            sizeof(uint32_t));
5261     *ptr += sizeof(uint32_t);
5262     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
5263            sizeof(uint32_t));
5264     *ptr += sizeof(uint32_t);
5265     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
5266            sizeof(uint32_t));
5267     *ptr += sizeof(uint32_t);
5268     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
5269            sizeof(uint32_t));
5270     *ptr += sizeof(uint32_t);
5271     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
5272            sizeof(uint32_t));
5273     *ptr += sizeof(uint32_t);
5274     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
5275            sizeof(uint32_t));
5276     *ptr += sizeof(uint32_t);
5277 }
5278 
reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * forMarshaling,uint8_t ** ptr)5279 void reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
5280     VulkanStreamGuest* vkStream, VkStructureType rootType,
5281     const VkDescriptorSetVariableDescriptorCountAllocateInfo* forMarshaling, uint8_t** ptr) {
5282     (void)vkStream;
5283     (void)rootType;
5284     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5285     *ptr += sizeof(VkStructureType);
5286     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5287         rootType = forMarshaling->sType;
5288     }
5289     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5290     memcpy(*ptr, (uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
5291     *ptr += sizeof(uint32_t);
5292     memcpy(*ptr, (const uint32_t*)forMarshaling->pDescriptorCounts,
5293            forMarshaling->descriptorSetCount * sizeof(const uint32_t));
5294     *ptr += forMarshaling->descriptorSetCount * sizeof(const uint32_t);
5295 }
5296 
reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * forMarshaling,uint8_t ** ptr)5297 void reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
5298     VulkanStreamGuest* vkStream, VkStructureType rootType,
5299     const VkDescriptorSetVariableDescriptorCountLayoutSupport* forMarshaling, uint8_t** ptr) {
5300     (void)vkStream;
5301     (void)rootType;
5302     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5303     *ptr += sizeof(VkStructureType);
5304     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5305         rootType = forMarshaling->sType;
5306     }
5307     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5308     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
5309     *ptr += sizeof(uint32_t);
5310 }
5311 
reservedmarshal_VkSubpassDescriptionDepthStencilResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * forMarshaling,uint8_t ** ptr)5312 void reservedmarshal_VkSubpassDescriptionDepthStencilResolve(
5313     VulkanStreamGuest* vkStream, VkStructureType rootType,
5314     const VkSubpassDescriptionDepthStencilResolve* forMarshaling, uint8_t** ptr) {
5315     (void)vkStream;
5316     (void)rootType;
5317     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5318     *ptr += sizeof(VkStructureType);
5319     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5320         rootType = forMarshaling->sType;
5321     }
5322     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5323     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->depthResolveMode,
5324            sizeof(VkResolveModeFlagBits));
5325     *ptr += sizeof(VkResolveModeFlagBits);
5326     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->stencilResolveMode,
5327            sizeof(VkResolveModeFlagBits));
5328     *ptr += sizeof(VkResolveModeFlagBits);
5329     // WARNING PTR CHECK
5330     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilResolveAttachment;
5331     memcpy((*ptr), &cgen_var_0, 8);
5332     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
5333     *ptr += 8;
5334     if (forMarshaling->pDepthStencilResolveAttachment) {
5335         reservedmarshal_VkAttachmentReference2(
5336             vkStream, rootType,
5337             (const VkAttachmentReference2*)(forMarshaling->pDepthStencilResolveAttachment), ptr);
5338     }
5339 }
5340 
reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * forMarshaling,uint8_t ** ptr)5341 void reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
5342     VulkanStreamGuest* vkStream, VkStructureType rootType,
5343     const VkPhysicalDeviceDepthStencilResolveProperties* forMarshaling, uint8_t** ptr) {
5344     (void)vkStream;
5345     (void)rootType;
5346     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5347     *ptr += sizeof(VkStructureType);
5348     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5349         rootType = forMarshaling->sType;
5350     }
5351     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5352     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
5353            sizeof(VkResolveModeFlags));
5354     *ptr += sizeof(VkResolveModeFlags);
5355     memcpy(*ptr, (VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
5356            sizeof(VkResolveModeFlags));
5357     *ptr += sizeof(VkResolveModeFlags);
5358     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
5359     *ptr += sizeof(VkBool32);
5360     memcpy(*ptr, (VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
5361     *ptr += sizeof(VkBool32);
5362 }
5363 
reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * forMarshaling,uint8_t ** ptr)5364 void reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
5365     VulkanStreamGuest* vkStream, VkStructureType rootType,
5366     const VkPhysicalDeviceScalarBlockLayoutFeatures* forMarshaling, uint8_t** ptr) {
5367     (void)vkStream;
5368     (void)rootType;
5369     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5370     *ptr += sizeof(VkStructureType);
5371     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5372         rootType = forMarshaling->sType;
5373     }
5374     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5375     memcpy(*ptr, (VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
5376     *ptr += sizeof(VkBool32);
5377 }
5378 
reservedmarshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageStencilUsageCreateInfo * forMarshaling,uint8_t ** ptr)5379 void reservedmarshal_VkImageStencilUsageCreateInfo(
5380     VulkanStreamGuest* vkStream, VkStructureType rootType,
5381     const VkImageStencilUsageCreateInfo* forMarshaling, uint8_t** ptr) {
5382     (void)vkStream;
5383     (void)rootType;
5384     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5385     *ptr += sizeof(VkStructureType);
5386     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5387         rootType = forMarshaling->sType;
5388     }
5389     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5390     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->stencilUsage, sizeof(VkImageUsageFlags));
5391     *ptr += sizeof(VkImageUsageFlags);
5392 }
5393 
reservedmarshal_VkSamplerReductionModeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * forMarshaling,uint8_t ** ptr)5394 void reservedmarshal_VkSamplerReductionModeCreateInfo(
5395     VulkanStreamGuest* vkStream, VkStructureType rootType,
5396     const VkSamplerReductionModeCreateInfo* forMarshaling, uint8_t** ptr) {
5397     (void)vkStream;
5398     (void)rootType;
5399     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5400     *ptr += sizeof(VkStructureType);
5401     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5402         rootType = forMarshaling->sType;
5403     }
5404     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5405     memcpy(*ptr, (VkSamplerReductionMode*)&forMarshaling->reductionMode,
5406            sizeof(VkSamplerReductionMode));
5407     *ptr += sizeof(VkSamplerReductionMode);
5408 }
5409 
reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * forMarshaling,uint8_t ** ptr)5410 void reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
5411     VulkanStreamGuest* vkStream, VkStructureType rootType,
5412     const VkPhysicalDeviceSamplerFilterMinmaxProperties* forMarshaling, uint8_t** ptr) {
5413     (void)vkStream;
5414     (void)rootType;
5415     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5416     *ptr += sizeof(VkStructureType);
5417     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5418         rootType = forMarshaling->sType;
5419     }
5420     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5421     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
5422     *ptr += sizeof(VkBool32);
5423     memcpy(*ptr, (VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
5424     *ptr += sizeof(VkBool32);
5425 }
5426 
reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * forMarshaling,uint8_t ** ptr)5427 void reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
5428     VulkanStreamGuest* vkStream, VkStructureType rootType,
5429     const VkPhysicalDeviceVulkanMemoryModelFeatures* forMarshaling, uint8_t** ptr) {
5430     (void)vkStream;
5431     (void)rootType;
5432     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5433     *ptr += sizeof(VkStructureType);
5434     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5435         rootType = forMarshaling->sType;
5436     }
5437     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5438     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
5439     *ptr += sizeof(VkBool32);
5440     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
5441     *ptr += sizeof(VkBool32);
5442     memcpy(*ptr, (VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
5443            sizeof(VkBool32));
5444     *ptr += sizeof(VkBool32);
5445 }
5446 
reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * forMarshaling,uint8_t ** ptr)5447 void reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
5448     VulkanStreamGuest* vkStream, VkStructureType rootType,
5449     const VkPhysicalDeviceImagelessFramebufferFeatures* forMarshaling, uint8_t** ptr) {
5450     (void)vkStream;
5451     (void)rootType;
5452     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5453     *ptr += sizeof(VkStructureType);
5454     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5455         rootType = forMarshaling->sType;
5456     }
5457     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5458     memcpy(*ptr, (VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
5459     *ptr += sizeof(VkBool32);
5460 }
5461 
reservedmarshal_VkFramebufferAttachmentImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * forMarshaling,uint8_t ** ptr)5462 void reservedmarshal_VkFramebufferAttachmentImageInfo(
5463     VulkanStreamGuest* vkStream, VkStructureType rootType,
5464     const VkFramebufferAttachmentImageInfo* forMarshaling, uint8_t** ptr) {
5465     (void)vkStream;
5466     (void)rootType;
5467     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5468     *ptr += sizeof(VkStructureType);
5469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5470         rootType = forMarshaling->sType;
5471     }
5472     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5473     memcpy(*ptr, (VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
5474     *ptr += sizeof(VkImageCreateFlags);
5475     memcpy(*ptr, (VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
5476     *ptr += sizeof(VkImageUsageFlags);
5477     memcpy(*ptr, (uint32_t*)&forMarshaling->width, sizeof(uint32_t));
5478     *ptr += sizeof(uint32_t);
5479     memcpy(*ptr, (uint32_t*)&forMarshaling->height, sizeof(uint32_t));
5480     *ptr += sizeof(uint32_t);
5481     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
5482     *ptr += sizeof(uint32_t);
5483     memcpy(*ptr, (uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
5484     *ptr += sizeof(uint32_t);
5485     memcpy(*ptr, (const VkFormat*)forMarshaling->pViewFormats,
5486            forMarshaling->viewFormatCount * sizeof(const VkFormat));
5487     *ptr += forMarshaling->viewFormatCount * sizeof(const VkFormat);
5488 }
5489 
reservedmarshal_VkFramebufferAttachmentsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * forMarshaling,uint8_t ** ptr)5490 void reservedmarshal_VkFramebufferAttachmentsCreateInfo(
5491     VulkanStreamGuest* vkStream, VkStructureType rootType,
5492     const VkFramebufferAttachmentsCreateInfo* forMarshaling, uint8_t** ptr) {
5493     (void)vkStream;
5494     (void)rootType;
5495     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5496     *ptr += sizeof(VkStructureType);
5497     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5498         rootType = forMarshaling->sType;
5499     }
5500     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5501     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentImageInfoCount, sizeof(uint32_t));
5502     *ptr += sizeof(uint32_t);
5503     for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentImageInfoCount; ++i) {
5504         reservedmarshal_VkFramebufferAttachmentImageInfo(
5505             vkStream, rootType,
5506             (const VkFramebufferAttachmentImageInfo*)(forMarshaling->pAttachmentImageInfos + i),
5507             ptr);
5508     }
5509 }
5510 
reservedmarshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * forMarshaling,uint8_t ** ptr)5511 void reservedmarshal_VkRenderPassAttachmentBeginInfo(
5512     VulkanStreamGuest* vkStream, VkStructureType rootType,
5513     const VkRenderPassAttachmentBeginInfo* forMarshaling, uint8_t** ptr) {
5514     (void)vkStream;
5515     (void)rootType;
5516     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5517     *ptr += sizeof(VkStructureType);
5518     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5519         rootType = forMarshaling->sType;
5520     }
5521     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5522     memcpy(*ptr, (uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
5523     *ptr += sizeof(uint32_t);
5524     if (forMarshaling->attachmentCount) {
5525         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
5526         if (forMarshaling) {
5527             for (uint32_t k = 0; k < forMarshaling->attachmentCount; ++k) {
5528                 uint64_t tmpval = get_host_u64_VkImageView(forMarshaling->pAttachments[k]);
5529                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
5530             }
5531         }
5532         *ptr += 8 * forMarshaling->attachmentCount;
5533     }
5534 }
5535 
reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forMarshaling,uint8_t ** ptr)5536 void reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
5537     VulkanStreamGuest* vkStream, VkStructureType rootType,
5538     const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forMarshaling, uint8_t** ptr) {
5539     (void)vkStream;
5540     (void)rootType;
5541     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5542     *ptr += sizeof(VkStructureType);
5543     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5544         rootType = forMarshaling->sType;
5545     }
5546     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5547     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
5548     *ptr += sizeof(VkBool32);
5549 }
5550 
reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forMarshaling,uint8_t ** ptr)5551 void reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
5552     VulkanStreamGuest* vkStream, VkStructureType rootType,
5553     const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forMarshaling, uint8_t** ptr) {
5554     (void)vkStream;
5555     (void)rootType;
5556     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5557     *ptr += sizeof(VkStructureType);
5558     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5559         rootType = forMarshaling->sType;
5560     }
5561     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5562     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
5563     *ptr += sizeof(VkBool32);
5564 }
5565 
reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forMarshaling,uint8_t ** ptr)5566 void reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
5567     VulkanStreamGuest* vkStream, VkStructureType rootType,
5568     const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forMarshaling, uint8_t** ptr) {
5569     (void)vkStream;
5570     (void)rootType;
5571     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5572     *ptr += sizeof(VkStructureType);
5573     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5574         rootType = forMarshaling->sType;
5575     }
5576     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5577     memcpy(*ptr, (VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
5578     *ptr += sizeof(VkBool32);
5579 }
5580 
reservedmarshal_VkAttachmentReferenceStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * forMarshaling,uint8_t ** ptr)5581 void reservedmarshal_VkAttachmentReferenceStencilLayout(
5582     VulkanStreamGuest* vkStream, VkStructureType rootType,
5583     const VkAttachmentReferenceStencilLayout* forMarshaling, uint8_t** ptr) {
5584     (void)vkStream;
5585     (void)rootType;
5586     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5587     *ptr += sizeof(VkStructureType);
5588     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5589         rootType = forMarshaling->sType;
5590     }
5591     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5592     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilLayout, sizeof(VkImageLayout));
5593     *ptr += sizeof(VkImageLayout);
5594 }
5595 
reservedmarshal_VkAttachmentDescriptionStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * forMarshaling,uint8_t ** ptr)5596 void reservedmarshal_VkAttachmentDescriptionStencilLayout(
5597     VulkanStreamGuest* vkStream, VkStructureType rootType,
5598     const VkAttachmentDescriptionStencilLayout* forMarshaling, uint8_t** ptr) {
5599     (void)vkStream;
5600     (void)rootType;
5601     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5602     *ptr += sizeof(VkStructureType);
5603     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5604         rootType = forMarshaling->sType;
5605     }
5606     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5607     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilInitialLayout, sizeof(VkImageLayout));
5608     *ptr += sizeof(VkImageLayout);
5609     memcpy(*ptr, (VkImageLayout*)&forMarshaling->stencilFinalLayout, sizeof(VkImageLayout));
5610     *ptr += sizeof(VkImageLayout);
5611 }
5612 
reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * forMarshaling,uint8_t ** ptr)5613 void reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(
5614     VulkanStreamGuest* vkStream, VkStructureType rootType,
5615     const VkPhysicalDeviceHostQueryResetFeatures* forMarshaling, uint8_t** ptr) {
5616     (void)vkStream;
5617     (void)rootType;
5618     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5619     *ptr += sizeof(VkStructureType);
5620     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5621         rootType = forMarshaling->sType;
5622     }
5623     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5624     memcpy(*ptr, (VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
5625     *ptr += sizeof(VkBool32);
5626 }
5627 
reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * forMarshaling,uint8_t ** ptr)5628 void reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
5629     VulkanStreamGuest* vkStream, VkStructureType rootType,
5630     const VkPhysicalDeviceTimelineSemaphoreFeatures* forMarshaling, uint8_t** ptr) {
5631     (void)vkStream;
5632     (void)rootType;
5633     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5634     *ptr += sizeof(VkStructureType);
5635     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5636         rootType = forMarshaling->sType;
5637     }
5638     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5639     memcpy(*ptr, (VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
5640     *ptr += sizeof(VkBool32);
5641 }
5642 
reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * forMarshaling,uint8_t ** ptr)5643 void reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
5644     VulkanStreamGuest* vkStream, VkStructureType rootType,
5645     const VkPhysicalDeviceTimelineSemaphoreProperties* forMarshaling, uint8_t** ptr) {
5646     (void)vkStream;
5647     (void)rootType;
5648     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5649     *ptr += sizeof(VkStructureType);
5650     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5651         rootType = forMarshaling->sType;
5652     }
5653     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5654     memcpy(*ptr, (uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference, sizeof(uint64_t));
5655     *ptr += sizeof(uint64_t);
5656 }
5657 
reservedmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * forMarshaling,uint8_t ** ptr)5658 void reservedmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest* vkStream,
5659                                                VkStructureType rootType,
5660                                                const VkSemaphoreTypeCreateInfo* forMarshaling,
5661                                                uint8_t** ptr) {
5662     (void)vkStream;
5663     (void)rootType;
5664     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5665     *ptr += sizeof(VkStructureType);
5666     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5667         rootType = forMarshaling->sType;
5668     }
5669     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5670     memcpy(*ptr, (VkSemaphoreType*)&forMarshaling->semaphoreType, sizeof(VkSemaphoreType));
5671     *ptr += sizeof(VkSemaphoreType);
5672     memcpy(*ptr, (uint64_t*)&forMarshaling->initialValue, sizeof(uint64_t));
5673     *ptr += sizeof(uint64_t);
5674 }
5675 
reservedmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * forMarshaling,uint8_t ** ptr)5676 void reservedmarshal_VkTimelineSemaphoreSubmitInfo(
5677     VulkanStreamGuest* vkStream, VkStructureType rootType,
5678     const VkTimelineSemaphoreSubmitInfo* forMarshaling, uint8_t** ptr) {
5679     (void)vkStream;
5680     (void)rootType;
5681     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5682     *ptr += sizeof(VkStructureType);
5683     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5684         rootType = forMarshaling->sType;
5685     }
5686     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5687     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
5688     *ptr += sizeof(uint32_t);
5689     // WARNING PTR CHECK
5690     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
5691     memcpy((*ptr), &cgen_var_0, 8);
5692     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
5693     *ptr += 8;
5694     if (forMarshaling->pWaitSemaphoreValues) {
5695         memcpy(*ptr, (const uint64_t*)forMarshaling->pWaitSemaphoreValues,
5696                forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
5697         *ptr += forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t);
5698     }
5699     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
5700     *ptr += sizeof(uint32_t);
5701     // WARNING PTR CHECK
5702     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
5703     memcpy((*ptr), &cgen_var_1, 8);
5704     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
5705     *ptr += 8;
5706     if (forMarshaling->pSignalSemaphoreValues) {
5707         memcpy(*ptr, (const uint64_t*)forMarshaling->pSignalSemaphoreValues,
5708                forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
5709         *ptr += forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t);
5710     }
5711 }
5712 
reservedmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreWaitInfo * forMarshaling,uint8_t ** ptr)5713 void reservedmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5714                                          const VkSemaphoreWaitInfo* forMarshaling, uint8_t** ptr) {
5715     (void)vkStream;
5716     (void)rootType;
5717     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5718     *ptr += sizeof(VkStructureType);
5719     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5720         rootType = forMarshaling->sType;
5721     }
5722     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5723     memcpy(*ptr, (VkSemaphoreWaitFlags*)&forMarshaling->flags, sizeof(VkSemaphoreWaitFlags));
5724     *ptr += sizeof(VkSemaphoreWaitFlags);
5725     memcpy(*ptr, (uint32_t*)&forMarshaling->semaphoreCount, sizeof(uint32_t));
5726     *ptr += sizeof(uint32_t);
5727     if (forMarshaling->semaphoreCount) {
5728         uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
5729         if (forMarshaling) {
5730             for (uint32_t k = 0; k < forMarshaling->semaphoreCount; ++k) {
5731                 uint64_t tmpval = get_host_u64_VkSemaphore(forMarshaling->pSemaphores[k]);
5732                 memcpy(cgen_var_0_ptr + k * 8, &tmpval, sizeof(uint64_t));
5733             }
5734         }
5735         *ptr += 8 * forMarshaling->semaphoreCount;
5736     }
5737     memcpy(*ptr, (const uint64_t*)forMarshaling->pValues,
5738            forMarshaling->semaphoreCount * sizeof(const uint64_t));
5739     *ptr += forMarshaling->semaphoreCount * sizeof(const uint64_t);
5740 }
5741 
reservedmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSignalInfo * forMarshaling,uint8_t ** ptr)5742 void reservedmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5743                                            const VkSemaphoreSignalInfo* forMarshaling,
5744                                            uint8_t** ptr) {
5745     (void)vkStream;
5746     (void)rootType;
5747     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5748     *ptr += sizeof(VkStructureType);
5749     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5750         rootType = forMarshaling->sType;
5751     }
5752     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5753     uint64_t cgen_var_0;
5754     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
5755     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5756     *ptr += 1 * 8;
5757     memcpy(*ptr, (uint64_t*)&forMarshaling->value, sizeof(uint64_t));
5758     *ptr += sizeof(uint64_t);
5759 }
5760 
reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * forMarshaling,uint8_t ** ptr)5761 void reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
5762     VulkanStreamGuest* vkStream, VkStructureType rootType,
5763     const VkPhysicalDeviceBufferDeviceAddressFeatures* forMarshaling, uint8_t** ptr) {
5764     (void)vkStream;
5765     (void)rootType;
5766     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5767     *ptr += sizeof(VkStructureType);
5768     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5769         rootType = forMarshaling->sType;
5770     }
5771     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5772     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
5773     *ptr += sizeof(VkBool32);
5774     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
5775     *ptr += sizeof(VkBool32);
5776     memcpy(*ptr, (VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
5777     *ptr += sizeof(VkBool32);
5778 }
5779 
reservedmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferDeviceAddressInfo * forMarshaling,uint8_t ** ptr)5780 void reservedmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest* vkStream,
5781                                                VkStructureType rootType,
5782                                                const VkBufferDeviceAddressInfo* forMarshaling,
5783                                                uint8_t** ptr) {
5784     (void)vkStream;
5785     (void)rootType;
5786     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5787     *ptr += sizeof(VkStructureType);
5788     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5789         rootType = forMarshaling->sType;
5790     }
5791     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5792     uint64_t cgen_var_0;
5793     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
5794     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5795     *ptr += 1 * 8;
5796 }
5797 
reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * forMarshaling,uint8_t ** ptr)5798 void reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
5799     VulkanStreamGuest* vkStream, VkStructureType rootType,
5800     const VkBufferOpaqueCaptureAddressCreateInfo* forMarshaling, uint8_t** ptr) {
5801     (void)vkStream;
5802     (void)rootType;
5803     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5804     *ptr += sizeof(VkStructureType);
5805     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5806         rootType = forMarshaling->sType;
5807     }
5808     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5809     memcpy(*ptr, (uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
5810     *ptr += sizeof(uint64_t);
5811 }
5812 
reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * forMarshaling,uint8_t ** ptr)5813 void reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
5814     VulkanStreamGuest* vkStream, VkStructureType rootType,
5815     const VkMemoryOpaqueCaptureAddressAllocateInfo* forMarshaling, uint8_t** ptr) {
5816     (void)vkStream;
5817     (void)rootType;
5818     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5819     *ptr += sizeof(VkStructureType);
5820     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5821         rootType = forMarshaling->sType;
5822     }
5823     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5824     memcpy(*ptr, (uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
5825     *ptr += sizeof(uint64_t);
5826 }
5827 
reservedmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * forMarshaling,uint8_t ** ptr)5828 void reservedmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
5829     VulkanStreamGuest* vkStream, VkStructureType rootType,
5830     const VkDeviceMemoryOpaqueCaptureAddressInfo* forMarshaling, uint8_t** ptr) {
5831     (void)vkStream;
5832     (void)rootType;
5833     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5834     *ptr += sizeof(VkStructureType);
5835     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5836         rootType = forMarshaling->sType;
5837     }
5838     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5839     uint64_t cgen_var_0;
5840     *&cgen_var_0 = get_host_u64_VkDeviceMemory((*&forMarshaling->memory));
5841     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
5842     *ptr += 1 * 8;
5843 }
5844 
5845 #endif
5846 #ifdef VK_VERSION_1_3
reservedmarshal_VkPhysicalDeviceVulkan13Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * forMarshaling,uint8_t ** ptr)5847 void reservedmarshal_VkPhysicalDeviceVulkan13Features(
5848     VulkanStreamGuest* vkStream, VkStructureType rootType,
5849     const VkPhysicalDeviceVulkan13Features* forMarshaling, uint8_t** ptr) {
5850     (void)vkStream;
5851     (void)rootType;
5852     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5853     *ptr += sizeof(VkStructureType);
5854     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5855         rootType = forMarshaling->sType;
5856     }
5857     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5858     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
5859     *ptr += sizeof(VkBool32);
5860     memcpy(*ptr, (VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
5861     *ptr += sizeof(VkBool32);
5862     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
5863            sizeof(VkBool32));
5864     *ptr += sizeof(VkBool32);
5865     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
5866     *ptr += sizeof(VkBool32);
5867     memcpy(*ptr, (VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
5868     *ptr += sizeof(VkBool32);
5869     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
5870     *ptr += sizeof(VkBool32);
5871     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
5872     *ptr += sizeof(VkBool32);
5873     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
5874     *ptr += sizeof(VkBool32);
5875     memcpy(*ptr, (VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
5876     *ptr += sizeof(VkBool32);
5877     memcpy(*ptr, (VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
5878     *ptr += sizeof(VkBool32);
5879     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
5880     *ptr += sizeof(VkBool32);
5881     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, sizeof(VkBool32));
5882     *ptr += sizeof(VkBool32);
5883     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
5884     *ptr += sizeof(VkBool32);
5885     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
5886     *ptr += sizeof(VkBool32);
5887     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
5888     *ptr += sizeof(VkBool32);
5889 }
5890 
reservedmarshal_VkPhysicalDeviceVulkan13Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * forMarshaling,uint8_t ** ptr)5891 void reservedmarshal_VkPhysicalDeviceVulkan13Properties(
5892     VulkanStreamGuest* vkStream, VkStructureType rootType,
5893     const VkPhysicalDeviceVulkan13Properties* forMarshaling, uint8_t** ptr) {
5894     (void)vkStream;
5895     (void)rootType;
5896     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5897     *ptr += sizeof(VkStructureType);
5898     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5899         rootType = forMarshaling->sType;
5900     }
5901     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
5902     memcpy(*ptr, (uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
5903     *ptr += sizeof(uint32_t);
5904     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
5905     *ptr += sizeof(uint32_t);
5906     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
5907     *ptr += sizeof(uint32_t);
5908     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
5909            sizeof(VkShaderStageFlags));
5910     *ptr += sizeof(VkShaderStageFlags);
5911     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
5912     *ptr += sizeof(uint32_t);
5913     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
5914            sizeof(uint32_t));
5915     *ptr += sizeof(uint32_t);
5916     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
5917            sizeof(uint32_t));
5918     *ptr += sizeof(uint32_t);
5919     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, sizeof(uint32_t));
5920     *ptr += sizeof(uint32_t);
5921     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
5922            sizeof(uint32_t));
5923     *ptr += sizeof(uint32_t);
5924     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
5925     *ptr += sizeof(uint32_t);
5926     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
5927            sizeof(VkBool32));
5928     *ptr += sizeof(VkBool32);
5929     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
5930            sizeof(VkBool32));
5931     *ptr += sizeof(VkBool32);
5932     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
5933            sizeof(VkBool32));
5934     *ptr += sizeof(VkBool32);
5935     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
5936            sizeof(VkBool32));
5937     *ptr += sizeof(VkBool32);
5938     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
5939            sizeof(VkBool32));
5940     *ptr += sizeof(VkBool32);
5941     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
5942            sizeof(VkBool32));
5943     *ptr += sizeof(VkBool32);
5944     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
5945            sizeof(VkBool32));
5946     *ptr += sizeof(VkBool32);
5947     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
5948            sizeof(VkBool32));
5949     *ptr += sizeof(VkBool32);
5950     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
5951            sizeof(VkBool32));
5952     *ptr += sizeof(VkBool32);
5953     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
5954            sizeof(VkBool32));
5955     *ptr += sizeof(VkBool32);
5956     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
5957            sizeof(VkBool32));
5958     *ptr += sizeof(VkBool32);
5959     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
5960            sizeof(VkBool32));
5961     *ptr += sizeof(VkBool32);
5962     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
5963            sizeof(VkBool32));
5964     *ptr += sizeof(VkBool32);
5965     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
5966            sizeof(VkBool32));
5967     *ptr += sizeof(VkBool32);
5968     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
5969            sizeof(VkBool32));
5970     *ptr += sizeof(VkBool32);
5971     memcpy(
5972         *ptr,
5973         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
5974         sizeof(VkBool32));
5975     *ptr += sizeof(VkBool32);
5976     memcpy(*ptr,
5977            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
5978            sizeof(VkBool32));
5979     *ptr += sizeof(VkBool32);
5980     memcpy(*ptr,
5981            (VkBool32*)&forMarshaling
5982                ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
5983            sizeof(VkBool32));
5984     *ptr += sizeof(VkBool32);
5985     memcpy(*ptr,
5986            (VkBool32*)&forMarshaling
5987                ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
5988            sizeof(VkBool32));
5989     *ptr += sizeof(VkBool32);
5990     memcpy(*ptr,
5991            (VkBool32*)&forMarshaling
5992                ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
5993            sizeof(VkBool32));
5994     *ptr += sizeof(VkBool32);
5995     memcpy(*ptr,
5996            (VkBool32*)&forMarshaling
5997                ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
5998            sizeof(VkBool32));
5999     *ptr += sizeof(VkBool32);
6000     memcpy(
6001         *ptr,
6002         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
6003         sizeof(VkBool32));
6004     *ptr += sizeof(VkBool32);
6005     memcpy(*ptr,
6006            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
6007            sizeof(VkBool32));
6008     *ptr += sizeof(VkBool32);
6009     memcpy(*ptr,
6010            (VkBool32*)&forMarshaling
6011                ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
6012            sizeof(VkBool32));
6013     *ptr += sizeof(VkBool32);
6014     memcpy(
6015         *ptr,
6016         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
6017         sizeof(VkBool32));
6018     *ptr += sizeof(VkBool32);
6019     memcpy(*ptr,
6020            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
6021            sizeof(VkBool32));
6022     *ptr += sizeof(VkBool32);
6023     memcpy(*ptr,
6024            (VkBool32*)&forMarshaling
6025                ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
6026            sizeof(VkBool32));
6027     *ptr += sizeof(VkBool32);
6028     memcpy(
6029         *ptr,
6030         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
6031         sizeof(VkBool32));
6032     *ptr += sizeof(VkBool32);
6033     memcpy(*ptr,
6034            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
6035            sizeof(VkBool32));
6036     *ptr += sizeof(VkBool32);
6037     memcpy(*ptr,
6038            (VkBool32*)&forMarshaling
6039                ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
6040            sizeof(VkBool32));
6041     *ptr += sizeof(VkBool32);
6042     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
6043            sizeof(VkDeviceSize));
6044     *ptr += sizeof(VkDeviceSize);
6045     memcpy(*ptr, (VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
6046            sizeof(VkBool32));
6047     *ptr += sizeof(VkBool32);
6048     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
6049            sizeof(VkDeviceSize));
6050     *ptr += sizeof(VkDeviceSize);
6051     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
6052            sizeof(VkBool32));
6053     *ptr += sizeof(VkBool32);
6054     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
6055     *ptr += sizeof(VkDeviceSize);
6056 }
6057 
reservedmarshal_VkPipelineCreationFeedback(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedback * forMarshaling,uint8_t ** ptr)6058 void reservedmarshal_VkPipelineCreationFeedback(VulkanStreamGuest* vkStream,
6059                                                 VkStructureType rootType,
6060                                                 const VkPipelineCreationFeedback* forMarshaling,
6061                                                 uint8_t** ptr) {
6062     (void)vkStream;
6063     (void)rootType;
6064     memcpy(*ptr, (VkPipelineCreationFeedbackFlags*)&forMarshaling->flags,
6065            sizeof(VkPipelineCreationFeedbackFlags));
6066     *ptr += sizeof(VkPipelineCreationFeedbackFlags);
6067     memcpy(*ptr, (uint64_t*)&forMarshaling->duration, sizeof(uint64_t));
6068     *ptr += sizeof(uint64_t);
6069 }
6070 
reservedmarshal_VkPipelineCreationFeedbackCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * forMarshaling,uint8_t ** ptr)6071 void reservedmarshal_VkPipelineCreationFeedbackCreateInfo(
6072     VulkanStreamGuest* vkStream, VkStructureType rootType,
6073     const VkPipelineCreationFeedbackCreateInfo* forMarshaling, uint8_t** ptr) {
6074     (void)vkStream;
6075     (void)rootType;
6076     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6077     *ptr += sizeof(VkStructureType);
6078     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6079         rootType = forMarshaling->sType;
6080     }
6081     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6082     reservedmarshal_VkPipelineCreationFeedback(
6083         vkStream, rootType, (VkPipelineCreationFeedback*)(forMarshaling->pPipelineCreationFeedback),
6084         ptr);
6085     memcpy(*ptr, (uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount, sizeof(uint32_t));
6086     *ptr += sizeof(uint32_t);
6087     for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) {
6088         reservedmarshal_VkPipelineCreationFeedback(
6089             vkStream, rootType,
6090             (VkPipelineCreationFeedback*)(forMarshaling->pPipelineStageCreationFeedbacks + i), ptr);
6091     }
6092 }
6093 
reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * forMarshaling,uint8_t ** ptr)6094 void reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
6095     VulkanStreamGuest* vkStream, VkStructureType rootType,
6096     const VkPhysicalDeviceShaderTerminateInvocationFeatures* forMarshaling, uint8_t** ptr) {
6097     (void)vkStream;
6098     (void)rootType;
6099     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6100     *ptr += sizeof(VkStructureType);
6101     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6102         rootType = forMarshaling->sType;
6103     }
6104     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6105     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
6106     *ptr += sizeof(VkBool32);
6107 }
6108 
reservedmarshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceToolProperties * forMarshaling,uint8_t ** ptr)6109 void reservedmarshal_VkPhysicalDeviceToolProperties(
6110     VulkanStreamGuest* vkStream, VkStructureType rootType,
6111     const VkPhysicalDeviceToolProperties* forMarshaling, uint8_t** ptr) {
6112     (void)vkStream;
6113     (void)rootType;
6114     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6115     *ptr += sizeof(VkStructureType);
6116     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6117         rootType = forMarshaling->sType;
6118     }
6119     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6120     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6121     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6122     memcpy(*ptr, (char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6123     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6124     memcpy(*ptr, (VkToolPurposeFlags*)&forMarshaling->purposes, sizeof(VkToolPurposeFlags));
6125     *ptr += sizeof(VkToolPurposeFlags);
6126     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
6127     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6128     memcpy(*ptr, (char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
6129     *ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
6130 }
6131 
reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forMarshaling,uint8_t ** ptr)6132 void reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
6133     VulkanStreamGuest* vkStream, VkStructureType rootType,
6134     const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forMarshaling, uint8_t** ptr) {
6135     (void)vkStream;
6136     (void)rootType;
6137     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6138     *ptr += sizeof(VkStructureType);
6139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6140         rootType = forMarshaling->sType;
6141     }
6142     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6143     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
6144     *ptr += sizeof(VkBool32);
6145 }
6146 
reservedmarshal_VkPhysicalDevicePrivateDataFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * forMarshaling,uint8_t ** ptr)6147 void reservedmarshal_VkPhysicalDevicePrivateDataFeatures(
6148     VulkanStreamGuest* vkStream, VkStructureType rootType,
6149     const VkPhysicalDevicePrivateDataFeatures* forMarshaling, uint8_t** ptr) {
6150     (void)vkStream;
6151     (void)rootType;
6152     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6153     *ptr += sizeof(VkStructureType);
6154     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6155         rootType = forMarshaling->sType;
6156     }
6157     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6158     memcpy(*ptr, (VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
6159     *ptr += sizeof(VkBool32);
6160 }
6161 
reservedmarshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * forMarshaling,uint8_t ** ptr)6162 void reservedmarshal_VkDevicePrivateDataCreateInfo(
6163     VulkanStreamGuest* vkStream, VkStructureType rootType,
6164     const VkDevicePrivateDataCreateInfo* forMarshaling, uint8_t** ptr) {
6165     (void)vkStream;
6166     (void)rootType;
6167     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6168     *ptr += sizeof(VkStructureType);
6169     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6170         rootType = forMarshaling->sType;
6171     }
6172     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6173     memcpy(*ptr, (uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
6174     *ptr += sizeof(uint32_t);
6175 }
6176 
reservedmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * forMarshaling,uint8_t ** ptr)6177 void reservedmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest* vkStream,
6178                                                  VkStructureType rootType,
6179                                                  const VkPrivateDataSlotCreateInfo* forMarshaling,
6180                                                  uint8_t** ptr) {
6181     (void)vkStream;
6182     (void)rootType;
6183     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6184     *ptr += sizeof(VkStructureType);
6185     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6186         rootType = forMarshaling->sType;
6187     }
6188     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6189     memcpy(*ptr, (VkPrivateDataSlotCreateFlags*)&forMarshaling->flags,
6190            sizeof(VkPrivateDataSlotCreateFlags));
6191     *ptr += sizeof(VkPrivateDataSlotCreateFlags);
6192 }
6193 
reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * forMarshaling,uint8_t ** ptr)6194 void reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
6195     VulkanStreamGuest* vkStream, VkStructureType rootType,
6196     const VkPhysicalDevicePipelineCreationCacheControlFeatures* forMarshaling, uint8_t** ptr) {
6197     (void)vkStream;
6198     (void)rootType;
6199     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6200     *ptr += sizeof(VkStructureType);
6201     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6202         rootType = forMarshaling->sType;
6203     }
6204     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6205     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
6206     *ptr += sizeof(VkBool32);
6207 }
6208 
reservedmarshal_VkMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6209 void reservedmarshal_VkMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6210                                       const VkMemoryBarrier2* forMarshaling, uint8_t** ptr) {
6211     (void)vkStream;
6212     (void)rootType;
6213     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6214     *ptr += sizeof(VkStructureType);
6215     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6216         rootType = forMarshaling->sType;
6217     }
6218     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6219     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6220            sizeof(VkPipelineStageFlags2));
6221     *ptr += sizeof(VkPipelineStageFlags2);
6222     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6223     *ptr += sizeof(VkAccessFlags2);
6224     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6225            sizeof(VkPipelineStageFlags2));
6226     *ptr += sizeof(VkPipelineStageFlags2);
6227     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6228     *ptr += sizeof(VkAccessFlags2);
6229 }
6230 
reservedmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6231 void reservedmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6232                                             const VkBufferMemoryBarrier2* forMarshaling,
6233                                             uint8_t** ptr) {
6234     (void)vkStream;
6235     (void)rootType;
6236     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6237     *ptr += sizeof(VkStructureType);
6238     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6239         rootType = forMarshaling->sType;
6240     }
6241     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6242     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6243            sizeof(VkPipelineStageFlags2));
6244     *ptr += sizeof(VkPipelineStageFlags2);
6245     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6246     *ptr += sizeof(VkAccessFlags2);
6247     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6248            sizeof(VkPipelineStageFlags2));
6249     *ptr += sizeof(VkPipelineStageFlags2);
6250     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6251     *ptr += sizeof(VkAccessFlags2);
6252     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
6253     *ptr += sizeof(uint32_t);
6254     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
6255     *ptr += sizeof(uint32_t);
6256     uint64_t cgen_var_0;
6257     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->buffer));
6258     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6259     *ptr += 1 * 8;
6260     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
6261     *ptr += sizeof(VkDeviceSize);
6262     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
6263     *ptr += sizeof(VkDeviceSize);
6264 }
6265 
reservedmarshal_VkImageMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier2 * forMarshaling,uint8_t ** ptr)6266 void reservedmarshal_VkImageMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6267                                            const VkImageMemoryBarrier2* forMarshaling,
6268                                            uint8_t** ptr) {
6269     (void)vkStream;
6270     (void)rootType;
6271     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6272     *ptr += sizeof(VkStructureType);
6273     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6274         rootType = forMarshaling->sType;
6275     }
6276     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6277     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
6278            sizeof(VkPipelineStageFlags2));
6279     *ptr += sizeof(VkPipelineStageFlags2);
6280     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
6281     *ptr += sizeof(VkAccessFlags2);
6282     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
6283            sizeof(VkPipelineStageFlags2));
6284     *ptr += sizeof(VkPipelineStageFlags2);
6285     memcpy(*ptr, (VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
6286     *ptr += sizeof(VkAccessFlags2);
6287     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
6288     *ptr += sizeof(VkImageLayout);
6289     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
6290     *ptr += sizeof(VkImageLayout);
6291     memcpy(*ptr, (uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
6292     *ptr += sizeof(uint32_t);
6293     memcpy(*ptr, (uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
6294     *ptr += sizeof(uint32_t);
6295     uint64_t cgen_var_0;
6296     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
6297     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6298     *ptr += 1 * 8;
6299     reservedmarshal_VkImageSubresourceRange(
6300         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
6301 }
6302 
reservedmarshal_VkDependencyInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDependencyInfo * forMarshaling,uint8_t ** ptr)6303 void reservedmarshal_VkDependencyInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6304                                       const VkDependencyInfo* forMarshaling, uint8_t** ptr) {
6305     (void)vkStream;
6306     (void)rootType;
6307     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6308     *ptr += sizeof(VkStructureType);
6309     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6310         rootType = forMarshaling->sType;
6311     }
6312     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6313     memcpy(*ptr, (VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
6314     *ptr += sizeof(VkDependencyFlags);
6315     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t));
6316     *ptr += sizeof(uint32_t);
6317     for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) {
6318         reservedmarshal_VkMemoryBarrier2(
6319             vkStream, rootType, (const VkMemoryBarrier2*)(forMarshaling->pMemoryBarriers + i), ptr);
6320     }
6321     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
6322     *ptr += sizeof(uint32_t);
6323     for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) {
6324         reservedmarshal_VkBufferMemoryBarrier2(
6325             vkStream, rootType,
6326             (const VkBufferMemoryBarrier2*)(forMarshaling->pBufferMemoryBarriers + i), ptr);
6327     }
6328     memcpy(*ptr, (uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
6329     *ptr += sizeof(uint32_t);
6330     for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) {
6331         reservedmarshal_VkImageMemoryBarrier2(
6332             vkStream, rootType,
6333             (const VkImageMemoryBarrier2*)(forMarshaling->pImageMemoryBarriers + i), ptr);
6334     }
6335 }
6336 
reservedmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSubmitInfo * forMarshaling,uint8_t ** ptr)6337 void reservedmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6338                                            const VkSemaphoreSubmitInfo* forMarshaling,
6339                                            uint8_t** ptr) {
6340     (void)vkStream;
6341     (void)rootType;
6342     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6343     *ptr += sizeof(VkStructureType);
6344     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6345         rootType = forMarshaling->sType;
6346     }
6347     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6348     uint64_t cgen_var_0;
6349     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
6350     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6351     *ptr += 1 * 8;
6352     memcpy(*ptr, (uint64_t*)&forMarshaling->value, sizeof(uint64_t));
6353     *ptr += sizeof(uint64_t);
6354     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->stageMask, sizeof(VkPipelineStageFlags2));
6355     *ptr += sizeof(VkPipelineStageFlags2);
6356     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t));
6357     *ptr += sizeof(uint32_t);
6358 }
6359 
reservedmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferSubmitInfo * forMarshaling,uint8_t ** ptr)6360 void reservedmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest* vkStream,
6361                                                VkStructureType rootType,
6362                                                const VkCommandBufferSubmitInfo* forMarshaling,
6363                                                uint8_t** ptr) {
6364     (void)vkStream;
6365     (void)rootType;
6366     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6367     *ptr += sizeof(VkStructureType);
6368     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6369         rootType = forMarshaling->sType;
6370     }
6371     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6372     uint64_t cgen_var_0;
6373     *&cgen_var_0 = get_host_u64_VkCommandBuffer((*&forMarshaling->commandBuffer));
6374     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6375     *ptr += 1 * 8;
6376     memcpy(*ptr, (uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
6377     *ptr += sizeof(uint32_t);
6378 }
6379 
reservedmarshal_VkSubmitInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo2 * forMarshaling,uint8_t ** ptr)6380 void reservedmarshal_VkSubmitInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6381                                    const VkSubmitInfo2* forMarshaling, uint8_t** ptr) {
6382     (void)vkStream;
6383     (void)rootType;
6384     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6385     *ptr += sizeof(VkStructureType);
6386     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6387         rootType = forMarshaling->sType;
6388     }
6389     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6390     memcpy(*ptr, (VkSubmitFlags*)&forMarshaling->flags, sizeof(VkSubmitFlags));
6391     *ptr += sizeof(VkSubmitFlags);
6392     memcpy(*ptr, (uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
6393     *ptr += sizeof(uint32_t);
6394     for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) {
6395         reservedmarshal_VkSemaphoreSubmitInfo(
6396             vkStream, rootType,
6397             (const VkSemaphoreSubmitInfo*)(forMarshaling->pWaitSemaphoreInfos + i), ptr);
6398     }
6399     memcpy(*ptr, (uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t));
6400     *ptr += sizeof(uint32_t);
6401     for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) {
6402         reservedmarshal_VkCommandBufferSubmitInfo(
6403             vkStream, rootType,
6404             (const VkCommandBufferSubmitInfo*)(forMarshaling->pCommandBufferInfos + i), ptr);
6405     }
6406     memcpy(*ptr, (uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
6407     *ptr += sizeof(uint32_t);
6408     for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) {
6409         reservedmarshal_VkSemaphoreSubmitInfo(
6410             vkStream, rootType,
6411             (const VkSemaphoreSubmitInfo*)(forMarshaling->pSignalSemaphoreInfos + i), ptr);
6412     }
6413 }
6414 
reservedmarshal_VkPhysicalDeviceSynchronization2Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * forMarshaling,uint8_t ** ptr)6415 void reservedmarshal_VkPhysicalDeviceSynchronization2Features(
6416     VulkanStreamGuest* vkStream, VkStructureType rootType,
6417     const VkPhysicalDeviceSynchronization2Features* forMarshaling, uint8_t** ptr) {
6418     (void)vkStream;
6419     (void)rootType;
6420     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6421     *ptr += sizeof(VkStructureType);
6422     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6423         rootType = forMarshaling->sType;
6424     }
6425     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6426     memcpy(*ptr, (VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
6427     *ptr += sizeof(VkBool32);
6428 }
6429 
reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forMarshaling,uint8_t ** ptr)6430 void reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
6431     VulkanStreamGuest* vkStream, VkStructureType rootType,
6432     const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forMarshaling, uint8_t** ptr) {
6433     (void)vkStream;
6434     (void)rootType;
6435     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6436     *ptr += sizeof(VkStructureType);
6437     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6438         rootType = forMarshaling->sType;
6439     }
6440     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6441     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, sizeof(VkBool32));
6442     *ptr += sizeof(VkBool32);
6443 }
6444 
reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * forMarshaling,uint8_t ** ptr)6445 void reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(
6446     VulkanStreamGuest* vkStream, VkStructureType rootType,
6447     const VkPhysicalDeviceImageRobustnessFeatures* forMarshaling, uint8_t** ptr) {
6448     (void)vkStream;
6449     (void)rootType;
6450     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6451     *ptr += sizeof(VkStructureType);
6452     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6453         rootType = forMarshaling->sType;
6454     }
6455     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6456     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
6457     *ptr += sizeof(VkBool32);
6458 }
6459 
reservedmarshal_VkBufferCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy2 * forMarshaling,uint8_t ** ptr)6460 void reservedmarshal_VkBufferCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6461                                    const VkBufferCopy2* forMarshaling, uint8_t** ptr) {
6462     (void)vkStream;
6463     (void)rootType;
6464     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6465     *ptr += sizeof(VkStructureType);
6466     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6467         rootType = forMarshaling->sType;
6468     }
6469     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6470     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
6471     *ptr += sizeof(VkDeviceSize);
6472     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
6473     *ptr += sizeof(VkDeviceSize);
6474     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
6475     *ptr += sizeof(VkDeviceSize);
6476 }
6477 
reservedmarshal_VkCopyBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferInfo2 * forMarshaling,uint8_t ** ptr)6478 void reservedmarshal_VkCopyBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6479                                        const VkCopyBufferInfo2* forMarshaling, uint8_t** ptr) {
6480     (void)vkStream;
6481     (void)rootType;
6482     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6483     *ptr += sizeof(VkStructureType);
6484     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6485         rootType = forMarshaling->sType;
6486     }
6487     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6488     uint64_t cgen_var_0;
6489     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->srcBuffer));
6490     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6491     *ptr += 1 * 8;
6492     uint64_t cgen_var_1;
6493     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->dstBuffer));
6494     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6495     *ptr += 1 * 8;
6496     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6497     *ptr += sizeof(uint32_t);
6498     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6499         reservedmarshal_VkBufferCopy2(vkStream, rootType,
6500                                       (const VkBufferCopy2*)(forMarshaling->pRegions + i), ptr);
6501     }
6502 }
6503 
reservedmarshal_VkImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy2 * forMarshaling,uint8_t ** ptr)6504 void reservedmarshal_VkImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6505                                   const VkImageCopy2* forMarshaling, uint8_t** ptr) {
6506     (void)vkStream;
6507     (void)rootType;
6508     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6509     *ptr += sizeof(VkStructureType);
6510     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6511         rootType = forMarshaling->sType;
6512     }
6513     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6514     reservedmarshal_VkImageSubresourceLayers(
6515         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6516     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
6517     reservedmarshal_VkImageSubresourceLayers(
6518         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6519     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
6520     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
6521 }
6522 
reservedmarshal_VkCopyImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageInfo2 * forMarshaling,uint8_t ** ptr)6523 void reservedmarshal_VkCopyImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6524                                       const VkCopyImageInfo2* forMarshaling, uint8_t** ptr) {
6525     (void)vkStream;
6526     (void)rootType;
6527     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6528     *ptr += sizeof(VkStructureType);
6529     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6530         rootType = forMarshaling->sType;
6531     }
6532     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6533     uint64_t cgen_var_0;
6534     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6535     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6536     *ptr += 1 * 8;
6537     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6538     *ptr += sizeof(VkImageLayout);
6539     uint64_t cgen_var_1;
6540     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6541     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6542     *ptr += 1 * 8;
6543     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6544     *ptr += sizeof(VkImageLayout);
6545     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6546     *ptr += sizeof(uint32_t);
6547     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6548         reservedmarshal_VkImageCopy2(vkStream, rootType,
6549                                      (const VkImageCopy2*)(forMarshaling->pRegions + i), ptr);
6550     }
6551 }
6552 
reservedmarshal_VkBufferImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy2 * forMarshaling,uint8_t ** ptr)6553 void reservedmarshal_VkBufferImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6554                                         const VkBufferImageCopy2* forMarshaling, uint8_t** ptr) {
6555     (void)vkStream;
6556     (void)rootType;
6557     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6558     *ptr += sizeof(VkStructureType);
6559     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6560         rootType = forMarshaling->sType;
6561     }
6562     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6563     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
6564     *ptr += sizeof(VkDeviceSize);
6565     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
6566     *ptr += sizeof(uint32_t);
6567     memcpy(*ptr, (uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
6568     *ptr += sizeof(uint32_t);
6569     reservedmarshal_VkImageSubresourceLayers(
6570         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
6571     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
6572     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
6573 }
6574 
reservedmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferToImageInfo2 * forMarshaling,uint8_t ** ptr)6575 void reservedmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6576                                               const VkCopyBufferToImageInfo2* forMarshaling,
6577                                               uint8_t** ptr) {
6578     (void)vkStream;
6579     (void)rootType;
6580     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6581     *ptr += sizeof(VkStructureType);
6582     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6583         rootType = forMarshaling->sType;
6584     }
6585     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6586     uint64_t cgen_var_0;
6587     *&cgen_var_0 = get_host_u64_VkBuffer((*&forMarshaling->srcBuffer));
6588     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6589     *ptr += 1 * 8;
6590     uint64_t cgen_var_1;
6591     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6592     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6593     *ptr += 1 * 8;
6594     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6595     *ptr += sizeof(VkImageLayout);
6596     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6597     *ptr += sizeof(uint32_t);
6598     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6599         reservedmarshal_VkBufferImageCopy2(
6600             vkStream, rootType, (const VkBufferImageCopy2*)(forMarshaling->pRegions + i), ptr);
6601     }
6602 }
6603 
reservedmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToBufferInfo2 * forMarshaling,uint8_t ** ptr)6604 void reservedmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6605                                               const VkCopyImageToBufferInfo2* forMarshaling,
6606                                               uint8_t** ptr) {
6607     (void)vkStream;
6608     (void)rootType;
6609     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6610     *ptr += sizeof(VkStructureType);
6611     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6612         rootType = forMarshaling->sType;
6613     }
6614     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6615     uint64_t cgen_var_0;
6616     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6617     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6618     *ptr += 1 * 8;
6619     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6620     *ptr += sizeof(VkImageLayout);
6621     uint64_t cgen_var_1;
6622     *&cgen_var_1 = get_host_u64_VkBuffer((*&forMarshaling->dstBuffer));
6623     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6624     *ptr += 1 * 8;
6625     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6626     *ptr += sizeof(uint32_t);
6627     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6628         reservedmarshal_VkBufferImageCopy2(
6629             vkStream, rootType, (const VkBufferImageCopy2*)(forMarshaling->pRegions + i), ptr);
6630     }
6631 }
6632 
reservedmarshal_VkImageBlit2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit2 * forMarshaling,uint8_t ** ptr)6633 void reservedmarshal_VkImageBlit2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6634                                   const VkImageBlit2* forMarshaling, uint8_t** ptr) {
6635     (void)vkStream;
6636     (void)rootType;
6637     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6638     *ptr += sizeof(VkStructureType);
6639     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6640         rootType = forMarshaling->sType;
6641     }
6642     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6643     reservedmarshal_VkImageSubresourceLayers(
6644         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6645     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
6646         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i),
6647                                    ptr);
6648     }
6649     reservedmarshal_VkImageSubresourceLayers(
6650         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6651     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
6652         reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i),
6653                                    ptr);
6654     }
6655 }
6656 
reservedmarshal_VkBlitImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBlitImageInfo2 * forMarshaling,uint8_t ** ptr)6657 void reservedmarshal_VkBlitImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6658                                       const VkBlitImageInfo2* forMarshaling, uint8_t** ptr) {
6659     (void)vkStream;
6660     (void)rootType;
6661     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6662     *ptr += sizeof(VkStructureType);
6663     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6664         rootType = forMarshaling->sType;
6665     }
6666     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6667     uint64_t cgen_var_0;
6668     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6669     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6670     *ptr += 1 * 8;
6671     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6672     *ptr += sizeof(VkImageLayout);
6673     uint64_t cgen_var_1;
6674     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6675     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6676     *ptr += 1 * 8;
6677     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6678     *ptr += sizeof(VkImageLayout);
6679     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6680     *ptr += sizeof(uint32_t);
6681     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6682         reservedmarshal_VkImageBlit2(vkStream, rootType,
6683                                      (const VkImageBlit2*)(forMarshaling->pRegions + i), ptr);
6684     }
6685     memcpy(*ptr, (VkFilter*)&forMarshaling->filter, sizeof(VkFilter));
6686     *ptr += sizeof(VkFilter);
6687 }
6688 
reservedmarshal_VkImageResolve2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve2 * forMarshaling,uint8_t ** ptr)6689 void reservedmarshal_VkImageResolve2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6690                                      const VkImageResolve2* forMarshaling, uint8_t** ptr) {
6691     (void)vkStream;
6692     (void)rootType;
6693     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6694     *ptr += sizeof(VkStructureType);
6695     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6696         rootType = forMarshaling->sType;
6697     }
6698     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6699     reservedmarshal_VkImageSubresourceLayers(
6700         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource), ptr);
6701     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset), ptr);
6702     reservedmarshal_VkImageSubresourceLayers(
6703         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource), ptr);
6704     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset), ptr);
6705     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent), ptr);
6706 }
6707 
reservedmarshal_VkResolveImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkResolveImageInfo2 * forMarshaling,uint8_t ** ptr)6708 void reservedmarshal_VkResolveImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6709                                          const VkResolveImageInfo2* forMarshaling, uint8_t** ptr) {
6710     (void)vkStream;
6711     (void)rootType;
6712     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6713     *ptr += sizeof(VkStructureType);
6714     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6715         rootType = forMarshaling->sType;
6716     }
6717     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6718     uint64_t cgen_var_0;
6719     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
6720     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6721     *ptr += 1 * 8;
6722     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
6723     *ptr += sizeof(VkImageLayout);
6724     uint64_t cgen_var_1;
6725     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
6726     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6727     *ptr += 1 * 8;
6728     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
6729     *ptr += sizeof(VkImageLayout);
6730     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
6731     *ptr += sizeof(uint32_t);
6732     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
6733         reservedmarshal_VkImageResolve2(vkStream, rootType,
6734                                         (const VkImageResolve2*)(forMarshaling->pRegions + i), ptr);
6735     }
6736 }
6737 
reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * forMarshaling,uint8_t ** ptr)6738 void reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
6739     VulkanStreamGuest* vkStream, VkStructureType rootType,
6740     const VkPhysicalDeviceSubgroupSizeControlFeatures* forMarshaling, uint8_t** ptr) {
6741     (void)vkStream;
6742     (void)rootType;
6743     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6744     *ptr += sizeof(VkStructureType);
6745     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6746         rootType = forMarshaling->sType;
6747     }
6748     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6749     memcpy(*ptr, (VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
6750     *ptr += sizeof(VkBool32);
6751     memcpy(*ptr, (VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
6752     *ptr += sizeof(VkBool32);
6753 }
6754 
reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * forMarshaling,uint8_t ** ptr)6755 void reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
6756     VulkanStreamGuest* vkStream, VkStructureType rootType,
6757     const VkPhysicalDeviceSubgroupSizeControlProperties* forMarshaling, uint8_t** ptr) {
6758     (void)vkStream;
6759     (void)rootType;
6760     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6761     *ptr += sizeof(VkStructureType);
6762     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6763         rootType = forMarshaling->sType;
6764     }
6765     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6766     memcpy(*ptr, (uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
6767     *ptr += sizeof(uint32_t);
6768     memcpy(*ptr, (uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
6769     *ptr += sizeof(uint32_t);
6770     memcpy(*ptr, (uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
6771     *ptr += sizeof(uint32_t);
6772     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
6773            sizeof(VkShaderStageFlags));
6774     *ptr += sizeof(VkShaderStageFlags);
6775 }
6776 
reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forMarshaling,uint8_t ** ptr)6777 void reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
6778     VulkanStreamGuest* vkStream, VkStructureType rootType,
6779     const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forMarshaling, uint8_t** ptr) {
6780     (void)vkStream;
6781     (void)rootType;
6782     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6783     *ptr += sizeof(VkStructureType);
6784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6785         rootType = forMarshaling->sType;
6786     }
6787     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6788     memcpy(*ptr, (uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t));
6789     *ptr += sizeof(uint32_t);
6790 }
6791 
reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * forMarshaling,uint8_t ** ptr)6792 void reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
6793     VulkanStreamGuest* vkStream, VkStructureType rootType,
6794     const VkPhysicalDeviceInlineUniformBlockFeatures* forMarshaling, uint8_t** ptr) {
6795     (void)vkStream;
6796     (void)rootType;
6797     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6798     *ptr += sizeof(VkStructureType);
6799     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6800         rootType = forMarshaling->sType;
6801     }
6802     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6803     memcpy(*ptr, (VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
6804     *ptr += sizeof(VkBool32);
6805     memcpy(*ptr, (VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
6806            sizeof(VkBool32));
6807     *ptr += sizeof(VkBool32);
6808 }
6809 
reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * forMarshaling,uint8_t ** ptr)6810 void reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
6811     VulkanStreamGuest* vkStream, VkStructureType rootType,
6812     const VkPhysicalDeviceInlineUniformBlockProperties* forMarshaling, uint8_t** ptr) {
6813     (void)vkStream;
6814     (void)rootType;
6815     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6816     *ptr += sizeof(VkStructureType);
6817     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6818         rootType = forMarshaling->sType;
6819     }
6820     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6821     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
6822     *ptr += sizeof(uint32_t);
6823     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
6824            sizeof(uint32_t));
6825     *ptr += sizeof(uint32_t);
6826     memcpy(*ptr, (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
6827            sizeof(uint32_t));
6828     *ptr += sizeof(uint32_t);
6829     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, sizeof(uint32_t));
6830     *ptr += sizeof(uint32_t);
6831     memcpy(*ptr, (uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
6832            sizeof(uint32_t));
6833     *ptr += sizeof(uint32_t);
6834 }
6835 
reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * forMarshaling,uint8_t ** ptr)6836 void reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(
6837     VulkanStreamGuest* vkStream, VkStructureType rootType,
6838     const VkWriteDescriptorSetInlineUniformBlock* forMarshaling, uint8_t** ptr) {
6839     (void)vkStream;
6840     (void)rootType;
6841     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6842     *ptr += sizeof(VkStructureType);
6843     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6844         rootType = forMarshaling->sType;
6845     }
6846     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6847     memcpy(*ptr, (uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t));
6848     *ptr += sizeof(uint32_t);
6849     memcpy(*ptr, (const void*)forMarshaling->pData,
6850            forMarshaling->dataSize * sizeof(const uint8_t));
6851     *ptr += forMarshaling->dataSize * sizeof(const uint8_t);
6852 }
6853 
reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * forMarshaling,uint8_t ** ptr)6854 void reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
6855     VulkanStreamGuest* vkStream, VkStructureType rootType,
6856     const VkDescriptorPoolInlineUniformBlockCreateInfo* forMarshaling, uint8_t** ptr) {
6857     (void)vkStream;
6858     (void)rootType;
6859     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6860     *ptr += sizeof(VkStructureType);
6861     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6862         rootType = forMarshaling->sType;
6863     }
6864     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6865     memcpy(*ptr, (uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
6866     *ptr += sizeof(uint32_t);
6867 }
6868 
reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forMarshaling,uint8_t ** ptr)6869 void reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
6870     VulkanStreamGuest* vkStream, VkStructureType rootType,
6871     const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forMarshaling, uint8_t** ptr) {
6872     (void)vkStream;
6873     (void)rootType;
6874     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6875     *ptr += sizeof(VkStructureType);
6876     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6877         rootType = forMarshaling->sType;
6878     }
6879     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6880     memcpy(*ptr, (VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
6881     *ptr += sizeof(VkBool32);
6882 }
6883 
reservedmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAttachmentInfo * forMarshaling,uint8_t ** ptr)6884 void reservedmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest* vkStream,
6885                                                VkStructureType rootType,
6886                                                const VkRenderingAttachmentInfo* forMarshaling,
6887                                                uint8_t** ptr) {
6888     (void)vkStream;
6889     (void)rootType;
6890     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6891     *ptr += sizeof(VkStructureType);
6892     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6893         rootType = forMarshaling->sType;
6894     }
6895     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6896     uint64_t cgen_var_0;
6897     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
6898     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
6899     *ptr += 1 * 8;
6900     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
6901     *ptr += sizeof(VkImageLayout);
6902     memcpy(*ptr, (VkResolveModeFlagBits*)&forMarshaling->resolveMode,
6903            sizeof(VkResolveModeFlagBits));
6904     *ptr += sizeof(VkResolveModeFlagBits);
6905     uint64_t cgen_var_1;
6906     *&cgen_var_1 = get_host_u64_VkImageView((*&forMarshaling->resolveImageView));
6907     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
6908     *ptr += 1 * 8;
6909     memcpy(*ptr, (VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout));
6910     *ptr += sizeof(VkImageLayout);
6911     memcpy(*ptr, (VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
6912     *ptr += sizeof(VkAttachmentLoadOp);
6913     memcpy(*ptr, (VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
6914     *ptr += sizeof(VkAttachmentStoreOp);
6915     reservedmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue),
6916                                  ptr);
6917 }
6918 
reservedmarshal_VkRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingInfo * forMarshaling,uint8_t ** ptr)6919 void reservedmarshal_VkRenderingInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6920                                      const VkRenderingInfo* forMarshaling, uint8_t** ptr) {
6921     (void)vkStream;
6922     (void)rootType;
6923     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6924     *ptr += sizeof(VkStructureType);
6925     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6926         rootType = forMarshaling->sType;
6927     }
6928     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6929     memcpy(*ptr, (VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
6930     *ptr += sizeof(VkRenderingFlags);
6931     reservedmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea), ptr);
6932     memcpy(*ptr, (uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
6933     *ptr += sizeof(uint32_t);
6934     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
6935     *ptr += sizeof(uint32_t);
6936     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
6937     *ptr += sizeof(uint32_t);
6938     for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
6939         reservedmarshal_VkRenderingAttachmentInfo(
6940             vkStream, rootType,
6941             (const VkRenderingAttachmentInfo*)(forMarshaling->pColorAttachments + i), ptr);
6942     }
6943     // WARNING PTR CHECK
6944     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment;
6945     memcpy((*ptr), &cgen_var_0, 8);
6946     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
6947     *ptr += 8;
6948     if (forMarshaling->pDepthAttachment) {
6949         reservedmarshal_VkRenderingAttachmentInfo(
6950             vkStream, rootType, (const VkRenderingAttachmentInfo*)(forMarshaling->pDepthAttachment),
6951             ptr);
6952     }
6953     // WARNING PTR CHECK
6954     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment;
6955     memcpy((*ptr), &cgen_var_1, 8);
6956     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
6957     *ptr += 8;
6958     if (forMarshaling->pStencilAttachment) {
6959         reservedmarshal_VkRenderingAttachmentInfo(
6960             vkStream, rootType,
6961             (const VkRenderingAttachmentInfo*)(forMarshaling->pStencilAttachment), ptr);
6962     }
6963 }
6964 
reservedmarshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRenderingCreateInfo * forMarshaling,uint8_t ** ptr)6965 void reservedmarshal_VkPipelineRenderingCreateInfo(
6966     VulkanStreamGuest* vkStream, VkStructureType rootType,
6967     const VkPipelineRenderingCreateInfo* forMarshaling, uint8_t** ptr) {
6968     (void)vkStream;
6969     (void)rootType;
6970     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6971     *ptr += sizeof(VkStructureType);
6972     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6973         rootType = forMarshaling->sType;
6974     }
6975     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
6976     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
6977     *ptr += sizeof(uint32_t);
6978     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
6979     *ptr += sizeof(uint32_t);
6980     // WARNING PTR CHECK
6981     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
6982     memcpy((*ptr), &cgen_var_0, 8);
6983     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
6984     *ptr += 8;
6985     if (forMarshaling->pColorAttachmentFormats) {
6986         memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
6987                forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
6988         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
6989     }
6990     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
6991     *ptr += sizeof(VkFormat);
6992     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
6993     *ptr += sizeof(VkFormat);
6994 }
6995 
reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * forMarshaling,uint8_t ** ptr)6996 void reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
6997     VulkanStreamGuest* vkStream, VkStructureType rootType,
6998     const VkPhysicalDeviceDynamicRenderingFeatures* forMarshaling, uint8_t** ptr) {
6999     (void)vkStream;
7000     (void)rootType;
7001     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7002     *ptr += sizeof(VkStructureType);
7003     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7004         rootType = forMarshaling->sType;
7005     }
7006     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7007     memcpy(*ptr, (VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
7008     *ptr += sizeof(VkBool32);
7009 }
7010 
reservedmarshal_VkCommandBufferInheritanceRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * forMarshaling,uint8_t ** ptr)7011 void reservedmarshal_VkCommandBufferInheritanceRenderingInfo(
7012     VulkanStreamGuest* vkStream, VkStructureType rootType,
7013     const VkCommandBufferInheritanceRenderingInfo* forMarshaling, uint8_t** ptr) {
7014     (void)vkStream;
7015     (void)rootType;
7016     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7017     *ptr += sizeof(VkStructureType);
7018     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7019         rootType = forMarshaling->sType;
7020     }
7021     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7022     memcpy(*ptr, (VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
7023     *ptr += sizeof(VkRenderingFlags);
7024     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
7025     *ptr += sizeof(uint32_t);
7026     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7027     *ptr += sizeof(uint32_t);
7028     memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
7029            forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
7030     *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
7031     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
7032     *ptr += sizeof(VkFormat);
7033     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
7034     *ptr += sizeof(VkFormat);
7035     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
7036            sizeof(VkSampleCountFlagBits));
7037     *ptr += sizeof(VkSampleCountFlagBits);
7038 }
7039 
reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * forMarshaling,uint8_t ** ptr)7040 void reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
7041     VulkanStreamGuest* vkStream, VkStructureType rootType,
7042     const VkPhysicalDeviceShaderIntegerDotProductFeatures* forMarshaling, uint8_t** ptr) {
7043     (void)vkStream;
7044     (void)rootType;
7045     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7046     *ptr += sizeof(VkStructureType);
7047     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7048         rootType = forMarshaling->sType;
7049     }
7050     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7051     memcpy(*ptr, (VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
7052     *ptr += sizeof(VkBool32);
7053 }
7054 
reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * forMarshaling,uint8_t ** ptr)7055 void reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
7056     VulkanStreamGuest* vkStream, VkStructureType rootType,
7057     const VkPhysicalDeviceShaderIntegerDotProductProperties* forMarshaling, uint8_t** ptr) {
7058     (void)vkStream;
7059     (void)rootType;
7060     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7061     *ptr += sizeof(VkStructureType);
7062     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7063         rootType = forMarshaling->sType;
7064     }
7065     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7066     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
7067            sizeof(VkBool32));
7068     *ptr += sizeof(VkBool32);
7069     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
7070            sizeof(VkBool32));
7071     *ptr += sizeof(VkBool32);
7072     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
7073            sizeof(VkBool32));
7074     *ptr += sizeof(VkBool32);
7075     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
7076            sizeof(VkBool32));
7077     *ptr += sizeof(VkBool32);
7078     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
7079            sizeof(VkBool32));
7080     *ptr += sizeof(VkBool32);
7081     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
7082            sizeof(VkBool32));
7083     *ptr += sizeof(VkBool32);
7084     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
7085            sizeof(VkBool32));
7086     *ptr += sizeof(VkBool32);
7087     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
7088            sizeof(VkBool32));
7089     *ptr += sizeof(VkBool32);
7090     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
7091            sizeof(VkBool32));
7092     *ptr += sizeof(VkBool32);
7093     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
7094            sizeof(VkBool32));
7095     *ptr += sizeof(VkBool32);
7096     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
7097            sizeof(VkBool32));
7098     *ptr += sizeof(VkBool32);
7099     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
7100            sizeof(VkBool32));
7101     *ptr += sizeof(VkBool32);
7102     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
7103            sizeof(VkBool32));
7104     *ptr += sizeof(VkBool32);
7105     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
7106            sizeof(VkBool32));
7107     *ptr += sizeof(VkBool32);
7108     memcpy(*ptr, (VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
7109            sizeof(VkBool32));
7110     *ptr += sizeof(VkBool32);
7111     memcpy(
7112         *ptr,
7113         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
7114         sizeof(VkBool32));
7115     *ptr += sizeof(VkBool32);
7116     memcpy(*ptr,
7117            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
7118            sizeof(VkBool32));
7119     *ptr += sizeof(VkBool32);
7120     memcpy(*ptr,
7121            (VkBool32*)&forMarshaling
7122                ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
7123            sizeof(VkBool32));
7124     *ptr += sizeof(VkBool32);
7125     memcpy(*ptr,
7126            (VkBool32*)&forMarshaling
7127                ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
7128            sizeof(VkBool32));
7129     *ptr += sizeof(VkBool32);
7130     memcpy(*ptr,
7131            (VkBool32*)&forMarshaling
7132                ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
7133            sizeof(VkBool32));
7134     *ptr += sizeof(VkBool32);
7135     memcpy(*ptr,
7136            (VkBool32*)&forMarshaling
7137                ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
7138            sizeof(VkBool32));
7139     *ptr += sizeof(VkBool32);
7140     memcpy(
7141         *ptr,
7142         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
7143         sizeof(VkBool32));
7144     *ptr += sizeof(VkBool32);
7145     memcpy(*ptr,
7146            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
7147            sizeof(VkBool32));
7148     *ptr += sizeof(VkBool32);
7149     memcpy(*ptr,
7150            (VkBool32*)&forMarshaling
7151                ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
7152            sizeof(VkBool32));
7153     *ptr += sizeof(VkBool32);
7154     memcpy(
7155         *ptr,
7156         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
7157         sizeof(VkBool32));
7158     *ptr += sizeof(VkBool32);
7159     memcpy(*ptr,
7160            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
7161            sizeof(VkBool32));
7162     *ptr += sizeof(VkBool32);
7163     memcpy(*ptr,
7164            (VkBool32*)&forMarshaling
7165                ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
7166            sizeof(VkBool32));
7167     *ptr += sizeof(VkBool32);
7168     memcpy(
7169         *ptr,
7170         (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
7171         sizeof(VkBool32));
7172     *ptr += sizeof(VkBool32);
7173     memcpy(*ptr,
7174            (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
7175            sizeof(VkBool32));
7176     *ptr += sizeof(VkBool32);
7177     memcpy(*ptr,
7178            (VkBool32*)&forMarshaling
7179                ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
7180            sizeof(VkBool32));
7181     *ptr += sizeof(VkBool32);
7182 }
7183 
reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * forMarshaling,uint8_t ** ptr)7184 void reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
7185     VulkanStreamGuest* vkStream, VkStructureType rootType,
7186     const VkPhysicalDeviceTexelBufferAlignmentProperties* forMarshaling, uint8_t** ptr) {
7187     (void)vkStream;
7188     (void)rootType;
7189     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7190     *ptr += sizeof(VkStructureType);
7191     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7192         rootType = forMarshaling->sType;
7193     }
7194     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7195     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
7196            sizeof(VkDeviceSize));
7197     *ptr += sizeof(VkDeviceSize);
7198     memcpy(*ptr, (VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
7199            sizeof(VkBool32));
7200     *ptr += sizeof(VkBool32);
7201     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
7202            sizeof(VkDeviceSize));
7203     *ptr += sizeof(VkDeviceSize);
7204     memcpy(*ptr, (VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
7205            sizeof(VkBool32));
7206     *ptr += sizeof(VkBool32);
7207 }
7208 
reservedmarshal_VkFormatProperties3(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties3 * forMarshaling,uint8_t ** ptr)7209 void reservedmarshal_VkFormatProperties3(VulkanStreamGuest* vkStream, VkStructureType rootType,
7210                                          const VkFormatProperties3* forMarshaling, uint8_t** ptr) {
7211     (void)vkStream;
7212     (void)rootType;
7213     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7214     *ptr += sizeof(VkStructureType);
7215     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7216         rootType = forMarshaling->sType;
7217     }
7218     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7219     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->linearTilingFeatures,
7220            sizeof(VkFormatFeatureFlags2));
7221     *ptr += sizeof(VkFormatFeatureFlags2);
7222     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->optimalTilingFeatures,
7223            sizeof(VkFormatFeatureFlags2));
7224     *ptr += sizeof(VkFormatFeatureFlags2);
7225     memcpy(*ptr, (VkFormatFeatureFlags2*)&forMarshaling->bufferFeatures,
7226            sizeof(VkFormatFeatureFlags2));
7227     *ptr += sizeof(VkFormatFeatureFlags2);
7228 }
7229 
reservedmarshal_VkPhysicalDeviceMaintenance4Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * forMarshaling,uint8_t ** ptr)7230 void reservedmarshal_VkPhysicalDeviceMaintenance4Features(
7231     VulkanStreamGuest* vkStream, VkStructureType rootType,
7232     const VkPhysicalDeviceMaintenance4Features* forMarshaling, uint8_t** ptr) {
7233     (void)vkStream;
7234     (void)rootType;
7235     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7236     *ptr += sizeof(VkStructureType);
7237     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7238         rootType = forMarshaling->sType;
7239     }
7240     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7241     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
7242     *ptr += sizeof(VkBool32);
7243 }
7244 
reservedmarshal_VkPhysicalDeviceMaintenance4Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * forMarshaling,uint8_t ** ptr)7245 void reservedmarshal_VkPhysicalDeviceMaintenance4Properties(
7246     VulkanStreamGuest* vkStream, VkStructureType rootType,
7247     const VkPhysicalDeviceMaintenance4Properties* forMarshaling, uint8_t** ptr) {
7248     (void)vkStream;
7249     (void)rootType;
7250     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7251     *ptr += sizeof(VkStructureType);
7252     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7253         rootType = forMarshaling->sType;
7254     }
7255     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7256     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
7257     *ptr += sizeof(VkDeviceSize);
7258 }
7259 
reservedmarshal_VkDeviceBufferMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * forMarshaling,uint8_t ** ptr)7260 void reservedmarshal_VkDeviceBufferMemoryRequirements(
7261     VulkanStreamGuest* vkStream, VkStructureType rootType,
7262     const VkDeviceBufferMemoryRequirements* forMarshaling, uint8_t** ptr) {
7263     (void)vkStream;
7264     (void)rootType;
7265     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7266     *ptr += sizeof(VkStructureType);
7267     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7268         rootType = forMarshaling->sType;
7269     }
7270     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7271     reservedmarshal_VkBufferCreateInfo(
7272         vkStream, rootType, (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7273 }
7274 
reservedmarshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageMemoryRequirements * forMarshaling,uint8_t ** ptr)7275 void reservedmarshal_VkDeviceImageMemoryRequirements(
7276     VulkanStreamGuest* vkStream, VkStructureType rootType,
7277     const VkDeviceImageMemoryRequirements* forMarshaling, uint8_t** ptr) {
7278     (void)vkStream;
7279     (void)rootType;
7280     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7281     *ptr += sizeof(VkStructureType);
7282     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7283         rootType = forMarshaling->sType;
7284     }
7285     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7286     reservedmarshal_VkImageCreateInfo(vkStream, rootType,
7287                                       (const VkImageCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7288     memcpy(*ptr, (VkImageAspectFlagBits*)&forMarshaling->planeAspect,
7289            sizeof(VkImageAspectFlagBits));
7290     *ptr += sizeof(VkImageAspectFlagBits);
7291 }
7292 
7293 #endif
7294 #ifdef VK_KHR_surface
7295 #endif
7296 #ifdef VK_KHR_swapchain
7297 #endif
7298 #ifdef VK_KHR_xcb_surface
7299 #endif
7300 #ifdef VK_KHR_android_surface
7301 #endif
7302 #ifdef VK_KHR_win32_surface
7303 #endif
7304 #ifdef VK_KHR_dynamic_rendering
reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * forMarshaling,uint8_t ** ptr)7305 void reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
7306     VulkanStreamGuest* vkStream, VkStructureType rootType,
7307     const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling, uint8_t** ptr) {
7308     (void)vkStream;
7309     (void)rootType;
7310     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7311     *ptr += sizeof(VkStructureType);
7312     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7313         rootType = forMarshaling->sType;
7314     }
7315     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7316     uint64_t cgen_var_0;
7317     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
7318     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7319     *ptr += 1 * 8;
7320     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
7321     *ptr += sizeof(VkImageLayout);
7322     reservedmarshal_VkExtent2D(vkStream, rootType,
7323                                (VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize), ptr);
7324 }
7325 
reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * forMarshaling,uint8_t ** ptr)7326 void reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
7327     VulkanStreamGuest* vkStream, VkStructureType rootType,
7328     const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling, uint8_t** ptr) {
7329     (void)vkStream;
7330     (void)rootType;
7331     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7332     *ptr += sizeof(VkStructureType);
7333     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7334         rootType = forMarshaling->sType;
7335     }
7336     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7337     uint64_t cgen_var_0;
7338     *&cgen_var_0 = get_host_u64_VkImageView((*&forMarshaling->imageView));
7339     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7340     *ptr += 1 * 8;
7341     memcpy(*ptr, (VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
7342     *ptr += sizeof(VkImageLayout);
7343 }
7344 
reservedmarshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * forMarshaling,uint8_t ** ptr)7345 void reservedmarshal_VkAttachmentSampleCountInfoAMD(
7346     VulkanStreamGuest* vkStream, VkStructureType rootType,
7347     const VkAttachmentSampleCountInfoAMD* forMarshaling, uint8_t** ptr) {
7348     (void)vkStream;
7349     (void)rootType;
7350     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7351     *ptr += sizeof(VkStructureType);
7352     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7353         rootType = forMarshaling->sType;
7354     }
7355     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7356     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7357     *ptr += sizeof(uint32_t);
7358     // WARNING PTR CHECK
7359     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentSamples;
7360     memcpy((*ptr), &cgen_var_0, 8);
7361     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7362     *ptr += 8;
7363     if (forMarshaling->pColorAttachmentSamples) {
7364         memcpy(*ptr, (const VkSampleCountFlagBits*)forMarshaling->pColorAttachmentSamples,
7365                forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
7366         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits);
7367     }
7368     memcpy(*ptr, (VkSampleCountFlagBits*)&forMarshaling->depthStencilAttachmentSamples,
7369            sizeof(VkSampleCountFlagBits));
7370     *ptr += sizeof(VkSampleCountFlagBits);
7371 }
7372 
reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * forMarshaling,uint8_t ** ptr)7373 void reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(
7374     VulkanStreamGuest* vkStream, VkStructureType rootType,
7375     const VkMultiviewPerViewAttributesInfoNVX* forMarshaling, uint8_t** ptr) {
7376     (void)vkStream;
7377     (void)rootType;
7378     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7379     *ptr += sizeof(VkStructureType);
7380     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7381         rootType = forMarshaling->sType;
7382     }
7383     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7384     memcpy(*ptr, (VkBool32*)&forMarshaling->perViewAttributes, sizeof(VkBool32));
7385     *ptr += sizeof(VkBool32);
7386     memcpy(*ptr, (VkBool32*)&forMarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
7387     *ptr += sizeof(VkBool32);
7388 }
7389 
7390 #endif
7391 #ifdef VK_KHR_get_physical_device_properties2
7392 #endif
7393 #ifdef VK_KHR_maintenance1
7394 #endif
7395 #ifdef VK_KHR_external_memory_capabilities
7396 #endif
7397 #ifdef VK_KHR_external_memory
7398 #endif
7399 #ifdef VK_KHR_external_memory_win32
7400 #endif
7401 #ifdef VK_KHR_external_memory_fd
7402 #endif
7403 #ifdef VK_KHR_external_semaphore_capabilities
7404 #endif
7405 #ifdef VK_KHR_external_semaphore
7406 #endif
7407 #ifdef VK_KHR_external_semaphore_win32
7408 #endif
7409 #ifdef VK_KHR_external_semaphore_fd
reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * forMarshaling,uint8_t ** ptr)7410 void reservedmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest* vkStream,
7411                                                 VkStructureType rootType,
7412                                                 const VkImportSemaphoreFdInfoKHR* forMarshaling,
7413                                                 uint8_t** ptr) {
7414     (void)vkStream;
7415     (void)rootType;
7416     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7417     *ptr += sizeof(VkStructureType);
7418     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7419         rootType = forMarshaling->sType;
7420     }
7421     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7422     uint64_t cgen_var_0;
7423     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
7424     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7425     *ptr += 1 * 8;
7426     memcpy(*ptr, (VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
7427     *ptr += sizeof(VkSemaphoreImportFlags);
7428     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
7429            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
7430     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
7431     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
7432     *ptr += sizeof(int);
7433 }
7434 
reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * forMarshaling,uint8_t ** ptr)7435 void reservedmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7436                                              const VkSemaphoreGetFdInfoKHR* forMarshaling,
7437                                              uint8_t** ptr) {
7438     (void)vkStream;
7439     (void)rootType;
7440     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7441     *ptr += sizeof(VkStructureType);
7442     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7443         rootType = forMarshaling->sType;
7444     }
7445     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7446     uint64_t cgen_var_0;
7447     *&cgen_var_0 = get_host_u64_VkSemaphore((*&forMarshaling->semaphore));
7448     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7449     *ptr += 1 * 8;
7450     memcpy(*ptr, (VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
7451            sizeof(VkExternalSemaphoreHandleTypeFlagBits));
7452     *ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
7453 }
7454 
7455 #endif
7456 #ifdef VK_KHR_shader_float16_int8
7457 #endif
7458 #ifdef VK_KHR_incremental_present
reservedmarshal_VkRectLayerKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRectLayerKHR * forMarshaling,uint8_t ** ptr)7459 void reservedmarshal_VkRectLayerKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7460                                     const VkRectLayerKHR* forMarshaling, uint8_t** ptr) {
7461     (void)vkStream;
7462     (void)rootType;
7463     reservedmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset), ptr);
7464     reservedmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent), ptr);
7465     memcpy(*ptr, (uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
7466     *ptr += sizeof(uint32_t);
7467 }
7468 
reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionKHR * forMarshaling,uint8_t ** ptr)7469 void reservedmarshal_VkPresentRegionKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7470                                         const VkPresentRegionKHR* forMarshaling, uint8_t** ptr) {
7471     (void)vkStream;
7472     (void)rootType;
7473     memcpy(*ptr, (uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
7474     *ptr += sizeof(uint32_t);
7475     // WARNING PTR CHECK
7476     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
7477     memcpy((*ptr), &cgen_var_0, 8);
7478     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7479     *ptr += 8;
7480     if (forMarshaling->pRectangles) {
7481         for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
7482             reservedmarshal_VkRectLayerKHR(
7483                 vkStream, rootType, (const VkRectLayerKHR*)(forMarshaling->pRectangles + i), ptr);
7484         }
7485     }
7486 }
7487 
reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionsKHR * forMarshaling,uint8_t ** ptr)7488 void reservedmarshal_VkPresentRegionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7489                                          const VkPresentRegionsKHR* forMarshaling, uint8_t** ptr) {
7490     (void)vkStream;
7491     (void)rootType;
7492     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7493     *ptr += sizeof(VkStructureType);
7494     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7495         rootType = forMarshaling->sType;
7496     }
7497     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7498     memcpy(*ptr, (uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
7499     *ptr += sizeof(uint32_t);
7500     // WARNING PTR CHECK
7501     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
7502     memcpy((*ptr), &cgen_var_0, 8);
7503     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7504     *ptr += 8;
7505     if (forMarshaling->pRegions) {
7506         for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
7507             reservedmarshal_VkPresentRegionKHR(
7508                 vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i), ptr);
7509         }
7510     }
7511 }
7512 
7513 #endif
7514 #ifdef VK_KHR_descriptor_update_template
7515 #endif
7516 #ifdef VK_KHR_imageless_framebuffer
7517 #endif
7518 #ifdef VK_KHR_create_renderpass2
7519 #endif
7520 #ifdef VK_KHR_external_fence_capabilities
7521 #endif
7522 #ifdef VK_KHR_external_fence
7523 #endif
7524 #ifdef VK_KHR_external_fence_fd
reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportFenceFdInfoKHR * forMarshaling,uint8_t ** ptr)7525 void reservedmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7526                                             const VkImportFenceFdInfoKHR* forMarshaling,
7527                                             uint8_t** ptr) {
7528     (void)vkStream;
7529     (void)rootType;
7530     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7531     *ptr += sizeof(VkStructureType);
7532     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7533         rootType = forMarshaling->sType;
7534     }
7535     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7536     uint64_t cgen_var_0;
7537     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
7538     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7539     *ptr += 1 * 8;
7540     memcpy(*ptr, (VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
7541     *ptr += sizeof(VkFenceImportFlags);
7542     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
7543            sizeof(VkExternalFenceHandleTypeFlagBits));
7544     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
7545     memcpy(*ptr, (int*)&forMarshaling->fd, sizeof(int));
7546     *ptr += sizeof(int);
7547 }
7548 
reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceGetFdInfoKHR * forMarshaling,uint8_t ** ptr)7549 void reservedmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7550                                          const VkFenceGetFdInfoKHR* forMarshaling, uint8_t** ptr) {
7551     (void)vkStream;
7552     (void)rootType;
7553     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7554     *ptr += sizeof(VkStructureType);
7555     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7556         rootType = forMarshaling->sType;
7557     }
7558     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7559     uint64_t cgen_var_0;
7560     *&cgen_var_0 = get_host_u64_VkFence((*&forMarshaling->fence));
7561     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7562     *ptr += 1 * 8;
7563     memcpy(*ptr, (VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
7564            sizeof(VkExternalFenceHandleTypeFlagBits));
7565     *ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
7566 }
7567 
7568 #endif
7569 #ifdef VK_KHR_maintenance2
7570 #endif
7571 #ifdef VK_KHR_dedicated_allocation
7572 #endif
7573 #ifdef VK_KHR_storage_buffer_storage_class
7574 #endif
7575 #ifdef VK_KHR_get_memory_requirements2
7576 #endif
7577 #ifdef VK_KHR_image_format_list
7578 #endif
7579 #ifdef VK_KHR_sampler_ycbcr_conversion
7580 #endif
7581 #ifdef VK_KHR_bind_memory2
7582 #endif
7583 #ifdef VK_KHR_maintenance3
7584 #endif
7585 #ifdef VK_KHR_shader_subgroup_extended_types
7586 #endif
7587 #ifdef VK_KHR_vulkan_memory_model
7588 #endif
7589 #ifdef VK_KHR_shader_terminate_invocation
7590 #endif
7591 #ifdef VK_KHR_buffer_device_address
7592 #endif
7593 #ifdef VK_KHR_pipeline_executable_properties
reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forMarshaling,uint8_t ** ptr)7594 void reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
7595     VulkanStreamGuest* vkStream, VkStructureType rootType,
7596     const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling, uint8_t** ptr) {
7597     (void)vkStream;
7598     (void)rootType;
7599     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7600     *ptr += sizeof(VkStructureType);
7601     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7602         rootType = forMarshaling->sType;
7603     }
7604     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7605     memcpy(*ptr, (VkBool32*)&forMarshaling->pipelineExecutableInfo, sizeof(VkBool32));
7606     *ptr += sizeof(VkBool32);
7607 }
7608 
reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInfoKHR * forMarshaling,uint8_t ** ptr)7609 void reservedmarshal_VkPipelineInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7610                                        const VkPipelineInfoKHR* forMarshaling, uint8_t** ptr) {
7611     (void)vkStream;
7612     (void)rootType;
7613     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7614     *ptr += sizeof(VkStructureType);
7615     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7616         rootType = forMarshaling->sType;
7617     }
7618     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7619     uint64_t cgen_var_0;
7620     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
7621     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7622     *ptr += 1 * 8;
7623 }
7624 
reservedmarshal_VkPipelineExecutablePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * forMarshaling,uint8_t ** ptr)7625 void reservedmarshal_VkPipelineExecutablePropertiesKHR(
7626     VulkanStreamGuest* vkStream, VkStructureType rootType,
7627     const VkPipelineExecutablePropertiesKHR* forMarshaling, uint8_t** ptr) {
7628     (void)vkStream;
7629     (void)rootType;
7630     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7631     *ptr += sizeof(VkStructureType);
7632     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7633         rootType = forMarshaling->sType;
7634     }
7635     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7636     memcpy(*ptr, (VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
7637     *ptr += sizeof(VkShaderStageFlags);
7638     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7639     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7640     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7641     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7642     memcpy(*ptr, (uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
7643     *ptr += sizeof(uint32_t);
7644 }
7645 
reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInfoKHR * forMarshaling,uint8_t ** ptr)7646 void reservedmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest* vkStream,
7647                                                  VkStructureType rootType,
7648                                                  const VkPipelineExecutableInfoKHR* forMarshaling,
7649                                                  uint8_t** ptr) {
7650     (void)vkStream;
7651     (void)rootType;
7652     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7653     *ptr += sizeof(VkStructureType);
7654     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7655         rootType = forMarshaling->sType;
7656     }
7657     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7658     uint64_t cgen_var_0;
7659     *&cgen_var_0 = get_host_u64_VkPipeline((*&forMarshaling->pipeline));
7660     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
7661     *ptr += 1 * 8;
7662     memcpy(*ptr, (uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
7663     *ptr += sizeof(uint32_t);
7664 }
7665 
reservedmarshal_VkPipelineExecutableStatisticValueKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * forMarshaling,uint8_t ** ptr)7666 void reservedmarshal_VkPipelineExecutableStatisticValueKHR(
7667     VulkanStreamGuest* vkStream, VkStructureType rootType,
7668     const VkPipelineExecutableStatisticValueKHR* forMarshaling, uint8_t** ptr) {
7669     (void)vkStream;
7670     (void)rootType;
7671     memcpy(*ptr, (VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
7672     *ptr += sizeof(VkBool32);
7673 }
7674 
reservedmarshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * forMarshaling,uint8_t ** ptr)7675 void reservedmarshal_VkPipelineExecutableStatisticKHR(
7676     VulkanStreamGuest* vkStream, VkStructureType rootType,
7677     const VkPipelineExecutableStatisticKHR* forMarshaling, uint8_t** ptr) {
7678     (void)vkStream;
7679     (void)rootType;
7680     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7681     *ptr += sizeof(VkStructureType);
7682     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7683         rootType = forMarshaling->sType;
7684     }
7685     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7686     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7687     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7688     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7689     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7690     memcpy(*ptr, (VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
7691            sizeof(VkPipelineExecutableStatisticFormatKHR));
7692     *ptr += sizeof(VkPipelineExecutableStatisticFormatKHR);
7693     reservedmarshal_VkPipelineExecutableStatisticValueKHR(
7694         vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value), ptr);
7695 }
7696 
reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * forMarshaling,uint8_t ** ptr)7697 void reservedmarshal_VkPipelineExecutableInternalRepresentationKHR(
7698     VulkanStreamGuest* vkStream, VkStructureType rootType,
7699     const VkPipelineExecutableInternalRepresentationKHR* forMarshaling, uint8_t** ptr) {
7700     (void)vkStream;
7701     (void)rootType;
7702     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7703     *ptr += sizeof(VkStructureType);
7704     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7705         rootType = forMarshaling->sType;
7706     }
7707     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7708     memcpy(*ptr, (char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7709     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7710     memcpy(*ptr, (char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
7711     *ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7712     memcpy(*ptr, (VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
7713     *ptr += sizeof(VkBool32);
7714     uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
7715     memcpy((*ptr), &cgen_var_0, 8);
7716     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7717     *ptr += 8;
7718     // WARNING PTR CHECK
7719     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
7720     memcpy((*ptr), &cgen_var_1, 8);
7721     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7722     *ptr += 8;
7723     if (forMarshaling->pData) {
7724         memcpy(*ptr, (void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
7725         *ptr += forMarshaling->dataSize * sizeof(uint8_t);
7726     }
7727 }
7728 
7729 #endif
7730 #ifdef VK_KHR_shader_integer_dot_product
7731 #endif
7732 #ifdef VK_KHR_shader_non_semantic_info
7733 #endif
7734 #ifdef VK_KHR_synchronization2
reservedmarshal_VkQueueFamilyCheckpointProperties2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * forMarshaling,uint8_t ** ptr)7735 void reservedmarshal_VkQueueFamilyCheckpointProperties2NV(
7736     VulkanStreamGuest* vkStream, VkStructureType rootType,
7737     const VkQueueFamilyCheckpointProperties2NV* forMarshaling, uint8_t** ptr) {
7738     (void)vkStream;
7739     (void)rootType;
7740     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7741     *ptr += sizeof(VkStructureType);
7742     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7743         rootType = forMarshaling->sType;
7744     }
7745     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7746     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask,
7747            sizeof(VkPipelineStageFlags2));
7748     *ptr += sizeof(VkPipelineStageFlags2);
7749 }
7750 
reservedmarshal_VkCheckpointData2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCheckpointData2NV * forMarshaling,uint8_t ** ptr)7751 void reservedmarshal_VkCheckpointData2NV(VulkanStreamGuest* vkStream, VkStructureType rootType,
7752                                          const VkCheckpointData2NV* forMarshaling, uint8_t** ptr) {
7753     (void)vkStream;
7754     (void)rootType;
7755     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7756     *ptr += sizeof(VkStructureType);
7757     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7758         rootType = forMarshaling->sType;
7759     }
7760     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7761     memcpy(*ptr, (VkPipelineStageFlags2*)&forMarshaling->stage, sizeof(VkPipelineStageFlags2));
7762     *ptr += sizeof(VkPipelineStageFlags2);
7763     // WARNING PTR CHECK
7764     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
7765     memcpy((*ptr), &cgen_var_0, 8);
7766     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7767     *ptr += 8;
7768     if (forMarshaling->pCheckpointMarker) {
7769         memcpy(*ptr, (void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
7770         *ptr += sizeof(uint8_t);
7771     }
7772 }
7773 
7774 #endif
7775 #ifdef VK_KHR_zero_initialize_workgroup_memory
7776 #endif
7777 #ifdef VK_KHR_copy_commands2
7778 #endif
7779 #ifdef VK_KHR_format_feature_flags2
7780 #endif
7781 #ifdef VK_KHR_maintenance4
7782 #endif
7783 #ifdef VK_KHR_maintenance5
reservedmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5FeaturesKHR * forMarshaling,uint8_t ** ptr)7784 void reservedmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
7785     VulkanStreamGuest* vkStream, VkStructureType rootType,
7786     const VkPhysicalDeviceMaintenance5FeaturesKHR* forMarshaling, uint8_t** ptr) {
7787     (void)vkStream;
7788     (void)rootType;
7789     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7790     *ptr += sizeof(VkStructureType);
7791     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7792         rootType = forMarshaling->sType;
7793     }
7794     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7795     memcpy(*ptr, (VkBool32*)&forMarshaling->maintenance5, sizeof(VkBool32));
7796     *ptr += sizeof(VkBool32);
7797 }
7798 
reservedmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5PropertiesKHR * forMarshaling,uint8_t ** ptr)7799 void reservedmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
7800     VulkanStreamGuest* vkStream, VkStructureType rootType,
7801     const VkPhysicalDeviceMaintenance5PropertiesKHR* forMarshaling, uint8_t** ptr) {
7802     (void)vkStream;
7803     (void)rootType;
7804     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7805     *ptr += sizeof(VkStructureType);
7806     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7807         rootType = forMarshaling->sType;
7808     }
7809     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7810     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
7811            sizeof(VkBool32));
7812     *ptr += sizeof(VkBool32);
7813     memcpy(*ptr, (VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
7814            sizeof(VkBool32));
7815     *ptr += sizeof(VkBool32);
7816     memcpy(*ptr, (VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
7817     *ptr += sizeof(VkBool32);
7818     memcpy(*ptr, (VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
7819     *ptr += sizeof(VkBool32);
7820     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
7821            sizeof(VkBool32));
7822     *ptr += sizeof(VkBool32);
7823     memcpy(*ptr, (VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram, sizeof(VkBool32));
7824     *ptr += sizeof(VkBool32);
7825 }
7826 
reservedmarshal_VkRenderingAreaInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAreaInfoKHR * forMarshaling,uint8_t ** ptr)7827 void reservedmarshal_VkRenderingAreaInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7828                                             const VkRenderingAreaInfoKHR* forMarshaling,
7829                                             uint8_t** ptr) {
7830     (void)vkStream;
7831     (void)rootType;
7832     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7833     *ptr += sizeof(VkStructureType);
7834     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7835         rootType = forMarshaling->sType;
7836     }
7837     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7838     memcpy(*ptr, (uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
7839     *ptr += sizeof(uint32_t);
7840     memcpy(*ptr, (uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
7841     *ptr += sizeof(uint32_t);
7842     // WARNING PTR CHECK
7843     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
7844     memcpy((*ptr), &cgen_var_0, 8);
7845     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7846     *ptr += 8;
7847     if (forMarshaling->pColorAttachmentFormats) {
7848         memcpy(*ptr, (const VkFormat*)forMarshaling->pColorAttachmentFormats,
7849                forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
7850         *ptr += forMarshaling->colorAttachmentCount * sizeof(const VkFormat);
7851     }
7852     memcpy(*ptr, (VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
7853     *ptr += sizeof(VkFormat);
7854     memcpy(*ptr, (VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
7855     *ptr += sizeof(VkFormat);
7856 }
7857 
reservedmarshal_VkImageSubresource2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource2KHR * forMarshaling,uint8_t ** ptr)7858 void reservedmarshal_VkImageSubresource2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7859                                             const VkImageSubresource2KHR* forMarshaling,
7860                                             uint8_t** ptr) {
7861     (void)vkStream;
7862     (void)rootType;
7863     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7864     *ptr += sizeof(VkStructureType);
7865     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7866         rootType = forMarshaling->sType;
7867     }
7868     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7869     reservedmarshal_VkImageSubresource(
7870         vkStream, rootType, (VkImageSubresource*)(&forMarshaling->imageSubresource), ptr);
7871 }
7872 
reservedmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageSubresourceInfoKHR * forMarshaling,uint8_t ** ptr)7873 void reservedmarshal_VkDeviceImageSubresourceInfoKHR(
7874     VulkanStreamGuest* vkStream, VkStructureType rootType,
7875     const VkDeviceImageSubresourceInfoKHR* forMarshaling, uint8_t** ptr) {
7876     (void)vkStream;
7877     (void)rootType;
7878     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7879     *ptr += sizeof(VkStructureType);
7880     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7881         rootType = forMarshaling->sType;
7882     }
7883     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7884     reservedmarshal_VkImageCreateInfo(vkStream, rootType,
7885                                       (const VkImageCreateInfo*)(forMarshaling->pCreateInfo), ptr);
7886     reservedmarshal_VkImageSubresource2KHR(
7887         vkStream, rootType, (const VkImageSubresource2KHR*)(forMarshaling->pSubresource), ptr);
7888 }
7889 
reservedmarshal_VkSubresourceLayout2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout2KHR * forMarshaling,uint8_t ** ptr)7890 void reservedmarshal_VkSubresourceLayout2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
7891                                              const VkSubresourceLayout2KHR* forMarshaling,
7892                                              uint8_t** ptr) {
7893     (void)vkStream;
7894     (void)rootType;
7895     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7896     *ptr += sizeof(VkStructureType);
7897     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7898         rootType = forMarshaling->sType;
7899     }
7900     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7901     reservedmarshal_VkSubresourceLayout(
7902         vkStream, rootType, (VkSubresourceLayout*)(&forMarshaling->subresourceLayout), ptr);
7903 }
7904 
reservedmarshal_VkPipelineCreateFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfoKHR * forMarshaling,uint8_t ** ptr)7905 void reservedmarshal_VkPipelineCreateFlags2CreateInfoKHR(
7906     VulkanStreamGuest* vkStream, VkStructureType rootType,
7907     const VkPipelineCreateFlags2CreateInfoKHR* forMarshaling, uint8_t** ptr) {
7908     (void)vkStream;
7909     (void)rootType;
7910     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7911     *ptr += sizeof(VkStructureType);
7912     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7913         rootType = forMarshaling->sType;
7914     }
7915     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7916     memcpy(*ptr, (VkPipelineCreateFlags2KHR*)&forMarshaling->flags,
7917            sizeof(VkPipelineCreateFlags2KHR));
7918     *ptr += sizeof(VkPipelineCreateFlags2KHR);
7919 }
7920 
reservedmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferUsageFlags2CreateInfoKHR * forMarshaling,uint8_t ** ptr)7921 void reservedmarshal_VkBufferUsageFlags2CreateInfoKHR(
7922     VulkanStreamGuest* vkStream, VkStructureType rootType,
7923     const VkBufferUsageFlags2CreateInfoKHR* forMarshaling, uint8_t** ptr) {
7924     (void)vkStream;
7925     (void)rootType;
7926     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7927     *ptr += sizeof(VkStructureType);
7928     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7929         rootType = forMarshaling->sType;
7930     }
7931     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7932     memcpy(*ptr, (VkBufferUsageFlags2KHR*)&forMarshaling->usage, sizeof(VkBufferUsageFlags2KHR));
7933     *ptr += sizeof(VkBufferUsageFlags2KHR);
7934 }
7935 
7936 #endif
7937 #ifdef VK_ANDROID_native_buffer
reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * forMarshaling,uint8_t ** ptr)7938 void reservedmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest* vkStream,
7939                                                  VkStructureType rootType,
7940                                                  const VkNativeBufferUsage2ANDROID* forMarshaling,
7941                                                  uint8_t** ptr) {
7942     (void)vkStream;
7943     (void)rootType;
7944     memcpy(*ptr, (uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
7945     *ptr += sizeof(uint64_t);
7946     memcpy(*ptr, (uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
7947     *ptr += sizeof(uint64_t);
7948 }
7949 
reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferANDROID * forMarshaling,uint8_t ** ptr)7950 void reservedmarshal_VkNativeBufferANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
7951                                            const VkNativeBufferANDROID* forMarshaling,
7952                                            uint8_t** ptr) {
7953     (void)vkStream;
7954     (void)rootType;
7955     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7956     *ptr += sizeof(VkStructureType);
7957     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7958         rootType = forMarshaling->sType;
7959     }
7960     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7961     // WARNING PTR CHECK
7962     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle;
7963     memcpy((*ptr), &cgen_var_0, 8);
7964     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
7965     *ptr += 8;
7966     if (forMarshaling->handle) {
7967         memcpy(*ptr, (const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
7968         *ptr += sizeof(const uint32_t);
7969     }
7970     memcpy(*ptr, (int*)&forMarshaling->stride, sizeof(int));
7971     *ptr += sizeof(int);
7972     memcpy(*ptr, (int*)&forMarshaling->format, sizeof(int));
7973     *ptr += sizeof(int);
7974     memcpy(*ptr, (int*)&forMarshaling->usage, sizeof(int));
7975     *ptr += sizeof(int);
7976     reservedmarshal_VkNativeBufferUsage2ANDROID(
7977         vkStream, rootType, (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2), ptr);
7978 }
7979 
reservedmarshal_VkSwapchainImageCreateInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * forMarshaling,uint8_t ** ptr)7980 void reservedmarshal_VkSwapchainImageCreateInfoANDROID(
7981     VulkanStreamGuest* vkStream, VkStructureType rootType,
7982     const VkSwapchainImageCreateInfoANDROID* forMarshaling, uint8_t** ptr) {
7983     (void)vkStream;
7984     (void)rootType;
7985     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7986     *ptr += sizeof(VkStructureType);
7987     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7988         rootType = forMarshaling->sType;
7989     }
7990     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
7991     memcpy(*ptr, (VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
7992            sizeof(VkSwapchainImageUsageFlagsANDROID));
7993     *ptr += sizeof(VkSwapchainImageUsageFlagsANDROID);
7994 }
7995 
reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * forMarshaling,uint8_t ** ptr)7996 void reservedmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
7997     VulkanStreamGuest* vkStream, VkStructureType rootType,
7998     const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling, uint8_t** ptr) {
7999     (void)vkStream;
8000     (void)rootType;
8001     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8002     *ptr += sizeof(VkStructureType);
8003     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8004         rootType = forMarshaling->sType;
8005     }
8006     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8007     memcpy(*ptr, (VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
8008     *ptr += sizeof(VkBool32);
8009 }
8010 
8011 #endif
8012 #ifdef VK_EXT_transform_feedback
reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * forMarshaling,uint8_t ** ptr)8013 void reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
8014     VulkanStreamGuest* vkStream, VkStructureType rootType,
8015     const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling, uint8_t** ptr) {
8016     (void)vkStream;
8017     (void)rootType;
8018     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8019     *ptr += sizeof(VkStructureType);
8020     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8021         rootType = forMarshaling->sType;
8022     }
8023     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8024     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedback, sizeof(VkBool32));
8025     *ptr += sizeof(VkBool32);
8026     memcpy(*ptr, (VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
8027     *ptr += sizeof(VkBool32);
8028 }
8029 
reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * forMarshaling,uint8_t ** ptr)8030 void reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
8031     VulkanStreamGuest* vkStream, VkStructureType rootType,
8032     const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling, uint8_t** ptr) {
8033     (void)vkStream;
8034     (void)rootType;
8035     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8036     *ptr += sizeof(VkStructureType);
8037     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8038         rootType = forMarshaling->sType;
8039     }
8040     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8041     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
8042     *ptr += sizeof(uint32_t);
8043     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
8044     *ptr += sizeof(uint32_t);
8045     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
8046            sizeof(VkDeviceSize));
8047     *ptr += sizeof(VkDeviceSize);
8048     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize, sizeof(uint32_t));
8049     *ptr += sizeof(uint32_t);
8050     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize, sizeof(uint32_t));
8051     *ptr += sizeof(uint32_t);
8052     memcpy(*ptr, (uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride, sizeof(uint32_t));
8053     *ptr += sizeof(uint32_t);
8054     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
8055     *ptr += sizeof(VkBool32);
8056     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
8057            sizeof(VkBool32));
8058     *ptr += sizeof(VkBool32);
8059     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
8060            sizeof(VkBool32));
8061     *ptr += sizeof(VkBool32);
8062     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
8063     *ptr += sizeof(VkBool32);
8064 }
8065 
reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * forMarshaling,uint8_t ** ptr)8066 void reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
8067     VulkanStreamGuest* vkStream, VkStructureType rootType,
8068     const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8069     (void)vkStream;
8070     (void)rootType;
8071     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8072     *ptr += sizeof(VkStructureType);
8073     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8074         rootType = forMarshaling->sType;
8075     }
8076     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8077     memcpy(*ptr, (VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
8078            sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
8079     *ptr += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
8080     memcpy(*ptr, (uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
8081     *ptr += sizeof(uint32_t);
8082 }
8083 
8084 #endif
8085 #ifdef VK_AMD_gpu_shader_half_float
8086 #endif
8087 #ifdef VK_EXT_texture_compression_astc_hdr
8088 #endif
8089 #ifdef VK_EXT_depth_clip_enable
reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * forMarshaling,uint8_t ** ptr)8090 void reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
8091     VulkanStreamGuest* vkStream, VkStructureType rootType,
8092     const VkPhysicalDeviceDepthClipEnableFeaturesEXT* forMarshaling, uint8_t** ptr) {
8093     (void)vkStream;
8094     (void)rootType;
8095     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8096     *ptr += sizeof(VkStructureType);
8097     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8098         rootType = forMarshaling->sType;
8099     }
8100     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8101     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
8102     *ptr += sizeof(VkBool32);
8103 }
8104 
reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)8105 void reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
8106     VulkanStreamGuest* vkStream, VkStructureType rootType,
8107     const VkPipelineRasterizationDepthClipStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8108     (void)vkStream;
8109     (void)rootType;
8110     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8111     *ptr += sizeof(VkStructureType);
8112     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8113         rootType = forMarshaling->sType;
8114     }
8115     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8116     memcpy(*ptr, (VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forMarshaling->flags,
8117            sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
8118     *ptr += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
8119     memcpy(*ptr, (VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
8120     *ptr += sizeof(VkBool32);
8121 }
8122 
8123 #endif
8124 #ifdef VK_EXT_swapchain_colorspace
8125 #endif
8126 #ifdef VK_MVK_moltenvk
8127 #endif
8128 #ifdef VK_EXT_queue_family_foreign
8129 #endif
8130 #ifdef VK_EXT_debug_utils
8131 #endif
8132 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
8133 #endif
8134 #ifdef VK_EXT_inline_uniform_block
8135 #endif
8136 #ifdef VK_EXT_shader_stencil_export
8137 #endif
8138 #ifdef VK_EXT_vertex_attribute_divisor
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forMarshaling,uint8_t ** ptr)8139 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
8140     VulkanStreamGuest* vkStream, VkStructureType rootType,
8141     const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling, uint8_t** ptr) {
8142     (void)vkStream;
8143     (void)rootType;
8144     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8145     *ptr += sizeof(VkStructureType);
8146     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8147         rootType = forMarshaling->sType;
8148     }
8149     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8150     memcpy(*ptr, (uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
8151     *ptr += sizeof(uint32_t);
8152 }
8153 
reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDivisorDescriptionEXT * forMarshaling,uint8_t ** ptr)8154 void reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(
8155     VulkanStreamGuest* vkStream, VkStructureType rootType,
8156     const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling, uint8_t** ptr) {
8157     (void)vkStream;
8158     (void)rootType;
8159     memcpy(*ptr, (uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
8160     *ptr += sizeof(uint32_t);
8161     memcpy(*ptr, (uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
8162     *ptr += sizeof(uint32_t);
8163 }
8164 
reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)8165 void reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
8166     VulkanStreamGuest* vkStream, VkStructureType rootType,
8167     const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8168     (void)vkStream;
8169     (void)rootType;
8170     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8171     *ptr += sizeof(VkStructureType);
8172     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8173         rootType = forMarshaling->sType;
8174     }
8175     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8176     memcpy(*ptr, (uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
8177     *ptr += sizeof(uint32_t);
8178     for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i) {
8179         reservedmarshal_VkVertexInputBindingDivisorDescriptionEXT(
8180             vkStream, rootType,
8181             (const VkVertexInputBindingDivisorDescriptionEXT*)(forMarshaling
8182                                                                    ->pVertexBindingDivisors +
8183                                                                i),
8184             ptr);
8185     }
8186 }
8187 
reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * forMarshaling,uint8_t ** ptr)8188 void reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
8189     VulkanStreamGuest* vkStream, VkStructureType rootType,
8190     const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* forMarshaling, uint8_t** ptr) {
8191     (void)vkStream;
8192     (void)rootType;
8193     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8194     *ptr += sizeof(VkStructureType);
8195     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8196         rootType = forMarshaling->sType;
8197     }
8198     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8199     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateDivisor, sizeof(VkBool32));
8200     *ptr += sizeof(VkBool32);
8201     memcpy(*ptr, (VkBool32*)&forMarshaling->vertexAttributeInstanceRateZeroDivisor,
8202            sizeof(VkBool32));
8203     *ptr += sizeof(VkBool32);
8204 }
8205 
8206 #endif
8207 #ifdef VK_EXT_pipeline_creation_feedback
8208 #endif
8209 #ifdef VK_NV_shader_subgroup_partitioned
8210 #endif
8211 #ifdef VK_EXT_metal_surface
8212 #endif
8213 #ifdef VK_EXT_fragment_density_map
reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forMarshaling,uint8_t ** ptr)8214 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
8215     VulkanStreamGuest* vkStream, VkStructureType rootType,
8216     const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forMarshaling, uint8_t** ptr) {
8217     (void)vkStream;
8218     (void)rootType;
8219     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8220     *ptr += sizeof(VkStructureType);
8221     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8222         rootType = forMarshaling->sType;
8223     }
8224     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8225     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMap, sizeof(VkBool32));
8226     *ptr += sizeof(VkBool32);
8227     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
8228     *ptr += sizeof(VkBool32);
8229     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityMapNonSubsampledImages,
8230            sizeof(VkBool32));
8231     *ptr += sizeof(VkBool32);
8232 }
8233 
reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forMarshaling,uint8_t ** ptr)8234 void reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
8235     VulkanStreamGuest* vkStream, VkStructureType rootType,
8236     const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forMarshaling, uint8_t** ptr) {
8237     (void)vkStream;
8238     (void)rootType;
8239     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8240     *ptr += sizeof(VkStructureType);
8241     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8242         rootType = forMarshaling->sType;
8243     }
8244     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8245     reservedmarshal_VkExtent2D(vkStream, rootType,
8246                                (VkExtent2D*)(&forMarshaling->minFragmentDensityTexelSize), ptr);
8247     reservedmarshal_VkExtent2D(vkStream, rootType,
8248                                (VkExtent2D*)(&forMarshaling->maxFragmentDensityTexelSize), ptr);
8249     memcpy(*ptr, (VkBool32*)&forMarshaling->fragmentDensityInvocations, sizeof(VkBool32));
8250     *ptr += sizeof(VkBool32);
8251 }
8252 
reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * forMarshaling,uint8_t ** ptr)8253 void reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
8254     VulkanStreamGuest* vkStream, VkStructureType rootType,
8255     const VkRenderPassFragmentDensityMapCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8256     (void)vkStream;
8257     (void)rootType;
8258     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8259     *ptr += sizeof(VkStructureType);
8260     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8261         rootType = forMarshaling->sType;
8262     }
8263     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8264     reservedmarshal_VkAttachmentReference(
8265         vkStream, rootType, (VkAttachmentReference*)(&forMarshaling->fragmentDensityMapAttachment),
8266         ptr);
8267 }
8268 
8269 #endif
8270 #ifdef VK_EXT_scalar_block_layout
8271 #endif
8272 #ifdef VK_EXT_subgroup_size_control
8273 #endif
8274 #ifdef VK_EXT_tooling_info
8275 #endif
8276 #ifdef VK_EXT_validation_features
8277 #endif
8278 #ifdef VK_EXT_provoking_vertex
reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * forMarshaling,uint8_t ** ptr)8279 void reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
8280     VulkanStreamGuest* vkStream, VkStructureType rootType,
8281     const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling, uint8_t** ptr) {
8282     (void)vkStream;
8283     (void)rootType;
8284     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8285     *ptr += sizeof(VkStructureType);
8286     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8287         rootType = forMarshaling->sType;
8288     }
8289     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8290     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexLast, sizeof(VkBool32));
8291     *ptr += sizeof(VkBool32);
8292     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
8293            sizeof(VkBool32));
8294     *ptr += sizeof(VkBool32);
8295 }
8296 
reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * forMarshaling,uint8_t ** ptr)8297 void reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
8298     VulkanStreamGuest* vkStream, VkStructureType rootType,
8299     const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling, uint8_t** ptr) {
8300     (void)vkStream;
8301     (void)rootType;
8302     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8303     *ptr += sizeof(VkStructureType);
8304     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8305         rootType = forMarshaling->sType;
8306     }
8307     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8308     memcpy(*ptr, (VkBool32*)&forMarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
8309     *ptr += sizeof(VkBool32);
8310     memcpy(*ptr, (VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
8311            sizeof(VkBool32));
8312     *ptr += sizeof(VkBool32);
8313 }
8314 
reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)8315 void reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
8316     VulkanStreamGuest* vkStream, VkStructureType rootType,
8317     const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8318     (void)vkStream;
8319     (void)rootType;
8320     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8321     *ptr += sizeof(VkStructureType);
8322     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8323         rootType = forMarshaling->sType;
8324     }
8325     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8326     memcpy(*ptr, (VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
8327            sizeof(VkProvokingVertexModeEXT));
8328     *ptr += sizeof(VkProvokingVertexModeEXT);
8329 }
8330 
8331 #endif
8332 #ifdef VK_EXT_line_rasterization
reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesEXT * forMarshaling,uint8_t ** ptr)8333 void reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
8334     VulkanStreamGuest* vkStream, VkStructureType rootType,
8335     const VkPhysicalDeviceLineRasterizationFeaturesEXT* forMarshaling, uint8_t** ptr) {
8336     (void)vkStream;
8337     (void)rootType;
8338     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8339     *ptr += sizeof(VkStructureType);
8340     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8341         rootType = forMarshaling->sType;
8342     }
8343     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8344     memcpy(*ptr, (VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
8345     *ptr += sizeof(VkBool32);
8346     memcpy(*ptr, (VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
8347     *ptr += sizeof(VkBool32);
8348     memcpy(*ptr, (VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
8349     *ptr += sizeof(VkBool32);
8350     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
8351     *ptr += sizeof(VkBool32);
8352     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
8353     *ptr += sizeof(VkBool32);
8354     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
8355     *ptr += sizeof(VkBool32);
8356 }
8357 
reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesEXT * forMarshaling,uint8_t ** ptr)8358 void reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
8359     VulkanStreamGuest* vkStream, VkStructureType rootType,
8360     const VkPhysicalDeviceLineRasterizationPropertiesEXT* forMarshaling, uint8_t** ptr) {
8361     (void)vkStream;
8362     (void)rootType;
8363     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8364     *ptr += sizeof(VkStructureType);
8365     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8366         rootType = forMarshaling->sType;
8367     }
8368     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8369     memcpy(*ptr, (uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
8370     *ptr += sizeof(uint32_t);
8371 }
8372 
reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoEXT * forMarshaling,uint8_t ** ptr)8373 void reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
8374     VulkanStreamGuest* vkStream, VkStructureType rootType,
8375     const VkPipelineRasterizationLineStateCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8376     (void)vkStream;
8377     (void)rootType;
8378     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8379     *ptr += sizeof(VkStructureType);
8380     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8381         rootType = forMarshaling->sType;
8382     }
8383     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8384     memcpy(*ptr, (VkLineRasterizationModeEXT*)&forMarshaling->lineRasterizationMode,
8385            sizeof(VkLineRasterizationModeEXT));
8386     *ptr += sizeof(VkLineRasterizationModeEXT);
8387     memcpy(*ptr, (VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
8388     *ptr += sizeof(VkBool32);
8389     memcpy(*ptr, (uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
8390     *ptr += sizeof(uint32_t);
8391     memcpy(*ptr, (uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
8392     *ptr += sizeof(uint16_t);
8393 }
8394 
8395 #endif
8396 #ifdef VK_EXT_index_type_uint8
reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * forMarshaling,uint8_t ** ptr)8397 void reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
8398     VulkanStreamGuest* vkStream, VkStructureType rootType,
8399     const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forMarshaling, uint8_t** ptr) {
8400     (void)vkStream;
8401     (void)rootType;
8402     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8403     *ptr += sizeof(VkStructureType);
8404     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8405         rootType = forMarshaling->sType;
8406     }
8407     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8408     memcpy(*ptr, (VkBool32*)&forMarshaling->indexTypeUint8, sizeof(VkBool32));
8409     *ptr += sizeof(VkBool32);
8410 }
8411 
8412 #endif
8413 #ifdef VK_EXT_extended_dynamic_state
reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forMarshaling,uint8_t ** ptr)8414 void reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
8415     VulkanStreamGuest* vkStream, VkStructureType rootType,
8416     const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling, uint8_t** ptr) {
8417     (void)vkStream;
8418     (void)rootType;
8419     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8420     *ptr += sizeof(VkStructureType);
8421     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8422         rootType = forMarshaling->sType;
8423     }
8424     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8425     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState, sizeof(VkBool32));
8426     *ptr += sizeof(VkBool32);
8427 }
8428 
8429 #endif
8430 #ifdef VK_EXT_host_image_copy
reservedmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeaturesEXT * forMarshaling,uint8_t ** ptr)8431 void reservedmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
8432     VulkanStreamGuest* vkStream, VkStructureType rootType,
8433     const VkPhysicalDeviceHostImageCopyFeaturesEXT* forMarshaling, uint8_t** ptr) {
8434     (void)vkStream;
8435     (void)rootType;
8436     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8437     *ptr += sizeof(VkStructureType);
8438     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8439         rootType = forMarshaling->sType;
8440     }
8441     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8442     memcpy(*ptr, (VkBool32*)&forMarshaling->hostImageCopy, sizeof(VkBool32));
8443     *ptr += sizeof(VkBool32);
8444 }
8445 
reservedmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyPropertiesEXT * forMarshaling,uint8_t ** ptr)8446 void reservedmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
8447     VulkanStreamGuest* vkStream, VkStructureType rootType,
8448     const VkPhysicalDeviceHostImageCopyPropertiesEXT* forMarshaling, uint8_t** ptr) {
8449     (void)vkStream;
8450     (void)rootType;
8451     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8452     *ptr += sizeof(VkStructureType);
8453     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8454         rootType = forMarshaling->sType;
8455     }
8456     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8457     memcpy(*ptr, (uint32_t*)&forMarshaling->copySrcLayoutCount, sizeof(uint32_t));
8458     *ptr += sizeof(uint32_t);
8459     // WARNING PTR CHECK
8460     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
8461     memcpy((*ptr), &cgen_var_0, 8);
8462     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
8463     *ptr += 8;
8464     if (forMarshaling->pCopySrcLayouts) {
8465         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopySrcLayouts,
8466                forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
8467         *ptr += forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout);
8468     }
8469     memcpy(*ptr, (uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
8470     *ptr += sizeof(uint32_t);
8471     // WARNING PTR CHECK
8472     uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
8473     memcpy((*ptr), &cgen_var_1, 8);
8474     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
8475     *ptr += 8;
8476     if (forMarshaling->pCopyDstLayouts) {
8477         memcpy(*ptr, (VkImageLayout*)forMarshaling->pCopyDstLayouts,
8478                forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
8479         *ptr += forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout);
8480     }
8481     memcpy(*ptr, (uint8_t*)forMarshaling->optimalTilingLayoutUUID, VK_UUID_SIZE * sizeof(uint8_t));
8482     *ptr += VK_UUID_SIZE * sizeof(uint8_t);
8483     memcpy(*ptr, (VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
8484     *ptr += sizeof(VkBool32);
8485 }
8486 
reservedmarshal_VkMemoryToImageCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryToImageCopyEXT * forMarshaling,uint8_t ** ptr)8487 void reservedmarshal_VkMemoryToImageCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
8488                                             const VkMemoryToImageCopyEXT* forMarshaling,
8489                                             uint8_t** ptr) {
8490     (void)vkStream;
8491     (void)rootType;
8492     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8493     *ptr += sizeof(VkStructureType);
8494     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8495         rootType = forMarshaling->sType;
8496     }
8497     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8498     memcpy(*ptr, (const void*)forMarshaling->pHostPointer, sizeof(const uint8_t));
8499     *ptr += sizeof(const uint8_t);
8500     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
8501     *ptr += sizeof(uint32_t);
8502     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
8503     *ptr += sizeof(uint32_t);
8504     reservedmarshal_VkImageSubresourceLayers(
8505         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
8506     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
8507     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
8508 }
8509 
reservedmarshal_VkImageToMemoryCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageToMemoryCopyEXT * forMarshaling,uint8_t ** ptr)8510 void reservedmarshal_VkImageToMemoryCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
8511                                             const VkImageToMemoryCopyEXT* forMarshaling,
8512                                             uint8_t** ptr) {
8513     (void)vkStream;
8514     (void)rootType;
8515     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8516     *ptr += sizeof(VkStructureType);
8517     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8518         rootType = forMarshaling->sType;
8519     }
8520     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8521     memcpy(*ptr, (void*)forMarshaling->pHostPointer, sizeof(uint8_t));
8522     *ptr += sizeof(uint8_t);
8523     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
8524     *ptr += sizeof(uint32_t);
8525     memcpy(*ptr, (uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
8526     *ptr += sizeof(uint32_t);
8527     reservedmarshal_VkImageSubresourceLayers(
8528         vkStream, rootType, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource), ptr);
8529     reservedmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset), ptr);
8530     reservedmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent), ptr);
8531 }
8532 
reservedmarshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToImageInfoEXT * forMarshaling,uint8_t ** ptr)8533 void reservedmarshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest* vkStream,
8534                                                 VkStructureType rootType,
8535                                                 const VkCopyMemoryToImageInfoEXT* forMarshaling,
8536                                                 uint8_t** ptr) {
8537     (void)vkStream;
8538     (void)rootType;
8539     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8540     *ptr += sizeof(VkStructureType);
8541     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8542         rootType = forMarshaling->sType;
8543     }
8544     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8545     memcpy(*ptr, (VkHostImageCopyFlagsEXT*)&forMarshaling->flags, sizeof(VkHostImageCopyFlagsEXT));
8546     *ptr += sizeof(VkHostImageCopyFlagsEXT);
8547     uint64_t cgen_var_0;
8548     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->dstImage));
8549     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8550     *ptr += 1 * 8;
8551     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
8552     *ptr += sizeof(VkImageLayout);
8553     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8554     *ptr += sizeof(uint32_t);
8555     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8556         reservedmarshal_VkMemoryToImageCopyEXT(
8557             vkStream, rootType, (const VkMemoryToImageCopyEXT*)(forMarshaling->pRegions + i), ptr);
8558     }
8559 }
8560 
reservedmarshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToMemoryInfoEXT * forMarshaling,uint8_t ** ptr)8561 void reservedmarshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest* vkStream,
8562                                                 VkStructureType rootType,
8563                                                 const VkCopyImageToMemoryInfoEXT* forMarshaling,
8564                                                 uint8_t** ptr) {
8565     (void)vkStream;
8566     (void)rootType;
8567     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8568     *ptr += sizeof(VkStructureType);
8569     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8570         rootType = forMarshaling->sType;
8571     }
8572     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8573     memcpy(*ptr, (VkHostImageCopyFlagsEXT*)&forMarshaling->flags, sizeof(VkHostImageCopyFlagsEXT));
8574     *ptr += sizeof(VkHostImageCopyFlagsEXT);
8575     uint64_t cgen_var_0;
8576     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
8577     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8578     *ptr += 1 * 8;
8579     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
8580     *ptr += sizeof(VkImageLayout);
8581     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8582     *ptr += sizeof(uint32_t);
8583     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8584         reservedmarshal_VkImageToMemoryCopyEXT(
8585             vkStream, rootType, (const VkImageToMemoryCopyEXT*)(forMarshaling->pRegions + i), ptr);
8586     }
8587 }
8588 
reservedmarshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToImageInfoEXT * forMarshaling,uint8_t ** ptr)8589 void reservedmarshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest* vkStream,
8590                                                VkStructureType rootType,
8591                                                const VkCopyImageToImageInfoEXT* forMarshaling,
8592                                                uint8_t** ptr) {
8593     (void)vkStream;
8594     (void)rootType;
8595     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8596     *ptr += sizeof(VkStructureType);
8597     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8598         rootType = forMarshaling->sType;
8599     }
8600     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8601     memcpy(*ptr, (VkHostImageCopyFlagsEXT*)&forMarshaling->flags, sizeof(VkHostImageCopyFlagsEXT));
8602     *ptr += sizeof(VkHostImageCopyFlagsEXT);
8603     uint64_t cgen_var_0;
8604     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->srcImage));
8605     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8606     *ptr += 1 * 8;
8607     memcpy(*ptr, (VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
8608     *ptr += sizeof(VkImageLayout);
8609     uint64_t cgen_var_1;
8610     *&cgen_var_1 = get_host_u64_VkImage((*&forMarshaling->dstImage));
8611     memcpy(*ptr, (uint64_t*)&cgen_var_1, 1 * 8);
8612     *ptr += 1 * 8;
8613     memcpy(*ptr, (VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
8614     *ptr += sizeof(VkImageLayout);
8615     memcpy(*ptr, (uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
8616     *ptr += sizeof(uint32_t);
8617     for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
8618         reservedmarshal_VkImageCopy2(vkStream, rootType,
8619                                      (const VkImageCopy2*)(forMarshaling->pRegions + i), ptr);
8620     }
8621 }
8622 
reservedmarshal_VkHostImageLayoutTransitionInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageLayoutTransitionInfoEXT * forMarshaling,uint8_t ** ptr)8623 void reservedmarshal_VkHostImageLayoutTransitionInfoEXT(
8624     VulkanStreamGuest* vkStream, VkStructureType rootType,
8625     const VkHostImageLayoutTransitionInfoEXT* 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     uint64_t cgen_var_0;
8635     *&cgen_var_0 = get_host_u64_VkImage((*&forMarshaling->image));
8636     memcpy(*ptr, (uint64_t*)&cgen_var_0, 1 * 8);
8637     *ptr += 1 * 8;
8638     memcpy(*ptr, (VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
8639     *ptr += sizeof(VkImageLayout);
8640     memcpy(*ptr, (VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
8641     *ptr += sizeof(VkImageLayout);
8642     reservedmarshal_VkImageSubresourceRange(
8643         vkStream, rootType, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange), ptr);
8644 }
8645 
reservedmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceHostMemcpySizeEXT * forMarshaling,uint8_t ** ptr)8646 void reservedmarshal_VkSubresourceHostMemcpySizeEXT(
8647     VulkanStreamGuest* vkStream, VkStructureType rootType,
8648     const VkSubresourceHostMemcpySizeEXT* forMarshaling, uint8_t** ptr) {
8649     (void)vkStream;
8650     (void)rootType;
8651     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8652     *ptr += sizeof(VkStructureType);
8653     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8654         rootType = forMarshaling->sType;
8655     }
8656     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8657     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
8658     *ptr += sizeof(VkDeviceSize);
8659 }
8660 
reservedmarshal_VkHostImageCopyDevicePerformanceQueryEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQueryEXT * forMarshaling,uint8_t ** ptr)8661 void reservedmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
8662     VulkanStreamGuest* vkStream, VkStructureType rootType,
8663     const VkHostImageCopyDevicePerformanceQueryEXT* forMarshaling, uint8_t** ptr) {
8664     (void)vkStream;
8665     (void)rootType;
8666     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8667     *ptr += sizeof(VkStructureType);
8668     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8669         rootType = forMarshaling->sType;
8670     }
8671     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8672     memcpy(*ptr, (VkBool32*)&forMarshaling->optimalDeviceAccess, sizeof(VkBool32));
8673     *ptr += sizeof(VkBool32);
8674     memcpy(*ptr, (VkBool32*)&forMarshaling->identicalMemoryLayout, sizeof(VkBool32));
8675     *ptr += sizeof(VkBool32);
8676 }
8677 
8678 #endif
8679 #ifdef VK_EXT_swapchain_maintenance1
8680 #endif
8681 #ifdef VK_EXT_shader_demote_to_helper_invocation
8682 #endif
8683 #ifdef VK_EXT_texel_buffer_alignment
reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forMarshaling,uint8_t ** ptr)8684 void reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
8685     VulkanStreamGuest* vkStream, VkStructureType rootType,
8686     const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling, uint8_t** ptr) {
8687     (void)vkStream;
8688     (void)rootType;
8689     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8690     *ptr += sizeof(VkStructureType);
8691     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8692         rootType = forMarshaling->sType;
8693     }
8694     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8695     memcpy(*ptr, (VkBool32*)&forMarshaling->texelBufferAlignment, sizeof(VkBool32));
8696     *ptr += sizeof(VkBool32);
8697 }
8698 
8699 #endif
8700 #ifdef VK_EXT_device_memory_report
reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forMarshaling,uint8_t ** ptr)8701 void reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
8702     VulkanStreamGuest* vkStream, VkStructureType rootType,
8703     const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling, uint8_t** ptr) {
8704     (void)vkStream;
8705     (void)rootType;
8706     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8707     *ptr += sizeof(VkStructureType);
8708     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8709         rootType = forMarshaling->sType;
8710     }
8711     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8712     memcpy(*ptr, (VkBool32*)&forMarshaling->deviceMemoryReport, sizeof(VkBool32));
8713     *ptr += sizeof(VkBool32);
8714 }
8715 
reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * forMarshaling,uint8_t ** ptr)8716 void reservedmarshal_VkDeviceMemoryReportCallbackDataEXT(
8717     VulkanStreamGuest* vkStream, VkStructureType rootType,
8718     const VkDeviceMemoryReportCallbackDataEXT* forMarshaling, uint8_t** ptr) {
8719     (void)vkStream;
8720     (void)rootType;
8721     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8722     *ptr += sizeof(VkStructureType);
8723     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8724         rootType = forMarshaling->sType;
8725     }
8726     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8727     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
8728            sizeof(VkDeviceMemoryReportFlagsEXT));
8729     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
8730     memcpy(*ptr, (VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
8731            sizeof(VkDeviceMemoryReportEventTypeEXT));
8732     *ptr += sizeof(VkDeviceMemoryReportEventTypeEXT);
8733     memcpy(*ptr, (uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
8734     *ptr += sizeof(uint64_t);
8735     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
8736     *ptr += sizeof(VkDeviceSize);
8737     memcpy(*ptr, (VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
8738     *ptr += sizeof(VkObjectType);
8739     memcpy(*ptr, (uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
8740     *ptr += sizeof(uint64_t);
8741     memcpy(*ptr, (uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
8742     *ptr += sizeof(uint32_t);
8743 }
8744 
reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * forMarshaling,uint8_t ** ptr)8745 void reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
8746     VulkanStreamGuest* vkStream, VkStructureType rootType,
8747     const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8748     (void)vkStream;
8749     (void)rootType;
8750     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8751     *ptr += sizeof(VkStructureType);
8752     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8753         rootType = forMarshaling->sType;
8754     }
8755     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8756     memcpy(*ptr, (VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
8757            sizeof(VkDeviceMemoryReportFlagsEXT));
8758     *ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
8759     uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
8760     memcpy((*ptr), &cgen_var_0, 8);
8761     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
8762     *ptr += 8;
8763     memcpy(*ptr, (void*)forMarshaling->pUserData, sizeof(uint8_t));
8764     *ptr += sizeof(uint8_t);
8765 }
8766 
8767 #endif
8768 #ifdef VK_EXT_robustness2
reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * forMarshaling,uint8_t ** ptr)8769 void reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
8770     VulkanStreamGuest* vkStream, VkStructureType rootType,
8771     const VkPhysicalDeviceRobustness2FeaturesEXT* forMarshaling, uint8_t** ptr) {
8772     (void)vkStream;
8773     (void)rootType;
8774     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8775     *ptr += sizeof(VkStructureType);
8776     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8777         rootType = forMarshaling->sType;
8778     }
8779     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8780     memcpy(*ptr, (VkBool32*)&forMarshaling->robustBufferAccess2, sizeof(VkBool32));
8781     *ptr += sizeof(VkBool32);
8782     memcpy(*ptr, (VkBool32*)&forMarshaling->robustImageAccess2, sizeof(VkBool32));
8783     *ptr += sizeof(VkBool32);
8784     memcpy(*ptr, (VkBool32*)&forMarshaling->nullDescriptor, sizeof(VkBool32));
8785     *ptr += sizeof(VkBool32);
8786 }
8787 
reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * forMarshaling,uint8_t ** ptr)8788 void reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
8789     VulkanStreamGuest* vkStream, VkStructureType rootType,
8790     const VkPhysicalDeviceRobustness2PropertiesEXT* forMarshaling, uint8_t** ptr) {
8791     (void)vkStream;
8792     (void)rootType;
8793     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8794     *ptr += sizeof(VkStructureType);
8795     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8796         rootType = forMarshaling->sType;
8797     }
8798     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8799     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustStorageBufferAccessSizeAlignment,
8800            sizeof(VkDeviceSize));
8801     *ptr += sizeof(VkDeviceSize);
8802     memcpy(*ptr, (VkDeviceSize*)&forMarshaling->robustUniformBufferAccessSizeAlignment,
8803            sizeof(VkDeviceSize));
8804     *ptr += sizeof(VkDeviceSize);
8805 }
8806 
8807 #endif
8808 #ifdef VK_EXT_custom_border_color
reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * forMarshaling,uint8_t ** ptr)8809 void reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
8810     VulkanStreamGuest* vkStream, VkStructureType rootType,
8811     const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8812     (void)vkStream;
8813     (void)rootType;
8814     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8815     *ptr += sizeof(VkStructureType);
8816     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8817         rootType = forMarshaling->sType;
8818     }
8819     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8820     reservedmarshal_VkClearColorValue(vkStream, rootType,
8821                                       (VkClearColorValue*)(&forMarshaling->customBorderColor), ptr);
8822     memcpy(*ptr, (VkFormat*)&forMarshaling->format, sizeof(VkFormat));
8823     *ptr += sizeof(VkFormat);
8824 }
8825 
reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * forMarshaling,uint8_t ** ptr)8826 void reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
8827     VulkanStreamGuest* vkStream, VkStructureType rootType,
8828     const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling, uint8_t** ptr) {
8829     (void)vkStream;
8830     (void)rootType;
8831     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8832     *ptr += sizeof(VkStructureType);
8833     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8834         rootType = forMarshaling->sType;
8835     }
8836     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8837     memcpy(*ptr, (uint32_t*)&forMarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
8838     *ptr += sizeof(uint32_t);
8839 }
8840 
reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * forMarshaling,uint8_t ** ptr)8841 void reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
8842     VulkanStreamGuest* vkStream, VkStructureType rootType,
8843     const VkPhysicalDeviceCustomBorderColorFeaturesEXT* forMarshaling, uint8_t** ptr) {
8844     (void)vkStream;
8845     (void)rootType;
8846     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8847     *ptr += sizeof(VkStructureType);
8848     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8849         rootType = forMarshaling->sType;
8850     }
8851     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8852     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColors, sizeof(VkBool32));
8853     *ptr += sizeof(VkBool32);
8854     memcpy(*ptr, (VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
8855     *ptr += sizeof(VkBool32);
8856 }
8857 
8858 #endif
8859 #ifdef VK_EXT_private_data
8860 #endif
8861 #ifdef VK_EXT_pipeline_creation_cache_control
8862 #endif
8863 #ifdef VK_EXT_metal_objects
8864 #endif
8865 #ifdef VK_EXT_graphics_pipeline_library
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forMarshaling,uint8_t ** ptr)8866 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
8867     VulkanStreamGuest* vkStream, VkStructureType rootType,
8868     const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling, uint8_t** ptr) {
8869     (void)vkStream;
8870     (void)rootType;
8871     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8872     *ptr += sizeof(VkStructureType);
8873     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8874         rootType = forMarshaling->sType;
8875     }
8876     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8877     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
8878     *ptr += sizeof(VkBool32);
8879 }
8880 
reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forMarshaling,uint8_t ** ptr)8881 void reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
8882     VulkanStreamGuest* vkStream, VkStructureType rootType,
8883     const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling, uint8_t** ptr) {
8884     (void)vkStream;
8885     (void)rootType;
8886     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8887     *ptr += sizeof(VkStructureType);
8888     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8889         rootType = forMarshaling->sType;
8890     }
8891     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8892     memcpy(*ptr, (VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking, sizeof(VkBool32));
8893     *ptr += sizeof(VkBool32);
8894     memcpy(*ptr,
8895            (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
8896            sizeof(VkBool32));
8897     *ptr += sizeof(VkBool32);
8898 }
8899 
reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * forMarshaling,uint8_t ** ptr)8900 void reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
8901     VulkanStreamGuest* vkStream, VkStructureType rootType,
8902     const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling, uint8_t** ptr) {
8903     (void)vkStream;
8904     (void)rootType;
8905     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8906     *ptr += sizeof(VkStructureType);
8907     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8908         rootType = forMarshaling->sType;
8909     }
8910     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8911     memcpy(*ptr, (VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags,
8912            sizeof(VkGraphicsPipelineLibraryFlagsEXT));
8913     *ptr += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
8914 }
8915 
8916 #endif
8917 #ifdef VK_EXT_ycbcr_2plane_444_formats
reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)8918 void reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
8919     VulkanStreamGuest* vkStream, VkStructureType rootType,
8920     const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
8921     (void)vkStream;
8922     (void)rootType;
8923     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8924     *ptr += sizeof(VkStructureType);
8925     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8926         rootType = forMarshaling->sType;
8927     }
8928     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8929     memcpy(*ptr, (VkBool32*)&forMarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
8930     *ptr += sizeof(VkBool32);
8931 }
8932 
8933 #endif
8934 #ifdef VK_EXT_image_robustness
8935 #endif
8936 #ifdef VK_EXT_image_compression_control
reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * forMarshaling,uint8_t ** ptr)8937 void reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
8938     VulkanStreamGuest* vkStream, VkStructureType rootType,
8939     const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling, uint8_t** ptr) {
8940     (void)vkStream;
8941     (void)rootType;
8942     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8943     *ptr += sizeof(VkStructureType);
8944     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8945         rootType = forMarshaling->sType;
8946     }
8947     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8948     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32));
8949     *ptr += sizeof(VkBool32);
8950 }
8951 
reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionControlEXT * forMarshaling,uint8_t ** ptr)8952 void reservedmarshal_VkImageCompressionControlEXT(VulkanStreamGuest* vkStream,
8953                                                   VkStructureType rootType,
8954                                                   const VkImageCompressionControlEXT* forMarshaling,
8955                                                   uint8_t** ptr) {
8956     (void)vkStream;
8957     (void)rootType;
8958     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8959     *ptr += sizeof(VkStructureType);
8960     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8961         rootType = forMarshaling->sType;
8962     }
8963     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8964     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->flags,
8965            sizeof(VkImageCompressionFlagsEXT));
8966     *ptr += sizeof(VkImageCompressionFlagsEXT);
8967     memcpy(*ptr, (uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t));
8968     *ptr += sizeof(uint32_t);
8969     // WARNING PTR CHECK
8970     uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags;
8971     memcpy((*ptr), &cgen_var_0, 8);
8972     gfxstream::guest::Stream::toBe64((uint8_t*)(*ptr));
8973     *ptr += 8;
8974     if (forMarshaling->pFixedRateFlags) {
8975         memcpy(*ptr, (VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags,
8976                forMarshaling->compressionControlPlaneCount *
8977                    sizeof(VkImageCompressionFixedRateFlagsEXT));
8978         *ptr += forMarshaling->compressionControlPlaneCount *
8979                 sizeof(VkImageCompressionFixedRateFlagsEXT);
8980     }
8981 }
8982 
reservedmarshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionPropertiesEXT * forMarshaling,uint8_t ** ptr)8983 void reservedmarshal_VkImageCompressionPropertiesEXT(
8984     VulkanStreamGuest* vkStream, VkStructureType rootType,
8985     const VkImageCompressionPropertiesEXT* forMarshaling, uint8_t** ptr) {
8986     (void)vkStream;
8987     (void)rootType;
8988     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8989     *ptr += sizeof(VkStructureType);
8990     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8991         rootType = forMarshaling->sType;
8992     }
8993     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
8994     memcpy(*ptr, (VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags,
8995            sizeof(VkImageCompressionFlagsEXT));
8996     *ptr += sizeof(VkImageCompressionFlagsEXT);
8997     memcpy(*ptr,
8998            (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags,
8999            sizeof(VkImageCompressionFixedRateFlagsEXT));
9000     *ptr += sizeof(VkImageCompressionFixedRateFlagsEXT);
9001 }
9002 
9003 #endif
9004 #ifdef VK_EXT_4444_formats
reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * forMarshaling,uint8_t ** ptr)9005 void reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
9006     VulkanStreamGuest* vkStream, VkStructureType rootType,
9007     const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling, uint8_t** ptr) {
9008     (void)vkStream;
9009     (void)rootType;
9010     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9011     *ptr += sizeof(VkStructureType);
9012     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9013         rootType = forMarshaling->sType;
9014     }
9015     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9016     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4R4G4B4, sizeof(VkBool32));
9017     *ptr += sizeof(VkBool32);
9018     memcpy(*ptr, (VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
9019     *ptr += sizeof(VkBool32);
9020 }
9021 
9022 #endif
9023 #ifdef VK_EXT_primitive_topology_list_restart
reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forMarshaling,uint8_t ** ptr)9024 void reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
9025     VulkanStreamGuest* vkStream, VkStructureType rootType,
9026     const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling, uint8_t** ptr) {
9027     (void)vkStream;
9028     (void)rootType;
9029     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9030     *ptr += sizeof(VkStructureType);
9031     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9032         rootType = forMarshaling->sType;
9033     }
9034     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9035     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
9036     *ptr += sizeof(VkBool32);
9037     memcpy(*ptr, (VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
9038     *ptr += sizeof(VkBool32);
9039 }
9040 
9041 #endif
9042 #ifdef VK_EXT_extended_dynamic_state2
reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forMarshaling,uint8_t ** ptr)9043 void reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
9044     VulkanStreamGuest* vkStream, VkStructureType rootType,
9045     const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling, uint8_t** ptr) {
9046     (void)vkStream;
9047     (void)rootType;
9048     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9049     *ptr += sizeof(VkStructureType);
9050     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9051         rootType = forMarshaling->sType;
9052     }
9053     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9054     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2, sizeof(VkBool32));
9055     *ptr += sizeof(VkBool32);
9056     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
9057     *ptr += sizeof(VkBool32);
9058     memcpy(*ptr, (VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
9059            sizeof(VkBool32));
9060     *ptr += sizeof(VkBool32);
9061 }
9062 
9063 #endif
9064 #ifdef VK_GOOGLE_gfxstream
reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportColorBufferGOOGLE * forMarshaling,uint8_t ** ptr)9065 void reservedmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest* vkStream,
9066                                                VkStructureType rootType,
9067                                                const VkImportColorBufferGOOGLE* forMarshaling,
9068                                                uint8_t** ptr) {
9069     (void)vkStream;
9070     (void)rootType;
9071     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9072     *ptr += sizeof(VkStructureType);
9073     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9074         rootType = forMarshaling->sType;
9075     }
9076     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9077     memcpy(*ptr, (uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
9078     *ptr += sizeof(uint32_t);
9079 }
9080 
reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportBufferGOOGLE * forMarshaling,uint8_t ** ptr)9081 void reservedmarshal_VkImportBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
9082                                           const VkImportBufferGOOGLE* forMarshaling,
9083                                           uint8_t** ptr) {
9084     (void)vkStream;
9085     (void)rootType;
9086     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9087     *ptr += sizeof(VkStructureType);
9088     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9089         rootType = forMarshaling->sType;
9090     }
9091     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9092     memcpy(*ptr, (uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
9093     *ptr += sizeof(uint32_t);
9094 }
9095 
reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCreateBlobGOOGLE * forMarshaling,uint8_t ** ptr)9096 void reservedmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
9097                                         const VkCreateBlobGOOGLE* forMarshaling, uint8_t** ptr) {
9098     (void)vkStream;
9099     (void)rootType;
9100     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9101     *ptr += sizeof(VkStructureType);
9102     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9103         rootType = forMarshaling->sType;
9104     }
9105     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9106     memcpy(*ptr, (uint32_t*)&forMarshaling->blobMem, sizeof(uint32_t));
9107     *ptr += sizeof(uint32_t);
9108     memcpy(*ptr, (uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
9109     *ptr += sizeof(uint32_t);
9110     memcpy(*ptr, (uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
9111     *ptr += sizeof(uint64_t);
9112 }
9113 
9114 #endif
9115 #ifdef VK_EXT_load_store_op_none
9116 #endif
9117 #ifdef VK_EXT_image_compression_control_swapchain
reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forMarshaling,uint8_t ** ptr)9118 void reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
9119     VulkanStreamGuest* vkStream, VkStructureType rootType,
9120     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling,
9121     uint8_t** ptr) {
9122     (void)vkStream;
9123     (void)rootType;
9124     memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9125     *ptr += sizeof(VkStructureType);
9126     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9127         rootType = forMarshaling->sType;
9128     }
9129     reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
9130     memcpy(*ptr, (VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
9131     *ptr += sizeof(VkBool32);
9132 }
9133 
9134 #endif
9135 #ifdef VK_QNX_external_memory_screen_buffer
9136 #endif
reservedmarshal_extension_struct(VulkanStreamGuest * vkStream,VkStructureType rootType,const void * structExtension,uint8_t ** ptr)9137 void reservedmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
9138                                       const void* structExtension, uint8_t** ptr) {
9139     VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
9140     uint32_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
9141         vkStream->getFeatureBits(), rootType, structExtension);
9142     if (!currExtSize && structExtension) {
9143         // unknown struct extension; skip and call on its pNext field
9144         reservedmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext, ptr);
9145         return;
9146     } else {
9147         // known or null extension struct
9148         memcpy(*ptr, &currExtSize, sizeof(uint32_t));
9149         ;
9150         gfxstream::guest::Stream::toBe32((uint8_t*)*ptr);
9151         *ptr += sizeof(uint32_t);
9152         if (!currExtSize) {
9153             // exit if this was a null extension struct (size == 0 in this branch)
9154             return;
9155         }
9156     }
9157     memcpy(*ptr, structExtension, sizeof(VkStructureType));
9158     *ptr += sizeof(VkStructureType);
9159     if (!structExtension) {
9160         return;
9161     }
9162     uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
9163     switch (structType) {
9164 #ifdef VK_VERSION_1_0
9165         case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
9166             reservedmarshal_VkShaderModuleCreateInfo(
9167                 vkStream, rootType,
9168                 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), ptr);
9169             break;
9170         }
9171 #endif
9172 #ifdef VK_VERSION_1_1
9173         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
9174             reservedmarshal_VkPhysicalDeviceSubgroupProperties(
9175                 vkStream, rootType,
9176                 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), ptr);
9177             break;
9178         }
9179         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
9180             reservedmarshal_VkPhysicalDevice16BitStorageFeatures(
9181                 vkStream, rootType,
9182                 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
9183                 ptr);
9184             break;
9185         }
9186         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
9187             reservedmarshal_VkMemoryDedicatedRequirements(
9188                 vkStream, rootType,
9189                 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), ptr);
9190             break;
9191         }
9192         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
9193             reservedmarshal_VkMemoryDedicatedAllocateInfo(
9194                 vkStream, rootType,
9195                 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), ptr);
9196             break;
9197         }
9198         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
9199             reservedmarshal_VkMemoryAllocateFlagsInfo(
9200                 vkStream, rootType,
9201                 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), ptr);
9202             break;
9203         }
9204         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
9205             reservedmarshal_VkDeviceGroupRenderPassBeginInfo(
9206                 vkStream, rootType,
9207                 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), ptr);
9208             break;
9209         }
9210         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
9211             reservedmarshal_VkDeviceGroupCommandBufferBeginInfo(
9212                 vkStream, rootType,
9213                 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), ptr);
9214             break;
9215         }
9216         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
9217             reservedmarshal_VkDeviceGroupSubmitInfo(
9218                 vkStream, rootType,
9219                 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), ptr);
9220             break;
9221         }
9222         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
9223             reservedmarshal_VkDeviceGroupBindSparseInfo(
9224                 vkStream, rootType,
9225                 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), ptr);
9226             break;
9227         }
9228         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
9229             reservedmarshal_VkBindBufferMemoryDeviceGroupInfo(
9230                 vkStream, rootType,
9231                 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), ptr);
9232             break;
9233         }
9234         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
9235             reservedmarshal_VkBindImageMemoryDeviceGroupInfo(
9236                 vkStream, rootType,
9237                 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), ptr);
9238             break;
9239         }
9240         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
9241             reservedmarshal_VkDeviceGroupDeviceCreateInfo(
9242                 vkStream, rootType,
9243                 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), ptr);
9244             break;
9245         }
9246         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
9247             reservedmarshal_VkPhysicalDeviceFeatures2(
9248                 vkStream, rootType,
9249                 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), ptr);
9250             break;
9251         }
9252         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
9253             reservedmarshal_VkPhysicalDevicePointClippingProperties(
9254                 vkStream, rootType,
9255                 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
9256                 ptr);
9257             break;
9258         }
9259         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
9260             reservedmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
9261                 vkStream, rootType,
9262                 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
9263                     structExtension),
9264                 ptr);
9265             break;
9266         }
9267         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
9268             reservedmarshal_VkImageViewUsageCreateInfo(
9269                 vkStream, rootType,
9270                 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), ptr);
9271             break;
9272         }
9273         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
9274             reservedmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
9275                 vkStream, rootType,
9276                 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
9277                     structExtension),
9278                 ptr);
9279             break;
9280         }
9281         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
9282             reservedmarshal_VkRenderPassMultiviewCreateInfo(
9283                 vkStream, rootType,
9284                 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), ptr);
9285             break;
9286         }
9287         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
9288             reservedmarshal_VkPhysicalDeviceMultiviewFeatures(
9289                 vkStream, rootType,
9290                 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), ptr);
9291             break;
9292         }
9293         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
9294             reservedmarshal_VkPhysicalDeviceMultiviewProperties(
9295                 vkStream, rootType,
9296                 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), ptr);
9297             break;
9298         }
9299         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
9300             reservedmarshal_VkPhysicalDeviceVariablePointersFeatures(
9301                 vkStream, rootType,
9302                 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
9303                 ptr);
9304             break;
9305         }
9306         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
9307             reservedmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
9308                 vkStream, rootType,
9309                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
9310                 ptr);
9311             break;
9312         }
9313         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
9314             reservedmarshal_VkPhysicalDeviceProtectedMemoryProperties(
9315                 vkStream, rootType,
9316                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
9317                 ptr);
9318             break;
9319         }
9320         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
9321             reservedmarshal_VkProtectedSubmitInfo(
9322                 vkStream, rootType, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension),
9323                 ptr);
9324             break;
9325         }
9326         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
9327             reservedmarshal_VkSamplerYcbcrConversionInfo(
9328                 vkStream, rootType,
9329                 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), ptr);
9330             break;
9331         }
9332         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
9333             reservedmarshal_VkBindImagePlaneMemoryInfo(
9334                 vkStream, rootType,
9335                 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), ptr);
9336             break;
9337         }
9338         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
9339             reservedmarshal_VkImagePlaneMemoryRequirementsInfo(
9340                 vkStream, rootType,
9341                 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), ptr);
9342             break;
9343         }
9344         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
9345             reservedmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
9346                 vkStream, rootType,
9347                 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
9348                     structExtension),
9349                 ptr);
9350             break;
9351         }
9352         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
9353             reservedmarshal_VkSamplerYcbcrConversionImageFormatProperties(
9354                 vkStream, rootType,
9355                 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
9356                     structExtension),
9357                 ptr);
9358             break;
9359         }
9360         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
9361             reservedmarshal_VkPhysicalDeviceExternalImageFormatInfo(
9362                 vkStream, rootType,
9363                 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
9364                 ptr);
9365             break;
9366         }
9367         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
9368             reservedmarshal_VkExternalImageFormatProperties(
9369                 vkStream, rootType,
9370                 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), ptr);
9371             break;
9372         }
9373         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
9374             reservedmarshal_VkPhysicalDeviceIDProperties(
9375                 vkStream, rootType,
9376                 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), ptr);
9377             break;
9378         }
9379         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
9380             reservedmarshal_VkExternalMemoryImageCreateInfo(
9381                 vkStream, rootType,
9382                 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), ptr);
9383             break;
9384         }
9385         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
9386             reservedmarshal_VkExternalMemoryBufferCreateInfo(
9387                 vkStream, rootType,
9388                 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), ptr);
9389             break;
9390         }
9391         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
9392             reservedmarshal_VkExportMemoryAllocateInfo(
9393                 vkStream, rootType,
9394                 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), ptr);
9395             break;
9396         }
9397         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
9398             reservedmarshal_VkExportFenceCreateInfo(
9399                 vkStream, rootType,
9400                 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), ptr);
9401             break;
9402         }
9403         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
9404             reservedmarshal_VkExportSemaphoreCreateInfo(
9405                 vkStream, rootType,
9406                 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), ptr);
9407             break;
9408         }
9409         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
9410             reservedmarshal_VkPhysicalDeviceMaintenance3Properties(
9411                 vkStream, rootType,
9412                 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
9413                 ptr);
9414             break;
9415         }
9416         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
9417             reservedmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
9418                 vkStream, rootType,
9419                 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
9420                     structExtension),
9421                 ptr);
9422             break;
9423         }
9424 #endif
9425 #ifdef VK_VERSION_1_2
9426         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
9427             reservedmarshal_VkPhysicalDeviceVulkan11Features(
9428                 vkStream, rootType,
9429                 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), ptr);
9430             break;
9431         }
9432         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
9433             reservedmarshal_VkPhysicalDeviceVulkan11Properties(
9434                 vkStream, rootType,
9435                 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension), ptr);
9436             break;
9437         }
9438         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
9439             reservedmarshal_VkPhysicalDeviceVulkan12Features(
9440                 vkStream, rootType,
9441                 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), ptr);
9442             break;
9443         }
9444         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
9445             reservedmarshal_VkPhysicalDeviceVulkan12Properties(
9446                 vkStream, rootType,
9447                 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension), ptr);
9448             break;
9449         }
9450         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
9451             reservedmarshal_VkImageFormatListCreateInfo(
9452                 vkStream, rootType,
9453                 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), ptr);
9454             break;
9455         }
9456         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
9457             reservedmarshal_VkPhysicalDevice8BitStorageFeatures(
9458                 vkStream, rootType,
9459                 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension), ptr);
9460             break;
9461         }
9462         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
9463             reservedmarshal_VkPhysicalDeviceDriverProperties(
9464                 vkStream, rootType,
9465                 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), ptr);
9466             break;
9467         }
9468         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
9469             reservedmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
9470                 vkStream, rootType,
9471                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
9472                 ptr);
9473             break;
9474         }
9475         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
9476             reservedmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
9477                 vkStream, rootType,
9478                 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
9479                 ptr);
9480             break;
9481         }
9482         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
9483             reservedmarshal_VkPhysicalDeviceFloatControlsProperties(
9484                 vkStream, rootType,
9485                 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
9486                 ptr);
9487             break;
9488         }
9489         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
9490             reservedmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
9491                 vkStream, rootType,
9492                 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
9493                     structExtension),
9494                 ptr);
9495             break;
9496         }
9497         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
9498             reservedmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
9499                 vkStream, rootType,
9500                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
9501                     structExtension),
9502                 ptr);
9503             break;
9504         }
9505         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
9506             reservedmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
9507                 vkStream, rootType,
9508                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
9509                     structExtension),
9510                 ptr);
9511             break;
9512         }
9513         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
9514             reservedmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
9515                 vkStream, rootType,
9516                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
9517                     structExtension),
9518                 ptr);
9519             break;
9520         }
9521         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
9522             reservedmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
9523                 vkStream, rootType,
9524                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
9525                     structExtension),
9526                 ptr);
9527             break;
9528         }
9529         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
9530             reservedmarshal_VkSubpassDescriptionDepthStencilResolve(
9531                 vkStream, rootType,
9532                 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
9533                 ptr);
9534             break;
9535         }
9536         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
9537             reservedmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
9538                 vkStream, rootType,
9539                 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
9540                     structExtension),
9541                 ptr);
9542             break;
9543         }
9544         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
9545             reservedmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
9546                 vkStream, rootType,
9547                 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
9548                 ptr);
9549             break;
9550         }
9551         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
9552             reservedmarshal_VkImageStencilUsageCreateInfo(
9553                 vkStream, rootType,
9554                 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), ptr);
9555             break;
9556         }
9557         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
9558             reservedmarshal_VkSamplerReductionModeCreateInfo(
9559                 vkStream, rootType,
9560                 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), ptr);
9561             break;
9562         }
9563         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
9564             reservedmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
9565                 vkStream, rootType,
9566                 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
9567                     structExtension),
9568                 ptr);
9569             break;
9570         }
9571         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
9572             reservedmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
9573                 vkStream, rootType,
9574                 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
9575                 ptr);
9576             break;
9577         }
9578         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
9579             reservedmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
9580                 vkStream, rootType,
9581                 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
9582                     structExtension),
9583                 ptr);
9584             break;
9585         }
9586         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
9587             reservedmarshal_VkFramebufferAttachmentsCreateInfo(
9588                 vkStream, rootType,
9589                 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension), ptr);
9590             break;
9591         }
9592         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
9593             reservedmarshal_VkRenderPassAttachmentBeginInfo(
9594                 vkStream, rootType,
9595                 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), ptr);
9596             break;
9597         }
9598         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
9599             reservedmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
9600                 vkStream, rootType,
9601                 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
9602                     structExtension),
9603                 ptr);
9604             break;
9605         }
9606         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
9607             reservedmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
9608                 vkStream, rootType,
9609                 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
9610                     structExtension),
9611                 ptr);
9612             break;
9613         }
9614         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
9615             reservedmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
9616                 vkStream, rootType,
9617                 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
9618                     structExtension),
9619                 ptr);
9620             break;
9621         }
9622         case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
9623             reservedmarshal_VkAttachmentReferenceStencilLayout(
9624                 vkStream, rootType,
9625                 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension), ptr);
9626             break;
9627         }
9628         case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
9629             reservedmarshal_VkAttachmentDescriptionStencilLayout(
9630                 vkStream, rootType,
9631                 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
9632                 ptr);
9633             break;
9634         }
9635         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
9636             reservedmarshal_VkPhysicalDeviceHostQueryResetFeatures(
9637                 vkStream, rootType,
9638                 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
9639                 ptr);
9640             break;
9641         }
9642         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
9643             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
9644                 vkStream, rootType,
9645                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
9646                 ptr);
9647             break;
9648         }
9649         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
9650             reservedmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
9651                 vkStream, rootType,
9652                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
9653                     structExtension),
9654                 ptr);
9655             break;
9656         }
9657         case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
9658             reservedmarshal_VkSemaphoreTypeCreateInfo(
9659                 vkStream, rootType,
9660                 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), ptr);
9661             break;
9662         }
9663         case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
9664             reservedmarshal_VkTimelineSemaphoreSubmitInfo(
9665                 vkStream, rootType,
9666                 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), ptr);
9667             break;
9668         }
9669         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
9670             reservedmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
9671                 vkStream, rootType,
9672                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
9673                     structExtension),
9674                 ptr);
9675             break;
9676         }
9677         case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
9678             reservedmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
9679                 vkStream, rootType,
9680                 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
9681                 ptr);
9682             break;
9683         }
9684         case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
9685             reservedmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
9686                 vkStream, rootType,
9687                 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
9688                 ptr);
9689             break;
9690         }
9691 #endif
9692 #ifdef VK_VERSION_1_3
9693         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
9694             reservedmarshal_VkPhysicalDeviceVulkan13Features(
9695                 vkStream, rootType,
9696                 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), ptr);
9697             break;
9698         }
9699         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
9700             reservedmarshal_VkPhysicalDeviceVulkan13Properties(
9701                 vkStream, rootType,
9702                 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension), ptr);
9703             break;
9704         }
9705         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
9706             reservedmarshal_VkPipelineCreationFeedbackCreateInfo(
9707                 vkStream, rootType,
9708                 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
9709                 ptr);
9710             break;
9711         }
9712         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
9713             reservedmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
9714                 vkStream, rootType,
9715                 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
9716                     structExtension),
9717                 ptr);
9718             break;
9719         }
9720         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
9721             reservedmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
9722                 vkStream, rootType,
9723                 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
9724                     structExtension),
9725                 ptr);
9726             break;
9727         }
9728         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
9729             reservedmarshal_VkPhysicalDevicePrivateDataFeatures(
9730                 vkStream, rootType,
9731                 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension), ptr);
9732             break;
9733         }
9734         case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
9735             reservedmarshal_VkDevicePrivateDataCreateInfo(
9736                 vkStream, rootType,
9737                 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), ptr);
9738             break;
9739         }
9740         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
9741             reservedmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
9742                 vkStream, rootType,
9743                 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
9744                     structExtension),
9745                 ptr);
9746             break;
9747         }
9748         case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
9749             reservedmarshal_VkMemoryBarrier2(
9750                 vkStream, rootType, reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
9751                 ptr);
9752             break;
9753         }
9754         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
9755             reservedmarshal_VkPhysicalDeviceSynchronization2Features(
9756                 vkStream, rootType,
9757                 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
9758                 ptr);
9759             break;
9760         }
9761         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
9762             reservedmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
9763                 vkStream, rootType,
9764                 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
9765                     structExtension),
9766                 ptr);
9767             break;
9768         }
9769         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
9770             reservedmarshal_VkPhysicalDeviceImageRobustnessFeatures(
9771                 vkStream, rootType,
9772                 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
9773                 ptr);
9774             break;
9775         }
9776         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
9777             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
9778                 vkStream, rootType,
9779                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
9780                     structExtension),
9781                 ptr);
9782             break;
9783         }
9784         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
9785             reservedmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
9786                 vkStream, rootType,
9787                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
9788                     structExtension),
9789                 ptr);
9790             break;
9791         }
9792         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
9793             reservedmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
9794                 vkStream, rootType,
9795                 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
9796                     structExtension),
9797                 ptr);
9798             break;
9799         }
9800         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
9801             reservedmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
9802                 vkStream, rootType,
9803                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
9804                     structExtension),
9805                 ptr);
9806             break;
9807         }
9808         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
9809             reservedmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
9810                 vkStream, rootType,
9811                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
9812                     structExtension),
9813                 ptr);
9814             break;
9815         }
9816         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
9817             reservedmarshal_VkWriteDescriptorSetInlineUniformBlock(
9818                 vkStream, rootType,
9819                 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
9820                 ptr);
9821             break;
9822         }
9823         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
9824             reservedmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
9825                 vkStream, rootType,
9826                 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
9827                     structExtension),
9828                 ptr);
9829             break;
9830         }
9831         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
9832             reservedmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
9833                 vkStream, rootType,
9834                 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
9835                     structExtension),
9836                 ptr);
9837             break;
9838         }
9839         case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
9840             reservedmarshal_VkPipelineRenderingCreateInfo(
9841                 vkStream, rootType,
9842                 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), ptr);
9843             break;
9844         }
9845         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
9846             reservedmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
9847                 vkStream, rootType,
9848                 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
9849                 ptr);
9850             break;
9851         }
9852         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
9853             reservedmarshal_VkCommandBufferInheritanceRenderingInfo(
9854                 vkStream, rootType,
9855                 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
9856                 ptr);
9857             break;
9858         }
9859         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
9860             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
9861                 vkStream, rootType,
9862                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
9863                     structExtension),
9864                 ptr);
9865             break;
9866         }
9867         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
9868             reservedmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
9869                 vkStream, rootType,
9870                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
9871                     structExtension),
9872                 ptr);
9873             break;
9874         }
9875         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
9876             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
9877                 vkStream, rootType,
9878                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
9879                     structExtension),
9880                 ptr);
9881             break;
9882         }
9883         case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
9884             reservedmarshal_VkFormatProperties3(
9885                 vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension),
9886                 ptr);
9887             break;
9888         }
9889         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
9890             reservedmarshal_VkPhysicalDeviceMaintenance4Features(
9891                 vkStream, rootType,
9892                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
9893                 ptr);
9894             break;
9895         }
9896         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
9897             reservedmarshal_VkPhysicalDeviceMaintenance4Properties(
9898                 vkStream, rootType,
9899                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
9900                 ptr);
9901             break;
9902         }
9903 #endif
9904 #ifdef VK_KHR_dynamic_rendering
9905         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
9906             reservedmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
9907                 vkStream, rootType,
9908                 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
9909                     structExtension),
9910                 ptr);
9911             break;
9912         }
9913         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
9914             reservedmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
9915                 vkStream, rootType,
9916                 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
9917                     structExtension),
9918                 ptr);
9919             break;
9920         }
9921         case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
9922             reservedmarshal_VkAttachmentSampleCountInfoAMD(
9923                 vkStream, rootType,
9924                 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension), ptr);
9925             break;
9926         }
9927         case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
9928             reservedmarshal_VkMultiviewPerViewAttributesInfoNVX(
9929                 vkStream, rootType,
9930                 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension), ptr);
9931             break;
9932         }
9933 #endif
9934 #ifdef VK_KHR_incremental_present
9935         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
9936             reservedmarshal_VkPresentRegionsKHR(
9937                 vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
9938                 ptr);
9939             break;
9940         }
9941 #endif
9942 #ifdef VK_KHR_pipeline_executable_properties
9943         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
9944             reservedmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
9945                 vkStream, rootType,
9946                 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
9947                     structExtension),
9948                 ptr);
9949             break;
9950         }
9951 #endif
9952 #ifdef VK_KHR_synchronization2
9953         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
9954             reservedmarshal_VkQueueFamilyCheckpointProperties2NV(
9955                 vkStream, rootType,
9956                 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension),
9957                 ptr);
9958             break;
9959         }
9960 #endif
9961 #ifdef VK_KHR_maintenance5
9962         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
9963             reservedmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
9964                 vkStream, rootType,
9965                 reinterpret_cast<const VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension),
9966                 ptr);
9967             break;
9968         }
9969         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
9970             reservedmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
9971                 vkStream, rootType,
9972                 reinterpret_cast<const VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension),
9973                 ptr);
9974             break;
9975         }
9976         case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
9977             reservedmarshal_VkPipelineCreateFlags2CreateInfoKHR(
9978                 vkStream, rootType,
9979                 reinterpret_cast<const VkPipelineCreateFlags2CreateInfoKHR*>(structExtension), ptr);
9980             break;
9981         }
9982         case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
9983             reservedmarshal_VkBufferUsageFlags2CreateInfoKHR(
9984                 vkStream, rootType,
9985                 reinterpret_cast<const VkBufferUsageFlags2CreateInfoKHR*>(structExtension), ptr);
9986             break;
9987         }
9988 #endif
9989 #ifdef VK_ANDROID_native_buffer
9990         case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
9991             reservedmarshal_VkNativeBufferANDROID(
9992                 vkStream, rootType, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension),
9993                 ptr);
9994             break;
9995         }
9996 #endif
9997 #ifdef VK_EXT_transform_feedback
9998         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
9999             reservedmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
10000                 vkStream, rootType,
10001                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
10002                     structExtension),
10003                 ptr);
10004             break;
10005         }
10006         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
10007             reservedmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
10008                 vkStream, rootType,
10009                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
10010                     structExtension),
10011                 ptr);
10012             break;
10013         }
10014         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
10015             reservedmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
10016                 vkStream, rootType,
10017                 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
10018                     structExtension),
10019                 ptr);
10020             break;
10021         }
10022 #endif
10023 #ifdef VK_EXT_depth_clip_enable
10024         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
10025             reservedmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
10026                 vkStream, rootType,
10027                 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
10028                     structExtension),
10029                 ptr);
10030             break;
10031         }
10032         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
10033             reservedmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
10034                 vkStream, rootType,
10035                 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
10036                     structExtension),
10037                 ptr);
10038             break;
10039         }
10040 #endif
10041 #ifdef VK_EXT_vertex_attribute_divisor
10042         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
10043             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
10044                 vkStream, rootType,
10045                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
10046                     structExtension),
10047                 ptr);
10048             break;
10049         }
10050         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
10051             reservedmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
10052                 vkStream, rootType,
10053                 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
10054                     structExtension),
10055                 ptr);
10056             break;
10057         }
10058         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
10059             reservedmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
10060                 vkStream, rootType,
10061                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
10062                     structExtension),
10063                 ptr);
10064             break;
10065         }
10066 #endif
10067 #ifdef VK_EXT_fragment_density_map
10068         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
10069             switch (rootType) {
10070                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
10071                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10072                         vkStream, rootType,
10073                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10074                             structExtension),
10075                         ptr);
10076                     break;
10077                 }
10078                 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
10079                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10080                         vkStream, rootType,
10081                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10082                             structExtension),
10083                         ptr);
10084                     break;
10085                 }
10086                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10087                     reservedmarshal_VkImportColorBufferGOOGLE(
10088                         vkStream, rootType,
10089                         reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
10090                     break;
10091                 }
10092                 default: {
10093                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
10094                         vkStream, rootType,
10095                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
10096                             structExtension),
10097                         ptr);
10098                     break;
10099                 }
10100             }
10101             break;
10102         }
10103         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
10104             switch (rootType) {
10105                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
10106                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
10107                         vkStream, rootType,
10108                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
10109                             structExtension),
10110                         ptr);
10111                     break;
10112                 }
10113                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10114                     reservedmarshal_VkCreateBlobGOOGLE(
10115                         vkStream, rootType,
10116                         reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), ptr);
10117                     break;
10118                 }
10119                 default: {
10120                     reservedmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
10121                         vkStream, rootType,
10122                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
10123                             structExtension),
10124                         ptr);
10125                     break;
10126                 }
10127             }
10128             break;
10129         }
10130         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
10131             switch (rootType) {
10132                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
10133                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10134                         vkStream, rootType,
10135                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10136                             structExtension),
10137                         ptr);
10138                     break;
10139                 }
10140                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
10141                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10142                         vkStream, rootType,
10143                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10144                             structExtension),
10145                         ptr);
10146                     break;
10147                 }
10148                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
10149                     reservedmarshal_VkImportBufferGOOGLE(
10150                         vkStream, rootType,
10151                         reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), ptr);
10152                     break;
10153                 }
10154                 default: {
10155                     reservedmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
10156                         vkStream, rootType,
10157                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
10158                             structExtension),
10159                         ptr);
10160                     break;
10161                 }
10162             }
10163             break;
10164         }
10165 #endif
10166 #ifdef VK_EXT_provoking_vertex
10167         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
10168             reservedmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
10169                 vkStream, rootType,
10170                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
10171                     structExtension),
10172                 ptr);
10173             break;
10174         }
10175         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
10176             reservedmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
10177                 vkStream, rootType,
10178                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
10179                     structExtension),
10180                 ptr);
10181             break;
10182         }
10183         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
10184             reservedmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
10185                 vkStream, rootType,
10186                 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
10187                     structExtension),
10188                 ptr);
10189             break;
10190         }
10191 #endif
10192 #ifdef VK_EXT_line_rasterization
10193         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
10194             reservedmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
10195                 vkStream, rootType,
10196                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
10197                     structExtension),
10198                 ptr);
10199             break;
10200         }
10201         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
10202             reservedmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
10203                 vkStream, rootType,
10204                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
10205                     structExtension),
10206                 ptr);
10207             break;
10208         }
10209         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
10210             reservedmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
10211                 vkStream, rootType,
10212                 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
10213                     structExtension),
10214                 ptr);
10215             break;
10216         }
10217 #endif
10218 #ifdef VK_EXT_index_type_uint8
10219         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
10220             reservedmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
10221                 vkStream, rootType,
10222                 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension),
10223                 ptr);
10224             break;
10225         }
10226 #endif
10227 #ifdef VK_EXT_extended_dynamic_state
10228         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
10229             reservedmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
10230                 vkStream, rootType,
10231                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
10232                     structExtension),
10233                 ptr);
10234             break;
10235         }
10236 #endif
10237 #ifdef VK_EXT_host_image_copy
10238         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
10239             reservedmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
10240                 vkStream, rootType,
10241                 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension),
10242                 ptr);
10243             break;
10244         }
10245         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
10246             reservedmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
10247                 vkStream, rootType,
10248                 reinterpret_cast<const VkPhysicalDeviceHostImageCopyPropertiesEXT*>(
10249                     structExtension),
10250                 ptr);
10251             break;
10252         }
10253         case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
10254             reservedmarshal_VkSubresourceHostMemcpySizeEXT(
10255                 vkStream, rootType,
10256                 reinterpret_cast<const VkSubresourceHostMemcpySizeEXT*>(structExtension), ptr);
10257             break;
10258         }
10259         case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
10260             reservedmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
10261                 vkStream, rootType,
10262                 reinterpret_cast<const VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension),
10263                 ptr);
10264             break;
10265         }
10266 #endif
10267 #ifdef VK_EXT_texel_buffer_alignment
10268         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
10269             reservedmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
10270                 vkStream, rootType,
10271                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
10272                     structExtension),
10273                 ptr);
10274             break;
10275         }
10276 #endif
10277 #ifdef VK_EXT_device_memory_report
10278         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
10279             reservedmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
10280                 vkStream, rootType,
10281                 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
10282                     structExtension),
10283                 ptr);
10284             break;
10285         }
10286         case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
10287             reservedmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
10288                 vkStream, rootType,
10289                 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
10290                 ptr);
10291             break;
10292         }
10293 #endif
10294 #ifdef VK_EXT_robustness2
10295         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
10296             reservedmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
10297                 vkStream, rootType,
10298                 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
10299                 ptr);
10300             break;
10301         }
10302         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
10303             reservedmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
10304                 vkStream, rootType,
10305                 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
10306                 ptr);
10307             break;
10308         }
10309 #endif
10310 #ifdef VK_EXT_custom_border_color
10311         case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
10312             reservedmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
10313                 vkStream, rootType,
10314                 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
10315                 ptr);
10316             break;
10317         }
10318         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
10319             reservedmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
10320                 vkStream, rootType,
10321                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
10322                     structExtension),
10323                 ptr);
10324             break;
10325         }
10326         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
10327             reservedmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
10328                 vkStream, rootType,
10329                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
10330                     structExtension),
10331                 ptr);
10332             break;
10333         }
10334 #endif
10335 #ifdef VK_EXT_graphics_pipeline_library
10336         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
10337             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
10338                 vkStream, rootType,
10339                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
10340                     structExtension),
10341                 ptr);
10342             break;
10343         }
10344         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
10345             reservedmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
10346                 vkStream, rootType,
10347                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
10348                     structExtension),
10349                 ptr);
10350             break;
10351         }
10352         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
10353             reservedmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
10354                 vkStream, rootType,
10355                 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
10356                 ptr);
10357             break;
10358         }
10359 #endif
10360 #ifdef VK_EXT_ycbcr_2plane_444_formats
10361         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
10362             reservedmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
10363                 vkStream, rootType,
10364                 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
10365                     structExtension),
10366                 ptr);
10367             break;
10368         }
10369 #endif
10370 #ifdef VK_EXT_image_compression_control
10371         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
10372             reservedmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
10373                 vkStream, rootType,
10374                 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
10375                     structExtension),
10376                 ptr);
10377             break;
10378         }
10379         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
10380             reservedmarshal_VkImageCompressionControlEXT(
10381                 vkStream, rootType,
10382                 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), ptr);
10383             break;
10384         }
10385         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
10386             reservedmarshal_VkImageCompressionPropertiesEXT(
10387                 vkStream, rootType,
10388                 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), ptr);
10389             break;
10390         }
10391 #endif
10392 #ifdef VK_EXT_4444_formats
10393         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
10394             reservedmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
10395                 vkStream, rootType,
10396                 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
10397                 ptr);
10398             break;
10399         }
10400 #endif
10401 #ifdef VK_EXT_primitive_topology_list_restart
10402         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
10403             reservedmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
10404                 vkStream, rootType,
10405                 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
10406                     structExtension),
10407                 ptr);
10408             break;
10409         }
10410 #endif
10411 #ifdef VK_EXT_extended_dynamic_state2
10412         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
10413             reservedmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
10414                 vkStream, rootType,
10415                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
10416                     structExtension),
10417                 ptr);
10418             break;
10419         }
10420 #endif
10421 #ifdef VK_GOOGLE_gfxstream
10422         case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
10423             reservedmarshal_VkImportColorBufferGOOGLE(
10424                 vkStream, rootType,
10425                 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), ptr);
10426             break;
10427         }
10428         case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
10429             reservedmarshal_VkImportBufferGOOGLE(
10430                 vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension),
10431                 ptr);
10432             break;
10433         }
10434         case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
10435             reservedmarshal_VkCreateBlobGOOGLE(
10436                 vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
10437                 ptr);
10438             break;
10439         }
10440 #endif
10441 #ifdef VK_EXT_image_compression_control_swapchain
10442         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
10443             reservedmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
10444                 vkStream, rootType,
10445                 reinterpret_cast<
10446                     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
10447                     structExtension),
10448                 ptr);
10449             break;
10450         }
10451 #endif
10452         default: {
10453             // fatal; the switch is only taken if the extension struct is known
10454             abort();
10455         }
10456     }
10457 }
10458 
10459 }  // namespace vk
10460 }  // namespace gfxstream
10461