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_marshaling
17 //
18 // (impl) generated by scripts/genvk.py -registry
19 // ../../../../../hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/xml/vk.xml
20 // -registryGfxstream xml/vk_gfxstream.xml cereal -o
21 // ../../../../../hardware/google/gfxstream/host/vulkan/cereal
22 //
23 // Please do not modify directly;
24 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
25 // or directly from Python by defining:
26 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
27 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
28 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
29 //
30 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
31 // $CEREAL_OUTPUT_DIR
32 //
33
34 #include "goldfish_vk_marshaling.h"
35
36 #include <string.h>
37
38 #include "goldfish_vk_extension_structs.h"
39 #include "goldfish_vk_private_defs.h"
40
41 namespace gfxstream {
42 namespace vk {
43
44 void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
45 const void* structExtension);
46
47 void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
48 void* structExtension_out);
49
50 #ifdef VK_VERSION_1_0
marshal_VkExtent2D(VulkanStream * vkStream,VkStructureType rootType,const VkExtent2D * forMarshaling)51 void marshal_VkExtent2D(VulkanStream* vkStream, VkStructureType rootType,
52 const VkExtent2D* forMarshaling) {
53 (void)rootType;
54 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
55 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
56 }
57
unmarshal_VkExtent2D(VulkanStream * vkStream,VkStructureType rootType,VkExtent2D * forUnmarshaling)58 void unmarshal_VkExtent2D(VulkanStream* vkStream, VkStructureType rootType,
59 VkExtent2D* forUnmarshaling) {
60 (void)rootType;
61 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
62 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
63 }
64
marshal_VkExtent3D(VulkanStream * vkStream,VkStructureType rootType,const VkExtent3D * forMarshaling)65 void marshal_VkExtent3D(VulkanStream* vkStream, VkStructureType rootType,
66 const VkExtent3D* forMarshaling) {
67 (void)rootType;
68 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
69 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
70 vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
71 }
72
unmarshal_VkExtent3D(VulkanStream * vkStream,VkStructureType rootType,VkExtent3D * forUnmarshaling)73 void unmarshal_VkExtent3D(VulkanStream* vkStream, VkStructureType rootType,
74 VkExtent3D* forUnmarshaling) {
75 (void)rootType;
76 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
77 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
78 vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t));
79 }
80
marshal_VkOffset2D(VulkanStream * vkStream,VkStructureType rootType,const VkOffset2D * forMarshaling)81 void marshal_VkOffset2D(VulkanStream* vkStream, VkStructureType rootType,
82 const VkOffset2D* forMarshaling) {
83 (void)rootType;
84 vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
85 vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
86 }
87
unmarshal_VkOffset2D(VulkanStream * vkStream,VkStructureType rootType,VkOffset2D * forUnmarshaling)88 void unmarshal_VkOffset2D(VulkanStream* vkStream, VkStructureType rootType,
89 VkOffset2D* forUnmarshaling) {
90 (void)rootType;
91 vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
92 vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
93 }
94
marshal_VkOffset3D(VulkanStream * vkStream,VkStructureType rootType,const VkOffset3D * forMarshaling)95 void marshal_VkOffset3D(VulkanStream* vkStream, VkStructureType rootType,
96 const VkOffset3D* forMarshaling) {
97 (void)rootType;
98 vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
99 vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
100 vkStream->write((int32_t*)&forMarshaling->z, sizeof(int32_t));
101 }
102
unmarshal_VkOffset3D(VulkanStream * vkStream,VkStructureType rootType,VkOffset3D * forUnmarshaling)103 void unmarshal_VkOffset3D(VulkanStream* vkStream, VkStructureType rootType,
104 VkOffset3D* forUnmarshaling) {
105 (void)rootType;
106 vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
107 vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
108 vkStream->read((int32_t*)&forUnmarshaling->z, sizeof(int32_t));
109 }
110
marshal_VkRect2D(VulkanStream * vkStream,VkStructureType rootType,const VkRect2D * forMarshaling)111 void marshal_VkRect2D(VulkanStream* vkStream, VkStructureType rootType,
112 const VkRect2D* forMarshaling) {
113 (void)rootType;
114 marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
115 marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
116 }
117
unmarshal_VkRect2D(VulkanStream * vkStream,VkStructureType rootType,VkRect2D * forUnmarshaling)118 void unmarshal_VkRect2D(VulkanStream* vkStream, VkStructureType rootType,
119 VkRect2D* forUnmarshaling) {
120 (void)rootType;
121 unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
122 unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
123 }
124
marshal_VkBaseInStructure(VulkanStream * vkStream,VkStructureType rootType,const VkBaseInStructure * forMarshaling)125 void marshal_VkBaseInStructure(VulkanStream* vkStream, VkStructureType rootType,
126 const VkBaseInStructure* forMarshaling) {
127 (void)rootType;
128 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
129 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
130 rootType = forMarshaling->sType;
131 }
132 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
133 }
134
unmarshal_VkBaseInStructure(VulkanStream * vkStream,VkStructureType rootType,VkBaseInStructure * forUnmarshaling)135 void unmarshal_VkBaseInStructure(VulkanStream* vkStream, VkStructureType rootType,
136 VkBaseInStructure* forUnmarshaling) {
137 (void)rootType;
138 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
139 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
140 rootType = forUnmarshaling->sType;
141 }
142 size_t pNext_size;
143 pNext_size = vkStream->getBe32();
144 forUnmarshaling->pNext = nullptr;
145 if (pNext_size) {
146 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
147 vkStream->read((VkBaseInStructure*)forUnmarshaling->pNext, sizeof(VkStructureType));
148 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
149 vkStream->alloc((void**)&forUnmarshaling->pNext,
150 goldfish_vk_extension_struct_size_with_stream_features(
151 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
152 *(VkStructureType*)forUnmarshaling->pNext = extType;
153 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
154 }
155 }
156
marshal_VkBaseOutStructure(VulkanStream * vkStream,VkStructureType rootType,const VkBaseOutStructure * forMarshaling)157 void marshal_VkBaseOutStructure(VulkanStream* vkStream, VkStructureType rootType,
158 const VkBaseOutStructure* forMarshaling) {
159 (void)rootType;
160 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
161 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
162 rootType = forMarshaling->sType;
163 }
164 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
165 }
166
unmarshal_VkBaseOutStructure(VulkanStream * vkStream,VkStructureType rootType,VkBaseOutStructure * forUnmarshaling)167 void unmarshal_VkBaseOutStructure(VulkanStream* vkStream, VkStructureType rootType,
168 VkBaseOutStructure* forUnmarshaling) {
169 (void)rootType;
170 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
171 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
172 rootType = forUnmarshaling->sType;
173 }
174 size_t pNext_size;
175 pNext_size = vkStream->getBe32();
176 forUnmarshaling->pNext = nullptr;
177 if (pNext_size) {
178 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
179 vkStream->read((VkBaseOutStructure*)forUnmarshaling->pNext, sizeof(VkStructureType));
180 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
181 vkStream->alloc((void**)&forUnmarshaling->pNext,
182 goldfish_vk_extension_struct_size_with_stream_features(
183 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
184 *(VkStructureType*)forUnmarshaling->pNext = extType;
185 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
186 }
187 }
188
marshal_VkBufferMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier * forMarshaling)189 void marshal_VkBufferMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
190 const VkBufferMemoryBarrier* forMarshaling) {
191 (void)rootType;
192 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
193 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
194 rootType = forMarshaling->sType;
195 }
196 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
197 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
198 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
199 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
200 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
201 uint64_t cgen_var_0;
202 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
203 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
204 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
205 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
206 }
207
unmarshal_VkBufferMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,VkBufferMemoryBarrier * forUnmarshaling)208 void unmarshal_VkBufferMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
209 VkBufferMemoryBarrier* forUnmarshaling) {
210 (void)rootType;
211 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
212 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
213 rootType = forUnmarshaling->sType;
214 }
215 size_t pNext_size;
216 pNext_size = vkStream->getBe32();
217 forUnmarshaling->pNext = nullptr;
218 if (pNext_size) {
219 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
220 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
221 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
222 vkStream->alloc((void**)&forUnmarshaling->pNext,
223 goldfish_vk_extension_struct_size_with_stream_features(
224 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
225 *(VkStructureType*)forUnmarshaling->pNext = extType;
226 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
227 }
228 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
229 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
230 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
231 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
232 uint64_t cgen_var_0;
233 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
234 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
235 (VkBuffer*)&forUnmarshaling->buffer, 1);
236 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
237 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
238 }
239
marshal_VkDispatchIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,const VkDispatchIndirectCommand * forMarshaling)240 void marshal_VkDispatchIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
241 const VkDispatchIndirectCommand* forMarshaling) {
242 (void)rootType;
243 vkStream->write((uint32_t*)&forMarshaling->x, sizeof(uint32_t));
244 vkStream->write((uint32_t*)&forMarshaling->y, sizeof(uint32_t));
245 vkStream->write((uint32_t*)&forMarshaling->z, sizeof(uint32_t));
246 }
247
unmarshal_VkDispatchIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,VkDispatchIndirectCommand * forUnmarshaling)248 void unmarshal_VkDispatchIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
249 VkDispatchIndirectCommand* forUnmarshaling) {
250 (void)rootType;
251 vkStream->read((uint32_t*)&forUnmarshaling->x, sizeof(uint32_t));
252 vkStream->read((uint32_t*)&forUnmarshaling->y, sizeof(uint32_t));
253 vkStream->read((uint32_t*)&forUnmarshaling->z, sizeof(uint32_t));
254 }
255
marshal_VkDrawIndexedIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,const VkDrawIndexedIndirectCommand * forMarshaling)256 void marshal_VkDrawIndexedIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
257 const VkDrawIndexedIndirectCommand* forMarshaling) {
258 (void)rootType;
259 vkStream->write((uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
260 vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
261 vkStream->write((uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
262 vkStream->write((int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
263 vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
264 }
265
unmarshal_VkDrawIndexedIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,VkDrawIndexedIndirectCommand * forUnmarshaling)266 void unmarshal_VkDrawIndexedIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
267 VkDrawIndexedIndirectCommand* forUnmarshaling) {
268 (void)rootType;
269 vkStream->read((uint32_t*)&forUnmarshaling->indexCount, sizeof(uint32_t));
270 vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
271 vkStream->read((uint32_t*)&forUnmarshaling->firstIndex, sizeof(uint32_t));
272 vkStream->read((int32_t*)&forUnmarshaling->vertexOffset, sizeof(int32_t));
273 vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
274 }
275
marshal_VkDrawIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,const VkDrawIndirectCommand * forMarshaling)276 void marshal_VkDrawIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
277 const VkDrawIndirectCommand* forMarshaling) {
278 (void)rootType;
279 vkStream->write((uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
280 vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
281 vkStream->write((uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
282 vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
283 }
284
unmarshal_VkDrawIndirectCommand(VulkanStream * vkStream,VkStructureType rootType,VkDrawIndirectCommand * forUnmarshaling)285 void unmarshal_VkDrawIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
286 VkDrawIndirectCommand* forUnmarshaling) {
287 (void)rootType;
288 vkStream->read((uint32_t*)&forUnmarshaling->vertexCount, sizeof(uint32_t));
289 vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
290 vkStream->read((uint32_t*)&forUnmarshaling->firstVertex, sizeof(uint32_t));
291 vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
292 }
293
marshal_VkImageSubresourceRange(VulkanStream * vkStream,VkStructureType rootType,const VkImageSubresourceRange * forMarshaling)294 void marshal_VkImageSubresourceRange(VulkanStream* vkStream, VkStructureType rootType,
295 const VkImageSubresourceRange* forMarshaling) {
296 (void)rootType;
297 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
298 vkStream->write((uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
299 vkStream->write((uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
300 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
301 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
302 }
303
unmarshal_VkImageSubresourceRange(VulkanStream * vkStream,VkStructureType rootType,VkImageSubresourceRange * forUnmarshaling)304 void unmarshal_VkImageSubresourceRange(VulkanStream* vkStream, VkStructureType rootType,
305 VkImageSubresourceRange* forUnmarshaling) {
306 (void)rootType;
307 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
308 vkStream->read((uint32_t*)&forUnmarshaling->baseMipLevel, sizeof(uint32_t));
309 vkStream->read((uint32_t*)&forUnmarshaling->levelCount, sizeof(uint32_t));
310 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
311 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
312 }
313
marshal_VkImageMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,const VkImageMemoryBarrier * forMarshaling)314 void marshal_VkImageMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
315 const VkImageMemoryBarrier* forMarshaling) {
316 (void)rootType;
317 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
318 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
319 rootType = forMarshaling->sType;
320 }
321 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
322 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
323 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
324 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
325 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
326 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
327 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
328 uint64_t cgen_var_0;
329 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
330 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
331 marshal_VkImageSubresourceRange(vkStream, rootType,
332 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
333 }
334
unmarshal_VkImageMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,VkImageMemoryBarrier * forUnmarshaling)335 void unmarshal_VkImageMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
336 VkImageMemoryBarrier* forUnmarshaling) {
337 (void)rootType;
338 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
339 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
340 rootType = forUnmarshaling->sType;
341 }
342 size_t pNext_size;
343 pNext_size = vkStream->getBe32();
344 forUnmarshaling->pNext = nullptr;
345 if (pNext_size) {
346 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
347 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
348 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
349 vkStream->alloc((void**)&forUnmarshaling->pNext,
350 goldfish_vk_extension_struct_size_with_stream_features(
351 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
352 *(VkStructureType*)forUnmarshaling->pNext = extType;
353 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
354 }
355 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
356 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
357 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
358 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
359 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
360 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
361 uint64_t cgen_var_0;
362 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
363 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
364 (VkImage*)&forUnmarshaling->image, 1);
365 unmarshal_VkImageSubresourceRange(
366 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
367 }
368
marshal_VkMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryBarrier * forMarshaling)369 void marshal_VkMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
370 const VkMemoryBarrier* forMarshaling) {
371 (void)rootType;
372 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
373 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
374 rootType = forMarshaling->sType;
375 }
376 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
377 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
378 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
379 }
380
unmarshal_VkMemoryBarrier(VulkanStream * vkStream,VkStructureType rootType,VkMemoryBarrier * forUnmarshaling)381 void unmarshal_VkMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
382 VkMemoryBarrier* forUnmarshaling) {
383 (void)rootType;
384 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
385 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
386 rootType = forUnmarshaling->sType;
387 }
388 size_t pNext_size;
389 pNext_size = vkStream->getBe32();
390 forUnmarshaling->pNext = nullptr;
391 if (pNext_size) {
392 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
393 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
394 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
395 vkStream->alloc((void**)&forUnmarshaling->pNext,
396 goldfish_vk_extension_struct_size_with_stream_features(
397 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
398 *(VkStructureType*)forUnmarshaling->pNext = extType;
399 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
400 }
401 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
402 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
403 }
404
marshal_VkPipelineCacheHeaderVersionOne(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineCacheHeaderVersionOne * forMarshaling)405 void marshal_VkPipelineCacheHeaderVersionOne(VulkanStream* vkStream, VkStructureType rootType,
406 const VkPipelineCacheHeaderVersionOne* forMarshaling) {
407 (void)rootType;
408 vkStream->write((uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
409 vkStream->write((VkPipelineCacheHeaderVersion*)&forMarshaling->headerVersion,
410 sizeof(VkPipelineCacheHeaderVersion));
411 vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
412 vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
413 vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
414 }
415
unmarshal_VkPipelineCacheHeaderVersionOne(VulkanStream * vkStream,VkStructureType rootType,VkPipelineCacheHeaderVersionOne * forUnmarshaling)416 void unmarshal_VkPipelineCacheHeaderVersionOne(VulkanStream* vkStream, VkStructureType rootType,
417 VkPipelineCacheHeaderVersionOne* forUnmarshaling) {
418 (void)rootType;
419 vkStream->read((uint32_t*)&forUnmarshaling->headerSize, sizeof(uint32_t));
420 vkStream->read((VkPipelineCacheHeaderVersion*)&forUnmarshaling->headerVersion,
421 sizeof(VkPipelineCacheHeaderVersion));
422 vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
423 vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
424 vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
425 }
426
marshal_VkAllocationCallbacks(VulkanStream * vkStream,VkStructureType rootType,const VkAllocationCallbacks * forMarshaling)427 void marshal_VkAllocationCallbacks(VulkanStream* vkStream, VkStructureType rootType,
428 const VkAllocationCallbacks* forMarshaling) {
429 (void)rootType;
430 // WARNING PTR CHECK
431 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
432 vkStream->putBe64(cgen_var_0);
433 if (forMarshaling->pUserData) {
434 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
435 }
436 uint64_t cgen_var_1 = (uint64_t)forMarshaling->pfnAllocation;
437 vkStream->putBe64(cgen_var_1);
438 uint64_t cgen_var_2 = (uint64_t)forMarshaling->pfnReallocation;
439 vkStream->putBe64(cgen_var_2);
440 uint64_t cgen_var_3 = (uint64_t)forMarshaling->pfnFree;
441 vkStream->putBe64(cgen_var_3);
442 uint64_t cgen_var_4 = (uint64_t)forMarshaling->pfnInternalAllocation;
443 vkStream->putBe64(cgen_var_4);
444 uint64_t cgen_var_5 = (uint64_t)forMarshaling->pfnInternalFree;
445 vkStream->putBe64(cgen_var_5);
446 }
447
unmarshal_VkAllocationCallbacks(VulkanStream * vkStream,VkStructureType rootType,VkAllocationCallbacks * forUnmarshaling)448 void unmarshal_VkAllocationCallbacks(VulkanStream* vkStream, VkStructureType rootType,
449 VkAllocationCallbacks* forUnmarshaling) {
450 (void)rootType;
451 // WARNING PTR CHECK
452 forUnmarshaling->pUserData = (void*)(uintptr_t)vkStream->getBe64();
453 if (forUnmarshaling->pUserData) {
454 vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
455 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
456 }
457 forUnmarshaling->pfnAllocation = (PFN_vkAllocationFunction)vkStream->getBe64();
458 forUnmarshaling->pfnReallocation = (PFN_vkReallocationFunction)vkStream->getBe64();
459 forUnmarshaling->pfnFree = (PFN_vkFreeFunction)vkStream->getBe64();
460 forUnmarshaling->pfnInternalAllocation =
461 (PFN_vkInternalAllocationNotification)vkStream->getBe64();
462 forUnmarshaling->pfnInternalFree = (PFN_vkInternalFreeNotification)vkStream->getBe64();
463 }
464
marshal_VkApplicationInfo(VulkanStream * vkStream,VkStructureType rootType,const VkApplicationInfo * forMarshaling)465 void marshal_VkApplicationInfo(VulkanStream* vkStream, VkStructureType rootType,
466 const VkApplicationInfo* forMarshaling) {
467 (void)rootType;
468 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
469 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
470 rootType = forMarshaling->sType;
471 }
472 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
473 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
474 // WARNING PTR CHECK
475 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
476 vkStream->putBe64(cgen_var_0);
477 if (forMarshaling->pApplicationName) {
478 vkStream->putString(forMarshaling->pApplicationName);
479 }
480 } else {
481 vkStream->putString(forMarshaling->pApplicationName);
482 }
483 vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
484 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
485 // WARNING PTR CHECK
486 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
487 vkStream->putBe64(cgen_var_0);
488 if (forMarshaling->pEngineName) {
489 vkStream->putString(forMarshaling->pEngineName);
490 }
491 } else {
492 vkStream->putString(forMarshaling->pEngineName);
493 }
494 vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
495 vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
496 }
497
unmarshal_VkApplicationInfo(VulkanStream * vkStream,VkStructureType rootType,VkApplicationInfo * forUnmarshaling)498 void unmarshal_VkApplicationInfo(VulkanStream* vkStream, VkStructureType rootType,
499 VkApplicationInfo* forUnmarshaling) {
500 (void)rootType;
501 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
502 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
503 rootType = forUnmarshaling->sType;
504 }
505 size_t pNext_size;
506 pNext_size = vkStream->getBe32();
507 forUnmarshaling->pNext = nullptr;
508 if (pNext_size) {
509 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
510 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
511 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
512 vkStream->alloc((void**)&forUnmarshaling->pNext,
513 goldfish_vk_extension_struct_size_with_stream_features(
514 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
515 *(VkStructureType*)forUnmarshaling->pNext = extType;
516 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
517 }
518 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
519 // WARNING PTR CHECK
520 forUnmarshaling->pApplicationName = (const char*)(uintptr_t)vkStream->getBe64();
521 if (forUnmarshaling->pApplicationName) {
522 vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
523 }
524 } else {
525 vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
526 }
527 vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t));
528 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
529 // WARNING PTR CHECK
530 forUnmarshaling->pEngineName = (const char*)(uintptr_t)vkStream->getBe64();
531 if (forUnmarshaling->pEngineName) {
532 vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
533 }
534 } else {
535 vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
536 }
537 vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t));
538 vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
539 }
540
marshal_VkFormatProperties(VulkanStream * vkStream,VkStructureType rootType,const VkFormatProperties * forMarshaling)541 void marshal_VkFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
542 const VkFormatProperties* forMarshaling) {
543 (void)rootType;
544 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures,
545 sizeof(VkFormatFeatureFlags));
546 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures,
547 sizeof(VkFormatFeatureFlags));
548 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->bufferFeatures,
549 sizeof(VkFormatFeatureFlags));
550 }
551
unmarshal_VkFormatProperties(VulkanStream * vkStream,VkStructureType rootType,VkFormatProperties * forUnmarshaling)552 void unmarshal_VkFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
553 VkFormatProperties* forUnmarshaling) {
554 (void)rootType;
555 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures,
556 sizeof(VkFormatFeatureFlags));
557 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures,
558 sizeof(VkFormatFeatureFlags));
559 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures,
560 sizeof(VkFormatFeatureFlags));
561 }
562
marshal_VkImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,const VkImageFormatProperties * forMarshaling)563 void marshal_VkImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
564 const VkImageFormatProperties* forMarshaling) {
565 (void)rootType;
566 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->maxExtent));
567 vkStream->write((uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
568 vkStream->write((uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
569 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
570 vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
571 }
572
unmarshal_VkImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,VkImageFormatProperties * forUnmarshaling)573 void unmarshal_VkImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
574 VkImageFormatProperties* forUnmarshaling) {
575 (void)rootType;
576 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->maxExtent));
577 vkStream->read((uint32_t*)&forUnmarshaling->maxMipLevels, sizeof(uint32_t));
578 vkStream->read((uint32_t*)&forUnmarshaling->maxArrayLayers, sizeof(uint32_t));
579 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, sizeof(VkSampleCountFlags));
580 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceSize, sizeof(VkDeviceSize));
581 }
582
marshal_VkInstanceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkInstanceCreateInfo * forMarshaling)583 void marshal_VkInstanceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
584 const VkInstanceCreateInfo* forMarshaling) {
585 (void)rootType;
586 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
587 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
588 rootType = forMarshaling->sType;
589 }
590 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
591 vkStream->write((VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
592 // WARNING PTR CHECK
593 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
594 vkStream->putBe64(cgen_var_0);
595 if (forMarshaling->pApplicationInfo) {
596 marshal_VkApplicationInfo(vkStream, rootType,
597 (const VkApplicationInfo*)(forMarshaling->pApplicationInfo));
598 }
599 vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
600 saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
601 vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
602 saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
603 forMarshaling->enabledExtensionCount);
604 }
605
unmarshal_VkInstanceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkInstanceCreateInfo * forUnmarshaling)606 void unmarshal_VkInstanceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
607 VkInstanceCreateInfo* forUnmarshaling) {
608 (void)rootType;
609 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
610 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
611 rootType = forUnmarshaling->sType;
612 }
613 size_t pNext_size;
614 pNext_size = vkStream->getBe32();
615 forUnmarshaling->pNext = nullptr;
616 if (pNext_size) {
617 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
618 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
619 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
620 vkStream->alloc((void**)&forUnmarshaling->pNext,
621 goldfish_vk_extension_struct_size_with_stream_features(
622 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
623 *(VkStructureType*)forUnmarshaling->pNext = extType;
624 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
625 }
626 vkStream->read((VkInstanceCreateFlags*)&forUnmarshaling->flags, sizeof(VkInstanceCreateFlags));
627 // WARNING PTR CHECK
628 forUnmarshaling->pApplicationInfo = (const VkApplicationInfo*)(uintptr_t)vkStream->getBe64();
629 if (forUnmarshaling->pApplicationInfo) {
630 vkStream->alloc((void**)&forUnmarshaling->pApplicationInfo,
631 sizeof(const VkApplicationInfo));
632 unmarshal_VkApplicationInfo(vkStream, rootType,
633 (VkApplicationInfo*)(forUnmarshaling->pApplicationInfo));
634 }
635 vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
636 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
637 vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
638 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
639 }
640
marshal_VkMemoryHeap(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryHeap * forMarshaling)641 void marshal_VkMemoryHeap(VulkanStream* vkStream, VkStructureType rootType,
642 const VkMemoryHeap* forMarshaling) {
643 (void)rootType;
644 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
645 vkStream->write((VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
646 }
647
unmarshal_VkMemoryHeap(VulkanStream * vkStream,VkStructureType rootType,VkMemoryHeap * forUnmarshaling)648 void unmarshal_VkMemoryHeap(VulkanStream* vkStream, VkStructureType rootType,
649 VkMemoryHeap* forUnmarshaling) {
650 (void)rootType;
651 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
652 vkStream->read((VkMemoryHeapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryHeapFlags));
653 }
654
marshal_VkMemoryType(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryType * forMarshaling)655 void marshal_VkMemoryType(VulkanStream* vkStream, VkStructureType rootType,
656 const VkMemoryType* forMarshaling) {
657 (void)rootType;
658 vkStream->write((VkMemoryPropertyFlags*)&forMarshaling->propertyFlags,
659 sizeof(VkMemoryPropertyFlags));
660 vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
661 }
662
unmarshal_VkMemoryType(VulkanStream * vkStream,VkStructureType rootType,VkMemoryType * forUnmarshaling)663 void unmarshal_VkMemoryType(VulkanStream* vkStream, VkStructureType rootType,
664 VkMemoryType* forUnmarshaling) {
665 (void)rootType;
666 vkStream->read((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags,
667 sizeof(VkMemoryPropertyFlags));
668 vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
669 }
670
marshal_VkPhysicalDeviceFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures * forMarshaling)671 void marshal_VkPhysicalDeviceFeatures(VulkanStream* vkStream, VkStructureType rootType,
672 const VkPhysicalDeviceFeatures* forMarshaling) {
673 (void)rootType;
674 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
675 vkStream->write((VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
676 vkStream->write((VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
677 vkStream->write((VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
678 vkStream->write((VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
679 vkStream->write((VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
680 vkStream->write((VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
681 vkStream->write((VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
682 vkStream->write((VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
683 vkStream->write((VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
684 vkStream->write((VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
685 vkStream->write((VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
686 vkStream->write((VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
687 vkStream->write((VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
688 vkStream->write((VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
689 vkStream->write((VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
690 vkStream->write((VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
691 vkStream->write((VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
692 vkStream->write((VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
693 vkStream->write((VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
694 vkStream->write((VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
695 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
696 vkStream->write((VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
697 vkStream->write((VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
698 vkStream->write((VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
699 vkStream->write((VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
700 vkStream->write((VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
701 vkStream->write((VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize,
702 sizeof(VkBool32));
703 vkStream->write((VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
704 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
705 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
706 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat,
707 sizeof(VkBool32));
708 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat,
709 sizeof(VkBool32));
710 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing,
711 sizeof(VkBool32));
712 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing,
713 sizeof(VkBool32));
714 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing,
715 sizeof(VkBool32));
716 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing,
717 sizeof(VkBool32));
718 vkStream->write((VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
719 vkStream->write((VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
720 vkStream->write((VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
721 vkStream->write((VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
722 vkStream->write((VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
723 vkStream->write((VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
724 vkStream->write((VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
725 vkStream->write((VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
726 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
727 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
728 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
729 vkStream->write((VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
730 vkStream->write((VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
731 vkStream->write((VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
732 vkStream->write((VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
733 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
734 vkStream->write((VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
735 vkStream->write((VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
736 }
737
unmarshal_VkPhysicalDeviceFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceFeatures * forUnmarshaling)738 void unmarshal_VkPhysicalDeviceFeatures(VulkanStream* vkStream, VkStructureType rootType,
739 VkPhysicalDeviceFeatures* forUnmarshaling) {
740 (void)rootType;
741 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess, sizeof(VkBool32));
742 vkStream->read((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, sizeof(VkBool32));
743 vkStream->read((VkBool32*)&forUnmarshaling->imageCubeArray, sizeof(VkBool32));
744 vkStream->read((VkBool32*)&forUnmarshaling->independentBlend, sizeof(VkBool32));
745 vkStream->read((VkBool32*)&forUnmarshaling->geometryShader, sizeof(VkBool32));
746 vkStream->read((VkBool32*)&forUnmarshaling->tessellationShader, sizeof(VkBool32));
747 vkStream->read((VkBool32*)&forUnmarshaling->sampleRateShading, sizeof(VkBool32));
748 vkStream->read((VkBool32*)&forUnmarshaling->dualSrcBlend, sizeof(VkBool32));
749 vkStream->read((VkBool32*)&forUnmarshaling->logicOp, sizeof(VkBool32));
750 vkStream->read((VkBool32*)&forUnmarshaling->multiDrawIndirect, sizeof(VkBool32));
751 vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
752 vkStream->read((VkBool32*)&forUnmarshaling->depthClamp, sizeof(VkBool32));
753 vkStream->read((VkBool32*)&forUnmarshaling->depthBiasClamp, sizeof(VkBool32));
754 vkStream->read((VkBool32*)&forUnmarshaling->fillModeNonSolid, sizeof(VkBool32));
755 vkStream->read((VkBool32*)&forUnmarshaling->depthBounds, sizeof(VkBool32));
756 vkStream->read((VkBool32*)&forUnmarshaling->wideLines, sizeof(VkBool32));
757 vkStream->read((VkBool32*)&forUnmarshaling->largePoints, sizeof(VkBool32));
758 vkStream->read((VkBool32*)&forUnmarshaling->alphaToOne, sizeof(VkBool32));
759 vkStream->read((VkBool32*)&forUnmarshaling->multiViewport, sizeof(VkBool32));
760 vkStream->read((VkBool32*)&forUnmarshaling->samplerAnisotropy, sizeof(VkBool32));
761 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionETC2, sizeof(VkBool32));
762 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
763 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionBC, sizeof(VkBool32));
764 vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, sizeof(VkBool32));
765 vkStream->read((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
766 vkStream->read((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
767 vkStream->read((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
768 vkStream->read((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize,
769 sizeof(VkBool32));
770 vkStream->read((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, sizeof(VkBool32));
771 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats,
772 sizeof(VkBool32));
773 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
774 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat,
775 sizeof(VkBool32));
776 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat,
777 sizeof(VkBool32));
778 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing,
779 sizeof(VkBool32));
780 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing,
781 sizeof(VkBool32));
782 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing,
783 sizeof(VkBool32));
784 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing,
785 sizeof(VkBool32));
786 vkStream->read((VkBool32*)&forUnmarshaling->shaderClipDistance, sizeof(VkBool32));
787 vkStream->read((VkBool32*)&forUnmarshaling->shaderCullDistance, sizeof(VkBool32));
788 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat64, sizeof(VkBool32));
789 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt64, sizeof(VkBool32));
790 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt16, sizeof(VkBool32));
791 vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceResidency, sizeof(VkBool32));
792 vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceMinLod, sizeof(VkBool32));
793 vkStream->read((VkBool32*)&forUnmarshaling->sparseBinding, sizeof(VkBool32));
794 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, sizeof(VkBool32));
795 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, sizeof(VkBool32));
796 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, sizeof(VkBool32));
797 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency2Samples, sizeof(VkBool32));
798 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency4Samples, sizeof(VkBool32));
799 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency8Samples, sizeof(VkBool32));
800 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency16Samples, sizeof(VkBool32));
801 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyAliased, sizeof(VkBool32));
802 vkStream->read((VkBool32*)&forUnmarshaling->variableMultisampleRate, sizeof(VkBool32));
803 vkStream->read((VkBool32*)&forUnmarshaling->inheritedQueries, sizeof(VkBool32));
804 }
805
marshal_VkPhysicalDeviceLimits(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceLimits * forMarshaling)806 void marshal_VkPhysicalDeviceLimits(VulkanStream* vkStream, VkStructureType rootType,
807 const VkPhysicalDeviceLimits* forMarshaling) {
808 (void)rootType;
809 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
810 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
811 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
812 vkStream->write((uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
813 vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
814 vkStream->write((uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
815 vkStream->write((uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
816 vkStream->write((uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
817 vkStream->write((uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
818 vkStream->write((uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
819 vkStream->write((uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
820 vkStream->write((VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
821 vkStream->write((VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
822 vkStream->write((uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
823 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
824 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers,
825 sizeof(uint32_t));
826 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers,
827 sizeof(uint32_t));
828 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages,
829 sizeof(uint32_t));
830 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages,
831 sizeof(uint32_t));
832 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments,
833 sizeof(uint32_t));
834 vkStream->write((uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
835 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
836 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
837 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic,
838 sizeof(uint32_t));
839 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
840 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic,
841 sizeof(uint32_t));
842 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
843 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
844 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
845 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
846 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
847 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
848 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
849 vkStream->write((uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
850 vkStream->write((uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
851 vkStream->write((uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
852 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents,
853 sizeof(uint32_t));
854 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents,
855 sizeof(uint32_t));
856 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents,
857 sizeof(uint32_t));
858 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents,
859 sizeof(uint32_t));
860 vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents,
861 sizeof(uint32_t));
862 vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents,
863 sizeof(uint32_t));
864 vkStream->write((uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
865 vkStream->write((uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
866 vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
867 vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
868 vkStream->write((uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
869 vkStream->write((uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
870 vkStream->write((uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
871 vkStream->write((uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
872 vkStream->write((uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources,
873 sizeof(uint32_t));
874 vkStream->write((uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
875 vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
876 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
877 vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
878 vkStream->write((uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
879 vkStream->write((uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
880 vkStream->write((uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
881 vkStream->write((uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
882 vkStream->write((uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
883 vkStream->write((float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
884 vkStream->write((float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
885 vkStream->write((uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
886 vkStream->write((uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
887 vkStream->write((float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
888 vkStream->write((uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
889 uint64_t cgen_var_0 = (uint64_t)forMarshaling->minMemoryMapAlignment;
890 vkStream->putBe64(cgen_var_0);
891 vkStream->write((VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment,
892 sizeof(VkDeviceSize));
893 vkStream->write((VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment,
894 sizeof(VkDeviceSize));
895 vkStream->write((VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment,
896 sizeof(VkDeviceSize));
897 vkStream->write((int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
898 vkStream->write((uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
899 vkStream->write((int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
900 vkStream->write((uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
901 vkStream->write((float*)&forMarshaling->minInterpolationOffset, sizeof(float));
902 vkStream->write((float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
903 vkStream->write((uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
904 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
905 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
906 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
907 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts,
908 sizeof(VkSampleCountFlags));
909 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts,
910 sizeof(VkSampleCountFlags));
911 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts,
912 sizeof(VkSampleCountFlags));
913 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts,
914 sizeof(VkSampleCountFlags));
915 vkStream->write((uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
916 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts,
917 sizeof(VkSampleCountFlags));
918 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts,
919 sizeof(VkSampleCountFlags));
920 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts,
921 sizeof(VkSampleCountFlags));
922 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts,
923 sizeof(VkSampleCountFlags));
924 vkStream->write((VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts,
925 sizeof(VkSampleCountFlags));
926 vkStream->write((uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
927 vkStream->write((VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
928 vkStream->write((float*)&forMarshaling->timestampPeriod, sizeof(float));
929 vkStream->write((uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
930 vkStream->write((uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
931 vkStream->write((uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
932 vkStream->write((uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
933 vkStream->write((float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
934 vkStream->write((float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
935 vkStream->write((float*)&forMarshaling->pointSizeGranularity, sizeof(float));
936 vkStream->write((float*)&forMarshaling->lineWidthGranularity, sizeof(float));
937 vkStream->write((VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
938 vkStream->write((VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
939 vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment,
940 sizeof(VkDeviceSize));
941 vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment,
942 sizeof(VkDeviceSize));
943 vkStream->write((VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
944 }
945
unmarshal_VkPhysicalDeviceLimits(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceLimits * forUnmarshaling)946 void unmarshal_VkPhysicalDeviceLimits(VulkanStream* vkStream, VkStructureType rootType,
947 VkPhysicalDeviceLimits* forUnmarshaling) {
948 (void)rootType;
949 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension1D, sizeof(uint32_t));
950 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension2D, sizeof(uint32_t));
951 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension3D, sizeof(uint32_t));
952 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimensionCube, sizeof(uint32_t));
953 vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
954 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelBufferElements, sizeof(uint32_t));
955 vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBufferRange, sizeof(uint32_t));
956 vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBufferRange, sizeof(uint32_t));
957 vkStream->read((uint32_t*)&forUnmarshaling->maxPushConstantsSize, sizeof(uint32_t));
958 vkStream->read((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
959 vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
960 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
961 vkStream->read((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
962 vkStream->read((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
963 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
964 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers,
965 sizeof(uint32_t));
966 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers,
967 sizeof(uint32_t));
968 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages,
969 sizeof(uint32_t));
970 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages,
971 sizeof(uint32_t));
972 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments,
973 sizeof(uint32_t));
974 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageResources, sizeof(uint32_t));
975 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
976 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
977 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic,
978 sizeof(uint32_t));
979 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
980 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic,
981 sizeof(uint32_t));
982 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
983 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
984 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
985 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, sizeof(uint32_t));
986 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindings, sizeof(uint32_t));
987 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
988 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
989 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, sizeof(uint32_t));
990 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
991 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, sizeof(uint32_t));
992 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents,
993 sizeof(uint32_t));
994 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents,
995 sizeof(uint32_t));
996 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents,
997 sizeof(uint32_t));
998 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents,
999 sizeof(uint32_t));
1000 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents,
1001 sizeof(uint32_t));
1002 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents,
1003 sizeof(uint32_t));
1004 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
1005 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, sizeof(uint32_t));
1006 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
1007 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
1008 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
1009 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, sizeof(uint32_t));
1010 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
1011 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
1012 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources,
1013 sizeof(uint32_t));
1014 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
1015 vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
1016 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
1017 vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
1018 vkStream->read((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, sizeof(uint32_t));
1019 vkStream->read((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, sizeof(uint32_t));
1020 vkStream->read((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, sizeof(uint32_t));
1021 vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
1022 vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, sizeof(uint32_t));
1023 vkStream->read((float*)&forUnmarshaling->maxSamplerLodBias, sizeof(float));
1024 vkStream->read((float*)&forUnmarshaling->maxSamplerAnisotropy, sizeof(float));
1025 vkStream->read((uint32_t*)&forUnmarshaling->maxViewports, sizeof(uint32_t));
1026 vkStream->read((uint32_t*)forUnmarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
1027 vkStream->read((float*)forUnmarshaling->viewportBoundsRange, 2 * sizeof(float));
1028 vkStream->read((uint32_t*)&forUnmarshaling->viewportSubPixelBits, sizeof(uint32_t));
1029 forUnmarshaling->minMemoryMapAlignment = (size_t)vkStream->getBe64();
1030 vkStream->read((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment,
1031 sizeof(VkDeviceSize));
1032 vkStream->read((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment,
1033 sizeof(VkDeviceSize));
1034 vkStream->read((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment,
1035 sizeof(VkDeviceSize));
1036 vkStream->read((int32_t*)&forUnmarshaling->minTexelOffset, sizeof(int32_t));
1037 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelOffset, sizeof(uint32_t));
1038 vkStream->read((int32_t*)&forUnmarshaling->minTexelGatherOffset, sizeof(int32_t));
1039 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, sizeof(uint32_t));
1040 vkStream->read((float*)&forUnmarshaling->minInterpolationOffset, sizeof(float));
1041 vkStream->read((float*)&forUnmarshaling->maxInterpolationOffset, sizeof(float));
1042 vkStream->read((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
1043 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferWidth, sizeof(uint32_t));
1044 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferHeight, sizeof(uint32_t));
1045 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferLayers, sizeof(uint32_t));
1046 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts,
1047 sizeof(VkSampleCountFlags));
1048 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts,
1049 sizeof(VkSampleCountFlags));
1050 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts,
1051 sizeof(VkSampleCountFlags));
1052 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts,
1053 sizeof(VkSampleCountFlags));
1054 vkStream->read((uint32_t*)&forUnmarshaling->maxColorAttachments, sizeof(uint32_t));
1055 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts,
1056 sizeof(VkSampleCountFlags));
1057 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts,
1058 sizeof(VkSampleCountFlags));
1059 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts,
1060 sizeof(VkSampleCountFlags));
1061 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts,
1062 sizeof(VkSampleCountFlags));
1063 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts,
1064 sizeof(VkSampleCountFlags));
1065 vkStream->read((uint32_t*)&forUnmarshaling->maxSampleMaskWords, sizeof(uint32_t));
1066 vkStream->read((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
1067 vkStream->read((float*)&forUnmarshaling->timestampPeriod, sizeof(float));
1068 vkStream->read((uint32_t*)&forUnmarshaling->maxClipDistances, sizeof(uint32_t));
1069 vkStream->read((uint32_t*)&forUnmarshaling->maxCullDistances, sizeof(uint32_t));
1070 vkStream->read((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
1071 vkStream->read((uint32_t*)&forUnmarshaling->discreteQueuePriorities, sizeof(uint32_t));
1072 vkStream->read((float*)forUnmarshaling->pointSizeRange, 2 * sizeof(float));
1073 vkStream->read((float*)forUnmarshaling->lineWidthRange, 2 * sizeof(float));
1074 vkStream->read((float*)&forUnmarshaling->pointSizeGranularity, sizeof(float));
1075 vkStream->read((float*)&forUnmarshaling->lineWidthGranularity, sizeof(float));
1076 vkStream->read((VkBool32*)&forUnmarshaling->strictLines, sizeof(VkBool32));
1077 vkStream->read((VkBool32*)&forUnmarshaling->standardSampleLocations, sizeof(VkBool32));
1078 vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment,
1079 sizeof(VkDeviceSize));
1080 vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment,
1081 sizeof(VkDeviceSize));
1082 vkStream->read((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
1083 }
1084
marshal_VkPhysicalDeviceMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties * forMarshaling)1085 void marshal_VkPhysicalDeviceMemoryProperties(
1086 VulkanStream* vkStream, VkStructureType rootType,
1087 const VkPhysicalDeviceMemoryProperties* forMarshaling) {
1088 (void)rootType;
1089 vkStream->write((uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
1090 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
1091 marshal_VkMemoryType(vkStream, rootType, (VkMemoryType*)(forMarshaling->memoryTypes + i));
1092 }
1093 vkStream->write((uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
1094 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
1095 marshal_VkMemoryHeap(vkStream, rootType, (VkMemoryHeap*)(forMarshaling->memoryHeaps + i));
1096 }
1097 }
1098
unmarshal_VkPhysicalDeviceMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMemoryProperties * forUnmarshaling)1099 void unmarshal_VkPhysicalDeviceMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
1100 VkPhysicalDeviceMemoryProperties* forUnmarshaling) {
1101 (void)rootType;
1102 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeCount, sizeof(uint32_t));
1103 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
1104 unmarshal_VkMemoryType(vkStream, rootType,
1105 (VkMemoryType*)(forUnmarshaling->memoryTypes + i));
1106 }
1107 vkStream->read((uint32_t*)&forUnmarshaling->memoryHeapCount, sizeof(uint32_t));
1108 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
1109 unmarshal_VkMemoryHeap(vkStream, rootType,
1110 (VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i));
1111 }
1112 }
1113
marshal_VkPhysicalDeviceSparseProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseProperties * forMarshaling)1114 void marshal_VkPhysicalDeviceSparseProperties(
1115 VulkanStream* vkStream, VkStructureType rootType,
1116 const VkPhysicalDeviceSparseProperties* forMarshaling) {
1117 (void)rootType;
1118 vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
1119 vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape,
1120 sizeof(VkBool32));
1121 vkStream->write((VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
1122 vkStream->write((VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
1123 vkStream->write((VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
1124 }
1125
unmarshal_VkPhysicalDeviceSparseProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSparseProperties * forUnmarshaling)1126 void unmarshal_VkPhysicalDeviceSparseProperties(VulkanStream* vkStream, VkStructureType rootType,
1127 VkPhysicalDeviceSparseProperties* forUnmarshaling) {
1128 (void)rootType;
1129 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
1130 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape,
1131 sizeof(VkBool32));
1132 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
1133 vkStream->read((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, sizeof(VkBool32));
1134 vkStream->read((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, sizeof(VkBool32));
1135 }
1136
marshal_VkPhysicalDeviceProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties * forMarshaling)1137 void marshal_VkPhysicalDeviceProperties(VulkanStream* vkStream, VkStructureType rootType,
1138 const VkPhysicalDeviceProperties* forMarshaling) {
1139 (void)rootType;
1140 vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
1141 vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
1142 vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
1143 vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
1144 vkStream->write((VkPhysicalDeviceType*)&forMarshaling->deviceType,
1145 sizeof(VkPhysicalDeviceType));
1146 vkStream->write((char*)forMarshaling->deviceName,
1147 VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
1148 vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
1149 marshal_VkPhysicalDeviceLimits(vkStream, rootType,
1150 (VkPhysicalDeviceLimits*)(&forMarshaling->limits));
1151 marshal_VkPhysicalDeviceSparseProperties(
1152 vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties));
1153 }
1154
unmarshal_VkPhysicalDeviceProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProperties * forUnmarshaling)1155 void unmarshal_VkPhysicalDeviceProperties(VulkanStream* vkStream, VkStructureType rootType,
1156 VkPhysicalDeviceProperties* forUnmarshaling) {
1157 (void)rootType;
1158 vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
1159 vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t));
1160 vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
1161 vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
1162 vkStream->read((VkPhysicalDeviceType*)&forUnmarshaling->deviceType,
1163 sizeof(VkPhysicalDeviceType));
1164 vkStream->read((char*)forUnmarshaling->deviceName,
1165 VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
1166 vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
1167 unmarshal_VkPhysicalDeviceLimits(vkStream, rootType,
1168 (VkPhysicalDeviceLimits*)(&forUnmarshaling->limits));
1169 unmarshal_VkPhysicalDeviceSparseProperties(
1170 vkStream, rootType,
1171 (VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties));
1172 }
1173
marshal_VkQueueFamilyProperties(VulkanStream * vkStream,VkStructureType rootType,const VkQueueFamilyProperties * forMarshaling)1174 void marshal_VkQueueFamilyProperties(VulkanStream* vkStream, VkStructureType rootType,
1175 const VkQueueFamilyProperties* forMarshaling) {
1176 (void)rootType;
1177 vkStream->write((VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
1178 vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
1179 vkStream->write((uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
1180 marshal_VkExtent3D(vkStream, rootType,
1181 (VkExtent3D*)(&forMarshaling->minImageTransferGranularity));
1182 }
1183
unmarshal_VkQueueFamilyProperties(VulkanStream * vkStream,VkStructureType rootType,VkQueueFamilyProperties * forUnmarshaling)1184 void unmarshal_VkQueueFamilyProperties(VulkanStream* vkStream, VkStructureType rootType,
1185 VkQueueFamilyProperties* forUnmarshaling) {
1186 (void)rootType;
1187 vkStream->read((VkQueueFlags*)&forUnmarshaling->queueFlags, sizeof(VkQueueFlags));
1188 vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
1189 vkStream->read((uint32_t*)&forUnmarshaling->timestampValidBits, sizeof(uint32_t));
1190 unmarshal_VkExtent3D(vkStream, rootType,
1191 (VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity));
1192 }
1193
marshal_VkDeviceQueueCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceQueueCreateInfo * forMarshaling)1194 void marshal_VkDeviceQueueCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1195 const VkDeviceQueueCreateInfo* forMarshaling) {
1196 (void)rootType;
1197 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1198 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1199 rootType = forMarshaling->sType;
1200 }
1201 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1202 vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
1203 sizeof(VkDeviceQueueCreateFlags));
1204 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
1205 vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
1206 vkStream->write((const float*)forMarshaling->pQueuePriorities,
1207 forMarshaling->queueCount * sizeof(const float));
1208 }
1209
unmarshal_VkDeviceQueueCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceQueueCreateInfo * forUnmarshaling)1210 void unmarshal_VkDeviceQueueCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1211 VkDeviceQueueCreateInfo* forUnmarshaling) {
1212 (void)rootType;
1213 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1214 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1215 rootType = forUnmarshaling->sType;
1216 }
1217 size_t pNext_size;
1218 pNext_size = vkStream->getBe32();
1219 forUnmarshaling->pNext = nullptr;
1220 if (pNext_size) {
1221 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1222 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1223 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1224 vkStream->alloc((void**)&forUnmarshaling->pNext,
1225 goldfish_vk_extension_struct_size_with_stream_features(
1226 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1227 *(VkStructureType*)forUnmarshaling->pNext = extType;
1228 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1229 }
1230 vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
1231 sizeof(VkDeviceQueueCreateFlags));
1232 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
1233 vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
1234 vkStream->alloc((void**)&forUnmarshaling->pQueuePriorities,
1235 forUnmarshaling->queueCount * sizeof(const float));
1236 vkStream->read((float*)forUnmarshaling->pQueuePriorities,
1237 forUnmarshaling->queueCount * sizeof(const float));
1238 }
1239
marshal_VkDeviceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceCreateInfo * forMarshaling)1240 void marshal_VkDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1241 const VkDeviceCreateInfo* forMarshaling) {
1242 (void)rootType;
1243 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1244 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1245 rootType = forMarshaling->sType;
1246 }
1247 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1248 vkStream->write((VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
1249 vkStream->write((uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
1250 if (forMarshaling) {
1251 for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) {
1252 marshal_VkDeviceQueueCreateInfo(
1253 vkStream, rootType,
1254 (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i));
1255 }
1256 }
1257 vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
1258 saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
1259 vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
1260 saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
1261 forMarshaling->enabledExtensionCount);
1262 // WARNING PTR CHECK
1263 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
1264 vkStream->putBe64(cgen_var_0);
1265 if (forMarshaling->pEnabledFeatures) {
1266 marshal_VkPhysicalDeviceFeatures(
1267 vkStream, rootType, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures));
1268 }
1269 }
1270
unmarshal_VkDeviceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceCreateInfo * forUnmarshaling)1271 void unmarshal_VkDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1272 VkDeviceCreateInfo* forUnmarshaling) {
1273 (void)rootType;
1274 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1275 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1276 rootType = forUnmarshaling->sType;
1277 }
1278 size_t pNext_size;
1279 pNext_size = vkStream->getBe32();
1280 forUnmarshaling->pNext = nullptr;
1281 if (pNext_size) {
1282 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1283 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1284 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1285 vkStream->alloc((void**)&forUnmarshaling->pNext,
1286 goldfish_vk_extension_struct_size_with_stream_features(
1287 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1288 *(VkStructureType*)forUnmarshaling->pNext = extType;
1289 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1290 }
1291 vkStream->read((VkDeviceCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceCreateFlags));
1292 vkStream->read((uint32_t*)&forUnmarshaling->queueCreateInfoCount, sizeof(uint32_t));
1293 vkStream->alloc((void**)&forUnmarshaling->pQueueCreateInfos,
1294 forUnmarshaling->queueCreateInfoCount * sizeof(const VkDeviceQueueCreateInfo));
1295 if (forUnmarshaling) {
1296 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i) {
1297 unmarshal_VkDeviceQueueCreateInfo(
1298 vkStream, rootType,
1299 (VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i));
1300 }
1301 }
1302 vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
1303 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
1304 vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
1305 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
1306 // WARNING PTR CHECK
1307 forUnmarshaling->pEnabledFeatures =
1308 (const VkPhysicalDeviceFeatures*)(uintptr_t)vkStream->getBe64();
1309 if (forUnmarshaling->pEnabledFeatures) {
1310 vkStream->alloc((void**)&forUnmarshaling->pEnabledFeatures,
1311 sizeof(const VkPhysicalDeviceFeatures));
1312 unmarshal_VkPhysicalDeviceFeatures(
1313 vkStream, rootType, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures));
1314 }
1315 }
1316
marshal_VkExtensionProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExtensionProperties * forMarshaling)1317 void marshal_VkExtensionProperties(VulkanStream* vkStream, VkStructureType rootType,
1318 const VkExtensionProperties* forMarshaling) {
1319 (void)rootType;
1320 vkStream->write((char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1321 vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1322 }
1323
unmarshal_VkExtensionProperties(VulkanStream * vkStream,VkStructureType rootType,VkExtensionProperties * forUnmarshaling)1324 void unmarshal_VkExtensionProperties(VulkanStream* vkStream, VkStructureType rootType,
1325 VkExtensionProperties* forUnmarshaling) {
1326 (void)rootType;
1327 vkStream->read((char*)forUnmarshaling->extensionName,
1328 VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1329 vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
1330 }
1331
marshal_VkLayerProperties(VulkanStream * vkStream,VkStructureType rootType,const VkLayerProperties * forMarshaling)1332 void marshal_VkLayerProperties(VulkanStream* vkStream, VkStructureType rootType,
1333 const VkLayerProperties* forMarshaling) {
1334 (void)rootType;
1335 vkStream->write((char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1336 vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1337 vkStream->write((uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
1338 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1339 }
1340
unmarshal_VkLayerProperties(VulkanStream * vkStream,VkStructureType rootType,VkLayerProperties * forUnmarshaling)1341 void unmarshal_VkLayerProperties(VulkanStream* vkStream, VkStructureType rootType,
1342 VkLayerProperties* forUnmarshaling) {
1343 (void)rootType;
1344 vkStream->read((char*)forUnmarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1345 vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
1346 vkStream->read((uint32_t*)&forUnmarshaling->implementationVersion, sizeof(uint32_t));
1347 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1348 }
1349
marshal_VkSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSubmitInfo * forMarshaling)1350 void marshal_VkSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
1351 const VkSubmitInfo* forMarshaling) {
1352 (void)rootType;
1353 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1354 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1355 rootType = forMarshaling->sType;
1356 }
1357 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1358 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1359 if (forMarshaling->waitSemaphoreCount) {
1360 uint64_t* cgen_var_0;
1361 vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1362 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1363 forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
1364 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1365 }
1366 vkStream->write((const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask,
1367 forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1368 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
1369 if (forMarshaling->commandBufferCount) {
1370 uint64_t* cgen_var_1;
1371 vkStream->alloc((void**)&cgen_var_1, forMarshaling->commandBufferCount * 8);
1372 vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(
1373 forMarshaling->pCommandBuffers, cgen_var_1, forMarshaling->commandBufferCount);
1374 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->commandBufferCount * 8);
1375 }
1376 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1377 if (forMarshaling->signalSemaphoreCount) {
1378 uint64_t* cgen_var_2;
1379 vkStream->alloc((void**)&cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
1380 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1381 forMarshaling->pSignalSemaphores, cgen_var_2, forMarshaling->signalSemaphoreCount);
1382 vkStream->write((uint64_t*)cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
1383 }
1384 }
1385
unmarshal_VkSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkSubmitInfo * forUnmarshaling)1386 void unmarshal_VkSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
1387 VkSubmitInfo* forUnmarshaling) {
1388 (void)rootType;
1389 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1390 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1391 rootType = forUnmarshaling->sType;
1392 }
1393 size_t pNext_size;
1394 pNext_size = vkStream->getBe32();
1395 forUnmarshaling->pNext = nullptr;
1396 if (pNext_size) {
1397 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1398 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1399 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1400 vkStream->alloc((void**)&forUnmarshaling->pNext,
1401 goldfish_vk_extension_struct_size_with_stream_features(
1402 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1403 *(VkStructureType*)forUnmarshaling->pNext = extType;
1404 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1405 }
1406 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
1407 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
1408 forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
1409 if (forUnmarshaling->waitSemaphoreCount) {
1410 uint64_t* cgen_var_0;
1411 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1412 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1413 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1414 cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
1415 forUnmarshaling->waitSemaphoreCount);
1416 }
1417 vkStream->alloc((void**)&forUnmarshaling->pWaitDstStageMask,
1418 forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1419 vkStream->read((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask,
1420 forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1421 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
1422 vkStream->alloc((void**)&forUnmarshaling->pCommandBuffers,
1423 forUnmarshaling->commandBufferCount * sizeof(const VkCommandBuffer));
1424 if (forUnmarshaling->commandBufferCount) {
1425 uint64_t* cgen_var_1;
1426 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->commandBufferCount * 8);
1427 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->commandBufferCount * 8);
1428 vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(
1429 cgen_var_1, (VkCommandBuffer*)forUnmarshaling->pCommandBuffers,
1430 forUnmarshaling->commandBufferCount);
1431 }
1432 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
1433 vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
1434 forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
1435 if (forUnmarshaling->signalSemaphoreCount) {
1436 uint64_t* cgen_var_2;
1437 vkStream->alloc((void**)&cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
1438 vkStream->read((uint64_t*)cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
1439 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1440 cgen_var_2, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
1441 forUnmarshaling->signalSemaphoreCount);
1442 }
1443 }
1444
marshal_VkMappedMemoryRange(VulkanStream * vkStream,VkStructureType rootType,const VkMappedMemoryRange * forMarshaling)1445 void marshal_VkMappedMemoryRange(VulkanStream* vkStream, VkStructureType rootType,
1446 const VkMappedMemoryRange* forMarshaling) {
1447 (void)rootType;
1448 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1449 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1450 rootType = forMarshaling->sType;
1451 }
1452 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1453 uint64_t cgen_var_0;
1454 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1455 1);
1456 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1457 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1458 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1459 }
1460
unmarshal_VkMappedMemoryRange(VulkanStream * vkStream,VkStructureType rootType,VkMappedMemoryRange * forUnmarshaling)1461 void unmarshal_VkMappedMemoryRange(VulkanStream* vkStream, VkStructureType rootType,
1462 VkMappedMemoryRange* forUnmarshaling) {
1463 (void)rootType;
1464 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1465 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1466 rootType = forUnmarshaling->sType;
1467 }
1468 size_t pNext_size;
1469 pNext_size = vkStream->getBe32();
1470 forUnmarshaling->pNext = nullptr;
1471 if (pNext_size) {
1472 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1473 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1474 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1475 vkStream->alloc((void**)&forUnmarshaling->pNext,
1476 goldfish_vk_extension_struct_size_with_stream_features(
1477 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1478 *(VkStructureType*)forUnmarshaling->pNext = extType;
1479 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1480 }
1481 uint64_t cgen_var_0;
1482 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1483 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1484 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1485 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
1486 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1487 }
1488
marshal_VkMemoryAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryAllocateInfo * forMarshaling)1489 void marshal_VkMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
1490 const VkMemoryAllocateInfo* forMarshaling) {
1491 (void)rootType;
1492 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1493 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1494 rootType = forMarshaling->sType;
1495 }
1496 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1497 vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
1498 vkStream->write((uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
1499 }
1500
unmarshal_VkMemoryAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkMemoryAllocateInfo * forUnmarshaling)1501 void unmarshal_VkMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
1502 VkMemoryAllocateInfo* forUnmarshaling) {
1503 (void)rootType;
1504 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1505 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1506 rootType = forUnmarshaling->sType;
1507 }
1508 size_t pNext_size;
1509 pNext_size = vkStream->getBe32();
1510 forUnmarshaling->pNext = nullptr;
1511 if (pNext_size) {
1512 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1513 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1514 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1515 vkStream->alloc((void**)&forUnmarshaling->pNext,
1516 goldfish_vk_extension_struct_size_with_stream_features(
1517 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1518 *(VkStructureType*)forUnmarshaling->pNext = extType;
1519 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1520 }
1521 vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize));
1522 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeIndex, sizeof(uint32_t));
1523 }
1524
marshal_VkMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryRequirements * forMarshaling)1525 void marshal_VkMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
1526 const VkMemoryRequirements* forMarshaling) {
1527 (void)rootType;
1528 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1529 vkStream->write((VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
1530 vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
1531 }
1532
unmarshal_VkMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,VkMemoryRequirements * forUnmarshaling)1533 void unmarshal_VkMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
1534 VkMemoryRequirements* forUnmarshaling) {
1535 (void)rootType;
1536 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1537 vkStream->read((VkDeviceSize*)&forUnmarshaling->alignment, sizeof(VkDeviceSize));
1538 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
1539 }
1540
marshal_VkSparseMemoryBind(VulkanStream * vkStream,VkStructureType rootType,const VkSparseMemoryBind * forMarshaling)1541 void marshal_VkSparseMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
1542 const VkSparseMemoryBind* forMarshaling) {
1543 (void)rootType;
1544 vkStream->write((VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
1545 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1546 uint64_t cgen_var_0;
1547 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1548 1);
1549 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1550 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1551 vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
1552 sizeof(VkSparseMemoryBindFlags));
1553 }
1554
unmarshal_VkSparseMemoryBind(VulkanStream * vkStream,VkStructureType rootType,VkSparseMemoryBind * forUnmarshaling)1555 void unmarshal_VkSparseMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
1556 VkSparseMemoryBind* forUnmarshaling) {
1557 (void)rootType;
1558 vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceOffset, sizeof(VkDeviceSize));
1559 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1560 uint64_t cgen_var_0;
1561 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1562 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1563 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1564 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
1565 vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
1566 sizeof(VkSparseMemoryBindFlags));
1567 }
1568
marshal_VkSparseBufferMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSparseBufferMemoryBindInfo * forMarshaling)1569 void marshal_VkSparseBufferMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
1570 const VkSparseBufferMemoryBindInfo* forMarshaling) {
1571 (void)rootType;
1572 uint64_t cgen_var_0;
1573 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
1574 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1575 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1576 if (forMarshaling) {
1577 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1578 marshal_VkSparseMemoryBind(vkStream, rootType,
1579 (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
1580 }
1581 }
1582 }
1583
unmarshal_VkSparseBufferMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,VkSparseBufferMemoryBindInfo * forUnmarshaling)1584 void unmarshal_VkSparseBufferMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
1585 VkSparseBufferMemoryBindInfo* forUnmarshaling) {
1586 (void)rootType;
1587 uint64_t cgen_var_0;
1588 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1589 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
1590 (VkBuffer*)&forUnmarshaling->buffer, 1);
1591 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1592 vkStream->alloc((void**)&forUnmarshaling->pBinds,
1593 forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
1594 if (forUnmarshaling) {
1595 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1596 unmarshal_VkSparseMemoryBind(vkStream, rootType,
1597 (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
1598 }
1599 }
1600 }
1601
marshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageOpaqueMemoryBindInfo * forMarshaling)1602 void marshal_VkSparseImageOpaqueMemoryBindInfo(
1603 VulkanStream* vkStream, VkStructureType rootType,
1604 const VkSparseImageOpaqueMemoryBindInfo* forMarshaling) {
1605 (void)rootType;
1606 uint64_t cgen_var_0;
1607 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
1608 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1609 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1610 if (forMarshaling) {
1611 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1612 marshal_VkSparseMemoryBind(vkStream, rootType,
1613 (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
1614 }
1615 }
1616 }
1617
unmarshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageOpaqueMemoryBindInfo * forUnmarshaling)1618 void unmarshal_VkSparseImageOpaqueMemoryBindInfo(
1619 VulkanStream* vkStream, VkStructureType rootType,
1620 VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling) {
1621 (void)rootType;
1622 uint64_t cgen_var_0;
1623 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1624 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
1625 (VkImage*)&forUnmarshaling->image, 1);
1626 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1627 vkStream->alloc((void**)&forUnmarshaling->pBinds,
1628 forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
1629 if (forUnmarshaling) {
1630 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1631 unmarshal_VkSparseMemoryBind(vkStream, rootType,
1632 (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
1633 }
1634 }
1635 }
1636
marshal_VkImageSubresource(VulkanStream * vkStream,VkStructureType rootType,const VkImageSubresource * forMarshaling)1637 void marshal_VkImageSubresource(VulkanStream* vkStream, VkStructureType rootType,
1638 const VkImageSubresource* forMarshaling) {
1639 (void)rootType;
1640 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1641 vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
1642 vkStream->write((uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
1643 }
1644
unmarshal_VkImageSubresource(VulkanStream * vkStream,VkStructureType rootType,VkImageSubresource * forUnmarshaling)1645 void unmarshal_VkImageSubresource(VulkanStream* vkStream, VkStructureType rootType,
1646 VkImageSubresource* forUnmarshaling) {
1647 (void)rootType;
1648 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
1649 vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
1650 vkStream->read((uint32_t*)&forUnmarshaling->arrayLayer, sizeof(uint32_t));
1651 }
1652
marshal_VkSparseImageMemoryBind(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageMemoryBind * forMarshaling)1653 void marshal_VkSparseImageMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
1654 const VkSparseImageMemoryBind* forMarshaling) {
1655 (void)rootType;
1656 marshal_VkImageSubresource(vkStream, rootType,
1657 (VkImageSubresource*)(&forMarshaling->subresource));
1658 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->offset));
1659 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
1660 uint64_t cgen_var_0;
1661 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1662 1);
1663 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1664 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1665 vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
1666 sizeof(VkSparseMemoryBindFlags));
1667 }
1668
unmarshal_VkSparseImageMemoryBind(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageMemoryBind * forUnmarshaling)1669 void unmarshal_VkSparseImageMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
1670 VkSparseImageMemoryBind* forUnmarshaling) {
1671 (void)rootType;
1672 unmarshal_VkImageSubresource(vkStream, rootType,
1673 (VkImageSubresource*)(&forUnmarshaling->subresource));
1674 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->offset));
1675 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
1676 uint64_t cgen_var_0;
1677 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1678 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1679 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1680 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
1681 vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
1682 sizeof(VkSparseMemoryBindFlags));
1683 }
1684
marshal_VkSparseImageMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageMemoryBindInfo * forMarshaling)1685 void marshal_VkSparseImageMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
1686 const VkSparseImageMemoryBindInfo* forMarshaling) {
1687 (void)rootType;
1688 uint64_t cgen_var_0;
1689 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
1690 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1691 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1692 if (forMarshaling) {
1693 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1694 marshal_VkSparseImageMemoryBind(
1695 vkStream, rootType, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i));
1696 }
1697 }
1698 }
1699
unmarshal_VkSparseImageMemoryBindInfo(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageMemoryBindInfo * forUnmarshaling)1700 void unmarshal_VkSparseImageMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
1701 VkSparseImageMemoryBindInfo* forUnmarshaling) {
1702 (void)rootType;
1703 uint64_t cgen_var_0;
1704 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1705 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
1706 (VkImage*)&forUnmarshaling->image, 1);
1707 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1708 vkStream->alloc((void**)&forUnmarshaling->pBinds,
1709 forUnmarshaling->bindCount * sizeof(const VkSparseImageMemoryBind));
1710 if (forUnmarshaling) {
1711 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1712 unmarshal_VkSparseImageMemoryBind(
1713 vkStream, rootType, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i));
1714 }
1715 }
1716 }
1717
marshal_VkBindSparseInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindSparseInfo * forMarshaling)1718 void marshal_VkBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
1719 const VkBindSparseInfo* forMarshaling) {
1720 (void)rootType;
1721 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1722 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1723 rootType = forMarshaling->sType;
1724 }
1725 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1726 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1727 if (forMarshaling->waitSemaphoreCount) {
1728 uint64_t* cgen_var_0;
1729 vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1730 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1731 forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
1732 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1733 }
1734 vkStream->write((uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
1735 if (forMarshaling) {
1736 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) {
1737 marshal_VkSparseBufferMemoryBindInfo(
1738 vkStream, rootType,
1739 (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i));
1740 }
1741 }
1742 vkStream->write((uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1743 if (forMarshaling) {
1744 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) {
1745 marshal_VkSparseImageOpaqueMemoryBindInfo(
1746 vkStream, rootType,
1747 (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i));
1748 }
1749 }
1750 vkStream->write((uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
1751 if (forMarshaling) {
1752 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) {
1753 marshal_VkSparseImageMemoryBindInfo(
1754 vkStream, rootType,
1755 (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i));
1756 }
1757 }
1758 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1759 if (forMarshaling->signalSemaphoreCount) {
1760 uint64_t* cgen_var_1;
1761 vkStream->alloc((void**)&cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
1762 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1763 forMarshaling->pSignalSemaphores, cgen_var_1, forMarshaling->signalSemaphoreCount);
1764 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
1765 }
1766 }
1767
unmarshal_VkBindSparseInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindSparseInfo * forUnmarshaling)1768 void unmarshal_VkBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
1769 VkBindSparseInfo* forUnmarshaling) {
1770 (void)rootType;
1771 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1772 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1773 rootType = forUnmarshaling->sType;
1774 }
1775 size_t pNext_size;
1776 pNext_size = vkStream->getBe32();
1777 forUnmarshaling->pNext = nullptr;
1778 if (pNext_size) {
1779 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1780 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1781 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1782 vkStream->alloc((void**)&forUnmarshaling->pNext,
1783 goldfish_vk_extension_struct_size_with_stream_features(
1784 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1785 *(VkStructureType*)forUnmarshaling->pNext = extType;
1786 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1787 }
1788 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
1789 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
1790 forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
1791 if (forUnmarshaling->waitSemaphoreCount) {
1792 uint64_t* cgen_var_0;
1793 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1794 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1795 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1796 cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
1797 forUnmarshaling->waitSemaphoreCount);
1798 }
1799 vkStream->read((uint32_t*)&forUnmarshaling->bufferBindCount, sizeof(uint32_t));
1800 vkStream->alloc((void**)&forUnmarshaling->pBufferBinds,
1801 forUnmarshaling->bufferBindCount * sizeof(const VkSparseBufferMemoryBindInfo));
1802 if (forUnmarshaling) {
1803 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i) {
1804 unmarshal_VkSparseBufferMemoryBindInfo(
1805 vkStream, rootType,
1806 (VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i));
1807 }
1808 }
1809 vkStream->read((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1810 vkStream->alloc(
1811 (void**)&forUnmarshaling->pImageOpaqueBinds,
1812 forUnmarshaling->imageOpaqueBindCount * sizeof(const VkSparseImageOpaqueMemoryBindInfo));
1813 if (forUnmarshaling) {
1814 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i) {
1815 unmarshal_VkSparseImageOpaqueMemoryBindInfo(
1816 vkStream, rootType,
1817 (VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i));
1818 }
1819 }
1820 vkStream->read((uint32_t*)&forUnmarshaling->imageBindCount, sizeof(uint32_t));
1821 vkStream->alloc((void**)&forUnmarshaling->pImageBinds,
1822 forUnmarshaling->imageBindCount * sizeof(const VkSparseImageMemoryBindInfo));
1823 if (forUnmarshaling) {
1824 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i) {
1825 unmarshal_VkSparseImageMemoryBindInfo(
1826 vkStream, rootType,
1827 (VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i));
1828 }
1829 }
1830 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
1831 vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
1832 forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
1833 if (forUnmarshaling->signalSemaphoreCount) {
1834 uint64_t* cgen_var_1;
1835 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
1836 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
1837 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1838 cgen_var_1, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
1839 forUnmarshaling->signalSemaphoreCount);
1840 }
1841 }
1842
marshal_VkSparseImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties * forMarshaling)1843 void marshal_VkSparseImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
1844 const VkSparseImageFormatProperties* forMarshaling) {
1845 (void)rootType;
1846 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1847 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageGranularity));
1848 vkStream->write((VkSparseImageFormatFlags*)&forMarshaling->flags,
1849 sizeof(VkSparseImageFormatFlags));
1850 }
1851
unmarshal_VkSparseImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageFormatProperties * forUnmarshaling)1852 void unmarshal_VkSparseImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
1853 VkSparseImageFormatProperties* forUnmarshaling) {
1854 (void)rootType;
1855 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
1856 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageGranularity));
1857 vkStream->read((VkSparseImageFormatFlags*)&forUnmarshaling->flags,
1858 sizeof(VkSparseImageFormatFlags));
1859 }
1860
marshal_VkSparseImageMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements * forMarshaling)1861 void marshal_VkSparseImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
1862 const VkSparseImageMemoryRequirements* forMarshaling) {
1863 (void)rootType;
1864 marshal_VkSparseImageFormatProperties(
1865 vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties));
1866 vkStream->write((uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1867 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1868 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1869 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1870 }
1871
unmarshal_VkSparseImageMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageMemoryRequirements * forUnmarshaling)1872 void unmarshal_VkSparseImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
1873 VkSparseImageMemoryRequirements* forUnmarshaling) {
1874 (void)rootType;
1875 unmarshal_VkSparseImageFormatProperties(
1876 vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties));
1877 vkStream->read((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1878 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1879 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1880 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1881 }
1882
marshal_VkFenceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkFenceCreateInfo * forMarshaling)1883 void marshal_VkFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1884 const VkFenceCreateInfo* forMarshaling) {
1885 (void)rootType;
1886 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1887 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1888 rootType = forMarshaling->sType;
1889 }
1890 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1891 vkStream->write((VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
1892 }
1893
unmarshal_VkFenceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkFenceCreateInfo * forUnmarshaling)1894 void unmarshal_VkFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1895 VkFenceCreateInfo* forUnmarshaling) {
1896 (void)rootType;
1897 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1898 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1899 rootType = forUnmarshaling->sType;
1900 }
1901 size_t pNext_size;
1902 pNext_size = vkStream->getBe32();
1903 forUnmarshaling->pNext = nullptr;
1904 if (pNext_size) {
1905 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1906 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1907 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1908 vkStream->alloc((void**)&forUnmarshaling->pNext,
1909 goldfish_vk_extension_struct_size_with_stream_features(
1910 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1911 *(VkStructureType*)forUnmarshaling->pNext = extType;
1912 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1913 }
1914 vkStream->read((VkFenceCreateFlags*)&forUnmarshaling->flags, sizeof(VkFenceCreateFlags));
1915 }
1916
marshal_VkSemaphoreCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreCreateInfo * forMarshaling)1917 void marshal_VkSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1918 const VkSemaphoreCreateInfo* forMarshaling) {
1919 (void)rootType;
1920 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1921 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1922 rootType = forMarshaling->sType;
1923 }
1924 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1925 vkStream->write((VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
1926 }
1927
unmarshal_VkSemaphoreCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreCreateInfo * forUnmarshaling)1928 void unmarshal_VkSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1929 VkSemaphoreCreateInfo* forUnmarshaling) {
1930 (void)rootType;
1931 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1932 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1933 rootType = forUnmarshaling->sType;
1934 }
1935 size_t pNext_size;
1936 pNext_size = vkStream->getBe32();
1937 forUnmarshaling->pNext = nullptr;
1938 if (pNext_size) {
1939 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1940 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1941 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1942 vkStream->alloc((void**)&forUnmarshaling->pNext,
1943 goldfish_vk_extension_struct_size_with_stream_features(
1944 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1945 *(VkStructureType*)forUnmarshaling->pNext = extType;
1946 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1947 }
1948 vkStream->read((VkSemaphoreCreateFlags*)&forUnmarshaling->flags,
1949 sizeof(VkSemaphoreCreateFlags));
1950 }
1951
marshal_VkEventCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkEventCreateInfo * forMarshaling)1952 void marshal_VkEventCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1953 const VkEventCreateInfo* forMarshaling) {
1954 (void)rootType;
1955 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1956 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1957 rootType = forMarshaling->sType;
1958 }
1959 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1960 vkStream->write((VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
1961 }
1962
unmarshal_VkEventCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkEventCreateInfo * forUnmarshaling)1963 void unmarshal_VkEventCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1964 VkEventCreateInfo* forUnmarshaling) {
1965 (void)rootType;
1966 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1967 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1968 rootType = forUnmarshaling->sType;
1969 }
1970 size_t pNext_size;
1971 pNext_size = vkStream->getBe32();
1972 forUnmarshaling->pNext = nullptr;
1973 if (pNext_size) {
1974 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
1975 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
1976 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
1977 vkStream->alloc((void**)&forUnmarshaling->pNext,
1978 goldfish_vk_extension_struct_size_with_stream_features(
1979 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
1980 *(VkStructureType*)forUnmarshaling->pNext = extType;
1981 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1982 }
1983 vkStream->read((VkEventCreateFlags*)&forUnmarshaling->flags, sizeof(VkEventCreateFlags));
1984 }
1985
marshal_VkQueryPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkQueryPoolCreateInfo * forMarshaling)1986 void marshal_VkQueryPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
1987 const VkQueryPoolCreateInfo* forMarshaling) {
1988 (void)rootType;
1989 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1990 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1991 rootType = forMarshaling->sType;
1992 }
1993 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1994 vkStream->write((VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
1995 vkStream->write((VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
1996 vkStream->write((uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
1997 vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
1998 sizeof(VkQueryPipelineStatisticFlags));
1999 }
2000
unmarshal_VkQueryPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkQueryPoolCreateInfo * forUnmarshaling)2001 void unmarshal_VkQueryPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2002 VkQueryPoolCreateInfo* forUnmarshaling) {
2003 (void)rootType;
2004 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2005 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2006 rootType = forUnmarshaling->sType;
2007 }
2008 size_t pNext_size;
2009 pNext_size = vkStream->getBe32();
2010 forUnmarshaling->pNext = nullptr;
2011 if (pNext_size) {
2012 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2013 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2014 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2015 vkStream->alloc((void**)&forUnmarshaling->pNext,
2016 goldfish_vk_extension_struct_size_with_stream_features(
2017 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2018 *(VkStructureType*)forUnmarshaling->pNext = extType;
2019 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2020 }
2021 vkStream->read((VkQueryPoolCreateFlags*)&forUnmarshaling->flags,
2022 sizeof(VkQueryPoolCreateFlags));
2023 vkStream->read((VkQueryType*)&forUnmarshaling->queryType, sizeof(VkQueryType));
2024 vkStream->read((uint32_t*)&forUnmarshaling->queryCount, sizeof(uint32_t));
2025 vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
2026 sizeof(VkQueryPipelineStatisticFlags));
2027 }
2028
marshal_VkBufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBufferCreateInfo * forMarshaling)2029 void marshal_VkBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2030 const VkBufferCreateInfo* forMarshaling) {
2031 (void)rootType;
2032 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2033 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2034 rootType = forMarshaling->sType;
2035 }
2036 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2037 vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
2038 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
2039 vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
2040 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
2041 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
2042 // WARNING PTR CHECK
2043 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
2044 vkStream->putBe64(cgen_var_0);
2045 if (forMarshaling->pQueueFamilyIndices) {
2046 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
2047 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2048 }
2049 }
2050
unmarshal_VkBufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkBufferCreateInfo * forUnmarshaling)2051 void unmarshal_VkBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2052 VkBufferCreateInfo* forUnmarshaling) {
2053 (void)rootType;
2054 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2055 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2056 rootType = forUnmarshaling->sType;
2057 }
2058 size_t pNext_size;
2059 pNext_size = vkStream->getBe32();
2060 forUnmarshaling->pNext = nullptr;
2061 if (pNext_size) {
2062 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2063 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2064 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2065 vkStream->alloc((void**)&forUnmarshaling->pNext,
2066 goldfish_vk_extension_struct_size_with_stream_features(
2067 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2068 *(VkStructureType*)forUnmarshaling->pNext = extType;
2069 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2070 }
2071 vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
2072 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
2073 vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
2074 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
2075 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
2076 // WARNING PTR CHECK
2077 forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
2078 if (forUnmarshaling->pQueueFamilyIndices) {
2079 vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
2080 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2081 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
2082 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2083 }
2084 }
2085
marshal_VkBufferViewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBufferViewCreateInfo * forMarshaling)2086 void marshal_VkBufferViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2087 const VkBufferViewCreateInfo* forMarshaling) {
2088 (void)rootType;
2089 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2090 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2091 rootType = forMarshaling->sType;
2092 }
2093 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2094 vkStream->write((VkBufferViewCreateFlags*)&forMarshaling->flags,
2095 sizeof(VkBufferViewCreateFlags));
2096 uint64_t cgen_var_0;
2097 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
2098 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2099 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2100 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
2101 vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
2102 }
2103
unmarshal_VkBufferViewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkBufferViewCreateInfo * forUnmarshaling)2104 void unmarshal_VkBufferViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2105 VkBufferViewCreateInfo* forUnmarshaling) {
2106 (void)rootType;
2107 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2108 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2109 rootType = forUnmarshaling->sType;
2110 }
2111 size_t pNext_size;
2112 pNext_size = vkStream->getBe32();
2113 forUnmarshaling->pNext = nullptr;
2114 if (pNext_size) {
2115 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2116 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2117 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2118 vkStream->alloc((void**)&forUnmarshaling->pNext,
2119 goldfish_vk_extension_struct_size_with_stream_features(
2120 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2121 *(VkStructureType*)forUnmarshaling->pNext = extType;
2122 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2123 }
2124 vkStream->read((VkBufferViewCreateFlags*)&forUnmarshaling->flags,
2125 sizeof(VkBufferViewCreateFlags));
2126 uint64_t cgen_var_0;
2127 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2128 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
2129 (VkBuffer*)&forUnmarshaling->buffer, 1);
2130 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2131 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
2132 vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
2133 }
2134
marshal_VkImageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImageCreateInfo * forMarshaling)2135 void marshal_VkImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2136 const VkImageCreateInfo* forMarshaling) {
2137 (void)rootType;
2138 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2139 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2140 rootType = forMarshaling->sType;
2141 }
2142 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2143 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
2144 vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
2145 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2146 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
2147 vkStream->write((uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
2148 vkStream->write((uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
2149 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
2150 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
2151 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
2152 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
2153 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
2154 // WARNING PTR CHECK
2155 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
2156 vkStream->putBe64(cgen_var_0);
2157 if (forMarshaling->pQueueFamilyIndices) {
2158 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
2159 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2160 }
2161 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
2162 }
2163
unmarshal_VkImageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkImageCreateInfo * forUnmarshaling)2164 void unmarshal_VkImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2165 VkImageCreateInfo* forUnmarshaling) {
2166 (void)rootType;
2167 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2168 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2169 rootType = forUnmarshaling->sType;
2170 }
2171 size_t pNext_size;
2172 pNext_size = vkStream->getBe32();
2173 forUnmarshaling->pNext = nullptr;
2174 if (pNext_size) {
2175 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2176 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2177 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2178 vkStream->alloc((void**)&forUnmarshaling->pNext,
2179 goldfish_vk_extension_struct_size_with_stream_features(
2180 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2181 *(VkStructureType*)forUnmarshaling->pNext = extType;
2182 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2183 }
2184 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
2185 vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType));
2186 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2187 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
2188 vkStream->read((uint32_t*)&forUnmarshaling->mipLevels, sizeof(uint32_t));
2189 vkStream->read((uint32_t*)&forUnmarshaling->arrayLayers, sizeof(uint32_t));
2190 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
2191 sizeof(VkSampleCountFlagBits));
2192 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
2193 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
2194 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
2195 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
2196 // WARNING PTR CHECK
2197 forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
2198 if (forUnmarshaling->pQueueFamilyIndices) {
2199 vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
2200 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2201 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
2202 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
2203 }
2204 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
2205 }
2206
marshal_VkSubresourceLayout(VulkanStream * vkStream,VkStructureType rootType,const VkSubresourceLayout * forMarshaling)2207 void marshal_VkSubresourceLayout(VulkanStream* vkStream, VkStructureType rootType,
2208 const VkSubresourceLayout* forMarshaling) {
2209 (void)rootType;
2210 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
2211 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
2212 vkStream->write((VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
2213 vkStream->write((VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
2214 vkStream->write((VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
2215 }
2216
unmarshal_VkSubresourceLayout(VulkanStream * vkStream,VkStructureType rootType,VkSubresourceLayout * forUnmarshaling)2217 void unmarshal_VkSubresourceLayout(VulkanStream* vkStream, VkStructureType rootType,
2218 VkSubresourceLayout* forUnmarshaling) {
2219 (void)rootType;
2220 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
2221 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
2222 vkStream->read((VkDeviceSize*)&forUnmarshaling->rowPitch, sizeof(VkDeviceSize));
2223 vkStream->read((VkDeviceSize*)&forUnmarshaling->arrayPitch, sizeof(VkDeviceSize));
2224 vkStream->read((VkDeviceSize*)&forUnmarshaling->depthPitch, sizeof(VkDeviceSize));
2225 }
2226
marshal_VkComponentMapping(VulkanStream * vkStream,VkStructureType rootType,const VkComponentMapping * forMarshaling)2227 void marshal_VkComponentMapping(VulkanStream* vkStream, VkStructureType rootType,
2228 const VkComponentMapping* forMarshaling) {
2229 (void)rootType;
2230 vkStream->write((VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
2231 vkStream->write((VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
2232 vkStream->write((VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
2233 vkStream->write((VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
2234 }
2235
unmarshal_VkComponentMapping(VulkanStream * vkStream,VkStructureType rootType,VkComponentMapping * forUnmarshaling)2236 void unmarshal_VkComponentMapping(VulkanStream* vkStream, VkStructureType rootType,
2237 VkComponentMapping* forUnmarshaling) {
2238 (void)rootType;
2239 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->r, sizeof(VkComponentSwizzle));
2240 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->g, sizeof(VkComponentSwizzle));
2241 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->b, sizeof(VkComponentSwizzle));
2242 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->a, sizeof(VkComponentSwizzle));
2243 }
2244
marshal_VkImageViewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImageViewCreateInfo * forMarshaling)2245 void marshal_VkImageViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2246 const VkImageViewCreateInfo* forMarshaling) {
2247 (void)rootType;
2248 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2249 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2250 rootType = forMarshaling->sType;
2251 }
2252 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2253 vkStream->write((VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
2254 uint64_t cgen_var_0;
2255 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
2256 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2257 vkStream->write((VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
2258 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2259 marshal_VkComponentMapping(vkStream, rootType,
2260 (VkComponentMapping*)(&forMarshaling->components));
2261 marshal_VkImageSubresourceRange(vkStream, rootType,
2262 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
2263 }
2264
unmarshal_VkImageViewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkImageViewCreateInfo * forUnmarshaling)2265 void unmarshal_VkImageViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2266 VkImageViewCreateInfo* forUnmarshaling) {
2267 (void)rootType;
2268 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2269 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2270 rootType = forUnmarshaling->sType;
2271 }
2272 size_t pNext_size;
2273 pNext_size = vkStream->getBe32();
2274 forUnmarshaling->pNext = nullptr;
2275 if (pNext_size) {
2276 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2277 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2278 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2279 vkStream->alloc((void**)&forUnmarshaling->pNext,
2280 goldfish_vk_extension_struct_size_with_stream_features(
2281 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2282 *(VkStructureType*)forUnmarshaling->pNext = extType;
2283 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2284 }
2285 vkStream->read((VkImageViewCreateFlags*)&forUnmarshaling->flags,
2286 sizeof(VkImageViewCreateFlags));
2287 uint64_t cgen_var_0;
2288 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2289 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
2290 (VkImage*)&forUnmarshaling->image, 1);
2291 vkStream->read((VkImageViewType*)&forUnmarshaling->viewType, sizeof(VkImageViewType));
2292 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2293 unmarshal_VkComponentMapping(vkStream, rootType,
2294 (VkComponentMapping*)(&forUnmarshaling->components));
2295 unmarshal_VkImageSubresourceRange(
2296 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
2297 }
2298
marshal_VkShaderModuleCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkShaderModuleCreateInfo * forMarshaling)2299 void marshal_VkShaderModuleCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2300 const VkShaderModuleCreateInfo* forMarshaling) {
2301 (void)rootType;
2302 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2303 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2304 rootType = forMarshaling->sType;
2305 }
2306 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2307 vkStream->write((VkShaderModuleCreateFlags*)&forMarshaling->flags,
2308 sizeof(VkShaderModuleCreateFlags));
2309 uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
2310 vkStream->putBe64(cgen_var_0);
2311 vkStream->write((const uint32_t*)forMarshaling->pCode,
2312 (forMarshaling->codeSize / 4) * sizeof(const uint32_t));
2313 }
2314
unmarshal_VkShaderModuleCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkShaderModuleCreateInfo * forUnmarshaling)2315 void unmarshal_VkShaderModuleCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2316 VkShaderModuleCreateInfo* forUnmarshaling) {
2317 (void)rootType;
2318 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2319 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2320 rootType = forUnmarshaling->sType;
2321 }
2322 size_t pNext_size;
2323 pNext_size = vkStream->getBe32();
2324 forUnmarshaling->pNext = nullptr;
2325 if (pNext_size) {
2326 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2327 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2328 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2329 vkStream->alloc((void**)&forUnmarshaling->pNext,
2330 goldfish_vk_extension_struct_size_with_stream_features(
2331 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2332 *(VkStructureType*)forUnmarshaling->pNext = extType;
2333 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2334 }
2335 vkStream->read((VkShaderModuleCreateFlags*)&forUnmarshaling->flags,
2336 sizeof(VkShaderModuleCreateFlags));
2337 forUnmarshaling->codeSize = (size_t)vkStream->getBe64();
2338 vkStream->alloc((void**)&forUnmarshaling->pCode,
2339 (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
2340 vkStream->read((uint32_t*)forUnmarshaling->pCode,
2341 (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
2342 }
2343
marshal_VkPipelineCacheCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineCacheCreateInfo * forMarshaling)2344 void marshal_VkPipelineCacheCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2345 const VkPipelineCacheCreateInfo* forMarshaling) {
2346 (void)rootType;
2347 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2349 rootType = forMarshaling->sType;
2350 }
2351 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2352 vkStream->write((VkPipelineCacheCreateFlags*)&forMarshaling->flags,
2353 sizeof(VkPipelineCacheCreateFlags));
2354 uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
2355 vkStream->putBe64(cgen_var_0);
2356 vkStream->write((const void*)forMarshaling->pInitialData,
2357 forMarshaling->initialDataSize * sizeof(const uint8_t));
2358 }
2359
unmarshal_VkPipelineCacheCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineCacheCreateInfo * forUnmarshaling)2360 void unmarshal_VkPipelineCacheCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2361 VkPipelineCacheCreateInfo* forUnmarshaling) {
2362 (void)rootType;
2363 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2364 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2365 rootType = forUnmarshaling->sType;
2366 }
2367 size_t pNext_size;
2368 pNext_size = vkStream->getBe32();
2369 forUnmarshaling->pNext = nullptr;
2370 if (pNext_size) {
2371 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2372 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2373 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2374 vkStream->alloc((void**)&forUnmarshaling->pNext,
2375 goldfish_vk_extension_struct_size_with_stream_features(
2376 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2377 *(VkStructureType*)forUnmarshaling->pNext = extType;
2378 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2379 }
2380 vkStream->read((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags,
2381 sizeof(VkPipelineCacheCreateFlags));
2382 forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64();
2383 vkStream->alloc((void**)&forUnmarshaling->pInitialData,
2384 forUnmarshaling->initialDataSize * sizeof(const uint8_t));
2385 vkStream->read((void*)forUnmarshaling->pInitialData,
2386 forUnmarshaling->initialDataSize * sizeof(const uint8_t));
2387 }
2388
marshal_VkSpecializationMapEntry(VulkanStream * vkStream,VkStructureType rootType,const VkSpecializationMapEntry * forMarshaling)2389 void marshal_VkSpecializationMapEntry(VulkanStream* vkStream, VkStructureType rootType,
2390 const VkSpecializationMapEntry* forMarshaling) {
2391 (void)rootType;
2392 vkStream->write((uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
2393 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2394 uint64_t cgen_var_0 = (uint64_t)forMarshaling->size;
2395 vkStream->putBe64(cgen_var_0);
2396 }
2397
unmarshal_VkSpecializationMapEntry(VulkanStream * vkStream,VkStructureType rootType,VkSpecializationMapEntry * forUnmarshaling)2398 void unmarshal_VkSpecializationMapEntry(VulkanStream* vkStream, VkStructureType rootType,
2399 VkSpecializationMapEntry* forUnmarshaling) {
2400 (void)rootType;
2401 vkStream->read((uint32_t*)&forUnmarshaling->constantID, sizeof(uint32_t));
2402 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
2403 forUnmarshaling->size = (size_t)vkStream->getBe64();
2404 }
2405
marshal_VkSpecializationInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSpecializationInfo * forMarshaling)2406 void marshal_VkSpecializationInfo(VulkanStream* vkStream, VkStructureType rootType,
2407 const VkSpecializationInfo* forMarshaling) {
2408 (void)rootType;
2409 vkStream->write((uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
2410 if (forMarshaling) {
2411 for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) {
2412 marshal_VkSpecializationMapEntry(
2413 vkStream, rootType,
2414 (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i));
2415 }
2416 }
2417 uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
2418 vkStream->putBe64(cgen_var_0);
2419 vkStream->write((const void*)forMarshaling->pData,
2420 forMarshaling->dataSize * sizeof(const uint8_t));
2421 }
2422
unmarshal_VkSpecializationInfo(VulkanStream * vkStream,VkStructureType rootType,VkSpecializationInfo * forUnmarshaling)2423 void unmarshal_VkSpecializationInfo(VulkanStream* vkStream, VkStructureType rootType,
2424 VkSpecializationInfo* forUnmarshaling) {
2425 (void)rootType;
2426 vkStream->read((uint32_t*)&forUnmarshaling->mapEntryCount, sizeof(uint32_t));
2427 vkStream->alloc((void**)&forUnmarshaling->pMapEntries,
2428 forUnmarshaling->mapEntryCount * sizeof(const VkSpecializationMapEntry));
2429 if (forUnmarshaling) {
2430 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i) {
2431 unmarshal_VkSpecializationMapEntry(
2432 vkStream, rootType, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i));
2433 }
2434 }
2435 forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
2436 vkStream->alloc((void**)&forUnmarshaling->pData,
2437 forUnmarshaling->dataSize * sizeof(const uint8_t));
2438 vkStream->read((void*)forUnmarshaling->pData,
2439 forUnmarshaling->dataSize * sizeof(const uint8_t));
2440 }
2441
marshal_VkPipelineShaderStageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineShaderStageCreateInfo * forMarshaling)2442 void marshal_VkPipelineShaderStageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2443 const VkPipelineShaderStageCreateInfo* forMarshaling) {
2444 (void)rootType;
2445 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2446 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2447 rootType = forMarshaling->sType;
2448 }
2449 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2450 vkStream->write((VkPipelineShaderStageCreateFlags*)&forMarshaling->flags,
2451 sizeof(VkPipelineShaderStageCreateFlags));
2452 vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
2453 uint64_t cgen_var_0;
2454 vkStream->handleMapping()->mapHandles_VkShaderModule_u64(&forMarshaling->module, &cgen_var_0,
2455 1);
2456 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2457 vkStream->putString(forMarshaling->pName);
2458 // WARNING PTR CHECK
2459 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
2460 vkStream->putBe64(cgen_var_1);
2461 if (forMarshaling->pSpecializationInfo) {
2462 marshal_VkSpecializationInfo(
2463 vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo));
2464 }
2465 }
2466
unmarshal_VkPipelineShaderStageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineShaderStageCreateInfo * forUnmarshaling)2467 void unmarshal_VkPipelineShaderStageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2468 VkPipelineShaderStageCreateInfo* forUnmarshaling) {
2469 (void)rootType;
2470 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2471 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2472 rootType = forUnmarshaling->sType;
2473 }
2474 size_t pNext_size;
2475 pNext_size = vkStream->getBe32();
2476 forUnmarshaling->pNext = nullptr;
2477 if (pNext_size) {
2478 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2479 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2480 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2481 vkStream->alloc((void**)&forUnmarshaling->pNext,
2482 goldfish_vk_extension_struct_size_with_stream_features(
2483 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2484 *(VkStructureType*)forUnmarshaling->pNext = extType;
2485 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2486 }
2487 vkStream->read((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags,
2488 sizeof(VkPipelineShaderStageCreateFlags));
2489 vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits));
2490 uint64_t cgen_var_0;
2491 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2492 vkStream->handleMapping()->mapHandles_u64_VkShaderModule(
2493 &cgen_var_0, (VkShaderModule*)&forUnmarshaling->module, 1);
2494 vkStream->loadStringInPlace((char**)&forUnmarshaling->pName);
2495 // WARNING PTR CHECK
2496 forUnmarshaling->pSpecializationInfo =
2497 (const VkSpecializationInfo*)(uintptr_t)vkStream->getBe64();
2498 if (forUnmarshaling->pSpecializationInfo) {
2499 vkStream->alloc((void**)&forUnmarshaling->pSpecializationInfo,
2500 sizeof(const VkSpecializationInfo));
2501 unmarshal_VkSpecializationInfo(
2502 vkStream, rootType, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo));
2503 }
2504 }
2505
marshal_VkComputePipelineCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkComputePipelineCreateInfo * forMarshaling)2506 void marshal_VkComputePipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2507 const VkComputePipelineCreateInfo* forMarshaling) {
2508 (void)rootType;
2509 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2510 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2511 rootType = forMarshaling->sType;
2512 }
2513 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2514 vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
2515 marshal_VkPipelineShaderStageCreateInfo(
2516 vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage));
2517 uint64_t cgen_var_0;
2518 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_0,
2519 1);
2520 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2521 uint64_t cgen_var_1;
2522 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
2523 &cgen_var_1, 1);
2524 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
2525 vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
2526 }
2527
unmarshal_VkComputePipelineCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkComputePipelineCreateInfo * forUnmarshaling)2528 void unmarshal_VkComputePipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
2529 VkComputePipelineCreateInfo* forUnmarshaling) {
2530 (void)rootType;
2531 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2532 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2533 rootType = forUnmarshaling->sType;
2534 }
2535 size_t pNext_size;
2536 pNext_size = vkStream->getBe32();
2537 forUnmarshaling->pNext = nullptr;
2538 if (pNext_size) {
2539 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2540 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2541 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2542 vkStream->alloc((void**)&forUnmarshaling->pNext,
2543 goldfish_vk_extension_struct_size_with_stream_features(
2544 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2545 *(VkStructureType*)forUnmarshaling->pNext = extType;
2546 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2547 }
2548 vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
2549 unmarshal_VkPipelineShaderStageCreateInfo(
2550 vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage));
2551 uint64_t cgen_var_0;
2552 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2553 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
2554 &cgen_var_0, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
2555 uint64_t cgen_var_1;
2556 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
2557 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
2558 &cgen_var_1, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
2559 vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
2560 }
2561
marshal_VkVertexInputBindingDescription(VulkanStream * vkStream,VkStructureType rootType,const VkVertexInputBindingDescription * forMarshaling)2562 void marshal_VkVertexInputBindingDescription(VulkanStream* vkStream, VkStructureType rootType,
2563 const VkVertexInputBindingDescription* forMarshaling) {
2564 (void)rootType;
2565 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2566 vkStream->write((uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
2567 vkStream->write((VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
2568 }
2569
unmarshal_VkVertexInputBindingDescription(VulkanStream * vkStream,VkStructureType rootType,VkVertexInputBindingDescription * forUnmarshaling)2570 void unmarshal_VkVertexInputBindingDescription(VulkanStream* vkStream, VkStructureType rootType,
2571 VkVertexInputBindingDescription* forUnmarshaling) {
2572 (void)rootType;
2573 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
2574 vkStream->read((uint32_t*)&forUnmarshaling->stride, sizeof(uint32_t));
2575 vkStream->read((VkVertexInputRate*)&forUnmarshaling->inputRate, sizeof(VkVertexInputRate));
2576 }
2577
marshal_VkVertexInputAttributeDescription(VulkanStream * vkStream,VkStructureType rootType,const VkVertexInputAttributeDescription * forMarshaling)2578 void marshal_VkVertexInputAttributeDescription(
2579 VulkanStream* vkStream, VkStructureType rootType,
2580 const VkVertexInputAttributeDescription* forMarshaling) {
2581 (void)rootType;
2582 vkStream->write((uint32_t*)&forMarshaling->location, sizeof(uint32_t));
2583 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2584 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2585 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2586 }
2587
unmarshal_VkVertexInputAttributeDescription(VulkanStream * vkStream,VkStructureType rootType,VkVertexInputAttributeDescription * forUnmarshaling)2588 void unmarshal_VkVertexInputAttributeDescription(
2589 VulkanStream* vkStream, VkStructureType rootType,
2590 VkVertexInputAttributeDescription* forUnmarshaling) {
2591 (void)rootType;
2592 vkStream->read((uint32_t*)&forUnmarshaling->location, sizeof(uint32_t));
2593 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
2594 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2595 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
2596 }
2597
marshal_VkPipelineVertexInputStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineVertexInputStateCreateInfo * forMarshaling)2598 void marshal_VkPipelineVertexInputStateCreateInfo(
2599 VulkanStream* vkStream, VkStructureType rootType,
2600 const VkPipelineVertexInputStateCreateInfo* forMarshaling) {
2601 (void)rootType;
2602 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2603 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2604 rootType = forMarshaling->sType;
2605 }
2606 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2607 vkStream->write((VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags,
2608 sizeof(VkPipelineVertexInputStateCreateFlags));
2609 vkStream->write((uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
2610 if (forMarshaling) {
2611 for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) {
2612 marshal_VkVertexInputBindingDescription(
2613 vkStream, rootType,
2614 (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions +
2615 i));
2616 }
2617 }
2618 vkStream->write((uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
2619 if (forMarshaling) {
2620 for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) {
2621 marshal_VkVertexInputAttributeDescription(
2622 vkStream, rootType,
2623 (const VkVertexInputAttributeDescription*)(forMarshaling
2624 ->pVertexAttributeDescriptions +
2625 i));
2626 }
2627 }
2628 }
2629
unmarshal_VkPipelineVertexInputStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineVertexInputStateCreateInfo * forUnmarshaling)2630 void unmarshal_VkPipelineVertexInputStateCreateInfo(
2631 VulkanStream* vkStream, VkStructureType rootType,
2632 VkPipelineVertexInputStateCreateInfo* forUnmarshaling) {
2633 (void)rootType;
2634 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2635 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2636 rootType = forUnmarshaling->sType;
2637 }
2638 size_t pNext_size;
2639 pNext_size = vkStream->getBe32();
2640 forUnmarshaling->pNext = nullptr;
2641 if (pNext_size) {
2642 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2643 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2644 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2645 vkStream->alloc((void**)&forUnmarshaling->pNext,
2646 goldfish_vk_extension_struct_size_with_stream_features(
2647 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2648 *(VkStructureType*)forUnmarshaling->pNext = extType;
2649 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2650 }
2651 vkStream->read((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags,
2652 sizeof(VkPipelineVertexInputStateCreateFlags));
2653 vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
2654 vkStream->alloc((void**)&forUnmarshaling->pVertexBindingDescriptions,
2655 forUnmarshaling->vertexBindingDescriptionCount *
2656 sizeof(const VkVertexInputBindingDescription));
2657 if (forUnmarshaling) {
2658 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i) {
2659 unmarshal_VkVertexInputBindingDescription(
2660 vkStream, rootType,
2661 (VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions +
2662 i));
2663 }
2664 }
2665 vkStream->read((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
2666 vkStream->alloc((void**)&forUnmarshaling->pVertexAttributeDescriptions,
2667 forUnmarshaling->vertexAttributeDescriptionCount *
2668 sizeof(const VkVertexInputAttributeDescription));
2669 if (forUnmarshaling) {
2670 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i) {
2671 unmarshal_VkVertexInputAttributeDescription(
2672 vkStream, rootType,
2673 (VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions +
2674 i));
2675 }
2676 }
2677 }
2678
marshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineInputAssemblyStateCreateInfo * forMarshaling)2679 void marshal_VkPipelineInputAssemblyStateCreateInfo(
2680 VulkanStream* vkStream, VkStructureType rootType,
2681 const VkPipelineInputAssemblyStateCreateInfo* forMarshaling) {
2682 (void)rootType;
2683 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2684 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2685 rootType = forMarshaling->sType;
2686 }
2687 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2688 vkStream->write((VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags,
2689 sizeof(VkPipelineInputAssemblyStateCreateFlags));
2690 vkStream->write((VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
2691 vkStream->write((VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
2692 }
2693
unmarshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineInputAssemblyStateCreateInfo * forUnmarshaling)2694 void unmarshal_VkPipelineInputAssemblyStateCreateInfo(
2695 VulkanStream* vkStream, VkStructureType rootType,
2696 VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling) {
2697 (void)rootType;
2698 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2699 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2700 rootType = forUnmarshaling->sType;
2701 }
2702 size_t pNext_size;
2703 pNext_size = vkStream->getBe32();
2704 forUnmarshaling->pNext = nullptr;
2705 if (pNext_size) {
2706 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2707 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2708 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2709 vkStream->alloc((void**)&forUnmarshaling->pNext,
2710 goldfish_vk_extension_struct_size_with_stream_features(
2711 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2712 *(VkStructureType*)forUnmarshaling->pNext = extType;
2713 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2714 }
2715 vkStream->read((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags,
2716 sizeof(VkPipelineInputAssemblyStateCreateFlags));
2717 vkStream->read((VkPrimitiveTopology*)&forUnmarshaling->topology, sizeof(VkPrimitiveTopology));
2718 vkStream->read((VkBool32*)&forUnmarshaling->primitiveRestartEnable, sizeof(VkBool32));
2719 }
2720
marshal_VkPipelineTessellationStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineTessellationStateCreateInfo * forMarshaling)2721 void marshal_VkPipelineTessellationStateCreateInfo(
2722 VulkanStream* vkStream, VkStructureType rootType,
2723 const VkPipelineTessellationStateCreateInfo* forMarshaling) {
2724 (void)rootType;
2725 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2726 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2727 rootType = forMarshaling->sType;
2728 }
2729 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2730 vkStream->write((VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags,
2731 sizeof(VkPipelineTessellationStateCreateFlags));
2732 vkStream->write((uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
2733 }
2734
unmarshal_VkPipelineTessellationStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineTessellationStateCreateInfo * forUnmarshaling)2735 void unmarshal_VkPipelineTessellationStateCreateInfo(
2736 VulkanStream* vkStream, VkStructureType rootType,
2737 VkPipelineTessellationStateCreateInfo* forUnmarshaling) {
2738 (void)rootType;
2739 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2740 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2741 rootType = forUnmarshaling->sType;
2742 }
2743 size_t pNext_size;
2744 pNext_size = vkStream->getBe32();
2745 forUnmarshaling->pNext = nullptr;
2746 if (pNext_size) {
2747 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2748 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2749 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2750 vkStream->alloc((void**)&forUnmarshaling->pNext,
2751 goldfish_vk_extension_struct_size_with_stream_features(
2752 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2753 *(VkStructureType*)forUnmarshaling->pNext = extType;
2754 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2755 }
2756 vkStream->read((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags,
2757 sizeof(VkPipelineTessellationStateCreateFlags));
2758 vkStream->read((uint32_t*)&forUnmarshaling->patchControlPoints, sizeof(uint32_t));
2759 }
2760
marshal_VkViewport(VulkanStream * vkStream,VkStructureType rootType,const VkViewport * forMarshaling)2761 void marshal_VkViewport(VulkanStream* vkStream, VkStructureType rootType,
2762 const VkViewport* forMarshaling) {
2763 (void)rootType;
2764 vkStream->write((float*)&forMarshaling->x, sizeof(float));
2765 vkStream->write((float*)&forMarshaling->y, sizeof(float));
2766 vkStream->write((float*)&forMarshaling->width, sizeof(float));
2767 vkStream->write((float*)&forMarshaling->height, sizeof(float));
2768 vkStream->write((float*)&forMarshaling->minDepth, sizeof(float));
2769 vkStream->write((float*)&forMarshaling->maxDepth, sizeof(float));
2770 }
2771
unmarshal_VkViewport(VulkanStream * vkStream,VkStructureType rootType,VkViewport * forUnmarshaling)2772 void unmarshal_VkViewport(VulkanStream* vkStream, VkStructureType rootType,
2773 VkViewport* forUnmarshaling) {
2774 (void)rootType;
2775 vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
2776 vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
2777 vkStream->read((float*)&forUnmarshaling->width, sizeof(float));
2778 vkStream->read((float*)&forUnmarshaling->height, sizeof(float));
2779 vkStream->read((float*)&forUnmarshaling->minDepth, sizeof(float));
2780 vkStream->read((float*)&forUnmarshaling->maxDepth, sizeof(float));
2781 }
2782
marshal_VkPipelineViewportStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineViewportStateCreateInfo * forMarshaling)2783 void marshal_VkPipelineViewportStateCreateInfo(
2784 VulkanStream* vkStream, VkStructureType rootType,
2785 const VkPipelineViewportStateCreateInfo* forMarshaling) {
2786 (void)rootType;
2787 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2788 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2789 rootType = forMarshaling->sType;
2790 }
2791 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2792 vkStream->write((VkPipelineViewportStateCreateFlags*)&forMarshaling->flags,
2793 sizeof(VkPipelineViewportStateCreateFlags));
2794 vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
2795 // WARNING PTR CHECK
2796 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
2797 vkStream->putBe64(cgen_var_0);
2798 if (forMarshaling->pViewports) {
2799 if (forMarshaling) {
2800 for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
2801 marshal_VkViewport(vkStream, rootType,
2802 (const VkViewport*)(forMarshaling->pViewports + i));
2803 }
2804 }
2805 }
2806 vkStream->write((uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
2807 // WARNING PTR CHECK
2808 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
2809 vkStream->putBe64(cgen_var_1);
2810 if (forMarshaling->pScissors) {
2811 if (forMarshaling) {
2812 for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) {
2813 marshal_VkRect2D(vkStream, rootType,
2814 (const VkRect2D*)(forMarshaling->pScissors + i));
2815 }
2816 }
2817 }
2818 }
2819
unmarshal_VkPipelineViewportStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineViewportStateCreateInfo * forUnmarshaling)2820 void unmarshal_VkPipelineViewportStateCreateInfo(
2821 VulkanStream* vkStream, VkStructureType rootType,
2822 VkPipelineViewportStateCreateInfo* forUnmarshaling) {
2823 (void)rootType;
2824 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2825 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2826 rootType = forUnmarshaling->sType;
2827 }
2828 size_t pNext_size;
2829 pNext_size = vkStream->getBe32();
2830 forUnmarshaling->pNext = nullptr;
2831 if (pNext_size) {
2832 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2833 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2834 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2835 vkStream->alloc((void**)&forUnmarshaling->pNext,
2836 goldfish_vk_extension_struct_size_with_stream_features(
2837 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2838 *(VkStructureType*)forUnmarshaling->pNext = extType;
2839 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2840 }
2841 vkStream->read((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags,
2842 sizeof(VkPipelineViewportStateCreateFlags));
2843 vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
2844 // WARNING PTR CHECK
2845 forUnmarshaling->pViewports = (const VkViewport*)(uintptr_t)vkStream->getBe64();
2846 if (forUnmarshaling->pViewports) {
2847 vkStream->alloc((void**)&forUnmarshaling->pViewports,
2848 forUnmarshaling->viewportCount * sizeof(const VkViewport));
2849 if (forUnmarshaling) {
2850 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) {
2851 unmarshal_VkViewport(vkStream, rootType,
2852 (VkViewport*)(forUnmarshaling->pViewports + i));
2853 }
2854 }
2855 }
2856 vkStream->read((uint32_t*)&forUnmarshaling->scissorCount, sizeof(uint32_t));
2857 // WARNING PTR CHECK
2858 forUnmarshaling->pScissors = (const VkRect2D*)(uintptr_t)vkStream->getBe64();
2859 if (forUnmarshaling->pScissors) {
2860 vkStream->alloc((void**)&forUnmarshaling->pScissors,
2861 forUnmarshaling->scissorCount * sizeof(const VkRect2D));
2862 if (forUnmarshaling) {
2863 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i) {
2864 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(forUnmarshaling->pScissors + i));
2865 }
2866 }
2867 }
2868 }
2869
marshal_VkPipelineRasterizationStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateCreateInfo * forMarshaling)2870 void marshal_VkPipelineRasterizationStateCreateInfo(
2871 VulkanStream* vkStream, VkStructureType rootType,
2872 const VkPipelineRasterizationStateCreateInfo* forMarshaling) {
2873 (void)rootType;
2874 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2875 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2876 rootType = forMarshaling->sType;
2877 }
2878 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2879 vkStream->write((VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags,
2880 sizeof(VkPipelineRasterizationStateCreateFlags));
2881 vkStream->write((VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
2882 vkStream->write((VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
2883 vkStream->write((VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
2884 vkStream->write((VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
2885 vkStream->write((VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
2886 vkStream->write((VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
2887 vkStream->write((float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
2888 vkStream->write((float*)&forMarshaling->depthBiasClamp, sizeof(float));
2889 vkStream->write((float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
2890 vkStream->write((float*)&forMarshaling->lineWidth, sizeof(float));
2891 }
2892
unmarshal_VkPipelineRasterizationStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRasterizationStateCreateInfo * forUnmarshaling)2893 void unmarshal_VkPipelineRasterizationStateCreateInfo(
2894 VulkanStream* vkStream, VkStructureType rootType,
2895 VkPipelineRasterizationStateCreateInfo* forUnmarshaling) {
2896 (void)rootType;
2897 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2898 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2899 rootType = forUnmarshaling->sType;
2900 }
2901 size_t pNext_size;
2902 pNext_size = vkStream->getBe32();
2903 forUnmarshaling->pNext = nullptr;
2904 if (pNext_size) {
2905 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2906 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2907 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2908 vkStream->alloc((void**)&forUnmarshaling->pNext,
2909 goldfish_vk_extension_struct_size_with_stream_features(
2910 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2911 *(VkStructureType*)forUnmarshaling->pNext = extType;
2912 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2913 }
2914 vkStream->read((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags,
2915 sizeof(VkPipelineRasterizationStateCreateFlags));
2916 vkStream->read((VkBool32*)&forUnmarshaling->depthClampEnable, sizeof(VkBool32));
2917 vkStream->read((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
2918 vkStream->read((VkPolygonMode*)&forUnmarshaling->polygonMode, sizeof(VkPolygonMode));
2919 vkStream->read((VkCullModeFlags*)&forUnmarshaling->cullMode, sizeof(VkCullModeFlags));
2920 vkStream->read((VkFrontFace*)&forUnmarshaling->frontFace, sizeof(VkFrontFace));
2921 vkStream->read((VkBool32*)&forUnmarshaling->depthBiasEnable, sizeof(VkBool32));
2922 vkStream->read((float*)&forUnmarshaling->depthBiasConstantFactor, sizeof(float));
2923 vkStream->read((float*)&forUnmarshaling->depthBiasClamp, sizeof(float));
2924 vkStream->read((float*)&forUnmarshaling->depthBiasSlopeFactor, sizeof(float));
2925 vkStream->read((float*)&forUnmarshaling->lineWidth, sizeof(float));
2926 }
2927
marshal_VkPipelineMultisampleStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineMultisampleStateCreateInfo * forMarshaling)2928 void marshal_VkPipelineMultisampleStateCreateInfo(
2929 VulkanStream* vkStream, VkStructureType rootType,
2930 const VkPipelineMultisampleStateCreateInfo* forMarshaling) {
2931 (void)rootType;
2932 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2933 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2934 rootType = forMarshaling->sType;
2935 }
2936 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2937 vkStream->write((VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags,
2938 sizeof(VkPipelineMultisampleStateCreateFlags));
2939 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
2940 sizeof(VkSampleCountFlagBits));
2941 vkStream->write((VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
2942 vkStream->write((float*)&forMarshaling->minSampleShading, sizeof(float));
2943 // WARNING PTR CHECK
2944 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
2945 vkStream->putBe64(cgen_var_0);
2946 if (forMarshaling->pSampleMask) {
2947 vkStream->write(
2948 (const VkSampleMask*)forMarshaling->pSampleMask,
2949 (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
2950 }
2951 vkStream->write((VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
2952 vkStream->write((VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
2953 }
2954
unmarshal_VkPipelineMultisampleStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineMultisampleStateCreateInfo * forUnmarshaling)2955 void unmarshal_VkPipelineMultisampleStateCreateInfo(
2956 VulkanStream* vkStream, VkStructureType rootType,
2957 VkPipelineMultisampleStateCreateInfo* forUnmarshaling) {
2958 (void)rootType;
2959 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2960 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2961 rootType = forUnmarshaling->sType;
2962 }
2963 size_t pNext_size;
2964 pNext_size = vkStream->getBe32();
2965 forUnmarshaling->pNext = nullptr;
2966 if (pNext_size) {
2967 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
2968 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
2969 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
2970 vkStream->alloc((void**)&forUnmarshaling->pNext,
2971 goldfish_vk_extension_struct_size_with_stream_features(
2972 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
2973 *(VkStructureType*)forUnmarshaling->pNext = extType;
2974 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2975 }
2976 vkStream->read((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags,
2977 sizeof(VkPipelineMultisampleStateCreateFlags));
2978 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples,
2979 sizeof(VkSampleCountFlagBits));
2980 vkStream->read((VkBool32*)&forUnmarshaling->sampleShadingEnable, sizeof(VkBool32));
2981 vkStream->read((float*)&forUnmarshaling->minSampleShading, sizeof(float));
2982 // WARNING PTR CHECK
2983 forUnmarshaling->pSampleMask = (const VkSampleMask*)(uintptr_t)vkStream->getBe64();
2984 if (forUnmarshaling->pSampleMask) {
2985 vkStream->alloc(
2986 (void**)&forUnmarshaling->pSampleMask,
2987 (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
2988 vkStream->read(
2989 (VkSampleMask*)forUnmarshaling->pSampleMask,
2990 (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
2991 }
2992 vkStream->read((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, sizeof(VkBool32));
2993 vkStream->read((VkBool32*)&forUnmarshaling->alphaToOneEnable, sizeof(VkBool32));
2994 }
2995
marshal_VkStencilOpState(VulkanStream * vkStream,VkStructureType rootType,const VkStencilOpState * forMarshaling)2996 void marshal_VkStencilOpState(VulkanStream* vkStream, VkStructureType rootType,
2997 const VkStencilOpState* forMarshaling) {
2998 (void)rootType;
2999 vkStream->write((VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
3000 vkStream->write((VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
3001 vkStream->write((VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
3002 vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
3003 vkStream->write((uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
3004 vkStream->write((uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
3005 vkStream->write((uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
3006 }
3007
unmarshal_VkStencilOpState(VulkanStream * vkStream,VkStructureType rootType,VkStencilOpState * forUnmarshaling)3008 void unmarshal_VkStencilOpState(VulkanStream* vkStream, VkStructureType rootType,
3009 VkStencilOpState* forUnmarshaling) {
3010 (void)rootType;
3011 vkStream->read((VkStencilOp*)&forUnmarshaling->failOp, sizeof(VkStencilOp));
3012 vkStream->read((VkStencilOp*)&forUnmarshaling->passOp, sizeof(VkStencilOp));
3013 vkStream->read((VkStencilOp*)&forUnmarshaling->depthFailOp, sizeof(VkStencilOp));
3014 vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
3015 vkStream->read((uint32_t*)&forUnmarshaling->compareMask, sizeof(uint32_t));
3016 vkStream->read((uint32_t*)&forUnmarshaling->writeMask, sizeof(uint32_t));
3017 vkStream->read((uint32_t*)&forUnmarshaling->reference, sizeof(uint32_t));
3018 }
3019
marshal_VkPipelineDepthStencilStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineDepthStencilStateCreateInfo * forMarshaling)3020 void marshal_VkPipelineDepthStencilStateCreateInfo(
3021 VulkanStream* vkStream, VkStructureType rootType,
3022 const VkPipelineDepthStencilStateCreateInfo* forMarshaling) {
3023 (void)rootType;
3024 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3025 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3026 rootType = forMarshaling->sType;
3027 }
3028 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3029 vkStream->write((VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags,
3030 sizeof(VkPipelineDepthStencilStateCreateFlags));
3031 vkStream->write((VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
3032 vkStream->write((VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
3033 vkStream->write((VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
3034 vkStream->write((VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
3035 vkStream->write((VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
3036 marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->front));
3037 marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->back));
3038 vkStream->write((float*)&forMarshaling->minDepthBounds, sizeof(float));
3039 vkStream->write((float*)&forMarshaling->maxDepthBounds, sizeof(float));
3040 }
3041
unmarshal_VkPipelineDepthStencilStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineDepthStencilStateCreateInfo * forUnmarshaling)3042 void unmarshal_VkPipelineDepthStencilStateCreateInfo(
3043 VulkanStream* vkStream, VkStructureType rootType,
3044 VkPipelineDepthStencilStateCreateInfo* forUnmarshaling) {
3045 (void)rootType;
3046 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3047 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3048 rootType = forUnmarshaling->sType;
3049 }
3050 size_t pNext_size;
3051 pNext_size = vkStream->getBe32();
3052 forUnmarshaling->pNext = nullptr;
3053 if (pNext_size) {
3054 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3055 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3056 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3057 vkStream->alloc((void**)&forUnmarshaling->pNext,
3058 goldfish_vk_extension_struct_size_with_stream_features(
3059 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3060 *(VkStructureType*)forUnmarshaling->pNext = extType;
3061 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3062 }
3063 vkStream->read((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags,
3064 sizeof(VkPipelineDepthStencilStateCreateFlags));
3065 vkStream->read((VkBool32*)&forUnmarshaling->depthTestEnable, sizeof(VkBool32));
3066 vkStream->read((VkBool32*)&forUnmarshaling->depthWriteEnable, sizeof(VkBool32));
3067 vkStream->read((VkCompareOp*)&forUnmarshaling->depthCompareOp, sizeof(VkCompareOp));
3068 vkStream->read((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, sizeof(VkBool32));
3069 vkStream->read((VkBool32*)&forUnmarshaling->stencilTestEnable, sizeof(VkBool32));
3070 unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->front));
3071 unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->back));
3072 vkStream->read((float*)&forUnmarshaling->minDepthBounds, sizeof(float));
3073 vkStream->read((float*)&forUnmarshaling->maxDepthBounds, sizeof(float));
3074 }
3075
marshal_VkPipelineColorBlendAttachmentState(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineColorBlendAttachmentState * forMarshaling)3076 void marshal_VkPipelineColorBlendAttachmentState(
3077 VulkanStream* vkStream, VkStructureType rootType,
3078 const VkPipelineColorBlendAttachmentState* forMarshaling) {
3079 (void)rootType;
3080 vkStream->write((VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
3081 vkStream->write((VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
3082 vkStream->write((VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
3083 vkStream->write((VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
3084 vkStream->write((VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
3085 vkStream->write((VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
3086 vkStream->write((VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
3087 vkStream->write((VkColorComponentFlags*)&forMarshaling->colorWriteMask,
3088 sizeof(VkColorComponentFlags));
3089 }
3090
unmarshal_VkPipelineColorBlendAttachmentState(VulkanStream * vkStream,VkStructureType rootType,VkPipelineColorBlendAttachmentState * forUnmarshaling)3091 void unmarshal_VkPipelineColorBlendAttachmentState(
3092 VulkanStream* vkStream, VkStructureType rootType,
3093 VkPipelineColorBlendAttachmentState* forUnmarshaling) {
3094 (void)rootType;
3095 vkStream->read((VkBool32*)&forUnmarshaling->blendEnable, sizeof(VkBool32));
3096 vkStream->read((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
3097 vkStream->read((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
3098 vkStream->read((VkBlendOp*)&forUnmarshaling->colorBlendOp, sizeof(VkBlendOp));
3099 vkStream->read((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
3100 vkStream->read((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
3101 vkStream->read((VkBlendOp*)&forUnmarshaling->alphaBlendOp, sizeof(VkBlendOp));
3102 vkStream->read((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask,
3103 sizeof(VkColorComponentFlags));
3104 }
3105
marshal_VkPipelineColorBlendStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineColorBlendStateCreateInfo * forMarshaling)3106 void marshal_VkPipelineColorBlendStateCreateInfo(
3107 VulkanStream* vkStream, VkStructureType rootType,
3108 const VkPipelineColorBlendStateCreateInfo* forMarshaling) {
3109 (void)rootType;
3110 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3111 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3112 rootType = forMarshaling->sType;
3113 }
3114 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3115 vkStream->write((VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags,
3116 sizeof(VkPipelineColorBlendStateCreateFlags));
3117 vkStream->write((VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
3118 vkStream->write((VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
3119 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
3120 if (forMarshaling) {
3121 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
3122 marshal_VkPipelineColorBlendAttachmentState(
3123 vkStream, rootType,
3124 (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i));
3125 }
3126 }
3127 vkStream->write((float*)forMarshaling->blendConstants, 4 * sizeof(float));
3128 }
3129
unmarshal_VkPipelineColorBlendStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineColorBlendStateCreateInfo * forUnmarshaling)3130 void unmarshal_VkPipelineColorBlendStateCreateInfo(
3131 VulkanStream* vkStream, VkStructureType rootType,
3132 VkPipelineColorBlendStateCreateInfo* forUnmarshaling) {
3133 (void)rootType;
3134 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3135 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3136 rootType = forUnmarshaling->sType;
3137 }
3138 size_t pNext_size;
3139 pNext_size = vkStream->getBe32();
3140 forUnmarshaling->pNext = nullptr;
3141 if (pNext_size) {
3142 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3143 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3144 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3145 vkStream->alloc((void**)&forUnmarshaling->pNext,
3146 goldfish_vk_extension_struct_size_with_stream_features(
3147 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3148 *(VkStructureType*)forUnmarshaling->pNext = extType;
3149 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3150 }
3151 vkStream->read((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags,
3152 sizeof(VkPipelineColorBlendStateCreateFlags));
3153 vkStream->read((VkBool32*)&forUnmarshaling->logicOpEnable, sizeof(VkBool32));
3154 vkStream->read((VkLogicOp*)&forUnmarshaling->logicOp, sizeof(VkLogicOp));
3155 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
3156 vkStream->alloc(
3157 (void**)&forUnmarshaling->pAttachments,
3158 forUnmarshaling->attachmentCount * sizeof(const VkPipelineColorBlendAttachmentState));
3159 if (forUnmarshaling) {
3160 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
3161 unmarshal_VkPipelineColorBlendAttachmentState(
3162 vkStream, rootType,
3163 (VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i));
3164 }
3165 }
3166 vkStream->read((float*)forUnmarshaling->blendConstants, 4 * sizeof(float));
3167 }
3168
marshal_VkPipelineDynamicStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineDynamicStateCreateInfo * forMarshaling)3169 void marshal_VkPipelineDynamicStateCreateInfo(
3170 VulkanStream* vkStream, VkStructureType rootType,
3171 const VkPipelineDynamicStateCreateInfo* forMarshaling) {
3172 (void)rootType;
3173 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3174 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3175 rootType = forMarshaling->sType;
3176 }
3177 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3178 vkStream->write((VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags,
3179 sizeof(VkPipelineDynamicStateCreateFlags));
3180 vkStream->write((uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
3181 vkStream->write((const VkDynamicState*)forMarshaling->pDynamicStates,
3182 forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
3183 }
3184
unmarshal_VkPipelineDynamicStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineDynamicStateCreateInfo * forUnmarshaling)3185 void unmarshal_VkPipelineDynamicStateCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3186 VkPipelineDynamicStateCreateInfo* forUnmarshaling) {
3187 (void)rootType;
3188 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3189 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3190 rootType = forUnmarshaling->sType;
3191 }
3192 size_t pNext_size;
3193 pNext_size = vkStream->getBe32();
3194 forUnmarshaling->pNext = nullptr;
3195 if (pNext_size) {
3196 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3197 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3198 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3199 vkStream->alloc((void**)&forUnmarshaling->pNext,
3200 goldfish_vk_extension_struct_size_with_stream_features(
3201 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3202 *(VkStructureType*)forUnmarshaling->pNext = extType;
3203 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3204 }
3205 vkStream->read((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags,
3206 sizeof(VkPipelineDynamicStateCreateFlags));
3207 vkStream->read((uint32_t*)&forUnmarshaling->dynamicStateCount, sizeof(uint32_t));
3208 vkStream->alloc((void**)&forUnmarshaling->pDynamicStates,
3209 forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
3210 vkStream->read((VkDynamicState*)forUnmarshaling->pDynamicStates,
3211 forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
3212 }
3213
marshal_VkGraphicsPipelineCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkGraphicsPipelineCreateInfo * forMarshaling)3214 void marshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3215 const VkGraphicsPipelineCreateInfo* forMarshaling) {
3216 (void)rootType;
3217 uint32_t hasRasterization = 1;
3218 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3219 hasRasterization =
3220 ((((0 == forMarshaling->pRasterizationState))
3221 ? (0)
3222 : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))) ||
3223 (((0 == forMarshaling->pDynamicState))
3224 ? (0)
3225 : (arrayany((*(forMarshaling->pDynamicState)).pDynamicStates, 0,
3226 (*(forMarshaling->pDynamicState)).dynamicStateCount,
3227 [](VkDynamicState s) {
3228 return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
3229 }))));
3230 uint32_t cgen_var_0 = (uint32_t)hasRasterization;
3231 vkStream->putBe32(cgen_var_0);
3232 }
3233 uint32_t hasTessellation = 1;
3234 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3235 hasTessellation =
3236 arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount,
3237 [](VkPipelineShaderStageCreateInfo s) {
3238 return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
3239 (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
3240 });
3241 uint32_t cgen_var_0 = (uint32_t)hasTessellation;
3242 vkStream->putBe32(cgen_var_0);
3243 }
3244 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3245 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3246 rootType = forMarshaling->sType;
3247 }
3248 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3249 vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
3250 vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
3251 if (forMarshaling) {
3252 for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
3253 marshal_VkPipelineShaderStageCreateInfo(
3254 vkStream, rootType,
3255 (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i));
3256 }
3257 }
3258 // WARNING PTR CHECK
3259 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3260 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
3261 vkStream->putBe64(cgen_var_0);
3262 }
3263 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3264 forMarshaling->pVertexInputState)) {
3265 marshal_VkPipelineVertexInputStateCreateInfo(
3266 vkStream, rootType,
3267 (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState));
3268 }
3269 // WARNING PTR CHECK
3270 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3271 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
3272 vkStream->putBe64(cgen_var_0);
3273 }
3274 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3275 forMarshaling->pInputAssemblyState)) {
3276 marshal_VkPipelineInputAssemblyStateCreateInfo(
3277 vkStream, rootType,
3278 (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState));
3279 }
3280 // WARNING PTR CHECK
3281 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
3282 vkStream->putBe64(cgen_var_0);
3283 if (forMarshaling->pTessellationState) {
3284 if (hasTessellation) {
3285 marshal_VkPipelineTessellationStateCreateInfo(
3286 vkStream, rootType,
3287 (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState));
3288 }
3289 }
3290 // WARNING PTR CHECK
3291 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
3292 vkStream->putBe64(cgen_var_1);
3293 if (forMarshaling->pViewportState) {
3294 if (hasRasterization) {
3295 marshal_VkPipelineViewportStateCreateInfo(
3296 vkStream, rootType,
3297 (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState));
3298 }
3299 }
3300 // WARNING PTR CHECK
3301 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3302 uint64_t cgen_var_1_0 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
3303 vkStream->putBe64(cgen_var_1_0);
3304 }
3305 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3306 forMarshaling->pRasterizationState)) {
3307 marshal_VkPipelineRasterizationStateCreateInfo(
3308 vkStream, rootType,
3309 (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState));
3310 }
3311 // WARNING PTR CHECK
3312 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
3313 vkStream->putBe64(cgen_var_2);
3314 if (forMarshaling->pMultisampleState) {
3315 if (hasRasterization) {
3316 marshal_VkPipelineMultisampleStateCreateInfo(
3317 vkStream, rootType,
3318 (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState));
3319 }
3320 }
3321 // WARNING PTR CHECK
3322 uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
3323 vkStream->putBe64(cgen_var_3);
3324 if (forMarshaling->pDepthStencilState) {
3325 if (hasRasterization) {
3326 marshal_VkPipelineDepthStencilStateCreateInfo(
3327 vkStream, rootType,
3328 (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState));
3329 }
3330 }
3331 // WARNING PTR CHECK
3332 uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
3333 vkStream->putBe64(cgen_var_4);
3334 if (forMarshaling->pColorBlendState) {
3335 if (hasRasterization) {
3336 marshal_VkPipelineColorBlendStateCreateInfo(
3337 vkStream, rootType,
3338 (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState));
3339 }
3340 }
3341 // WARNING PTR CHECK
3342 uint64_t cgen_var_5 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
3343 vkStream->putBe64(cgen_var_5);
3344 if (forMarshaling->pDynamicState) {
3345 marshal_VkPipelineDynamicStateCreateInfo(
3346 vkStream, rootType,
3347 (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState));
3348 }
3349 uint64_t cgen_var_6;
3350 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_6,
3351 1);
3352 vkStream->write((uint64_t*)&cgen_var_6, 1 * 8);
3353 uint64_t cgen_var_7;
3354 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_7,
3355 1);
3356 vkStream->write((uint64_t*)&cgen_var_7, 1 * 8);
3357 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
3358 uint64_t cgen_var_8;
3359 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
3360 &cgen_var_8, 1);
3361 vkStream->write((uint64_t*)&cgen_var_8, 1 * 8);
3362 vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
3363 }
3364
unmarshal_VkGraphicsPipelineCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkGraphicsPipelineCreateInfo * forUnmarshaling)3365 void unmarshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3366 VkGraphicsPipelineCreateInfo* forUnmarshaling) {
3367 (void)rootType;
3368 uint32_t hasRasterization = 1;
3369 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3370 hasRasterization = (const uint32_t)vkStream->getBe32();
3371 }
3372 uint32_t hasTessellation = 1;
3373 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3374 hasTessellation = (const uint32_t)vkStream->getBe32();
3375 }
3376 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3377 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3378 rootType = forUnmarshaling->sType;
3379 }
3380 size_t pNext_size;
3381 pNext_size = vkStream->getBe32();
3382 forUnmarshaling->pNext = nullptr;
3383 if (pNext_size) {
3384 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3385 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3386 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3387 vkStream->alloc((void**)&forUnmarshaling->pNext,
3388 goldfish_vk_extension_struct_size_with_stream_features(
3389 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3390 *(VkStructureType*)forUnmarshaling->pNext = extType;
3391 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3392 }
3393 vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
3394 vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t));
3395 vkStream->alloc((void**)&forUnmarshaling->pStages,
3396 forUnmarshaling->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
3397 if (forUnmarshaling) {
3398 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) {
3399 unmarshal_VkPipelineShaderStageCreateInfo(
3400 vkStream, rootType,
3401 (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i));
3402 }
3403 }
3404 // WARNING PTR CHECK
3405 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3406 forUnmarshaling->pVertexInputState =
3407 (const VkPipelineVertexInputStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3408 }
3409 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3410 forUnmarshaling->pVertexInputState)) {
3411 vkStream->alloc((void**)&forUnmarshaling->pVertexInputState,
3412 sizeof(const VkPipelineVertexInputStateCreateInfo));
3413 unmarshal_VkPipelineVertexInputStateCreateInfo(
3414 vkStream, rootType,
3415 (VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState));
3416 }
3417 // WARNING PTR CHECK
3418 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3419 forUnmarshaling->pInputAssemblyState =
3420 (const VkPipelineInputAssemblyStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3421 }
3422 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3423 forUnmarshaling->pInputAssemblyState)) {
3424 vkStream->alloc((void**)&forUnmarshaling->pInputAssemblyState,
3425 sizeof(const VkPipelineInputAssemblyStateCreateInfo));
3426 unmarshal_VkPipelineInputAssemblyStateCreateInfo(
3427 vkStream, rootType,
3428 (VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState));
3429 }
3430 // WARNING PTR CHECK
3431 forUnmarshaling->pTessellationState =
3432 (const VkPipelineTessellationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3433 if (forUnmarshaling->pTessellationState) {
3434 if (hasTessellation) {
3435 vkStream->alloc((void**)&forUnmarshaling->pTessellationState,
3436 sizeof(const VkPipelineTessellationStateCreateInfo));
3437 unmarshal_VkPipelineTessellationStateCreateInfo(
3438 vkStream, rootType,
3439 (VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState));
3440 } else {
3441 forUnmarshaling->pTessellationState = 0;
3442 }
3443 }
3444 // WARNING PTR CHECK
3445 forUnmarshaling->pViewportState =
3446 (const VkPipelineViewportStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3447 if (forUnmarshaling->pViewportState) {
3448 if (hasRasterization) {
3449 vkStream->alloc((void**)&forUnmarshaling->pViewportState,
3450 sizeof(const VkPipelineViewportStateCreateInfo));
3451 unmarshal_VkPipelineViewportStateCreateInfo(
3452 vkStream, rootType,
3453 (VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState));
3454 } else {
3455 forUnmarshaling->pViewportState = 0;
3456 }
3457 }
3458 // WARNING PTR CHECK
3459 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3460 forUnmarshaling->pRasterizationState =
3461 (const VkPipelineRasterizationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3462 }
3463 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3464 forUnmarshaling->pRasterizationState)) {
3465 vkStream->alloc((void**)&forUnmarshaling->pRasterizationState,
3466 sizeof(const VkPipelineRasterizationStateCreateInfo));
3467 unmarshal_VkPipelineRasterizationStateCreateInfo(
3468 vkStream, rootType,
3469 (VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState));
3470 }
3471 // WARNING PTR CHECK
3472 forUnmarshaling->pMultisampleState =
3473 (const VkPipelineMultisampleStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3474 if (forUnmarshaling->pMultisampleState) {
3475 if (hasRasterization) {
3476 vkStream->alloc((void**)&forUnmarshaling->pMultisampleState,
3477 sizeof(const VkPipelineMultisampleStateCreateInfo));
3478 unmarshal_VkPipelineMultisampleStateCreateInfo(
3479 vkStream, rootType,
3480 (VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState));
3481 } else {
3482 forUnmarshaling->pMultisampleState = 0;
3483 }
3484 }
3485 // WARNING PTR CHECK
3486 forUnmarshaling->pDepthStencilState =
3487 (const VkPipelineDepthStencilStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3488 if (forUnmarshaling->pDepthStencilState) {
3489 if (hasRasterization) {
3490 vkStream->alloc((void**)&forUnmarshaling->pDepthStencilState,
3491 sizeof(const VkPipelineDepthStencilStateCreateInfo));
3492 unmarshal_VkPipelineDepthStencilStateCreateInfo(
3493 vkStream, rootType,
3494 (VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState));
3495 } else {
3496 forUnmarshaling->pDepthStencilState = 0;
3497 }
3498 }
3499 // WARNING PTR CHECK
3500 forUnmarshaling->pColorBlendState =
3501 (const VkPipelineColorBlendStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3502 if (forUnmarshaling->pColorBlendState) {
3503 if (hasRasterization) {
3504 vkStream->alloc((void**)&forUnmarshaling->pColorBlendState,
3505 sizeof(const VkPipelineColorBlendStateCreateInfo));
3506 unmarshal_VkPipelineColorBlendStateCreateInfo(
3507 vkStream, rootType,
3508 (VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState));
3509 } else {
3510 forUnmarshaling->pColorBlendState = 0;
3511 }
3512 }
3513 // WARNING PTR CHECK
3514 forUnmarshaling->pDynamicState =
3515 (const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3516 if (forUnmarshaling->pDynamicState) {
3517 vkStream->alloc((void**)&forUnmarshaling->pDynamicState,
3518 sizeof(const VkPipelineDynamicStateCreateInfo));
3519 unmarshal_VkPipelineDynamicStateCreateInfo(
3520 vkStream, rootType,
3521 (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState));
3522 }
3523 uint64_t cgen_var_6;
3524 vkStream->read((uint64_t*)&cgen_var_6, 1 * 8);
3525 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
3526 &cgen_var_6, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
3527 uint64_t cgen_var_7;
3528 vkStream->read((uint64_t*)&cgen_var_7, 1 * 8);
3529 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
3530 &cgen_var_7, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
3531 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
3532 uint64_t cgen_var_8;
3533 vkStream->read((uint64_t*)&cgen_var_8, 1 * 8);
3534 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
3535 &cgen_var_8, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
3536 vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
3537 }
3538
marshal_VkPushConstantRange(VulkanStream * vkStream,VkStructureType rootType,const VkPushConstantRange * forMarshaling)3539 void marshal_VkPushConstantRange(VulkanStream* vkStream, VkStructureType rootType,
3540 const VkPushConstantRange* forMarshaling) {
3541 (void)rootType;
3542 vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
3543 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
3544 vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t));
3545 }
3546
unmarshal_VkPushConstantRange(VulkanStream * vkStream,VkStructureType rootType,VkPushConstantRange * forUnmarshaling)3547 void unmarshal_VkPushConstantRange(VulkanStream* vkStream, VkStructureType rootType,
3548 VkPushConstantRange* forUnmarshaling) {
3549 (void)rootType;
3550 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
3551 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
3552 vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t));
3553 }
3554
marshal_VkPipelineLayoutCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineLayoutCreateInfo * forMarshaling)3555 void marshal_VkPipelineLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3556 const VkPipelineLayoutCreateInfo* forMarshaling) {
3557 (void)rootType;
3558 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3559 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3560 rootType = forMarshaling->sType;
3561 }
3562 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3563 vkStream->write((VkPipelineLayoutCreateFlags*)&forMarshaling->flags,
3564 sizeof(VkPipelineLayoutCreateFlags));
3565 vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
3566 if (forMarshaling->setLayoutCount) {
3567 uint64_t* cgen_var_0;
3568 vkStream->alloc((void**)&cgen_var_0, forMarshaling->setLayoutCount * 8);
3569 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
3570 forMarshaling->pSetLayouts, cgen_var_0, forMarshaling->setLayoutCount);
3571 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->setLayoutCount * 8);
3572 }
3573 vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
3574 if (forMarshaling) {
3575 for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
3576 marshal_VkPushConstantRange(
3577 vkStream, rootType,
3578 (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i));
3579 }
3580 }
3581 }
3582
unmarshal_VkPipelineLayoutCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineLayoutCreateInfo * forUnmarshaling)3583 void unmarshal_VkPipelineLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3584 VkPipelineLayoutCreateInfo* forUnmarshaling) {
3585 (void)rootType;
3586 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3587 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3588 rootType = forUnmarshaling->sType;
3589 }
3590 size_t pNext_size;
3591 pNext_size = vkStream->getBe32();
3592 forUnmarshaling->pNext = nullptr;
3593 if (pNext_size) {
3594 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3595 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3596 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3597 vkStream->alloc((void**)&forUnmarshaling->pNext,
3598 goldfish_vk_extension_struct_size_with_stream_features(
3599 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3600 *(VkStructureType*)forUnmarshaling->pNext = extType;
3601 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3602 }
3603 vkStream->read((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags,
3604 sizeof(VkPipelineLayoutCreateFlags));
3605 vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t));
3606 vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
3607 forUnmarshaling->setLayoutCount * sizeof(const VkDescriptorSetLayout));
3608 if (forUnmarshaling->setLayoutCount) {
3609 uint64_t* cgen_var_0;
3610 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->setLayoutCount * 8);
3611 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->setLayoutCount * 8);
3612 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
3613 cgen_var_0, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
3614 forUnmarshaling->setLayoutCount);
3615 }
3616 vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t));
3617 vkStream->alloc((void**)&forUnmarshaling->pPushConstantRanges,
3618 forUnmarshaling->pushConstantRangeCount * sizeof(const VkPushConstantRange));
3619 if (forUnmarshaling) {
3620 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i) {
3621 unmarshal_VkPushConstantRange(
3622 vkStream, rootType,
3623 (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i));
3624 }
3625 }
3626 }
3627
marshal_VkSamplerCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerCreateInfo * forMarshaling)3628 void marshal_VkSamplerCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3629 const VkSamplerCreateInfo* forMarshaling) {
3630 (void)rootType;
3631 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3632 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3633 rootType = forMarshaling->sType;
3634 }
3635 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3636 vkStream->write((VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
3637 vkStream->write((VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
3638 vkStream->write((VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
3639 vkStream->write((VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
3640 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeU,
3641 sizeof(VkSamplerAddressMode));
3642 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeV,
3643 sizeof(VkSamplerAddressMode));
3644 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeW,
3645 sizeof(VkSamplerAddressMode));
3646 vkStream->write((float*)&forMarshaling->mipLodBias, sizeof(float));
3647 vkStream->write((VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
3648 vkStream->write((float*)&forMarshaling->maxAnisotropy, sizeof(float));
3649 vkStream->write((VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
3650 vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
3651 vkStream->write((float*)&forMarshaling->minLod, sizeof(float));
3652 vkStream->write((float*)&forMarshaling->maxLod, sizeof(float));
3653 vkStream->write((VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
3654 vkStream->write((VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
3655 }
3656
unmarshal_VkSamplerCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkSamplerCreateInfo * forUnmarshaling)3657 void unmarshal_VkSamplerCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3658 VkSamplerCreateInfo* forUnmarshaling) {
3659 (void)rootType;
3660 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3661 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3662 rootType = forUnmarshaling->sType;
3663 }
3664 size_t pNext_size;
3665 pNext_size = vkStream->getBe32();
3666 forUnmarshaling->pNext = nullptr;
3667 if (pNext_size) {
3668 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3669 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3670 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3671 vkStream->alloc((void**)&forUnmarshaling->pNext,
3672 goldfish_vk_extension_struct_size_with_stream_features(
3673 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3674 *(VkStructureType*)forUnmarshaling->pNext = extType;
3675 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3676 }
3677 vkStream->read((VkSamplerCreateFlags*)&forUnmarshaling->flags, sizeof(VkSamplerCreateFlags));
3678 vkStream->read((VkFilter*)&forUnmarshaling->magFilter, sizeof(VkFilter));
3679 vkStream->read((VkFilter*)&forUnmarshaling->minFilter, sizeof(VkFilter));
3680 vkStream->read((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
3681 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeU,
3682 sizeof(VkSamplerAddressMode));
3683 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeV,
3684 sizeof(VkSamplerAddressMode));
3685 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeW,
3686 sizeof(VkSamplerAddressMode));
3687 vkStream->read((float*)&forUnmarshaling->mipLodBias, sizeof(float));
3688 vkStream->read((VkBool32*)&forUnmarshaling->anisotropyEnable, sizeof(VkBool32));
3689 vkStream->read((float*)&forUnmarshaling->maxAnisotropy, sizeof(float));
3690 vkStream->read((VkBool32*)&forUnmarshaling->compareEnable, sizeof(VkBool32));
3691 vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
3692 vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float));
3693 vkStream->read((float*)&forUnmarshaling->maxLod, sizeof(float));
3694 vkStream->read((VkBorderColor*)&forUnmarshaling->borderColor, sizeof(VkBorderColor));
3695 vkStream->read((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, sizeof(VkBool32));
3696 }
3697
marshal_VkCopyDescriptorSet(VulkanStream * vkStream,VkStructureType rootType,const VkCopyDescriptorSet * forMarshaling)3698 void marshal_VkCopyDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
3699 const VkCopyDescriptorSet* forMarshaling) {
3700 (void)rootType;
3701 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3702 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3703 rootType = forMarshaling->sType;
3704 }
3705 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3706 uint64_t cgen_var_0;
3707 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->srcSet, &cgen_var_0,
3708 1);
3709 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3710 vkStream->write((uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
3711 vkStream->write((uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
3712 uint64_t cgen_var_1;
3713 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_1,
3714 1);
3715 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
3716 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
3717 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
3718 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3719 }
3720
unmarshal_VkCopyDescriptorSet(VulkanStream * vkStream,VkStructureType rootType,VkCopyDescriptorSet * forUnmarshaling)3721 void unmarshal_VkCopyDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
3722 VkCopyDescriptorSet* forUnmarshaling) {
3723 (void)rootType;
3724 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3725 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3726 rootType = forUnmarshaling->sType;
3727 }
3728 size_t pNext_size;
3729 pNext_size = vkStream->getBe32();
3730 forUnmarshaling->pNext = nullptr;
3731 if (pNext_size) {
3732 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3733 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3734 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3735 vkStream->alloc((void**)&forUnmarshaling->pNext,
3736 goldfish_vk_extension_struct_size_with_stream_features(
3737 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3738 *(VkStructureType*)forUnmarshaling->pNext = extType;
3739 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3740 }
3741 uint64_t cgen_var_0;
3742 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3743 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
3744 &cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->srcSet, 1);
3745 vkStream->read((uint32_t*)&forUnmarshaling->srcBinding, sizeof(uint32_t));
3746 vkStream->read((uint32_t*)&forUnmarshaling->srcArrayElement, sizeof(uint32_t));
3747 uint64_t cgen_var_1;
3748 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
3749 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
3750 &cgen_var_1, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
3751 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
3752 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
3753 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3754 }
3755
marshal_VkDescriptorBufferInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorBufferInfo * forMarshaling)3756 void marshal_VkDescriptorBufferInfo(VulkanStream* vkStream, VkStructureType rootType,
3757 const VkDescriptorBufferInfo* forMarshaling) {
3758 (void)rootType;
3759 uint64_t cgen_var_0;
3760 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
3761 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3762 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
3763 vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
3764 }
3765
unmarshal_VkDescriptorBufferInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorBufferInfo * forUnmarshaling)3766 void unmarshal_VkDescriptorBufferInfo(VulkanStream* vkStream, VkStructureType rootType,
3767 VkDescriptorBufferInfo* forUnmarshaling) {
3768 (void)rootType;
3769 uint64_t cgen_var_0;
3770 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3771 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
3772 (VkBuffer*)&forUnmarshaling->buffer, 1);
3773 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
3774 vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
3775 }
3776
marshal_VkDescriptorImageInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorImageInfo * forMarshaling)3777 void marshal_VkDescriptorImageInfo(VulkanStream* vkStream, VkStructureType rootType,
3778 const VkDescriptorImageInfo* forMarshaling) {
3779 (void)rootType;
3780 uint64_t cgen_var_0;
3781 vkStream->handleMapping()->mapHandles_VkSampler_u64(&forMarshaling->sampler, &cgen_var_0, 1);
3782 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3783 uint64_t cgen_var_1;
3784 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_1,
3785 1);
3786 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
3787 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
3788 }
3789
unmarshal_VkDescriptorImageInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorImageInfo * forUnmarshaling)3790 void unmarshal_VkDescriptorImageInfo(VulkanStream* vkStream, VkStructureType rootType,
3791 VkDescriptorImageInfo* forUnmarshaling) {
3792 (void)rootType;
3793 uint64_t cgen_var_0;
3794 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3795 vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_0,
3796 (VkSampler*)&forUnmarshaling->sampler, 1);
3797 uint64_t cgen_var_1;
3798 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
3799 vkStream->handleMapping()->mapHandles_u64_VkImageView(
3800 &cgen_var_1, (VkImageView*)&forUnmarshaling->imageView, 1);
3801 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
3802 }
3803
marshal_VkDescriptorPoolSize(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorPoolSize * forMarshaling)3804 void marshal_VkDescriptorPoolSize(VulkanStream* vkStream, VkStructureType rootType,
3805 const VkDescriptorPoolSize* forMarshaling) {
3806 (void)rootType;
3807 vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
3808 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3809 }
3810
unmarshal_VkDescriptorPoolSize(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorPoolSize * forUnmarshaling)3811 void unmarshal_VkDescriptorPoolSize(VulkanStream* vkStream, VkStructureType rootType,
3812 VkDescriptorPoolSize* forUnmarshaling) {
3813 (void)rootType;
3814 vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType));
3815 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3816 }
3817
marshal_VkDescriptorPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorPoolCreateInfo * forMarshaling)3818 void marshal_VkDescriptorPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3819 const VkDescriptorPoolCreateInfo* forMarshaling) {
3820 (void)rootType;
3821 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3822 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3823 rootType = forMarshaling->sType;
3824 }
3825 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3826 vkStream->write((VkDescriptorPoolCreateFlags*)&forMarshaling->flags,
3827 sizeof(VkDescriptorPoolCreateFlags));
3828 vkStream->write((uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
3829 vkStream->write((uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
3830 if (forMarshaling) {
3831 for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) {
3832 marshal_VkDescriptorPoolSize(
3833 vkStream, rootType, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i));
3834 }
3835 }
3836 }
3837
unmarshal_VkDescriptorPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorPoolCreateInfo * forUnmarshaling)3838 void unmarshal_VkDescriptorPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3839 VkDescriptorPoolCreateInfo* forUnmarshaling) {
3840 (void)rootType;
3841 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3842 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3843 rootType = forUnmarshaling->sType;
3844 }
3845 size_t pNext_size;
3846 pNext_size = vkStream->getBe32();
3847 forUnmarshaling->pNext = nullptr;
3848 if (pNext_size) {
3849 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3850 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3851 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3852 vkStream->alloc((void**)&forUnmarshaling->pNext,
3853 goldfish_vk_extension_struct_size_with_stream_features(
3854 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3855 *(VkStructureType*)forUnmarshaling->pNext = extType;
3856 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3857 }
3858 vkStream->read((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags,
3859 sizeof(VkDescriptorPoolCreateFlags));
3860 vkStream->read((uint32_t*)&forUnmarshaling->maxSets, sizeof(uint32_t));
3861 vkStream->read((uint32_t*)&forUnmarshaling->poolSizeCount, sizeof(uint32_t));
3862 vkStream->alloc((void**)&forUnmarshaling->pPoolSizes,
3863 forUnmarshaling->poolSizeCount * sizeof(const VkDescriptorPoolSize));
3864 if (forUnmarshaling) {
3865 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i) {
3866 unmarshal_VkDescriptorPoolSize(
3867 vkStream, rootType, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i));
3868 }
3869 }
3870 }
3871
marshal_VkDescriptorSetAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetAllocateInfo * forMarshaling)3872 void marshal_VkDescriptorSetAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
3873 const VkDescriptorSetAllocateInfo* forMarshaling) {
3874 (void)rootType;
3875 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3876 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3877 rootType = forMarshaling->sType;
3878 }
3879 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3880 uint64_t cgen_var_0;
3881 vkStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&forMarshaling->descriptorPool,
3882 &cgen_var_0, 1);
3883 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3884 vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
3885 if (forMarshaling->descriptorSetCount) {
3886 uint64_t* cgen_var_1;
3887 vkStream->alloc((void**)&cgen_var_1, forMarshaling->descriptorSetCount * 8);
3888 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
3889 forMarshaling->pSetLayouts, cgen_var_1, forMarshaling->descriptorSetCount);
3890 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->descriptorSetCount * 8);
3891 }
3892 }
3893
unmarshal_VkDescriptorSetAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetAllocateInfo * forUnmarshaling)3894 void unmarshal_VkDescriptorSetAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
3895 VkDescriptorSetAllocateInfo* forUnmarshaling) {
3896 (void)rootType;
3897 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3898 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3899 rootType = forUnmarshaling->sType;
3900 }
3901 size_t pNext_size;
3902 pNext_size = vkStream->getBe32();
3903 forUnmarshaling->pNext = nullptr;
3904 if (pNext_size) {
3905 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
3906 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
3907 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
3908 vkStream->alloc((void**)&forUnmarshaling->pNext,
3909 goldfish_vk_extension_struct_size_with_stream_features(
3910 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
3911 *(VkStructureType*)forUnmarshaling->pNext = extType;
3912 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3913 }
3914 uint64_t cgen_var_0;
3915 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3916 vkStream->handleMapping()->mapHandles_u64_VkDescriptorPool(
3917 &cgen_var_0, (VkDescriptorPool*)&forUnmarshaling->descriptorPool, 1);
3918 vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
3919 vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
3920 forUnmarshaling->descriptorSetCount * sizeof(const VkDescriptorSetLayout));
3921 if (forUnmarshaling->descriptorSetCount) {
3922 uint64_t* cgen_var_1;
3923 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
3924 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
3925 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
3926 cgen_var_1, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
3927 forUnmarshaling->descriptorSetCount);
3928 }
3929 }
3930
marshal_VkDescriptorSetLayoutBinding(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBinding * forMarshaling)3931 void marshal_VkDescriptorSetLayoutBinding(VulkanStream* vkStream, VkStructureType rootType,
3932 const VkDescriptorSetLayoutBinding* forMarshaling) {
3933 (void)rootType;
3934 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
3935 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
3936 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3937 vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
3938 // WARNING PTR CHECK
3939 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
3940 vkStream->putBe64(cgen_var_0);
3941 if (forMarshaling->pImmutableSamplers) {
3942 if (forMarshaling->descriptorCount) {
3943 uint64_t* cgen_var_0_0;
3944 vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->descriptorCount * 8);
3945 vkStream->handleMapping()->mapHandles_VkSampler_u64(
3946 forMarshaling->pImmutableSamplers, cgen_var_0_0, forMarshaling->descriptorCount);
3947 vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->descriptorCount * 8);
3948 }
3949 }
3950 }
3951
unmarshal_VkDescriptorSetLayoutBinding(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetLayoutBinding * forUnmarshaling)3952 void unmarshal_VkDescriptorSetLayoutBinding(VulkanStream* vkStream, VkStructureType rootType,
3953 VkDescriptorSetLayoutBinding* forUnmarshaling) {
3954 (void)rootType;
3955 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
3956 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
3957 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3958 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
3959 // WARNING PTR CHECK
3960 forUnmarshaling->pImmutableSamplers = (const VkSampler*)(uintptr_t)vkStream->getBe64();
3961 if (forUnmarshaling->pImmutableSamplers) {
3962 vkStream->alloc((void**)&forUnmarshaling->pImmutableSamplers,
3963 forUnmarshaling->descriptorCount * sizeof(const VkSampler));
3964 if (forUnmarshaling->descriptorCount) {
3965 uint64_t* cgen_var_0_0;
3966 vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
3967 vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
3968 vkStream->handleMapping()->mapHandles_u64_VkSampler(
3969 cgen_var_0_0, (VkSampler*)forUnmarshaling->pImmutableSamplers,
3970 forUnmarshaling->descriptorCount);
3971 }
3972 }
3973 }
3974
marshal_VkDescriptorSetLayoutCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * forMarshaling)3975 void marshal_VkDescriptorSetLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3976 const VkDescriptorSetLayoutCreateInfo* forMarshaling) {
3977 (void)rootType;
3978 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3979 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3980 rootType = forMarshaling->sType;
3981 }
3982 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3983 vkStream->write((VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags,
3984 sizeof(VkDescriptorSetLayoutCreateFlags));
3985 vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
3986 if (forMarshaling) {
3987 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) {
3988 marshal_VkDescriptorSetLayoutBinding(
3989 vkStream, rootType,
3990 (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i));
3991 }
3992 }
3993 }
3994
unmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetLayoutCreateInfo * forUnmarshaling)3995 void unmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
3996 VkDescriptorSetLayoutCreateInfo* forUnmarshaling) {
3997 (void)rootType;
3998 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3999 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4000 rootType = forUnmarshaling->sType;
4001 }
4002 size_t pNext_size;
4003 pNext_size = vkStream->getBe32();
4004 forUnmarshaling->pNext = nullptr;
4005 if (pNext_size) {
4006 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4007 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4008 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4009 vkStream->alloc((void**)&forUnmarshaling->pNext,
4010 goldfish_vk_extension_struct_size_with_stream_features(
4011 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4012 *(VkStructureType*)forUnmarshaling->pNext = extType;
4013 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4014 }
4015 vkStream->read((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags,
4016 sizeof(VkDescriptorSetLayoutCreateFlags));
4017 vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
4018 vkStream->alloc((void**)&forUnmarshaling->pBindings,
4019 forUnmarshaling->bindingCount * sizeof(const VkDescriptorSetLayoutBinding));
4020 if (forUnmarshaling) {
4021 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i) {
4022 unmarshal_VkDescriptorSetLayoutBinding(
4023 vkStream, rootType,
4024 (VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i));
4025 }
4026 }
4027 }
4028
marshal_VkWriteDescriptorSet(VulkanStream * vkStream,VkStructureType rootType,const VkWriteDescriptorSet * forMarshaling)4029 void marshal_VkWriteDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
4030 const VkWriteDescriptorSet* forMarshaling) {
4031 (void)rootType;
4032 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4033 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4034 rootType = forMarshaling->sType;
4035 }
4036 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4037 uint64_t cgen_var_0;
4038 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_0,
4039 1);
4040 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4041 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
4042 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
4043 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
4044 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
4045 // WARNING PTR CHECK
4046 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
4047 vkStream->putBe64(cgen_var_1);
4048 if (forMarshaling->pImageInfo) {
4049 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4050 ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) ||
4051 (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) ||
4052 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) ||
4053 (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) ||
4054 (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) {
4055 if (forMarshaling) {
4056 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
4057 marshal_VkDescriptorImageInfo(
4058 vkStream, rootType,
4059 (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i));
4060 }
4061 }
4062 }
4063 }
4064 // WARNING PTR CHECK
4065 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
4066 vkStream->putBe64(cgen_var_2);
4067 if (forMarshaling->pBufferInfo) {
4068 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4069 ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) ||
4070 (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) ||
4071 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) ||
4072 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) {
4073 if (forMarshaling) {
4074 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
4075 marshal_VkDescriptorBufferInfo(
4076 vkStream, rootType,
4077 (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i));
4078 }
4079 }
4080 }
4081 }
4082 // WARNING PTR CHECK
4083 uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
4084 vkStream->putBe64(cgen_var_3);
4085 if (forMarshaling->pTexelBufferView) {
4086 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4087 ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) ||
4088 (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) {
4089 if (forMarshaling->descriptorCount) {
4090 uint64_t* cgen_var_3_0;
4091 vkStream->alloc((void**)&cgen_var_3_0, forMarshaling->descriptorCount * 8);
4092 vkStream->handleMapping()->mapHandles_VkBufferView_u64(
4093 forMarshaling->pTexelBufferView, cgen_var_3_0, forMarshaling->descriptorCount);
4094 vkStream->write((uint64_t*)cgen_var_3_0, forMarshaling->descriptorCount * 8);
4095 }
4096 }
4097 }
4098 }
4099
unmarshal_VkWriteDescriptorSet(VulkanStream * vkStream,VkStructureType rootType,VkWriteDescriptorSet * forUnmarshaling)4100 void unmarshal_VkWriteDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
4101 VkWriteDescriptorSet* forUnmarshaling) {
4102 (void)rootType;
4103 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4104 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4105 rootType = forUnmarshaling->sType;
4106 }
4107 size_t pNext_size;
4108 pNext_size = vkStream->getBe32();
4109 forUnmarshaling->pNext = nullptr;
4110 if (pNext_size) {
4111 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4112 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4113 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4114 vkStream->alloc((void**)&forUnmarshaling->pNext,
4115 goldfish_vk_extension_struct_size_with_stream_features(
4116 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4117 *(VkStructureType*)forUnmarshaling->pNext = extType;
4118 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4119 }
4120 uint64_t cgen_var_0;
4121 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4122 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
4123 &cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
4124 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
4125 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
4126 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
4127 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
4128 // WARNING PTR CHECK
4129 forUnmarshaling->pImageInfo = (const VkDescriptorImageInfo*)(uintptr_t)vkStream->getBe64();
4130 if (forUnmarshaling->pImageInfo) {
4131 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4132 ((VK_DESCRIPTOR_TYPE_SAMPLER == forUnmarshaling->descriptorType) ||
4133 (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forUnmarshaling->descriptorType) ||
4134 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forUnmarshaling->descriptorType) ||
4135 (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forUnmarshaling->descriptorType) ||
4136 (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forUnmarshaling->descriptorType)))) {
4137 vkStream->alloc((void**)&forUnmarshaling->pImageInfo,
4138 forUnmarshaling->descriptorCount * sizeof(const VkDescriptorImageInfo));
4139 if (forUnmarshaling) {
4140 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
4141 unmarshal_VkDescriptorImageInfo(
4142 vkStream, rootType,
4143 (VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i));
4144 }
4145 }
4146 } else {
4147 forUnmarshaling->pImageInfo = 0;
4148 }
4149 }
4150 // WARNING PTR CHECK
4151 forUnmarshaling->pBufferInfo = (const VkDescriptorBufferInfo*)(uintptr_t)vkStream->getBe64();
4152 if (forUnmarshaling->pBufferInfo) {
4153 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4154 ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forUnmarshaling->descriptorType) ||
4155 (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forUnmarshaling->descriptorType) ||
4156 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forUnmarshaling->descriptorType) ||
4157 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forUnmarshaling->descriptorType)))) {
4158 vkStream->alloc(
4159 (void**)&forUnmarshaling->pBufferInfo,
4160 forUnmarshaling->descriptorCount * sizeof(const VkDescriptorBufferInfo));
4161 if (forUnmarshaling) {
4162 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
4163 unmarshal_VkDescriptorBufferInfo(
4164 vkStream, rootType,
4165 (VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i));
4166 }
4167 }
4168 } else {
4169 forUnmarshaling->pBufferInfo = 0;
4170 }
4171 }
4172 // WARNING PTR CHECK
4173 forUnmarshaling->pTexelBufferView = (const VkBufferView*)(uintptr_t)vkStream->getBe64();
4174 if (forUnmarshaling->pTexelBufferView) {
4175 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4176 ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forUnmarshaling->descriptorType) ||
4177 (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forUnmarshaling->descriptorType)))) {
4178 vkStream->alloc((void**)&forUnmarshaling->pTexelBufferView,
4179 forUnmarshaling->descriptorCount * sizeof(const VkBufferView));
4180 if (forUnmarshaling->descriptorCount) {
4181 uint64_t* cgen_var_3_0;
4182 vkStream->alloc((void**)&cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
4183 vkStream->read((uint64_t*)cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
4184 vkStream->handleMapping()->mapHandles_u64_VkBufferView(
4185 cgen_var_3_0, (VkBufferView*)forUnmarshaling->pTexelBufferView,
4186 forUnmarshaling->descriptorCount);
4187 }
4188 } else {
4189 forUnmarshaling->pTexelBufferView = 0;
4190 }
4191 }
4192 }
4193
marshal_VkAttachmentDescription(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentDescription * forMarshaling)4194 void marshal_VkAttachmentDescription(VulkanStream* vkStream, VkStructureType rootType,
4195 const VkAttachmentDescription* forMarshaling) {
4196 (void)rootType;
4197 vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
4198 sizeof(VkAttachmentDescriptionFlags));
4199 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
4200 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
4201 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
4202 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
4203 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
4204 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
4205 sizeof(VkAttachmentStoreOp));
4206 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
4207 vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
4208 }
4209
unmarshal_VkAttachmentDescription(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentDescription * forUnmarshaling)4210 void unmarshal_VkAttachmentDescription(VulkanStream* vkStream, VkStructureType rootType,
4211 VkAttachmentDescription* forUnmarshaling) {
4212 (void)rootType;
4213 vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
4214 sizeof(VkAttachmentDescriptionFlags));
4215 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
4216 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
4217 sizeof(VkSampleCountFlagBits));
4218 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
4219 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
4220 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
4221 sizeof(VkAttachmentLoadOp));
4222 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
4223 sizeof(VkAttachmentStoreOp));
4224 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
4225 vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
4226 }
4227
marshal_VkAttachmentReference(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentReference * forMarshaling)4228 void marshal_VkAttachmentReference(VulkanStream* vkStream, VkStructureType rootType,
4229 const VkAttachmentReference* forMarshaling) {
4230 (void)rootType;
4231 vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
4232 vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
4233 }
4234
unmarshal_VkAttachmentReference(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentReference * forUnmarshaling)4235 void unmarshal_VkAttachmentReference(VulkanStream* vkStream, VkStructureType rootType,
4236 VkAttachmentReference* forUnmarshaling) {
4237 (void)rootType;
4238 vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
4239 vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
4240 }
4241
marshal_VkFramebufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkFramebufferCreateInfo * forMarshaling)4242 void marshal_VkFramebufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4243 const VkFramebufferCreateInfo* forMarshaling) {
4244 (void)rootType;
4245 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4246 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4247 rootType = forMarshaling->sType;
4248 }
4249 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4250 vkStream->write((VkFramebufferCreateFlags*)&forMarshaling->flags,
4251 sizeof(VkFramebufferCreateFlags));
4252 uint64_t cgen_var_0;
4253 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
4254 1);
4255 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4256 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
4257 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4258 (((forMarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
4259 if (forMarshaling->attachmentCount) {
4260 uint64_t* cgen_var_0_0;
4261 vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->attachmentCount * 8);
4262 vkStream->handleMapping()->mapHandles_VkImageView_u64(
4263 forMarshaling->pAttachments, cgen_var_0_0, forMarshaling->attachmentCount);
4264 vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->attachmentCount * 8);
4265 }
4266 }
4267 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
4268 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
4269 vkStream->write((uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
4270 }
4271
unmarshal_VkFramebufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkFramebufferCreateInfo * forUnmarshaling)4272 void unmarshal_VkFramebufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4273 VkFramebufferCreateInfo* forUnmarshaling) {
4274 (void)rootType;
4275 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4276 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4277 rootType = forUnmarshaling->sType;
4278 }
4279 size_t pNext_size;
4280 pNext_size = vkStream->getBe32();
4281 forUnmarshaling->pNext = nullptr;
4282 if (pNext_size) {
4283 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4284 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4285 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4286 vkStream->alloc((void**)&forUnmarshaling->pNext,
4287 goldfish_vk_extension_struct_size_with_stream_features(
4288 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4289 *(VkStructureType*)forUnmarshaling->pNext = extType;
4290 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4291 }
4292 vkStream->read((VkFramebufferCreateFlags*)&forUnmarshaling->flags,
4293 sizeof(VkFramebufferCreateFlags));
4294 uint64_t cgen_var_0;
4295 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4296 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
4297 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
4298 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
4299 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
4300 (((forUnmarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
4301 vkStream->alloc((void**)&forUnmarshaling->pAttachments,
4302 forUnmarshaling->attachmentCount * sizeof(const VkImageView));
4303 if (forUnmarshaling->attachmentCount) {
4304 uint64_t* cgen_var_0_0;
4305 vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
4306 vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
4307 vkStream->handleMapping()->mapHandles_u64_VkImageView(
4308 cgen_var_0_0, (VkImageView*)forUnmarshaling->pAttachments,
4309 forUnmarshaling->attachmentCount);
4310 }
4311 } else {
4312 forUnmarshaling->pAttachments = 0;
4313 }
4314 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
4315 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
4316 vkStream->read((uint32_t*)&forUnmarshaling->layers, sizeof(uint32_t));
4317 }
4318
marshal_VkSubpassDescription(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassDescription * forMarshaling)4319 void marshal_VkSubpassDescription(VulkanStream* vkStream, VkStructureType rootType,
4320 const VkSubpassDescription* forMarshaling) {
4321 (void)rootType;
4322 vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags,
4323 sizeof(VkSubpassDescriptionFlags));
4324 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
4325 sizeof(VkPipelineBindPoint));
4326 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
4327 if (forMarshaling) {
4328 for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
4329 marshal_VkAttachmentReference(
4330 vkStream, rootType,
4331 (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i));
4332 }
4333 }
4334 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
4335 if (forMarshaling) {
4336 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4337 marshal_VkAttachmentReference(
4338 vkStream, rootType,
4339 (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i));
4340 }
4341 }
4342 // WARNING PTR CHECK
4343 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
4344 vkStream->putBe64(cgen_var_0);
4345 if (forMarshaling->pResolveAttachments) {
4346 if (forMarshaling) {
4347 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
4348 marshal_VkAttachmentReference(
4349 vkStream, rootType,
4350 (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i));
4351 }
4352 }
4353 }
4354 // WARNING PTR CHECK
4355 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
4356 vkStream->putBe64(cgen_var_1);
4357 if (forMarshaling->pDepthStencilAttachment) {
4358 marshal_VkAttachmentReference(
4359 vkStream, rootType,
4360 (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment));
4361 }
4362 vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
4363 vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
4364 forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
4365 }
4366
unmarshal_VkSubpassDescription(VulkanStream * vkStream,VkStructureType rootType,VkSubpassDescription * forUnmarshaling)4367 void unmarshal_VkSubpassDescription(VulkanStream* vkStream, VkStructureType rootType,
4368 VkSubpassDescription* forUnmarshaling) {
4369 (void)rootType;
4370 vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
4371 sizeof(VkSubpassDescriptionFlags));
4372 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
4373 sizeof(VkPipelineBindPoint));
4374 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
4375 vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
4376 forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference));
4377 if (forUnmarshaling) {
4378 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
4379 unmarshal_VkAttachmentReference(
4380 vkStream, rootType,
4381 (VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i));
4382 }
4383 }
4384 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
4385 vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
4386 forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
4387 if (forUnmarshaling) {
4388 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
4389 unmarshal_VkAttachmentReference(
4390 vkStream, rootType,
4391 (VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i));
4392 }
4393 }
4394 // WARNING PTR CHECK
4395 forUnmarshaling->pResolveAttachments =
4396 (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
4397 if (forUnmarshaling->pResolveAttachments) {
4398 vkStream->alloc(
4399 (void**)&forUnmarshaling->pResolveAttachments,
4400 forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
4401 if (forUnmarshaling) {
4402 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
4403 unmarshal_VkAttachmentReference(
4404 vkStream, rootType,
4405 (VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i));
4406 }
4407 }
4408 }
4409 // WARNING PTR CHECK
4410 forUnmarshaling->pDepthStencilAttachment =
4411 (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
4412 if (forUnmarshaling->pDepthStencilAttachment) {
4413 vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
4414 sizeof(const VkAttachmentReference));
4415 unmarshal_VkAttachmentReference(
4416 vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment));
4417 }
4418 vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
4419 vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
4420 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
4421 vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
4422 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
4423 }
4424
marshal_VkSubpassDependency(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassDependency * forMarshaling)4425 void marshal_VkSubpassDependency(VulkanStream* vkStream, VkStructureType rootType,
4426 const VkSubpassDependency* forMarshaling) {
4427 (void)rootType;
4428 vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
4429 vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
4430 vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
4431 sizeof(VkPipelineStageFlags));
4432 vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
4433 sizeof(VkPipelineStageFlags));
4434 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
4435 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
4436 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
4437 }
4438
unmarshal_VkSubpassDependency(VulkanStream * vkStream,VkStructureType rootType,VkSubpassDependency * forUnmarshaling)4439 void unmarshal_VkSubpassDependency(VulkanStream* vkStream, VkStructureType rootType,
4440 VkSubpassDependency* forUnmarshaling) {
4441 (void)rootType;
4442 vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
4443 vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
4444 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
4445 sizeof(VkPipelineStageFlags));
4446 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
4447 sizeof(VkPipelineStageFlags));
4448 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
4449 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
4450 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
4451 sizeof(VkDependencyFlags));
4452 }
4453
marshal_VkRenderPassCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo * forMarshaling)4454 void marshal_VkRenderPassCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4455 const VkRenderPassCreateInfo* forMarshaling) {
4456 (void)rootType;
4457 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4458 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4459 rootType = forMarshaling->sType;
4460 }
4461 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4462 vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags,
4463 sizeof(VkRenderPassCreateFlags));
4464 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
4465 if (forMarshaling) {
4466 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
4467 marshal_VkAttachmentDescription(
4468 vkStream, rootType,
4469 (const VkAttachmentDescription*)(forMarshaling->pAttachments + i));
4470 }
4471 }
4472 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
4473 if (forMarshaling) {
4474 for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
4475 marshal_VkSubpassDescription(
4476 vkStream, rootType, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i));
4477 }
4478 }
4479 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
4480 if (forMarshaling) {
4481 for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
4482 marshal_VkSubpassDependency(
4483 vkStream, rootType, (const VkSubpassDependency*)(forMarshaling->pDependencies + i));
4484 }
4485 }
4486 }
4487
unmarshal_VkRenderPassCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassCreateInfo * forUnmarshaling)4488 void unmarshal_VkRenderPassCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4489 VkRenderPassCreateInfo* forUnmarshaling) {
4490 (void)rootType;
4491 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4492 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4493 rootType = forUnmarshaling->sType;
4494 }
4495 size_t pNext_size;
4496 pNext_size = vkStream->getBe32();
4497 forUnmarshaling->pNext = nullptr;
4498 if (pNext_size) {
4499 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4500 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4501 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4502 vkStream->alloc((void**)&forUnmarshaling->pNext,
4503 goldfish_vk_extension_struct_size_with_stream_features(
4504 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4505 *(VkStructureType*)forUnmarshaling->pNext = extType;
4506 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4507 }
4508 vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
4509 sizeof(VkRenderPassCreateFlags));
4510 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
4511 vkStream->alloc((void**)&forUnmarshaling->pAttachments,
4512 forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription));
4513 if (forUnmarshaling) {
4514 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
4515 unmarshal_VkAttachmentDescription(
4516 vkStream, rootType, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i));
4517 }
4518 }
4519 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
4520 vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
4521 forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription));
4522 if (forUnmarshaling) {
4523 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
4524 unmarshal_VkSubpassDescription(
4525 vkStream, rootType, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i));
4526 }
4527 }
4528 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
4529 vkStream->alloc((void**)&forUnmarshaling->pDependencies,
4530 forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency));
4531 if (forUnmarshaling) {
4532 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
4533 unmarshal_VkSubpassDependency(
4534 vkStream, rootType, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i));
4535 }
4536 }
4537 }
4538
marshal_VkCommandPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandPoolCreateInfo * forMarshaling)4539 void marshal_VkCommandPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4540 const VkCommandPoolCreateInfo* forMarshaling) {
4541 (void)rootType;
4542 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4543 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4544 rootType = forMarshaling->sType;
4545 }
4546 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4547 vkStream->write((VkCommandPoolCreateFlags*)&forMarshaling->flags,
4548 sizeof(VkCommandPoolCreateFlags));
4549 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
4550 }
4551
unmarshal_VkCommandPoolCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandPoolCreateInfo * forUnmarshaling)4552 void unmarshal_VkCommandPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
4553 VkCommandPoolCreateInfo* forUnmarshaling) {
4554 (void)rootType;
4555 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4556 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4557 rootType = forUnmarshaling->sType;
4558 }
4559 size_t pNext_size;
4560 pNext_size = vkStream->getBe32();
4561 forUnmarshaling->pNext = nullptr;
4562 if (pNext_size) {
4563 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4564 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4565 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4566 vkStream->alloc((void**)&forUnmarshaling->pNext,
4567 goldfish_vk_extension_struct_size_with_stream_features(
4568 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4569 *(VkStructureType*)forUnmarshaling->pNext = extType;
4570 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4571 }
4572 vkStream->read((VkCommandPoolCreateFlags*)&forUnmarshaling->flags,
4573 sizeof(VkCommandPoolCreateFlags));
4574 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
4575 }
4576
marshal_VkCommandBufferAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandBufferAllocateInfo * forMarshaling)4577 void marshal_VkCommandBufferAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
4578 const VkCommandBufferAllocateInfo* forMarshaling) {
4579 (void)rootType;
4580 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4581 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4582 rootType = forMarshaling->sType;
4583 }
4584 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4585 uint64_t cgen_var_0;
4586 vkStream->handleMapping()->mapHandles_VkCommandPool_u64(&forMarshaling->commandPool,
4587 &cgen_var_0, 1);
4588 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4589 vkStream->write((VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
4590 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
4591 }
4592
unmarshal_VkCommandBufferAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandBufferAllocateInfo * forUnmarshaling)4593 void unmarshal_VkCommandBufferAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
4594 VkCommandBufferAllocateInfo* forUnmarshaling) {
4595 (void)rootType;
4596 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4597 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4598 rootType = forUnmarshaling->sType;
4599 }
4600 size_t pNext_size;
4601 pNext_size = vkStream->getBe32();
4602 forUnmarshaling->pNext = nullptr;
4603 if (pNext_size) {
4604 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4605 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4606 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4607 vkStream->alloc((void**)&forUnmarshaling->pNext,
4608 goldfish_vk_extension_struct_size_with_stream_features(
4609 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4610 *(VkStructureType*)forUnmarshaling->pNext = extType;
4611 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4612 }
4613 uint64_t cgen_var_0;
4614 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4615 vkStream->handleMapping()->mapHandles_u64_VkCommandPool(
4616 &cgen_var_0, (VkCommandPool*)&forUnmarshaling->commandPool, 1);
4617 vkStream->read((VkCommandBufferLevel*)&forUnmarshaling->level, sizeof(VkCommandBufferLevel));
4618 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
4619 }
4620
marshal_VkCommandBufferInheritanceInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceInfo * forMarshaling)4621 void marshal_VkCommandBufferInheritanceInfo(VulkanStream* vkStream, VkStructureType rootType,
4622 const VkCommandBufferInheritanceInfo* forMarshaling) {
4623 (void)rootType;
4624 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4625 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4626 rootType = forMarshaling->sType;
4627 }
4628 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4629 uint64_t cgen_var_0;
4630 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
4631 1);
4632 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4633 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
4634 uint64_t cgen_var_1;
4635 vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
4636 &cgen_var_1, 1);
4637 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4638 vkStream->write((VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
4639 vkStream->write((VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
4640 vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
4641 sizeof(VkQueryPipelineStatisticFlags));
4642 }
4643
unmarshal_VkCommandBufferInheritanceInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandBufferInheritanceInfo * forUnmarshaling)4644 void unmarshal_VkCommandBufferInheritanceInfo(VulkanStream* vkStream, VkStructureType rootType,
4645 VkCommandBufferInheritanceInfo* forUnmarshaling) {
4646 (void)rootType;
4647 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4648 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4649 rootType = forUnmarshaling->sType;
4650 }
4651 size_t pNext_size;
4652 pNext_size = vkStream->getBe32();
4653 forUnmarshaling->pNext = nullptr;
4654 if (pNext_size) {
4655 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4656 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4657 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4658 vkStream->alloc((void**)&forUnmarshaling->pNext,
4659 goldfish_vk_extension_struct_size_with_stream_features(
4660 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4661 *(VkStructureType*)forUnmarshaling->pNext = extType;
4662 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4663 }
4664 uint64_t cgen_var_0;
4665 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4666 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
4667 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
4668 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
4669 uint64_t cgen_var_1;
4670 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4671 vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
4672 &cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
4673 vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryEnable, sizeof(VkBool32));
4674 vkStream->read((VkQueryControlFlags*)&forUnmarshaling->queryFlags, sizeof(VkQueryControlFlags));
4675 vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
4676 sizeof(VkQueryPipelineStatisticFlags));
4677 }
4678
marshal_VkCommandBufferBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandBufferBeginInfo * forMarshaling)4679 void marshal_VkCommandBufferBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
4680 const VkCommandBufferBeginInfo* forMarshaling) {
4681 (void)rootType;
4682 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4683 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4684 rootType = forMarshaling->sType;
4685 }
4686 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4687 vkStream->write((VkCommandBufferUsageFlags*)&forMarshaling->flags,
4688 sizeof(VkCommandBufferUsageFlags));
4689 // WARNING PTR CHECK
4690 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
4691 vkStream->putBe64(cgen_var_0);
4692 if (forMarshaling->pInheritanceInfo) {
4693 marshal_VkCommandBufferInheritanceInfo(
4694 vkStream, rootType,
4695 (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo));
4696 }
4697 }
4698
unmarshal_VkCommandBufferBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandBufferBeginInfo * forUnmarshaling)4699 void unmarshal_VkCommandBufferBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
4700 VkCommandBufferBeginInfo* forUnmarshaling) {
4701 (void)rootType;
4702 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4703 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4704 rootType = forUnmarshaling->sType;
4705 }
4706 size_t pNext_size;
4707 pNext_size = vkStream->getBe32();
4708 forUnmarshaling->pNext = nullptr;
4709 if (pNext_size) {
4710 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4711 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4712 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4713 vkStream->alloc((void**)&forUnmarshaling->pNext,
4714 goldfish_vk_extension_struct_size_with_stream_features(
4715 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4716 *(VkStructureType*)forUnmarshaling->pNext = extType;
4717 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4718 }
4719 vkStream->read((VkCommandBufferUsageFlags*)&forUnmarshaling->flags,
4720 sizeof(VkCommandBufferUsageFlags));
4721 // WARNING PTR CHECK
4722 forUnmarshaling->pInheritanceInfo =
4723 (const VkCommandBufferInheritanceInfo*)(uintptr_t)vkStream->getBe64();
4724 if (forUnmarshaling->pInheritanceInfo) {
4725 vkStream->alloc((void**)&forUnmarshaling->pInheritanceInfo,
4726 sizeof(const VkCommandBufferInheritanceInfo));
4727 unmarshal_VkCommandBufferInheritanceInfo(
4728 vkStream, rootType,
4729 (VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo));
4730 }
4731 }
4732
marshal_VkBufferCopy(VulkanStream * vkStream,VkStructureType rootType,const VkBufferCopy * forMarshaling)4733 void marshal_VkBufferCopy(VulkanStream* vkStream, VkStructureType rootType,
4734 const VkBufferCopy* forMarshaling) {
4735 (void)rootType;
4736 vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
4737 vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
4738 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
4739 }
4740
unmarshal_VkBufferCopy(VulkanStream * vkStream,VkStructureType rootType,VkBufferCopy * forUnmarshaling)4741 void unmarshal_VkBufferCopy(VulkanStream* vkStream, VkStructureType rootType,
4742 VkBufferCopy* forUnmarshaling) {
4743 (void)rootType;
4744 vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
4745 vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
4746 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
4747 }
4748
marshal_VkImageSubresourceLayers(VulkanStream * vkStream,VkStructureType rootType,const VkImageSubresourceLayers * forMarshaling)4749 void marshal_VkImageSubresourceLayers(VulkanStream* vkStream, VkStructureType rootType,
4750 const VkImageSubresourceLayers* forMarshaling) {
4751 (void)rootType;
4752 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4753 vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
4754 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
4755 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
4756 }
4757
unmarshal_VkImageSubresourceLayers(VulkanStream * vkStream,VkStructureType rootType,VkImageSubresourceLayers * forUnmarshaling)4758 void unmarshal_VkImageSubresourceLayers(VulkanStream* vkStream, VkStructureType rootType,
4759 VkImageSubresourceLayers* forUnmarshaling) {
4760 (void)rootType;
4761 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
4762 vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
4763 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
4764 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
4765 }
4766
marshal_VkBufferImageCopy(VulkanStream * vkStream,VkStructureType rootType,const VkBufferImageCopy * forMarshaling)4767 void marshal_VkBufferImageCopy(VulkanStream* vkStream, VkStructureType rootType,
4768 const VkBufferImageCopy* forMarshaling) {
4769 (void)rootType;
4770 vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
4771 vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
4772 vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
4773 marshal_VkImageSubresourceLayers(vkStream, rootType,
4774 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
4775 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
4776 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
4777 }
4778
unmarshal_VkBufferImageCopy(VulkanStream * vkStream,VkStructureType rootType,VkBufferImageCopy * forUnmarshaling)4779 void unmarshal_VkBufferImageCopy(VulkanStream* vkStream, VkStructureType rootType,
4780 VkBufferImageCopy* forUnmarshaling) {
4781 (void)rootType;
4782 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize));
4783 vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t));
4784 vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t));
4785 unmarshal_VkImageSubresourceLayers(
4786 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
4787 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
4788 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
4789 }
4790
marshal_VkClearColorValue(VulkanStream * vkStream,VkStructureType rootType,const VkClearColorValue * forMarshaling)4791 void marshal_VkClearColorValue(VulkanStream* vkStream, VkStructureType rootType,
4792 const VkClearColorValue* forMarshaling) {
4793 (void)rootType;
4794 vkStream->write((float*)forMarshaling->float32, 4 * sizeof(float));
4795 }
4796
unmarshal_VkClearColorValue(VulkanStream * vkStream,VkStructureType rootType,VkClearColorValue * forUnmarshaling)4797 void unmarshal_VkClearColorValue(VulkanStream* vkStream, VkStructureType rootType,
4798 VkClearColorValue* forUnmarshaling) {
4799 (void)rootType;
4800 vkStream->read((float*)forUnmarshaling->float32, 4 * sizeof(float));
4801 }
4802
marshal_VkClearDepthStencilValue(VulkanStream * vkStream,VkStructureType rootType,const VkClearDepthStencilValue * forMarshaling)4803 void marshal_VkClearDepthStencilValue(VulkanStream* vkStream, VkStructureType rootType,
4804 const VkClearDepthStencilValue* forMarshaling) {
4805 (void)rootType;
4806 vkStream->write((float*)&forMarshaling->depth, sizeof(float));
4807 vkStream->write((uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
4808 }
4809
unmarshal_VkClearDepthStencilValue(VulkanStream * vkStream,VkStructureType rootType,VkClearDepthStencilValue * forUnmarshaling)4810 void unmarshal_VkClearDepthStencilValue(VulkanStream* vkStream, VkStructureType rootType,
4811 VkClearDepthStencilValue* forUnmarshaling) {
4812 (void)rootType;
4813 vkStream->read((float*)&forUnmarshaling->depth, sizeof(float));
4814 vkStream->read((uint32_t*)&forUnmarshaling->stencil, sizeof(uint32_t));
4815 }
4816
marshal_VkClearValue(VulkanStream * vkStream,VkStructureType rootType,const VkClearValue * forMarshaling)4817 void marshal_VkClearValue(VulkanStream* vkStream, VkStructureType rootType,
4818 const VkClearValue* forMarshaling) {
4819 (void)rootType;
4820 marshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forMarshaling->color));
4821 }
4822
unmarshal_VkClearValue(VulkanStream * vkStream,VkStructureType rootType,VkClearValue * forUnmarshaling)4823 void unmarshal_VkClearValue(VulkanStream* vkStream, VkStructureType rootType,
4824 VkClearValue* forUnmarshaling) {
4825 (void)rootType;
4826 unmarshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forUnmarshaling->color));
4827 }
4828
marshal_VkClearAttachment(VulkanStream * vkStream,VkStructureType rootType,const VkClearAttachment * forMarshaling)4829 void marshal_VkClearAttachment(VulkanStream* vkStream, VkStructureType rootType,
4830 const VkClearAttachment* forMarshaling) {
4831 (void)rootType;
4832 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4833 vkStream->write((uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
4834 marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue));
4835 }
4836
unmarshal_VkClearAttachment(VulkanStream * vkStream,VkStructureType rootType,VkClearAttachment * forUnmarshaling)4837 void unmarshal_VkClearAttachment(VulkanStream* vkStream, VkStructureType rootType,
4838 VkClearAttachment* forUnmarshaling) {
4839 (void)rootType;
4840 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
4841 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachment, sizeof(uint32_t));
4842 unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue));
4843 }
4844
marshal_VkClearRect(VulkanStream * vkStream,VkStructureType rootType,const VkClearRect * forMarshaling)4845 void marshal_VkClearRect(VulkanStream* vkStream, VkStructureType rootType,
4846 const VkClearRect* forMarshaling) {
4847 (void)rootType;
4848 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->rect));
4849 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
4850 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
4851 }
4852
unmarshal_VkClearRect(VulkanStream * vkStream,VkStructureType rootType,VkClearRect * forUnmarshaling)4853 void unmarshal_VkClearRect(VulkanStream* vkStream, VkStructureType rootType,
4854 VkClearRect* forUnmarshaling) {
4855 (void)rootType;
4856 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->rect));
4857 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
4858 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
4859 }
4860
marshal_VkImageBlit(VulkanStream * vkStream,VkStructureType rootType,const VkImageBlit * forMarshaling)4861 void marshal_VkImageBlit(VulkanStream* vkStream, VkStructureType rootType,
4862 const VkImageBlit* forMarshaling) {
4863 (void)rootType;
4864 marshal_VkImageSubresourceLayers(vkStream, rootType,
4865 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4866 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4867 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i));
4868 }
4869 marshal_VkImageSubresourceLayers(vkStream, rootType,
4870 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4871 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4872 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i));
4873 }
4874 }
4875
unmarshal_VkImageBlit(VulkanStream * vkStream,VkStructureType rootType,VkImageBlit * forUnmarshaling)4876 void unmarshal_VkImageBlit(VulkanStream* vkStream, VkStructureType rootType,
4877 VkImageBlit* forUnmarshaling) {
4878 (void)rootType;
4879 unmarshal_VkImageSubresourceLayers(
4880 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4881 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4882 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i));
4883 }
4884 unmarshal_VkImageSubresourceLayers(
4885 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4886 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4887 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i));
4888 }
4889 }
4890
marshal_VkImageCopy(VulkanStream * vkStream,VkStructureType rootType,const VkImageCopy * forMarshaling)4891 void marshal_VkImageCopy(VulkanStream* vkStream, VkStructureType rootType,
4892 const VkImageCopy* forMarshaling) {
4893 (void)rootType;
4894 marshal_VkImageSubresourceLayers(vkStream, rootType,
4895 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4896 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
4897 marshal_VkImageSubresourceLayers(vkStream, rootType,
4898 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4899 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
4900 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
4901 }
4902
unmarshal_VkImageCopy(VulkanStream * vkStream,VkStructureType rootType,VkImageCopy * forUnmarshaling)4903 void unmarshal_VkImageCopy(VulkanStream* vkStream, VkStructureType rootType,
4904 VkImageCopy* forUnmarshaling) {
4905 (void)rootType;
4906 unmarshal_VkImageSubresourceLayers(
4907 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4908 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
4909 unmarshal_VkImageSubresourceLayers(
4910 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4911 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
4912 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
4913 }
4914
marshal_VkImageResolve(VulkanStream * vkStream,VkStructureType rootType,const VkImageResolve * forMarshaling)4915 void marshal_VkImageResolve(VulkanStream* vkStream, VkStructureType rootType,
4916 const VkImageResolve* forMarshaling) {
4917 (void)rootType;
4918 marshal_VkImageSubresourceLayers(vkStream, rootType,
4919 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4920 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
4921 marshal_VkImageSubresourceLayers(vkStream, rootType,
4922 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4923 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
4924 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
4925 }
4926
unmarshal_VkImageResolve(VulkanStream * vkStream,VkStructureType rootType,VkImageResolve * forUnmarshaling)4927 void unmarshal_VkImageResolve(VulkanStream* vkStream, VkStructureType rootType,
4928 VkImageResolve* forUnmarshaling) {
4929 (void)rootType;
4930 unmarshal_VkImageSubresourceLayers(
4931 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4932 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
4933 unmarshal_VkImageSubresourceLayers(
4934 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4935 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
4936 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
4937 }
4938
marshal_VkRenderPassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassBeginInfo * forMarshaling)4939 void marshal_VkRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
4940 const VkRenderPassBeginInfo* forMarshaling) {
4941 (void)rootType;
4942 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4943 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4944 rootType = forMarshaling->sType;
4945 }
4946 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4947 uint64_t cgen_var_0;
4948 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
4949 1);
4950 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4951 uint64_t cgen_var_1;
4952 vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
4953 &cgen_var_1, 1);
4954 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4955 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea));
4956 vkStream->write((uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
4957 // WARNING PTR CHECK
4958 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
4959 vkStream->putBe64(cgen_var_2);
4960 if (forMarshaling->pClearValues) {
4961 if (forMarshaling) {
4962 for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) {
4963 marshal_VkClearValue(vkStream, rootType,
4964 (const VkClearValue*)(forMarshaling->pClearValues + i));
4965 }
4966 }
4967 }
4968 }
4969
unmarshal_VkRenderPassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassBeginInfo * forUnmarshaling)4970 void unmarshal_VkRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
4971 VkRenderPassBeginInfo* forUnmarshaling) {
4972 (void)rootType;
4973 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4974 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4975 rootType = forUnmarshaling->sType;
4976 }
4977 size_t pNext_size;
4978 pNext_size = vkStream->getBe32();
4979 forUnmarshaling->pNext = nullptr;
4980 if (pNext_size) {
4981 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
4982 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
4983 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
4984 vkStream->alloc((void**)&forUnmarshaling->pNext,
4985 goldfish_vk_extension_struct_size_with_stream_features(
4986 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
4987 *(VkStructureType*)forUnmarshaling->pNext = extType;
4988 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4989 }
4990 uint64_t cgen_var_0;
4991 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4992 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
4993 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
4994 uint64_t cgen_var_1;
4995 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4996 vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
4997 &cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
4998 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea));
4999 vkStream->read((uint32_t*)&forUnmarshaling->clearValueCount, sizeof(uint32_t));
5000 // WARNING PTR CHECK
5001 forUnmarshaling->pClearValues = (const VkClearValue*)(uintptr_t)vkStream->getBe64();
5002 if (forUnmarshaling->pClearValues) {
5003 vkStream->alloc((void**)&forUnmarshaling->pClearValues,
5004 forUnmarshaling->clearValueCount * sizeof(const VkClearValue));
5005 if (forUnmarshaling) {
5006 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i) {
5007 unmarshal_VkClearValue(vkStream, rootType,
5008 (VkClearValue*)(forUnmarshaling->pClearValues + i));
5009 }
5010 }
5011 }
5012 }
5013
5014 #endif
5015 #ifdef VK_VERSION_1_1
marshal_VkPhysicalDeviceSubgroupProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * forMarshaling)5016 void marshal_VkPhysicalDeviceSubgroupProperties(
5017 VulkanStream* vkStream, VkStructureType rootType,
5018 const VkPhysicalDeviceSubgroupProperties* forMarshaling) {
5019 (void)rootType;
5020 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5021 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5022 rootType = forMarshaling->sType;
5023 }
5024 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5025 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
5026 vkStream->write((VkShaderStageFlags*)&forMarshaling->supportedStages,
5027 sizeof(VkShaderStageFlags));
5028 vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations,
5029 sizeof(VkSubgroupFeatureFlags));
5030 vkStream->write((VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
5031 }
5032
unmarshal_VkPhysicalDeviceSubgroupProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupProperties * forUnmarshaling)5033 void unmarshal_VkPhysicalDeviceSubgroupProperties(
5034 VulkanStream* vkStream, VkStructureType rootType,
5035 VkPhysicalDeviceSubgroupProperties* forUnmarshaling) {
5036 (void)rootType;
5037 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5038 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5039 rootType = forUnmarshaling->sType;
5040 }
5041 size_t pNext_size;
5042 pNext_size = vkStream->getBe32();
5043 forUnmarshaling->pNext = nullptr;
5044 if (pNext_size) {
5045 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5046 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5047 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5048 vkStream->alloc((void**)&forUnmarshaling->pNext,
5049 goldfish_vk_extension_struct_size_with_stream_features(
5050 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5051 *(VkStructureType*)forUnmarshaling->pNext = extType;
5052 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5053 }
5054 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
5055 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->supportedStages,
5056 sizeof(VkShaderStageFlags));
5057 vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations,
5058 sizeof(VkSubgroupFeatureFlags));
5059 vkStream->read((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, sizeof(VkBool32));
5060 }
5061
marshal_VkBindBufferMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindBufferMemoryInfo * forMarshaling)5062 void marshal_VkBindBufferMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
5063 const VkBindBufferMemoryInfo* forMarshaling) {
5064 (void)rootType;
5065 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5066 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5067 rootType = forMarshaling->sType;
5068 }
5069 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5070 uint64_t cgen_var_0;
5071 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
5072 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5073 uint64_t cgen_var_1;
5074 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
5075 1);
5076 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
5077 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
5078 }
5079
unmarshal_VkBindBufferMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindBufferMemoryInfo * forUnmarshaling)5080 void unmarshal_VkBindBufferMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
5081 VkBindBufferMemoryInfo* forUnmarshaling) {
5082 (void)rootType;
5083 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5084 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5085 rootType = forUnmarshaling->sType;
5086 }
5087 size_t pNext_size;
5088 pNext_size = vkStream->getBe32();
5089 forUnmarshaling->pNext = nullptr;
5090 if (pNext_size) {
5091 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5092 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5093 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5094 vkStream->alloc((void**)&forUnmarshaling->pNext,
5095 goldfish_vk_extension_struct_size_with_stream_features(
5096 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5097 *(VkStructureType*)forUnmarshaling->pNext = extType;
5098 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5099 }
5100 uint64_t cgen_var_0;
5101 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5102 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
5103 (VkBuffer*)&forUnmarshaling->buffer, 1);
5104 uint64_t cgen_var_1;
5105 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
5106 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
5107 &cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
5108 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
5109 }
5110
marshal_VkBindImageMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindImageMemoryInfo * forMarshaling)5111 void marshal_VkBindImageMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
5112 const VkBindImageMemoryInfo* forMarshaling) {
5113 (void)rootType;
5114 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5115 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5116 rootType = forMarshaling->sType;
5117 }
5118 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5119 uint64_t cgen_var_0;
5120 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
5121 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5122 uint64_t cgen_var_1;
5123 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
5124 1);
5125 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
5126 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
5127 }
5128
unmarshal_VkBindImageMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindImageMemoryInfo * forUnmarshaling)5129 void unmarshal_VkBindImageMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
5130 VkBindImageMemoryInfo* forUnmarshaling) {
5131 (void)rootType;
5132 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5133 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5134 rootType = forUnmarshaling->sType;
5135 }
5136 size_t pNext_size;
5137 pNext_size = vkStream->getBe32();
5138 forUnmarshaling->pNext = nullptr;
5139 if (pNext_size) {
5140 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5141 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5142 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5143 vkStream->alloc((void**)&forUnmarshaling->pNext,
5144 goldfish_vk_extension_struct_size_with_stream_features(
5145 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5146 *(VkStructureType*)forUnmarshaling->pNext = extType;
5147 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5148 }
5149 uint64_t cgen_var_0;
5150 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5151 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
5152 (VkImage*)&forUnmarshaling->image, 1);
5153 uint64_t cgen_var_1;
5154 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
5155 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
5156 &cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
5157 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
5158 }
5159
marshal_VkPhysicalDevice16BitStorageFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * forMarshaling)5160 void marshal_VkPhysicalDevice16BitStorageFeatures(
5161 VulkanStream* vkStream, VkStructureType rootType,
5162 const VkPhysicalDevice16BitStorageFeatures* forMarshaling) {
5163 (void)rootType;
5164 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5165 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5166 rootType = forMarshaling->sType;
5167 }
5168 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5169 vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
5170 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
5171 sizeof(VkBool32));
5172 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
5173 vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
5174 }
5175
unmarshal_VkPhysicalDevice16BitStorageFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevice16BitStorageFeatures * forUnmarshaling)5176 void unmarshal_VkPhysicalDevice16BitStorageFeatures(
5177 VulkanStream* vkStream, VkStructureType rootType,
5178 VkPhysicalDevice16BitStorageFeatures* forUnmarshaling) {
5179 (void)rootType;
5180 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5181 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5182 rootType = forUnmarshaling->sType;
5183 }
5184 size_t pNext_size;
5185 pNext_size = vkStream->getBe32();
5186 forUnmarshaling->pNext = nullptr;
5187 if (pNext_size) {
5188 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5189 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5190 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5191 vkStream->alloc((void**)&forUnmarshaling->pNext,
5192 goldfish_vk_extension_struct_size_with_stream_features(
5193 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5194 *(VkStructureType*)forUnmarshaling->pNext = extType;
5195 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5196 }
5197 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
5198 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
5199 sizeof(VkBool32));
5200 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
5201 vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
5202 }
5203
marshal_VkMemoryDedicatedRequirements(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryDedicatedRequirements * forMarshaling)5204 void marshal_VkMemoryDedicatedRequirements(VulkanStream* vkStream, VkStructureType rootType,
5205 const VkMemoryDedicatedRequirements* forMarshaling) {
5206 (void)rootType;
5207 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5208 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5209 rootType = forMarshaling->sType;
5210 }
5211 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5212 vkStream->write((VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
5213 vkStream->write((VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
5214 }
5215
unmarshal_VkMemoryDedicatedRequirements(VulkanStream * vkStream,VkStructureType rootType,VkMemoryDedicatedRequirements * forUnmarshaling)5216 void unmarshal_VkMemoryDedicatedRequirements(VulkanStream* vkStream, VkStructureType rootType,
5217 VkMemoryDedicatedRequirements* forUnmarshaling) {
5218 (void)rootType;
5219 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5220 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5221 rootType = forUnmarshaling->sType;
5222 }
5223 size_t pNext_size;
5224 pNext_size = vkStream->getBe32();
5225 forUnmarshaling->pNext = nullptr;
5226 if (pNext_size) {
5227 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5228 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5229 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5230 vkStream->alloc((void**)&forUnmarshaling->pNext,
5231 goldfish_vk_extension_struct_size_with_stream_features(
5232 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5233 *(VkStructureType*)forUnmarshaling->pNext = extType;
5234 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5235 }
5236 vkStream->read((VkBool32*)&forUnmarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
5237 vkStream->read((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
5238 }
5239
marshal_VkMemoryDedicatedAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * forMarshaling)5240 void marshal_VkMemoryDedicatedAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
5241 const VkMemoryDedicatedAllocateInfo* forMarshaling) {
5242 (void)rootType;
5243 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5244 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5245 rootType = forMarshaling->sType;
5246 }
5247 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5248 uint64_t cgen_var_0;
5249 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
5250 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5251 uint64_t cgen_var_1;
5252 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_1, 1);
5253 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
5254 }
5255
unmarshal_VkMemoryDedicatedAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkMemoryDedicatedAllocateInfo * forUnmarshaling)5256 void unmarshal_VkMemoryDedicatedAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
5257 VkMemoryDedicatedAllocateInfo* forUnmarshaling) {
5258 (void)rootType;
5259 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5260 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5261 rootType = forUnmarshaling->sType;
5262 }
5263 size_t pNext_size;
5264 pNext_size = vkStream->getBe32();
5265 forUnmarshaling->pNext = nullptr;
5266 if (pNext_size) {
5267 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5268 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5269 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5270 vkStream->alloc((void**)&forUnmarshaling->pNext,
5271 goldfish_vk_extension_struct_size_with_stream_features(
5272 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5273 *(VkStructureType*)forUnmarshaling->pNext = extType;
5274 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5275 }
5276 uint64_t cgen_var_0;
5277 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5278 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
5279 (VkImage*)&forUnmarshaling->image, 1);
5280 uint64_t cgen_var_1;
5281 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
5282 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
5283 (VkBuffer*)&forUnmarshaling->buffer, 1);
5284 }
5285
marshal_VkMemoryAllocateFlagsInfo(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * forMarshaling)5286 void marshal_VkMemoryAllocateFlagsInfo(VulkanStream* vkStream, VkStructureType rootType,
5287 const VkMemoryAllocateFlagsInfo* forMarshaling) {
5288 (void)rootType;
5289 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5290 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5291 rootType = forMarshaling->sType;
5292 }
5293 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5294 vkStream->write((VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
5295 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
5296 }
5297
unmarshal_VkMemoryAllocateFlagsInfo(VulkanStream * vkStream,VkStructureType rootType,VkMemoryAllocateFlagsInfo * forUnmarshaling)5298 void unmarshal_VkMemoryAllocateFlagsInfo(VulkanStream* vkStream, VkStructureType rootType,
5299 VkMemoryAllocateFlagsInfo* forUnmarshaling) {
5300 (void)rootType;
5301 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5302 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5303 rootType = forUnmarshaling->sType;
5304 }
5305 size_t pNext_size;
5306 pNext_size = vkStream->getBe32();
5307 forUnmarshaling->pNext = nullptr;
5308 if (pNext_size) {
5309 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5310 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5311 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5312 vkStream->alloc((void**)&forUnmarshaling->pNext,
5313 goldfish_vk_extension_struct_size_with_stream_features(
5314 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5315 *(VkStructureType*)forUnmarshaling->pNext = extType;
5316 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5317 }
5318 vkStream->read((VkMemoryAllocateFlags*)&forUnmarshaling->flags, sizeof(VkMemoryAllocateFlags));
5319 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
5320 }
5321
marshal_VkDeviceGroupRenderPassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * forMarshaling)5322 void marshal_VkDeviceGroupRenderPassBeginInfo(
5323 VulkanStream* vkStream, VkStructureType rootType,
5324 const VkDeviceGroupRenderPassBeginInfo* forMarshaling) {
5325 (void)rootType;
5326 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5327 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5328 rootType = forMarshaling->sType;
5329 }
5330 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5331 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
5332 vkStream->write((uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
5333 if (forMarshaling) {
5334 for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) {
5335 marshal_VkRect2D(vkStream, rootType,
5336 (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i));
5337 }
5338 }
5339 }
5340
unmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupRenderPassBeginInfo * forUnmarshaling)5341 void unmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
5342 VkDeviceGroupRenderPassBeginInfo* forUnmarshaling) {
5343 (void)rootType;
5344 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5345 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5346 rootType = forUnmarshaling->sType;
5347 }
5348 size_t pNext_size;
5349 pNext_size = vkStream->getBe32();
5350 forUnmarshaling->pNext = nullptr;
5351 if (pNext_size) {
5352 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5353 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5354 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5355 vkStream->alloc((void**)&forUnmarshaling->pNext,
5356 goldfish_vk_extension_struct_size_with_stream_features(
5357 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5358 *(VkStructureType*)forUnmarshaling->pNext = extType;
5359 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5360 }
5361 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
5362 vkStream->read((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, sizeof(uint32_t));
5363 vkStream->alloc((void**)&forUnmarshaling->pDeviceRenderAreas,
5364 forUnmarshaling->deviceRenderAreaCount * sizeof(const VkRect2D));
5365 if (forUnmarshaling) {
5366 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i) {
5367 unmarshal_VkRect2D(vkStream, rootType,
5368 (VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i));
5369 }
5370 }
5371 }
5372
marshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * forMarshaling)5373 void marshal_VkDeviceGroupCommandBufferBeginInfo(
5374 VulkanStream* vkStream, VkStructureType rootType,
5375 const VkDeviceGroupCommandBufferBeginInfo* forMarshaling) {
5376 (void)rootType;
5377 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5378 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5379 rootType = forMarshaling->sType;
5380 }
5381 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5382 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
5383 }
5384
unmarshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupCommandBufferBeginInfo * forUnmarshaling)5385 void unmarshal_VkDeviceGroupCommandBufferBeginInfo(
5386 VulkanStream* vkStream, VkStructureType rootType,
5387 VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling) {
5388 (void)rootType;
5389 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5390 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5391 rootType = forUnmarshaling->sType;
5392 }
5393 size_t pNext_size;
5394 pNext_size = vkStream->getBe32();
5395 forUnmarshaling->pNext = nullptr;
5396 if (pNext_size) {
5397 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5398 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5399 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5400 vkStream->alloc((void**)&forUnmarshaling->pNext,
5401 goldfish_vk_extension_struct_size_with_stream_features(
5402 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5403 *(VkStructureType*)forUnmarshaling->pNext = extType;
5404 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5405 }
5406 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
5407 }
5408
marshal_VkDeviceGroupSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupSubmitInfo * forMarshaling)5409 void marshal_VkDeviceGroupSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
5410 const VkDeviceGroupSubmitInfo* forMarshaling) {
5411 (void)rootType;
5412 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5413 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5414 rootType = forMarshaling->sType;
5415 }
5416 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5417 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
5418 vkStream->write((const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices,
5419 forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
5420 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
5421 vkStream->write((const uint32_t*)forMarshaling->pCommandBufferDeviceMasks,
5422 forMarshaling->commandBufferCount * sizeof(const uint32_t));
5423 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
5424 vkStream->write((const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices,
5425 forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
5426 }
5427
unmarshal_VkDeviceGroupSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupSubmitInfo * forUnmarshaling)5428 void unmarshal_VkDeviceGroupSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
5429 VkDeviceGroupSubmitInfo* forUnmarshaling) {
5430 (void)rootType;
5431 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5432 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5433 rootType = forUnmarshaling->sType;
5434 }
5435 size_t pNext_size;
5436 pNext_size = vkStream->getBe32();
5437 forUnmarshaling->pNext = nullptr;
5438 if (pNext_size) {
5439 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5440 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5441 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5442 vkStream->alloc((void**)&forUnmarshaling->pNext,
5443 goldfish_vk_extension_struct_size_with_stream_features(
5444 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5445 *(VkStructureType*)forUnmarshaling->pNext = extType;
5446 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5447 }
5448 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
5449 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreDeviceIndices,
5450 forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
5451 vkStream->read((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices,
5452 forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
5453 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
5454 vkStream->alloc((void**)&forUnmarshaling->pCommandBufferDeviceMasks,
5455 forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
5456 vkStream->read((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks,
5457 forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
5458 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
5459 vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreDeviceIndices,
5460 forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
5461 vkStream->read((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices,
5462 forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
5463 }
5464
marshal_VkDeviceGroupBindSparseInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * forMarshaling)5465 void marshal_VkDeviceGroupBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
5466 const VkDeviceGroupBindSparseInfo* forMarshaling) {
5467 (void)rootType;
5468 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5469 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5470 rootType = forMarshaling->sType;
5471 }
5472 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5473 vkStream->write((uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t));
5474 vkStream->write((uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
5475 }
5476
unmarshal_VkDeviceGroupBindSparseInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupBindSparseInfo * forUnmarshaling)5477 void unmarshal_VkDeviceGroupBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
5478 VkDeviceGroupBindSparseInfo* forUnmarshaling) {
5479 (void)rootType;
5480 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5481 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5482 rootType = forUnmarshaling->sType;
5483 }
5484 size_t pNext_size;
5485 pNext_size = vkStream->getBe32();
5486 forUnmarshaling->pNext = nullptr;
5487 if (pNext_size) {
5488 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5489 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5490 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5491 vkStream->alloc((void**)&forUnmarshaling->pNext,
5492 goldfish_vk_extension_struct_size_with_stream_features(
5493 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5494 *(VkStructureType*)forUnmarshaling->pNext = extType;
5495 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5496 }
5497 vkStream->read((uint32_t*)&forUnmarshaling->resourceDeviceIndex, sizeof(uint32_t));
5498 vkStream->read((uint32_t*)&forUnmarshaling->memoryDeviceIndex, sizeof(uint32_t));
5499 }
5500
marshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * forMarshaling)5501 void marshal_VkBindBufferMemoryDeviceGroupInfo(
5502 VulkanStream* vkStream, VkStructureType rootType,
5503 const VkBindBufferMemoryDeviceGroupInfo* forMarshaling) {
5504 (void)rootType;
5505 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5506 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5507 rootType = forMarshaling->sType;
5508 }
5509 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5510 vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
5511 vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
5512 forMarshaling->deviceIndexCount * sizeof(const uint32_t));
5513 }
5514
unmarshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindBufferMemoryDeviceGroupInfo * forUnmarshaling)5515 void unmarshal_VkBindBufferMemoryDeviceGroupInfo(
5516 VulkanStream* vkStream, VkStructureType rootType,
5517 VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling) {
5518 (void)rootType;
5519 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5520 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5521 rootType = forUnmarshaling->sType;
5522 }
5523 size_t pNext_size;
5524 pNext_size = vkStream->getBe32();
5525 forUnmarshaling->pNext = nullptr;
5526 if (pNext_size) {
5527 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5528 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5529 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5530 vkStream->alloc((void**)&forUnmarshaling->pNext,
5531 goldfish_vk_extension_struct_size_with_stream_features(
5532 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5533 *(VkStructureType*)forUnmarshaling->pNext = extType;
5534 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5535 }
5536 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
5537 vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
5538 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
5539 vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
5540 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
5541 }
5542
marshal_VkBindImageMemoryDeviceGroupInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * forMarshaling)5543 void marshal_VkBindImageMemoryDeviceGroupInfo(
5544 VulkanStream* vkStream, VkStructureType rootType,
5545 const VkBindImageMemoryDeviceGroupInfo* forMarshaling) {
5546 (void)rootType;
5547 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5548 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5549 rootType = forMarshaling->sType;
5550 }
5551 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5552 vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
5553 vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
5554 forMarshaling->deviceIndexCount * sizeof(const uint32_t));
5555 vkStream->write((uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
5556 if (forMarshaling) {
5557 for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) {
5558 marshal_VkRect2D(vkStream, rootType,
5559 (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i));
5560 }
5561 }
5562 }
5563
unmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindImageMemoryDeviceGroupInfo * forUnmarshaling)5564 void unmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStream* vkStream, VkStructureType rootType,
5565 VkBindImageMemoryDeviceGroupInfo* forUnmarshaling) {
5566 (void)rootType;
5567 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5568 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5569 rootType = forUnmarshaling->sType;
5570 }
5571 size_t pNext_size;
5572 pNext_size = vkStream->getBe32();
5573 forUnmarshaling->pNext = nullptr;
5574 if (pNext_size) {
5575 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5576 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5577 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5578 vkStream->alloc((void**)&forUnmarshaling->pNext,
5579 goldfish_vk_extension_struct_size_with_stream_features(
5580 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5581 *(VkStructureType*)forUnmarshaling->pNext = extType;
5582 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5583 }
5584 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
5585 vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
5586 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
5587 vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
5588 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
5589 vkStream->read((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
5590 vkStream->alloc((void**)&forUnmarshaling->pSplitInstanceBindRegions,
5591 forUnmarshaling->splitInstanceBindRegionCount * sizeof(const VkRect2D));
5592 if (forUnmarshaling) {
5593 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i) {
5594 unmarshal_VkRect2D(vkStream, rootType,
5595 (VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i));
5596 }
5597 }
5598 }
5599
marshal_VkPhysicalDeviceGroupProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * forMarshaling)5600 void marshal_VkPhysicalDeviceGroupProperties(VulkanStream* vkStream, VkStructureType rootType,
5601 const VkPhysicalDeviceGroupProperties* forMarshaling) {
5602 (void)rootType;
5603 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5604 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5605 rootType = forMarshaling->sType;
5606 }
5607 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5608 vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
5609 vkStream->write((VkPhysicalDevice*)forMarshaling->physicalDevices,
5610 VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
5611 vkStream->write((VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
5612 }
5613
unmarshal_VkPhysicalDeviceGroupProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceGroupProperties * forUnmarshaling)5614 void unmarshal_VkPhysicalDeviceGroupProperties(VulkanStream* vkStream, VkStructureType rootType,
5615 VkPhysicalDeviceGroupProperties* forUnmarshaling) {
5616 (void)rootType;
5617 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5618 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5619 rootType = forUnmarshaling->sType;
5620 }
5621 size_t pNext_size;
5622 pNext_size = vkStream->getBe32();
5623 forUnmarshaling->pNext = nullptr;
5624 if (pNext_size) {
5625 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5626 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5627 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5628 vkStream->alloc((void**)&forUnmarshaling->pNext,
5629 goldfish_vk_extension_struct_size_with_stream_features(
5630 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5631 *(VkStructureType*)forUnmarshaling->pNext = extType;
5632 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5633 }
5634 vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
5635 vkStream->read((VkPhysicalDevice*)forUnmarshaling->physicalDevices,
5636 VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
5637 vkStream->read((VkBool32*)&forUnmarshaling->subsetAllocation, sizeof(VkBool32));
5638 }
5639
marshal_VkDeviceGroupDeviceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * forMarshaling)5640 void marshal_VkDeviceGroupDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
5641 const VkDeviceGroupDeviceCreateInfo* forMarshaling) {
5642 (void)rootType;
5643 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5644 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5645 rootType = forMarshaling->sType;
5646 }
5647 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5648 vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
5649 if (forMarshaling->physicalDeviceCount) {
5650 uint64_t* cgen_var_0;
5651 vkStream->alloc((void**)&cgen_var_0, forMarshaling->physicalDeviceCount * 8);
5652 vkStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(
5653 forMarshaling->pPhysicalDevices, cgen_var_0, forMarshaling->physicalDeviceCount);
5654 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->physicalDeviceCount * 8);
5655 }
5656 }
5657
unmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupDeviceCreateInfo * forUnmarshaling)5658 void unmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
5659 VkDeviceGroupDeviceCreateInfo* forUnmarshaling) {
5660 (void)rootType;
5661 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5662 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5663 rootType = forUnmarshaling->sType;
5664 }
5665 size_t pNext_size;
5666 pNext_size = vkStream->getBe32();
5667 forUnmarshaling->pNext = nullptr;
5668 if (pNext_size) {
5669 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5670 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5671 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5672 vkStream->alloc((void**)&forUnmarshaling->pNext,
5673 goldfish_vk_extension_struct_size_with_stream_features(
5674 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5675 *(VkStructureType*)forUnmarshaling->pNext = extType;
5676 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5677 }
5678 vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
5679 vkStream->alloc((void**)&forUnmarshaling->pPhysicalDevices,
5680 forUnmarshaling->physicalDeviceCount * sizeof(const VkPhysicalDevice));
5681 if (forUnmarshaling->physicalDeviceCount) {
5682 uint64_t* cgen_var_0;
5683 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
5684 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
5685 vkStream->handleMapping()->mapHandles_u64_VkPhysicalDevice(
5686 cgen_var_0, (VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices,
5687 forUnmarshaling->physicalDeviceCount);
5688 }
5689 }
5690
marshal_VkBufferMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * forMarshaling)5691 void marshal_VkBufferMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
5692 const VkBufferMemoryRequirementsInfo2* forMarshaling) {
5693 (void)rootType;
5694 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5695 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5696 rootType = forMarshaling->sType;
5697 }
5698 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5699 uint64_t cgen_var_0;
5700 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
5701 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5702 }
5703
unmarshal_VkBufferMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,VkBufferMemoryRequirementsInfo2 * forUnmarshaling)5704 void unmarshal_VkBufferMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
5705 VkBufferMemoryRequirementsInfo2* forUnmarshaling) {
5706 (void)rootType;
5707 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5708 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5709 rootType = forUnmarshaling->sType;
5710 }
5711 size_t pNext_size;
5712 pNext_size = vkStream->getBe32();
5713 forUnmarshaling->pNext = nullptr;
5714 if (pNext_size) {
5715 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5716 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5717 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5718 vkStream->alloc((void**)&forUnmarshaling->pNext,
5719 goldfish_vk_extension_struct_size_with_stream_features(
5720 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5721 *(VkStructureType*)forUnmarshaling->pNext = extType;
5722 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5723 }
5724 uint64_t cgen_var_0;
5725 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5726 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
5727 (VkBuffer*)&forUnmarshaling->buffer, 1);
5728 }
5729
marshal_VkImageMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * forMarshaling)5730 void marshal_VkImageMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
5731 const VkImageMemoryRequirementsInfo2* forMarshaling) {
5732 (void)rootType;
5733 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5734 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5735 rootType = forMarshaling->sType;
5736 }
5737 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5738 uint64_t cgen_var_0;
5739 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
5740 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5741 }
5742
unmarshal_VkImageMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,VkImageMemoryRequirementsInfo2 * forUnmarshaling)5743 void unmarshal_VkImageMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
5744 VkImageMemoryRequirementsInfo2* forUnmarshaling) {
5745 (void)rootType;
5746 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5747 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5748 rootType = forUnmarshaling->sType;
5749 }
5750 size_t pNext_size;
5751 pNext_size = vkStream->getBe32();
5752 forUnmarshaling->pNext = nullptr;
5753 if (pNext_size) {
5754 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5755 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5756 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5757 vkStream->alloc((void**)&forUnmarshaling->pNext,
5758 goldfish_vk_extension_struct_size_with_stream_features(
5759 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5760 *(VkStructureType*)forUnmarshaling->pNext = extType;
5761 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5762 }
5763 uint64_t cgen_var_0;
5764 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5765 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
5766 (VkImage*)&forUnmarshaling->image, 1);
5767 }
5768
marshal_VkImageSparseMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * forMarshaling)5769 void marshal_VkImageSparseMemoryRequirementsInfo2(
5770 VulkanStream* vkStream, VkStructureType rootType,
5771 const VkImageSparseMemoryRequirementsInfo2* forMarshaling) {
5772 (void)rootType;
5773 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5774 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5775 rootType = forMarshaling->sType;
5776 }
5777 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5778 uint64_t cgen_var_0;
5779 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
5780 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5781 }
5782
unmarshal_VkImageSparseMemoryRequirementsInfo2(VulkanStream * vkStream,VkStructureType rootType,VkImageSparseMemoryRequirementsInfo2 * forUnmarshaling)5783 void unmarshal_VkImageSparseMemoryRequirementsInfo2(
5784 VulkanStream* vkStream, VkStructureType rootType,
5785 VkImageSparseMemoryRequirementsInfo2* forUnmarshaling) {
5786 (void)rootType;
5787 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5788 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5789 rootType = forUnmarshaling->sType;
5790 }
5791 size_t pNext_size;
5792 pNext_size = vkStream->getBe32();
5793 forUnmarshaling->pNext = nullptr;
5794 if (pNext_size) {
5795 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5796 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5797 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5798 vkStream->alloc((void**)&forUnmarshaling->pNext,
5799 goldfish_vk_extension_struct_size_with_stream_features(
5800 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5801 *(VkStructureType*)forUnmarshaling->pNext = extType;
5802 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5803 }
5804 uint64_t cgen_var_0;
5805 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5806 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
5807 (VkImage*)&forUnmarshaling->image, 1);
5808 }
5809
marshal_VkMemoryRequirements2(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryRequirements2 * forMarshaling)5810 void marshal_VkMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
5811 const VkMemoryRequirements2* forMarshaling) {
5812 (void)rootType;
5813 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5814 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5815 rootType = forMarshaling->sType;
5816 }
5817 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5818 marshal_VkMemoryRequirements(vkStream, rootType,
5819 (VkMemoryRequirements*)(&forMarshaling->memoryRequirements));
5820 }
5821
unmarshal_VkMemoryRequirements2(VulkanStream * vkStream,VkStructureType rootType,VkMemoryRequirements2 * forUnmarshaling)5822 void unmarshal_VkMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
5823 VkMemoryRequirements2* forUnmarshaling) {
5824 (void)rootType;
5825 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5826 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5827 rootType = forUnmarshaling->sType;
5828 }
5829 size_t pNext_size;
5830 pNext_size = vkStream->getBe32();
5831 forUnmarshaling->pNext = nullptr;
5832 if (pNext_size) {
5833 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5834 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5835 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5836 vkStream->alloc((void**)&forUnmarshaling->pNext,
5837 goldfish_vk_extension_struct_size_with_stream_features(
5838 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5839 *(VkStructureType*)forUnmarshaling->pNext = extType;
5840 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5841 }
5842 unmarshal_VkMemoryRequirements(vkStream, rootType,
5843 (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
5844 }
5845
marshal_VkSparseImageMemoryRequirements2(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * forMarshaling)5846 void marshal_VkSparseImageMemoryRequirements2(
5847 VulkanStream* vkStream, VkStructureType rootType,
5848 const VkSparseImageMemoryRequirements2* forMarshaling) {
5849 (void)rootType;
5850 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5851 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5852 rootType = forMarshaling->sType;
5853 }
5854 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5855 marshal_VkSparseImageMemoryRequirements(
5856 vkStream, rootType, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements));
5857 }
5858
unmarshal_VkSparseImageMemoryRequirements2(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageMemoryRequirements2 * forUnmarshaling)5859 void unmarshal_VkSparseImageMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
5860 VkSparseImageMemoryRequirements2* forUnmarshaling) {
5861 (void)rootType;
5862 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5863 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5864 rootType = forUnmarshaling->sType;
5865 }
5866 size_t pNext_size;
5867 pNext_size = vkStream->getBe32();
5868 forUnmarshaling->pNext = nullptr;
5869 if (pNext_size) {
5870 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5871 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5872 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5873 vkStream->alloc((void**)&forUnmarshaling->pNext,
5874 goldfish_vk_extension_struct_size_with_stream_features(
5875 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5876 *(VkStructureType*)forUnmarshaling->pNext = extType;
5877 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5878 }
5879 unmarshal_VkSparseImageMemoryRequirements(
5880 vkStream, rootType,
5881 (VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
5882 }
5883
marshal_VkPhysicalDeviceFeatures2(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * forMarshaling)5884 void marshal_VkPhysicalDeviceFeatures2(VulkanStream* vkStream, VkStructureType rootType,
5885 const VkPhysicalDeviceFeatures2* forMarshaling) {
5886 (void)rootType;
5887 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5888 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5889 rootType = forMarshaling->sType;
5890 }
5891 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5892 marshal_VkPhysicalDeviceFeatures(vkStream, rootType,
5893 (VkPhysicalDeviceFeatures*)(&forMarshaling->features));
5894 }
5895
unmarshal_VkPhysicalDeviceFeatures2(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceFeatures2 * forUnmarshaling)5896 void unmarshal_VkPhysicalDeviceFeatures2(VulkanStream* vkStream, VkStructureType rootType,
5897 VkPhysicalDeviceFeatures2* forUnmarshaling) {
5898 (void)rootType;
5899 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5900 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5901 rootType = forUnmarshaling->sType;
5902 }
5903 size_t pNext_size;
5904 pNext_size = vkStream->getBe32();
5905 forUnmarshaling->pNext = nullptr;
5906 if (pNext_size) {
5907 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5908 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5909 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5910 vkStream->alloc((void**)&forUnmarshaling->pNext,
5911 goldfish_vk_extension_struct_size_with_stream_features(
5912 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5913 *(VkStructureType*)forUnmarshaling->pNext = extType;
5914 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5915 }
5916 unmarshal_VkPhysicalDeviceFeatures(vkStream, rootType,
5917 (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features));
5918 }
5919
marshal_VkPhysicalDeviceProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties2 * forMarshaling)5920 void marshal_VkPhysicalDeviceProperties2(VulkanStream* vkStream, VkStructureType rootType,
5921 const VkPhysicalDeviceProperties2* forMarshaling) {
5922 (void)rootType;
5923 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5924 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5925 rootType = forMarshaling->sType;
5926 }
5927 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5928 marshal_VkPhysicalDeviceProperties(vkStream, rootType,
5929 (VkPhysicalDeviceProperties*)(&forMarshaling->properties));
5930 }
5931
unmarshal_VkPhysicalDeviceProperties2(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProperties2 * forUnmarshaling)5932 void unmarshal_VkPhysicalDeviceProperties2(VulkanStream* vkStream, VkStructureType rootType,
5933 VkPhysicalDeviceProperties2* forUnmarshaling) {
5934 (void)rootType;
5935 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5936 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5937 rootType = forUnmarshaling->sType;
5938 }
5939 size_t pNext_size;
5940 pNext_size = vkStream->getBe32();
5941 forUnmarshaling->pNext = nullptr;
5942 if (pNext_size) {
5943 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5944 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5945 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5946 vkStream->alloc((void**)&forUnmarshaling->pNext,
5947 goldfish_vk_extension_struct_size_with_stream_features(
5948 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5949 *(VkStructureType*)forUnmarshaling->pNext = extType;
5950 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5951 }
5952 unmarshal_VkPhysicalDeviceProperties(
5953 vkStream, rootType, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties));
5954 }
5955
marshal_VkFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkFormatProperties2 * forMarshaling)5956 void marshal_VkFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
5957 const VkFormatProperties2* forMarshaling) {
5958 (void)rootType;
5959 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5960 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5961 rootType = forMarshaling->sType;
5962 }
5963 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5964 marshal_VkFormatProperties(vkStream, rootType,
5965 (VkFormatProperties*)(&forMarshaling->formatProperties));
5966 }
5967
unmarshal_VkFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,VkFormatProperties2 * forUnmarshaling)5968 void unmarshal_VkFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
5969 VkFormatProperties2* forUnmarshaling) {
5970 (void)rootType;
5971 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5972 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5973 rootType = forUnmarshaling->sType;
5974 }
5975 size_t pNext_size;
5976 pNext_size = vkStream->getBe32();
5977 forUnmarshaling->pNext = nullptr;
5978 if (pNext_size) {
5979 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
5980 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
5981 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
5982 vkStream->alloc((void**)&forUnmarshaling->pNext,
5983 goldfish_vk_extension_struct_size_with_stream_features(
5984 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
5985 *(VkStructureType*)forUnmarshaling->pNext = extType;
5986 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5987 }
5988 unmarshal_VkFormatProperties(vkStream, rootType,
5989 (VkFormatProperties*)(&forUnmarshaling->formatProperties));
5990 }
5991
marshal_VkImageFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkImageFormatProperties2 * forMarshaling)5992 void marshal_VkImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
5993 const VkImageFormatProperties2* forMarshaling) {
5994 (void)rootType;
5995 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5996 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5997 rootType = forMarshaling->sType;
5998 }
5999 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6000 marshal_VkImageFormatProperties(
6001 vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties));
6002 }
6003
unmarshal_VkImageFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,VkImageFormatProperties2 * forUnmarshaling)6004 void unmarshal_VkImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
6005 VkImageFormatProperties2* forUnmarshaling) {
6006 (void)rootType;
6007 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6008 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6009 rootType = forUnmarshaling->sType;
6010 }
6011 size_t pNext_size;
6012 pNext_size = vkStream->getBe32();
6013 forUnmarshaling->pNext = nullptr;
6014 if (pNext_size) {
6015 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6016 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6017 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6018 vkStream->alloc((void**)&forUnmarshaling->pNext,
6019 goldfish_vk_extension_struct_size_with_stream_features(
6020 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6021 *(VkStructureType*)forUnmarshaling->pNext = extType;
6022 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6023 }
6024 unmarshal_VkImageFormatProperties(
6025 vkStream, rootType, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties));
6026 }
6027
marshal_VkPhysicalDeviceImageFormatInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * forMarshaling)6028 void marshal_VkPhysicalDeviceImageFormatInfo2(
6029 VulkanStream* vkStream, VkStructureType rootType,
6030 const VkPhysicalDeviceImageFormatInfo2* forMarshaling) {
6031 (void)rootType;
6032 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6033 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6034 rootType = forMarshaling->sType;
6035 }
6036 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6037 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
6038 vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
6039 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
6040 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
6041 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
6042 }
6043
unmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImageFormatInfo2 * forUnmarshaling)6044 void unmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStream* vkStream, VkStructureType rootType,
6045 VkPhysicalDeviceImageFormatInfo2* forUnmarshaling) {
6046 (void)rootType;
6047 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6048 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6049 rootType = forUnmarshaling->sType;
6050 }
6051 size_t pNext_size;
6052 pNext_size = vkStream->getBe32();
6053 forUnmarshaling->pNext = nullptr;
6054 if (pNext_size) {
6055 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6056 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6057 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6058 vkStream->alloc((void**)&forUnmarshaling->pNext,
6059 goldfish_vk_extension_struct_size_with_stream_features(
6060 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6061 *(VkStructureType*)forUnmarshaling->pNext = extType;
6062 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6063 }
6064 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
6065 vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
6066 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
6067 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
6068 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
6069 }
6070
marshal_VkQueueFamilyProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkQueueFamilyProperties2 * forMarshaling)6071 void marshal_VkQueueFamilyProperties2(VulkanStream* vkStream, VkStructureType rootType,
6072 const VkQueueFamilyProperties2* forMarshaling) {
6073 (void)rootType;
6074 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6075 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6076 rootType = forMarshaling->sType;
6077 }
6078 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6079 marshal_VkQueueFamilyProperties(
6080 vkStream, rootType, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties));
6081 }
6082
unmarshal_VkQueueFamilyProperties2(VulkanStream * vkStream,VkStructureType rootType,VkQueueFamilyProperties2 * forUnmarshaling)6083 void unmarshal_VkQueueFamilyProperties2(VulkanStream* vkStream, VkStructureType rootType,
6084 VkQueueFamilyProperties2* forUnmarshaling) {
6085 (void)rootType;
6086 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6087 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6088 rootType = forUnmarshaling->sType;
6089 }
6090 size_t pNext_size;
6091 pNext_size = vkStream->getBe32();
6092 forUnmarshaling->pNext = nullptr;
6093 if (pNext_size) {
6094 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6095 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6096 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6097 vkStream->alloc((void**)&forUnmarshaling->pNext,
6098 goldfish_vk_extension_struct_size_with_stream_features(
6099 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6100 *(VkStructureType*)forUnmarshaling->pNext = extType;
6101 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6102 }
6103 unmarshal_VkQueueFamilyProperties(
6104 vkStream, rootType, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties));
6105 }
6106
marshal_VkPhysicalDeviceMemoryProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * forMarshaling)6107 void marshal_VkPhysicalDeviceMemoryProperties2(
6108 VulkanStream* vkStream, VkStructureType rootType,
6109 const VkPhysicalDeviceMemoryProperties2* forMarshaling) {
6110 (void)rootType;
6111 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6112 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6113 rootType = forMarshaling->sType;
6114 }
6115 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6116 marshal_VkPhysicalDeviceMemoryProperties(
6117 vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties));
6118 }
6119
unmarshal_VkPhysicalDeviceMemoryProperties2(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMemoryProperties2 * forUnmarshaling)6120 void unmarshal_VkPhysicalDeviceMemoryProperties2(
6121 VulkanStream* vkStream, VkStructureType rootType,
6122 VkPhysicalDeviceMemoryProperties2* forUnmarshaling) {
6123 (void)rootType;
6124 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6125 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6126 rootType = forUnmarshaling->sType;
6127 }
6128 size_t pNext_size;
6129 pNext_size = vkStream->getBe32();
6130 forUnmarshaling->pNext = nullptr;
6131 if (pNext_size) {
6132 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6133 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6134 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6135 vkStream->alloc((void**)&forUnmarshaling->pNext,
6136 goldfish_vk_extension_struct_size_with_stream_features(
6137 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6138 *(VkStructureType*)forUnmarshaling->pNext = extType;
6139 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6140 }
6141 unmarshal_VkPhysicalDeviceMemoryProperties(
6142 vkStream, rootType,
6143 (VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties));
6144 }
6145
marshal_VkSparseImageFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties2 * forMarshaling)6146 void marshal_VkSparseImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
6147 const VkSparseImageFormatProperties2* forMarshaling) {
6148 (void)rootType;
6149 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6150 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6151 rootType = forMarshaling->sType;
6152 }
6153 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6154 marshal_VkSparseImageFormatProperties(
6155 vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->properties));
6156 }
6157
unmarshal_VkSparseImageFormatProperties2(VulkanStream * vkStream,VkStructureType rootType,VkSparseImageFormatProperties2 * forUnmarshaling)6158 void unmarshal_VkSparseImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
6159 VkSparseImageFormatProperties2* forUnmarshaling) {
6160 (void)rootType;
6161 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6162 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6163 rootType = forUnmarshaling->sType;
6164 }
6165 size_t pNext_size;
6166 pNext_size = vkStream->getBe32();
6167 forUnmarshaling->pNext = nullptr;
6168 if (pNext_size) {
6169 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6170 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6171 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6172 vkStream->alloc((void**)&forUnmarshaling->pNext,
6173 goldfish_vk_extension_struct_size_with_stream_features(
6174 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6175 *(VkStructureType*)forUnmarshaling->pNext = extType;
6176 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6177 }
6178 unmarshal_VkSparseImageFormatProperties(
6179 vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties));
6180 }
6181
marshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * forMarshaling)6182 void marshal_VkPhysicalDeviceSparseImageFormatInfo2(
6183 VulkanStream* vkStream, VkStructureType rootType,
6184 const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling) {
6185 (void)rootType;
6186 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6187 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6188 rootType = forMarshaling->sType;
6189 }
6190 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6191 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
6192 vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
6193 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
6194 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
6195 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
6196 }
6197
unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSparseImageFormatInfo2 * forUnmarshaling)6198 void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
6199 VulkanStream* vkStream, VkStructureType rootType,
6200 VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling) {
6201 (void)rootType;
6202 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6203 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6204 rootType = forUnmarshaling->sType;
6205 }
6206 size_t pNext_size;
6207 pNext_size = vkStream->getBe32();
6208 forUnmarshaling->pNext = nullptr;
6209 if (pNext_size) {
6210 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6211 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6212 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6213 vkStream->alloc((void**)&forUnmarshaling->pNext,
6214 goldfish_vk_extension_struct_size_with_stream_features(
6215 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6216 *(VkStructureType*)forUnmarshaling->pNext = extType;
6217 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6218 }
6219 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
6220 vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
6221 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
6222 sizeof(VkSampleCountFlagBits));
6223 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
6224 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
6225 }
6226
marshal_VkPhysicalDevicePointClippingProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * forMarshaling)6227 void marshal_VkPhysicalDevicePointClippingProperties(
6228 VulkanStream* vkStream, VkStructureType rootType,
6229 const VkPhysicalDevicePointClippingProperties* forMarshaling) {
6230 (void)rootType;
6231 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6232 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6233 rootType = forMarshaling->sType;
6234 }
6235 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6236 vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
6237 sizeof(VkPointClippingBehavior));
6238 }
6239
unmarshal_VkPhysicalDevicePointClippingProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePointClippingProperties * forUnmarshaling)6240 void unmarshal_VkPhysicalDevicePointClippingProperties(
6241 VulkanStream* vkStream, VkStructureType rootType,
6242 VkPhysicalDevicePointClippingProperties* forUnmarshaling) {
6243 (void)rootType;
6244 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6245 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6246 rootType = forUnmarshaling->sType;
6247 }
6248 size_t pNext_size;
6249 pNext_size = vkStream->getBe32();
6250 forUnmarshaling->pNext = nullptr;
6251 if (pNext_size) {
6252 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6253 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6254 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6255 vkStream->alloc((void**)&forUnmarshaling->pNext,
6256 goldfish_vk_extension_struct_size_with_stream_features(
6257 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6258 *(VkStructureType*)forUnmarshaling->pNext = extType;
6259 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6260 }
6261 vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
6262 sizeof(VkPointClippingBehavior));
6263 }
6264
marshal_VkInputAttachmentAspectReference(VulkanStream * vkStream,VkStructureType rootType,const VkInputAttachmentAspectReference * forMarshaling)6265 void marshal_VkInputAttachmentAspectReference(
6266 VulkanStream* vkStream, VkStructureType rootType,
6267 const VkInputAttachmentAspectReference* forMarshaling) {
6268 (void)rootType;
6269 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
6270 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
6271 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
6272 }
6273
unmarshal_VkInputAttachmentAspectReference(VulkanStream * vkStream,VkStructureType rootType,VkInputAttachmentAspectReference * forUnmarshaling)6274 void unmarshal_VkInputAttachmentAspectReference(VulkanStream* vkStream, VkStructureType rootType,
6275 VkInputAttachmentAspectReference* forUnmarshaling) {
6276 (void)rootType;
6277 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
6278 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentIndex, sizeof(uint32_t));
6279 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
6280 }
6281
marshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * forMarshaling)6282 void marshal_VkRenderPassInputAttachmentAspectCreateInfo(
6283 VulkanStream* vkStream, VkStructureType rootType,
6284 const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling) {
6285 (void)rootType;
6286 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6287 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6288 rootType = forMarshaling->sType;
6289 }
6290 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6291 vkStream->write((uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t));
6292 if (forMarshaling) {
6293 for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) {
6294 marshal_VkInputAttachmentAspectReference(
6295 vkStream, rootType,
6296 (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i));
6297 }
6298 }
6299 }
6300
unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassInputAttachmentAspectCreateInfo * forUnmarshaling)6301 void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
6302 VulkanStream* vkStream, VkStructureType rootType,
6303 VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling) {
6304 (void)rootType;
6305 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6306 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6307 rootType = forUnmarshaling->sType;
6308 }
6309 size_t pNext_size;
6310 pNext_size = vkStream->getBe32();
6311 forUnmarshaling->pNext = nullptr;
6312 if (pNext_size) {
6313 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6314 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6315 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6316 vkStream->alloc((void**)&forUnmarshaling->pNext,
6317 goldfish_vk_extension_struct_size_with_stream_features(
6318 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6319 *(VkStructureType*)forUnmarshaling->pNext = extType;
6320 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6321 }
6322 vkStream->read((uint32_t*)&forUnmarshaling->aspectReferenceCount, sizeof(uint32_t));
6323 vkStream->alloc(
6324 (void**)&forUnmarshaling->pAspectReferences,
6325 forUnmarshaling->aspectReferenceCount * sizeof(const VkInputAttachmentAspectReference));
6326 if (forUnmarshaling) {
6327 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i) {
6328 unmarshal_VkInputAttachmentAspectReference(
6329 vkStream, rootType,
6330 (VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i));
6331 }
6332 }
6333 }
6334
marshal_VkImageViewUsageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImageViewUsageCreateInfo * forMarshaling)6335 void marshal_VkImageViewUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
6336 const VkImageViewUsageCreateInfo* forMarshaling) {
6337 (void)rootType;
6338 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6339 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6340 rootType = forMarshaling->sType;
6341 }
6342 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6343 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
6344 }
6345
unmarshal_VkImageViewUsageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkImageViewUsageCreateInfo * forUnmarshaling)6346 void unmarshal_VkImageViewUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
6347 VkImageViewUsageCreateInfo* forUnmarshaling) {
6348 (void)rootType;
6349 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6350 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6351 rootType = forUnmarshaling->sType;
6352 }
6353 size_t pNext_size;
6354 pNext_size = vkStream->getBe32();
6355 forUnmarshaling->pNext = nullptr;
6356 if (pNext_size) {
6357 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6358 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6359 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6360 vkStream->alloc((void**)&forUnmarshaling->pNext,
6361 goldfish_vk_extension_struct_size_with_stream_features(
6362 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6363 *(VkStructureType*)forUnmarshaling->pNext = extType;
6364 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6365 }
6366 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
6367 }
6368
marshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * forMarshaling)6369 void marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
6370 VulkanStream* vkStream, VkStructureType rootType,
6371 const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling) {
6372 (void)rootType;
6373 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6374 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6375 rootType = forMarshaling->sType;
6376 }
6377 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6378 vkStream->write((VkTessellationDomainOrigin*)&forMarshaling->domainOrigin,
6379 sizeof(VkTessellationDomainOrigin));
6380 }
6381
unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineTessellationDomainOriginStateCreateInfo * forUnmarshaling)6382 void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
6383 VulkanStream* vkStream, VkStructureType rootType,
6384 VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling) {
6385 (void)rootType;
6386 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6387 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6388 rootType = forUnmarshaling->sType;
6389 }
6390 size_t pNext_size;
6391 pNext_size = vkStream->getBe32();
6392 forUnmarshaling->pNext = nullptr;
6393 if (pNext_size) {
6394 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6395 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6396 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6397 vkStream->alloc((void**)&forUnmarshaling->pNext,
6398 goldfish_vk_extension_struct_size_with_stream_features(
6399 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6400 *(VkStructureType*)forUnmarshaling->pNext = extType;
6401 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6402 }
6403 vkStream->read((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin,
6404 sizeof(VkTessellationDomainOrigin));
6405 }
6406
marshal_VkRenderPassMultiviewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * forMarshaling)6407 void marshal_VkRenderPassMultiviewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
6408 const VkRenderPassMultiviewCreateInfo* forMarshaling) {
6409 (void)rootType;
6410 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6411 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6412 rootType = forMarshaling->sType;
6413 }
6414 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6415 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
6416 vkStream->write((const uint32_t*)forMarshaling->pViewMasks,
6417 forMarshaling->subpassCount * sizeof(const uint32_t));
6418 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
6419 vkStream->write((const int32_t*)forMarshaling->pViewOffsets,
6420 forMarshaling->dependencyCount * sizeof(const int32_t));
6421 vkStream->write((uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
6422 vkStream->write((const uint32_t*)forMarshaling->pCorrelationMasks,
6423 forMarshaling->correlationMaskCount * sizeof(const uint32_t));
6424 }
6425
unmarshal_VkRenderPassMultiviewCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassMultiviewCreateInfo * forUnmarshaling)6426 void unmarshal_VkRenderPassMultiviewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
6427 VkRenderPassMultiviewCreateInfo* forUnmarshaling) {
6428 (void)rootType;
6429 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6430 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6431 rootType = forUnmarshaling->sType;
6432 }
6433 size_t pNext_size;
6434 pNext_size = vkStream->getBe32();
6435 forUnmarshaling->pNext = nullptr;
6436 if (pNext_size) {
6437 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6438 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6439 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6440 vkStream->alloc((void**)&forUnmarshaling->pNext,
6441 goldfish_vk_extension_struct_size_with_stream_features(
6442 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6443 *(VkStructureType*)forUnmarshaling->pNext = extType;
6444 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6445 }
6446 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
6447 vkStream->alloc((void**)&forUnmarshaling->pViewMasks,
6448 forUnmarshaling->subpassCount * sizeof(const uint32_t));
6449 vkStream->read((uint32_t*)forUnmarshaling->pViewMasks,
6450 forUnmarshaling->subpassCount * sizeof(const uint32_t));
6451 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
6452 vkStream->alloc((void**)&forUnmarshaling->pViewOffsets,
6453 forUnmarshaling->dependencyCount * sizeof(const int32_t));
6454 vkStream->read((int32_t*)forUnmarshaling->pViewOffsets,
6455 forUnmarshaling->dependencyCount * sizeof(const int32_t));
6456 vkStream->read((uint32_t*)&forUnmarshaling->correlationMaskCount, sizeof(uint32_t));
6457 vkStream->alloc((void**)&forUnmarshaling->pCorrelationMasks,
6458 forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
6459 vkStream->read((uint32_t*)forUnmarshaling->pCorrelationMasks,
6460 forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
6461 }
6462
marshal_VkPhysicalDeviceMultiviewFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * forMarshaling)6463 void marshal_VkPhysicalDeviceMultiviewFeatures(
6464 VulkanStream* vkStream, VkStructureType rootType,
6465 const VkPhysicalDeviceMultiviewFeatures* forMarshaling) {
6466 (void)rootType;
6467 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6468 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6469 rootType = forMarshaling->sType;
6470 }
6471 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6472 vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
6473 vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
6474 vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
6475 }
6476
unmarshal_VkPhysicalDeviceMultiviewFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMultiviewFeatures * forUnmarshaling)6477 void unmarshal_VkPhysicalDeviceMultiviewFeatures(
6478 VulkanStream* vkStream, VkStructureType rootType,
6479 VkPhysicalDeviceMultiviewFeatures* forUnmarshaling) {
6480 (void)rootType;
6481 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6482 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6483 rootType = forUnmarshaling->sType;
6484 }
6485 size_t pNext_size;
6486 pNext_size = vkStream->getBe32();
6487 forUnmarshaling->pNext = nullptr;
6488 if (pNext_size) {
6489 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6490 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6491 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6492 vkStream->alloc((void**)&forUnmarshaling->pNext,
6493 goldfish_vk_extension_struct_size_with_stream_features(
6494 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6495 *(VkStructureType*)forUnmarshaling->pNext = extType;
6496 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6497 }
6498 vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
6499 vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
6500 vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
6501 }
6502
marshal_VkPhysicalDeviceMultiviewProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * forMarshaling)6503 void marshal_VkPhysicalDeviceMultiviewProperties(
6504 VulkanStream* vkStream, VkStructureType rootType,
6505 const VkPhysicalDeviceMultiviewProperties* forMarshaling) {
6506 (void)rootType;
6507 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6508 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6509 rootType = forMarshaling->sType;
6510 }
6511 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6512 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
6513 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
6514 }
6515
unmarshal_VkPhysicalDeviceMultiviewProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMultiviewProperties * forUnmarshaling)6516 void unmarshal_VkPhysicalDeviceMultiviewProperties(
6517 VulkanStream* vkStream, VkStructureType rootType,
6518 VkPhysicalDeviceMultiviewProperties* forUnmarshaling) {
6519 (void)rootType;
6520 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6521 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6522 rootType = forUnmarshaling->sType;
6523 }
6524 size_t pNext_size;
6525 pNext_size = vkStream->getBe32();
6526 forUnmarshaling->pNext = nullptr;
6527 if (pNext_size) {
6528 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6529 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6530 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6531 vkStream->alloc((void**)&forUnmarshaling->pNext,
6532 goldfish_vk_extension_struct_size_with_stream_features(
6533 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6534 *(VkStructureType*)forUnmarshaling->pNext = extType;
6535 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6536 }
6537 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
6538 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
6539 }
6540
marshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * forMarshaling)6541 void marshal_VkPhysicalDeviceVariablePointersFeatures(
6542 VulkanStream* vkStream, VkStructureType rootType,
6543 const VkPhysicalDeviceVariablePointersFeatures* forMarshaling) {
6544 (void)rootType;
6545 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6546 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6547 rootType = forMarshaling->sType;
6548 }
6549 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6550 vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
6551 vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
6552 }
6553
unmarshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVariablePointersFeatures * forUnmarshaling)6554 void unmarshal_VkPhysicalDeviceVariablePointersFeatures(
6555 VulkanStream* vkStream, VkStructureType rootType,
6556 VkPhysicalDeviceVariablePointersFeatures* forUnmarshaling) {
6557 (void)rootType;
6558 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6559 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6560 rootType = forUnmarshaling->sType;
6561 }
6562 size_t pNext_size;
6563 pNext_size = vkStream->getBe32();
6564 forUnmarshaling->pNext = nullptr;
6565 if (pNext_size) {
6566 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6567 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6568 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6569 vkStream->alloc((void**)&forUnmarshaling->pNext,
6570 goldfish_vk_extension_struct_size_with_stream_features(
6571 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6572 *(VkStructureType*)forUnmarshaling->pNext = extType;
6573 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6574 }
6575 vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
6576 vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
6577 }
6578
marshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * forMarshaling)6579 void marshal_VkPhysicalDeviceProtectedMemoryFeatures(
6580 VulkanStream* vkStream, VkStructureType rootType,
6581 const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling) {
6582 (void)rootType;
6583 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6584 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6585 rootType = forMarshaling->sType;
6586 }
6587 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6588 vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
6589 }
6590
unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProtectedMemoryFeatures * forUnmarshaling)6591 void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
6592 VulkanStream* vkStream, VkStructureType rootType,
6593 VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling) {
6594 (void)rootType;
6595 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6596 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6597 rootType = forUnmarshaling->sType;
6598 }
6599 size_t pNext_size;
6600 pNext_size = vkStream->getBe32();
6601 forUnmarshaling->pNext = nullptr;
6602 if (pNext_size) {
6603 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6604 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6605 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6606 vkStream->alloc((void**)&forUnmarshaling->pNext,
6607 goldfish_vk_extension_struct_size_with_stream_features(
6608 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6609 *(VkStructureType*)forUnmarshaling->pNext = extType;
6610 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6611 }
6612 vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
6613 }
6614
marshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * forMarshaling)6615 void marshal_VkPhysicalDeviceProtectedMemoryProperties(
6616 VulkanStream* vkStream, VkStructureType rootType,
6617 const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling) {
6618 (void)rootType;
6619 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6620 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6621 rootType = forMarshaling->sType;
6622 }
6623 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6624 vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
6625 }
6626
unmarshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProtectedMemoryProperties * forUnmarshaling)6627 void unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
6628 VulkanStream* vkStream, VkStructureType rootType,
6629 VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling) {
6630 (void)rootType;
6631 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6632 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6633 rootType = forUnmarshaling->sType;
6634 }
6635 size_t pNext_size;
6636 pNext_size = vkStream->getBe32();
6637 forUnmarshaling->pNext = nullptr;
6638 if (pNext_size) {
6639 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6640 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6641 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6642 vkStream->alloc((void**)&forUnmarshaling->pNext,
6643 goldfish_vk_extension_struct_size_with_stream_features(
6644 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6645 *(VkStructureType*)forUnmarshaling->pNext = extType;
6646 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6647 }
6648 vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
6649 }
6650
marshal_VkDeviceQueueInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceQueueInfo2 * forMarshaling)6651 void marshal_VkDeviceQueueInfo2(VulkanStream* vkStream, VkStructureType rootType,
6652 const VkDeviceQueueInfo2* forMarshaling) {
6653 (void)rootType;
6654 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6655 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6656 rootType = forMarshaling->sType;
6657 }
6658 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6659 vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
6660 sizeof(VkDeviceQueueCreateFlags));
6661 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
6662 vkStream->write((uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
6663 }
6664
unmarshal_VkDeviceQueueInfo2(VulkanStream * vkStream,VkStructureType rootType,VkDeviceQueueInfo2 * forUnmarshaling)6665 void unmarshal_VkDeviceQueueInfo2(VulkanStream* vkStream, VkStructureType rootType,
6666 VkDeviceQueueInfo2* forUnmarshaling) {
6667 (void)rootType;
6668 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6669 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6670 rootType = forUnmarshaling->sType;
6671 }
6672 size_t pNext_size;
6673 pNext_size = vkStream->getBe32();
6674 forUnmarshaling->pNext = nullptr;
6675 if (pNext_size) {
6676 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6677 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6678 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6679 vkStream->alloc((void**)&forUnmarshaling->pNext,
6680 goldfish_vk_extension_struct_size_with_stream_features(
6681 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6682 *(VkStructureType*)forUnmarshaling->pNext = extType;
6683 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6684 }
6685 vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
6686 sizeof(VkDeviceQueueCreateFlags));
6687 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
6688 vkStream->read((uint32_t*)&forUnmarshaling->queueIndex, sizeof(uint32_t));
6689 }
6690
marshal_VkProtectedSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkProtectedSubmitInfo * forMarshaling)6691 void marshal_VkProtectedSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
6692 const VkProtectedSubmitInfo* forMarshaling) {
6693 (void)rootType;
6694 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6695 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6696 rootType = forMarshaling->sType;
6697 }
6698 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6699 vkStream->write((VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32));
6700 }
6701
unmarshal_VkProtectedSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkProtectedSubmitInfo * forUnmarshaling)6702 void unmarshal_VkProtectedSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
6703 VkProtectedSubmitInfo* forUnmarshaling) {
6704 (void)rootType;
6705 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6706 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6707 rootType = forUnmarshaling->sType;
6708 }
6709 size_t pNext_size;
6710 pNext_size = vkStream->getBe32();
6711 forUnmarshaling->pNext = nullptr;
6712 if (pNext_size) {
6713 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6714 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6715 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6716 vkStream->alloc((void**)&forUnmarshaling->pNext,
6717 goldfish_vk_extension_struct_size_with_stream_features(
6718 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6719 *(VkStructureType*)forUnmarshaling->pNext = extType;
6720 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6721 }
6722 vkStream->read((VkBool32*)&forUnmarshaling->protectedSubmit, sizeof(VkBool32));
6723 }
6724
marshal_VkSamplerYcbcrConversionCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * forMarshaling)6725 void marshal_VkSamplerYcbcrConversionCreateInfo(
6726 VulkanStream* vkStream, VkStructureType rootType,
6727 const VkSamplerYcbcrConversionCreateInfo* forMarshaling) {
6728 (void)rootType;
6729 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6730 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6731 rootType = forMarshaling->sType;
6732 }
6733 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6734 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
6735 vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel,
6736 sizeof(VkSamplerYcbcrModelConversion));
6737 vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
6738 marshal_VkComponentMapping(vkStream, rootType,
6739 (VkComponentMapping*)(&forMarshaling->components));
6740 vkStream->write((VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
6741 vkStream->write((VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
6742 vkStream->write((VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
6743 vkStream->write((VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
6744 }
6745
unmarshal_VkSamplerYcbcrConversionCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionCreateInfo * forUnmarshaling)6746 void unmarshal_VkSamplerYcbcrConversionCreateInfo(
6747 VulkanStream* vkStream, VkStructureType rootType,
6748 VkSamplerYcbcrConversionCreateInfo* forUnmarshaling) {
6749 (void)rootType;
6750 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6751 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6752 rootType = forUnmarshaling->sType;
6753 }
6754 size_t pNext_size;
6755 pNext_size = vkStream->getBe32();
6756 forUnmarshaling->pNext = nullptr;
6757 if (pNext_size) {
6758 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6759 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6760 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6761 vkStream->alloc((void**)&forUnmarshaling->pNext,
6762 goldfish_vk_extension_struct_size_with_stream_features(
6763 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6764 *(VkStructureType*)forUnmarshaling->pNext = extType;
6765 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6766 }
6767 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
6768 vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel,
6769 sizeof(VkSamplerYcbcrModelConversion));
6770 vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
6771 unmarshal_VkComponentMapping(vkStream, rootType,
6772 (VkComponentMapping*)(&forUnmarshaling->components));
6773 vkStream->read((VkChromaLocation*)&forUnmarshaling->xChromaOffset, sizeof(VkChromaLocation));
6774 vkStream->read((VkChromaLocation*)&forUnmarshaling->yChromaOffset, sizeof(VkChromaLocation));
6775 vkStream->read((VkFilter*)&forUnmarshaling->chromaFilter, sizeof(VkFilter));
6776 vkStream->read((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, sizeof(VkBool32));
6777 }
6778
marshal_VkSamplerYcbcrConversionInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * forMarshaling)6779 void marshal_VkSamplerYcbcrConversionInfo(VulkanStream* vkStream, VkStructureType rootType,
6780 const VkSamplerYcbcrConversionInfo* forMarshaling) {
6781 (void)rootType;
6782 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6783 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6784 rootType = forMarshaling->sType;
6785 }
6786 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6787 uint64_t cgen_var_0;
6788 vkStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&forMarshaling->conversion,
6789 &cgen_var_0, 1);
6790 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
6791 }
6792
unmarshal_VkSamplerYcbcrConversionInfo(VulkanStream * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionInfo * forUnmarshaling)6793 void unmarshal_VkSamplerYcbcrConversionInfo(VulkanStream* vkStream, VkStructureType rootType,
6794 VkSamplerYcbcrConversionInfo* forUnmarshaling) {
6795 (void)rootType;
6796 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6797 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6798 rootType = forUnmarshaling->sType;
6799 }
6800 size_t pNext_size;
6801 pNext_size = vkStream->getBe32();
6802 forUnmarshaling->pNext = nullptr;
6803 if (pNext_size) {
6804 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6805 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6806 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6807 vkStream->alloc((void**)&forUnmarshaling->pNext,
6808 goldfish_vk_extension_struct_size_with_stream_features(
6809 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6810 *(VkStructureType*)forUnmarshaling->pNext = extType;
6811 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6812 }
6813 uint64_t cgen_var_0;
6814 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
6815 vkStream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(
6816 &cgen_var_0, (VkSamplerYcbcrConversion*)&forUnmarshaling->conversion, 1);
6817 }
6818
marshal_VkBindImagePlaneMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * forMarshaling)6819 void marshal_VkBindImagePlaneMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
6820 const VkBindImagePlaneMemoryInfo* forMarshaling) {
6821 (void)rootType;
6822 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6823 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6824 rootType = forMarshaling->sType;
6825 }
6826 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6827 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
6828 sizeof(VkImageAspectFlagBits));
6829 }
6830
unmarshal_VkBindImagePlaneMemoryInfo(VulkanStream * vkStream,VkStructureType rootType,VkBindImagePlaneMemoryInfo * forUnmarshaling)6831 void unmarshal_VkBindImagePlaneMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
6832 VkBindImagePlaneMemoryInfo* forUnmarshaling) {
6833 (void)rootType;
6834 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6835 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6836 rootType = forUnmarshaling->sType;
6837 }
6838 size_t pNext_size;
6839 pNext_size = vkStream->getBe32();
6840 forUnmarshaling->pNext = nullptr;
6841 if (pNext_size) {
6842 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6843 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6844 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6845 vkStream->alloc((void**)&forUnmarshaling->pNext,
6846 goldfish_vk_extension_struct_size_with_stream_features(
6847 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6848 *(VkStructureType*)forUnmarshaling->pNext = extType;
6849 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6850 }
6851 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
6852 sizeof(VkImageAspectFlagBits));
6853 }
6854
marshal_VkImagePlaneMemoryRequirementsInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * forMarshaling)6855 void marshal_VkImagePlaneMemoryRequirementsInfo(
6856 VulkanStream* vkStream, VkStructureType rootType,
6857 const VkImagePlaneMemoryRequirementsInfo* forMarshaling) {
6858 (void)rootType;
6859 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6860 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6861 rootType = forMarshaling->sType;
6862 }
6863 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6864 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
6865 sizeof(VkImageAspectFlagBits));
6866 }
6867
unmarshal_VkImagePlaneMemoryRequirementsInfo(VulkanStream * vkStream,VkStructureType rootType,VkImagePlaneMemoryRequirementsInfo * forUnmarshaling)6868 void unmarshal_VkImagePlaneMemoryRequirementsInfo(
6869 VulkanStream* vkStream, VkStructureType rootType,
6870 VkImagePlaneMemoryRequirementsInfo* forUnmarshaling) {
6871 (void)rootType;
6872 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6873 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6874 rootType = forUnmarshaling->sType;
6875 }
6876 size_t pNext_size;
6877 pNext_size = vkStream->getBe32();
6878 forUnmarshaling->pNext = nullptr;
6879 if (pNext_size) {
6880 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6881 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6882 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6883 vkStream->alloc((void**)&forUnmarshaling->pNext,
6884 goldfish_vk_extension_struct_size_with_stream_features(
6885 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6886 *(VkStructureType*)forUnmarshaling->pNext = extType;
6887 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6888 }
6889 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
6890 sizeof(VkImageAspectFlagBits));
6891 }
6892
marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * forMarshaling)6893 void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
6894 VulkanStream* vkStream, VkStructureType rootType,
6895 const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling) {
6896 (void)rootType;
6897 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6898 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6899 rootType = forMarshaling->sType;
6900 }
6901 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6902 vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
6903 }
6904
unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSamplerYcbcrConversionFeatures * forUnmarshaling)6905 void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
6906 VulkanStream* vkStream, VkStructureType rootType,
6907 VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling) {
6908 (void)rootType;
6909 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6910 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6911 rootType = forUnmarshaling->sType;
6912 }
6913 size_t pNext_size;
6914 pNext_size = vkStream->getBe32();
6915 forUnmarshaling->pNext = nullptr;
6916 if (pNext_size) {
6917 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6918 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6919 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6920 vkStream->alloc((void**)&forUnmarshaling->pNext,
6921 goldfish_vk_extension_struct_size_with_stream_features(
6922 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6923 *(VkStructureType*)forUnmarshaling->pNext = extType;
6924 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6925 }
6926 vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
6927 }
6928
marshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * forMarshaling)6929 void marshal_VkSamplerYcbcrConversionImageFormatProperties(
6930 VulkanStream* vkStream, VkStructureType rootType,
6931 const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling) {
6932 (void)rootType;
6933 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6934 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6935 rootType = forMarshaling->sType;
6936 }
6937 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6938 vkStream->write((uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount,
6939 sizeof(uint32_t));
6940 }
6941
unmarshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionImageFormatProperties * forUnmarshaling)6942 void unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
6943 VulkanStream* vkStream, VkStructureType rootType,
6944 VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling) {
6945 (void)rootType;
6946 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6947 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6948 rootType = forUnmarshaling->sType;
6949 }
6950 size_t pNext_size;
6951 pNext_size = vkStream->getBe32();
6952 forUnmarshaling->pNext = nullptr;
6953 if (pNext_size) {
6954 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
6955 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
6956 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
6957 vkStream->alloc((void**)&forUnmarshaling->pNext,
6958 goldfish_vk_extension_struct_size_with_stream_features(
6959 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
6960 *(VkStructureType*)forUnmarshaling->pNext = extType;
6961 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6962 }
6963 vkStream->read((uint32_t*)&forUnmarshaling->combinedImageSamplerDescriptorCount,
6964 sizeof(uint32_t));
6965 }
6966
marshal_VkDescriptorUpdateTemplateEntry(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * forMarshaling)6967 void marshal_VkDescriptorUpdateTemplateEntry(VulkanStream* vkStream, VkStructureType rootType,
6968 const VkDescriptorUpdateTemplateEntry* forMarshaling) {
6969 (void)rootType;
6970 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
6971 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
6972 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
6973 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
6974 uint64_t cgen_var_0 = (uint64_t)forMarshaling->offset;
6975 vkStream->putBe64(cgen_var_0);
6976 uint64_t cgen_var_1 = (uint64_t)forMarshaling->stride;
6977 vkStream->putBe64(cgen_var_1);
6978 }
6979
unmarshal_VkDescriptorUpdateTemplateEntry(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorUpdateTemplateEntry * forUnmarshaling)6980 void unmarshal_VkDescriptorUpdateTemplateEntry(VulkanStream* vkStream, VkStructureType rootType,
6981 VkDescriptorUpdateTemplateEntry* forUnmarshaling) {
6982 (void)rootType;
6983 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
6984 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
6985 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
6986 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
6987 forUnmarshaling->offset = (size_t)vkStream->getBe64();
6988 forUnmarshaling->stride = (size_t)vkStream->getBe64();
6989 }
6990
marshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * forMarshaling)6991 void marshal_VkDescriptorUpdateTemplateCreateInfo(
6992 VulkanStream* vkStream, VkStructureType rootType,
6993 const VkDescriptorUpdateTemplateCreateInfo* forMarshaling) {
6994 (void)rootType;
6995 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6996 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6997 rootType = forMarshaling->sType;
6998 }
6999 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7000 vkStream->write((VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags,
7001 sizeof(VkDescriptorUpdateTemplateCreateFlags));
7002 vkStream->write((uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
7003 if (forMarshaling) {
7004 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) {
7005 marshal_VkDescriptorUpdateTemplateEntry(
7006 vkStream, rootType,
7007 (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries +
7008 i));
7009 }
7010 }
7011 vkStream->write((VkDescriptorUpdateTemplateType*)&forMarshaling->templateType,
7012 sizeof(VkDescriptorUpdateTemplateType));
7013 uint64_t cgen_var_0;
7014 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
7015 &forMarshaling->descriptorSetLayout, &cgen_var_0, 1);
7016 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
7017 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
7018 sizeof(VkPipelineBindPoint));
7019 uint64_t cgen_var_1;
7020 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout,
7021 &cgen_var_1, 1);
7022 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
7023 vkStream->write((uint32_t*)&forMarshaling->set, sizeof(uint32_t));
7024 }
7025
unmarshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorUpdateTemplateCreateInfo * forUnmarshaling)7026 void unmarshal_VkDescriptorUpdateTemplateCreateInfo(
7027 VulkanStream* vkStream, VkStructureType rootType,
7028 VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling) {
7029 (void)rootType;
7030 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7031 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7032 rootType = forUnmarshaling->sType;
7033 }
7034 size_t pNext_size;
7035 pNext_size = vkStream->getBe32();
7036 forUnmarshaling->pNext = nullptr;
7037 if (pNext_size) {
7038 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7039 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7040 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7041 vkStream->alloc((void**)&forUnmarshaling->pNext,
7042 goldfish_vk_extension_struct_size_with_stream_features(
7043 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7044 *(VkStructureType*)forUnmarshaling->pNext = extType;
7045 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7046 }
7047 vkStream->read((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags,
7048 sizeof(VkDescriptorUpdateTemplateCreateFlags));
7049 vkStream->read((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
7050 vkStream->alloc((void**)&forUnmarshaling->pDescriptorUpdateEntries,
7051 forUnmarshaling->descriptorUpdateEntryCount *
7052 sizeof(const VkDescriptorUpdateTemplateEntry));
7053 if (forUnmarshaling) {
7054 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i) {
7055 unmarshal_VkDescriptorUpdateTemplateEntry(
7056 vkStream, rootType,
7057 (VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i));
7058 }
7059 }
7060 vkStream->read((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType,
7061 sizeof(VkDescriptorUpdateTemplateType));
7062 uint64_t cgen_var_0;
7063 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
7064 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
7065 &cgen_var_0, (VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout, 1);
7066 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
7067 sizeof(VkPipelineBindPoint));
7068 uint64_t cgen_var_1;
7069 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
7070 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
7071 &cgen_var_1, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
7072 vkStream->read((uint32_t*)&forUnmarshaling->set, sizeof(uint32_t));
7073 }
7074
marshal_VkExternalMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExternalMemoryProperties * forMarshaling)7075 void marshal_VkExternalMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
7076 const VkExternalMemoryProperties* forMarshaling) {
7077 (void)rootType;
7078 vkStream->write((VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures,
7079 sizeof(VkExternalMemoryFeatureFlags));
7080 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
7081 sizeof(VkExternalMemoryHandleTypeFlags));
7082 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
7083 sizeof(VkExternalMemoryHandleTypeFlags));
7084 }
7085
unmarshal_VkExternalMemoryProperties(VulkanStream * vkStream,VkStructureType rootType,VkExternalMemoryProperties * forUnmarshaling)7086 void unmarshal_VkExternalMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
7087 VkExternalMemoryProperties* forUnmarshaling) {
7088 (void)rootType;
7089 vkStream->read((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures,
7090 sizeof(VkExternalMemoryFeatureFlags));
7091 vkStream->read(
7092 (VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
7093 sizeof(VkExternalMemoryHandleTypeFlags));
7094 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
7095 sizeof(VkExternalMemoryHandleTypeFlags));
7096 }
7097
marshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * forMarshaling)7098 void marshal_VkPhysicalDeviceExternalImageFormatInfo(
7099 VulkanStream* vkStream, VkStructureType rootType,
7100 const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling) {
7101 (void)rootType;
7102 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7103 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7104 rootType = forMarshaling->sType;
7105 }
7106 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7107 vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
7108 sizeof(VkExternalMemoryHandleTypeFlagBits));
7109 }
7110
unmarshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalImageFormatInfo * forUnmarshaling)7111 void unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
7112 VulkanStream* vkStream, VkStructureType rootType,
7113 VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling) {
7114 (void)rootType;
7115 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7116 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7117 rootType = forUnmarshaling->sType;
7118 }
7119 size_t pNext_size;
7120 pNext_size = vkStream->getBe32();
7121 forUnmarshaling->pNext = nullptr;
7122 if (pNext_size) {
7123 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7124 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7125 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7126 vkStream->alloc((void**)&forUnmarshaling->pNext,
7127 goldfish_vk_extension_struct_size_with_stream_features(
7128 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7129 *(VkStructureType*)forUnmarshaling->pNext = extType;
7130 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7131 }
7132 vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
7133 sizeof(VkExternalMemoryHandleTypeFlagBits));
7134 }
7135
marshal_VkExternalImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExternalImageFormatProperties * forMarshaling)7136 void marshal_VkExternalImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
7137 const VkExternalImageFormatProperties* forMarshaling) {
7138 (void)rootType;
7139 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7140 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7141 rootType = forMarshaling->sType;
7142 }
7143 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7144 marshal_VkExternalMemoryProperties(
7145 vkStream, rootType,
7146 (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
7147 }
7148
unmarshal_VkExternalImageFormatProperties(VulkanStream * vkStream,VkStructureType rootType,VkExternalImageFormatProperties * forUnmarshaling)7149 void unmarshal_VkExternalImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
7150 VkExternalImageFormatProperties* forUnmarshaling) {
7151 (void)rootType;
7152 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7153 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7154 rootType = forUnmarshaling->sType;
7155 }
7156 size_t pNext_size;
7157 pNext_size = vkStream->getBe32();
7158 forUnmarshaling->pNext = nullptr;
7159 if (pNext_size) {
7160 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7161 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7162 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7163 vkStream->alloc((void**)&forUnmarshaling->pNext,
7164 goldfish_vk_extension_struct_size_with_stream_features(
7165 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7166 *(VkStructureType*)forUnmarshaling->pNext = extType;
7167 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7168 }
7169 unmarshal_VkExternalMemoryProperties(
7170 vkStream, rootType,
7171 (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
7172 }
7173
marshal_VkPhysicalDeviceExternalBufferInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * forMarshaling)7174 void marshal_VkPhysicalDeviceExternalBufferInfo(
7175 VulkanStream* vkStream, VkStructureType rootType,
7176 const VkPhysicalDeviceExternalBufferInfo* forMarshaling) {
7177 (void)rootType;
7178 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7179 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7180 rootType = forMarshaling->sType;
7181 }
7182 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7183 vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
7184 vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
7185 vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
7186 sizeof(VkExternalMemoryHandleTypeFlagBits));
7187 }
7188
unmarshal_VkPhysicalDeviceExternalBufferInfo(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalBufferInfo * forUnmarshaling)7189 void unmarshal_VkPhysicalDeviceExternalBufferInfo(
7190 VulkanStream* vkStream, VkStructureType rootType,
7191 VkPhysicalDeviceExternalBufferInfo* forUnmarshaling) {
7192 (void)rootType;
7193 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7194 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7195 rootType = forUnmarshaling->sType;
7196 }
7197 size_t pNext_size;
7198 pNext_size = vkStream->getBe32();
7199 forUnmarshaling->pNext = nullptr;
7200 if (pNext_size) {
7201 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7202 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7203 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7204 vkStream->alloc((void**)&forUnmarshaling->pNext,
7205 goldfish_vk_extension_struct_size_with_stream_features(
7206 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7207 *(VkStructureType*)forUnmarshaling->pNext = extType;
7208 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7209 }
7210 vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
7211 vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
7212 vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
7213 sizeof(VkExternalMemoryHandleTypeFlagBits));
7214 }
7215
marshal_VkExternalBufferProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExternalBufferProperties * forMarshaling)7216 void marshal_VkExternalBufferProperties(VulkanStream* vkStream, VkStructureType rootType,
7217 const VkExternalBufferProperties* forMarshaling) {
7218 (void)rootType;
7219 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7220 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7221 rootType = forMarshaling->sType;
7222 }
7223 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7224 marshal_VkExternalMemoryProperties(
7225 vkStream, rootType,
7226 (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
7227 }
7228
unmarshal_VkExternalBufferProperties(VulkanStream * vkStream,VkStructureType rootType,VkExternalBufferProperties * forUnmarshaling)7229 void unmarshal_VkExternalBufferProperties(VulkanStream* vkStream, VkStructureType rootType,
7230 VkExternalBufferProperties* forUnmarshaling) {
7231 (void)rootType;
7232 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7233 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7234 rootType = forUnmarshaling->sType;
7235 }
7236 size_t pNext_size;
7237 pNext_size = vkStream->getBe32();
7238 forUnmarshaling->pNext = nullptr;
7239 if (pNext_size) {
7240 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7241 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7242 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7243 vkStream->alloc((void**)&forUnmarshaling->pNext,
7244 goldfish_vk_extension_struct_size_with_stream_features(
7245 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7246 *(VkStructureType*)forUnmarshaling->pNext = extType;
7247 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7248 }
7249 unmarshal_VkExternalMemoryProperties(
7250 vkStream, rootType,
7251 (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
7252 }
7253
marshal_VkPhysicalDeviceIDProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceIDProperties * forMarshaling)7254 void marshal_VkPhysicalDeviceIDProperties(VulkanStream* vkStream, VkStructureType rootType,
7255 const VkPhysicalDeviceIDProperties* forMarshaling) {
7256 (void)rootType;
7257 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7258 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7259 rootType = forMarshaling->sType;
7260 }
7261 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7262 vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
7263 vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
7264 vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
7265 vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
7266 vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
7267 }
7268
unmarshal_VkPhysicalDeviceIDProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceIDProperties * forUnmarshaling)7269 void unmarshal_VkPhysicalDeviceIDProperties(VulkanStream* vkStream, VkStructureType rootType,
7270 VkPhysicalDeviceIDProperties* forUnmarshaling) {
7271 (void)rootType;
7272 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7273 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7274 rootType = forUnmarshaling->sType;
7275 }
7276 size_t pNext_size;
7277 pNext_size = vkStream->getBe32();
7278 forUnmarshaling->pNext = nullptr;
7279 if (pNext_size) {
7280 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7281 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7282 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7283 vkStream->alloc((void**)&forUnmarshaling->pNext,
7284 goldfish_vk_extension_struct_size_with_stream_features(
7285 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7286 *(VkStructureType*)forUnmarshaling->pNext = extType;
7287 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7288 }
7289 vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
7290 vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
7291 vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
7292 vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
7293 vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
7294 }
7295
marshal_VkExternalMemoryImageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * forMarshaling)7296 void marshal_VkExternalMemoryImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7297 const VkExternalMemoryImageCreateInfo* forMarshaling) {
7298 (void)rootType;
7299 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7300 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7301 rootType = forMarshaling->sType;
7302 }
7303 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7304 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
7305 sizeof(VkExternalMemoryHandleTypeFlags));
7306 }
7307
unmarshal_VkExternalMemoryImageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkExternalMemoryImageCreateInfo * forUnmarshaling)7308 void unmarshal_VkExternalMemoryImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7309 VkExternalMemoryImageCreateInfo* forUnmarshaling) {
7310 (void)rootType;
7311 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7312 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7313 rootType = forUnmarshaling->sType;
7314 }
7315 size_t pNext_size;
7316 pNext_size = vkStream->getBe32();
7317 forUnmarshaling->pNext = nullptr;
7318 if (pNext_size) {
7319 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7320 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7321 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7322 vkStream->alloc((void**)&forUnmarshaling->pNext,
7323 goldfish_vk_extension_struct_size_with_stream_features(
7324 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7325 *(VkStructureType*)forUnmarshaling->pNext = extType;
7326 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7327 }
7328 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
7329 sizeof(VkExternalMemoryHandleTypeFlags));
7330 }
7331
marshal_VkExternalMemoryBufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * forMarshaling)7332 void marshal_VkExternalMemoryBufferCreateInfo(
7333 VulkanStream* vkStream, VkStructureType rootType,
7334 const VkExternalMemoryBufferCreateInfo* forMarshaling) {
7335 (void)rootType;
7336 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7337 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7338 rootType = forMarshaling->sType;
7339 }
7340 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7341 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
7342 sizeof(VkExternalMemoryHandleTypeFlags));
7343 }
7344
unmarshal_VkExternalMemoryBufferCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkExternalMemoryBufferCreateInfo * forUnmarshaling)7345 void unmarshal_VkExternalMemoryBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7346 VkExternalMemoryBufferCreateInfo* forUnmarshaling) {
7347 (void)rootType;
7348 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7349 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7350 rootType = forUnmarshaling->sType;
7351 }
7352 size_t pNext_size;
7353 pNext_size = vkStream->getBe32();
7354 forUnmarshaling->pNext = nullptr;
7355 if (pNext_size) {
7356 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7357 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7358 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7359 vkStream->alloc((void**)&forUnmarshaling->pNext,
7360 goldfish_vk_extension_struct_size_with_stream_features(
7361 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7362 *(VkStructureType*)forUnmarshaling->pNext = extType;
7363 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7364 }
7365 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
7366 sizeof(VkExternalMemoryHandleTypeFlags));
7367 }
7368
marshal_VkExportMemoryAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkExportMemoryAllocateInfo * forMarshaling)7369 void marshal_VkExportMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
7370 const VkExportMemoryAllocateInfo* forMarshaling) {
7371 (void)rootType;
7372 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7373 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7374 rootType = forMarshaling->sType;
7375 }
7376 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7377 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
7378 sizeof(VkExternalMemoryHandleTypeFlags));
7379 }
7380
unmarshal_VkExportMemoryAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkExportMemoryAllocateInfo * forUnmarshaling)7381 void unmarshal_VkExportMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
7382 VkExportMemoryAllocateInfo* forUnmarshaling) {
7383 (void)rootType;
7384 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7385 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7386 rootType = forUnmarshaling->sType;
7387 }
7388 size_t pNext_size;
7389 pNext_size = vkStream->getBe32();
7390 forUnmarshaling->pNext = nullptr;
7391 if (pNext_size) {
7392 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7393 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7394 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7395 vkStream->alloc((void**)&forUnmarshaling->pNext,
7396 goldfish_vk_extension_struct_size_with_stream_features(
7397 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7398 *(VkStructureType*)forUnmarshaling->pNext = extType;
7399 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7400 }
7401 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
7402 sizeof(VkExternalMemoryHandleTypeFlags));
7403 }
7404
marshal_VkPhysicalDeviceExternalFenceInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * forMarshaling)7405 void marshal_VkPhysicalDeviceExternalFenceInfo(
7406 VulkanStream* vkStream, VkStructureType rootType,
7407 const VkPhysicalDeviceExternalFenceInfo* forMarshaling) {
7408 (void)rootType;
7409 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7410 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7411 rootType = forMarshaling->sType;
7412 }
7413 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7414 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
7415 sizeof(VkExternalFenceHandleTypeFlagBits));
7416 }
7417
unmarshal_VkPhysicalDeviceExternalFenceInfo(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalFenceInfo * forUnmarshaling)7418 void unmarshal_VkPhysicalDeviceExternalFenceInfo(
7419 VulkanStream* vkStream, VkStructureType rootType,
7420 VkPhysicalDeviceExternalFenceInfo* forUnmarshaling) {
7421 (void)rootType;
7422 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7423 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7424 rootType = forUnmarshaling->sType;
7425 }
7426 size_t pNext_size;
7427 pNext_size = vkStream->getBe32();
7428 forUnmarshaling->pNext = nullptr;
7429 if (pNext_size) {
7430 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7431 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7432 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7433 vkStream->alloc((void**)&forUnmarshaling->pNext,
7434 goldfish_vk_extension_struct_size_with_stream_features(
7435 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7436 *(VkStructureType*)forUnmarshaling->pNext = extType;
7437 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7438 }
7439 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
7440 sizeof(VkExternalFenceHandleTypeFlagBits));
7441 }
7442
marshal_VkExternalFenceProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExternalFenceProperties * forMarshaling)7443 void marshal_VkExternalFenceProperties(VulkanStream* vkStream, VkStructureType rootType,
7444 const VkExternalFenceProperties* forMarshaling) {
7445 (void)rootType;
7446 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7447 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7448 rootType = forMarshaling->sType;
7449 }
7450 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7451 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
7452 sizeof(VkExternalFenceHandleTypeFlags));
7453 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
7454 sizeof(VkExternalFenceHandleTypeFlags));
7455 vkStream->write((VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures,
7456 sizeof(VkExternalFenceFeatureFlags));
7457 }
7458
unmarshal_VkExternalFenceProperties(VulkanStream * vkStream,VkStructureType rootType,VkExternalFenceProperties * forUnmarshaling)7459 void unmarshal_VkExternalFenceProperties(VulkanStream* vkStream, VkStructureType rootType,
7460 VkExternalFenceProperties* forUnmarshaling) {
7461 (void)rootType;
7462 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7463 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7464 rootType = forUnmarshaling->sType;
7465 }
7466 size_t pNext_size;
7467 pNext_size = vkStream->getBe32();
7468 forUnmarshaling->pNext = nullptr;
7469 if (pNext_size) {
7470 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7471 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7472 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7473 vkStream->alloc((void**)&forUnmarshaling->pNext,
7474 goldfish_vk_extension_struct_size_with_stream_features(
7475 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7476 *(VkStructureType*)forUnmarshaling->pNext = extType;
7477 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7478 }
7479 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
7480 sizeof(VkExternalFenceHandleTypeFlags));
7481 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
7482 sizeof(VkExternalFenceHandleTypeFlags));
7483 vkStream->read((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures,
7484 sizeof(VkExternalFenceFeatureFlags));
7485 }
7486
marshal_VkExportFenceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkExportFenceCreateInfo * forMarshaling)7487 void marshal_VkExportFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7488 const VkExportFenceCreateInfo* forMarshaling) {
7489 (void)rootType;
7490 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7491 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7492 rootType = forMarshaling->sType;
7493 }
7494 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7495 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes,
7496 sizeof(VkExternalFenceHandleTypeFlags));
7497 }
7498
unmarshal_VkExportFenceCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkExportFenceCreateInfo * forUnmarshaling)7499 void unmarshal_VkExportFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7500 VkExportFenceCreateInfo* forUnmarshaling) {
7501 (void)rootType;
7502 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7503 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7504 rootType = forUnmarshaling->sType;
7505 }
7506 size_t pNext_size;
7507 pNext_size = vkStream->getBe32();
7508 forUnmarshaling->pNext = nullptr;
7509 if (pNext_size) {
7510 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7511 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7512 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7513 vkStream->alloc((void**)&forUnmarshaling->pNext,
7514 goldfish_vk_extension_struct_size_with_stream_features(
7515 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7516 *(VkStructureType*)forUnmarshaling->pNext = extType;
7517 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7518 }
7519 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes,
7520 sizeof(VkExternalFenceHandleTypeFlags));
7521 }
7522
marshal_VkExportSemaphoreCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkExportSemaphoreCreateInfo * forMarshaling)7523 void marshal_VkExportSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7524 const VkExportSemaphoreCreateInfo* forMarshaling) {
7525 (void)rootType;
7526 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7527 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7528 rootType = forMarshaling->sType;
7529 }
7530 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7531 vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes,
7532 sizeof(VkExternalSemaphoreHandleTypeFlags));
7533 }
7534
unmarshal_VkExportSemaphoreCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkExportSemaphoreCreateInfo * forUnmarshaling)7535 void unmarshal_VkExportSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
7536 VkExportSemaphoreCreateInfo* forUnmarshaling) {
7537 (void)rootType;
7538 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7539 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7540 rootType = forUnmarshaling->sType;
7541 }
7542 size_t pNext_size;
7543 pNext_size = vkStream->getBe32();
7544 forUnmarshaling->pNext = nullptr;
7545 if (pNext_size) {
7546 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7547 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7548 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7549 vkStream->alloc((void**)&forUnmarshaling->pNext,
7550 goldfish_vk_extension_struct_size_with_stream_features(
7551 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7552 *(VkStructureType*)forUnmarshaling->pNext = extType;
7553 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7554 }
7555 vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes,
7556 sizeof(VkExternalSemaphoreHandleTypeFlags));
7557 }
7558
marshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * forMarshaling)7559 void marshal_VkPhysicalDeviceExternalSemaphoreInfo(
7560 VulkanStream* vkStream, VkStructureType rootType,
7561 const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling) {
7562 (void)rootType;
7563 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7564 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7565 rootType = forMarshaling->sType;
7566 }
7567 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7568 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
7569 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
7570 }
7571
unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalSemaphoreInfo * forUnmarshaling)7572 void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
7573 VulkanStream* vkStream, VkStructureType rootType,
7574 VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling) {
7575 (void)rootType;
7576 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7577 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7578 rootType = forUnmarshaling->sType;
7579 }
7580 size_t pNext_size;
7581 pNext_size = vkStream->getBe32();
7582 forUnmarshaling->pNext = nullptr;
7583 if (pNext_size) {
7584 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7585 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7586 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7587 vkStream->alloc((void**)&forUnmarshaling->pNext,
7588 goldfish_vk_extension_struct_size_with_stream_features(
7589 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7590 *(VkStructureType*)forUnmarshaling->pNext = extType;
7591 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7592 }
7593 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
7594 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
7595 }
7596
marshal_VkExternalSemaphoreProperties(VulkanStream * vkStream,VkStructureType rootType,const VkExternalSemaphoreProperties * forMarshaling)7597 void marshal_VkExternalSemaphoreProperties(VulkanStream* vkStream, VkStructureType rootType,
7598 const VkExternalSemaphoreProperties* forMarshaling) {
7599 (void)rootType;
7600 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7601 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7602 rootType = forMarshaling->sType;
7603 }
7604 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7605 vkStream->write(
7606 (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
7607 sizeof(VkExternalSemaphoreHandleTypeFlags));
7608 vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
7609 sizeof(VkExternalSemaphoreHandleTypeFlags));
7610 vkStream->write((VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures,
7611 sizeof(VkExternalSemaphoreFeatureFlags));
7612 }
7613
unmarshal_VkExternalSemaphoreProperties(VulkanStream * vkStream,VkStructureType rootType,VkExternalSemaphoreProperties * forUnmarshaling)7614 void unmarshal_VkExternalSemaphoreProperties(VulkanStream* vkStream, VkStructureType rootType,
7615 VkExternalSemaphoreProperties* forUnmarshaling) {
7616 (void)rootType;
7617 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7618 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7619 rootType = forUnmarshaling->sType;
7620 }
7621 size_t pNext_size;
7622 pNext_size = vkStream->getBe32();
7623 forUnmarshaling->pNext = nullptr;
7624 if (pNext_size) {
7625 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7626 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7627 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7628 vkStream->alloc((void**)&forUnmarshaling->pNext,
7629 goldfish_vk_extension_struct_size_with_stream_features(
7630 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7631 *(VkStructureType*)forUnmarshaling->pNext = extType;
7632 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7633 }
7634 vkStream->read(
7635 (VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
7636 sizeof(VkExternalSemaphoreHandleTypeFlags));
7637 vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
7638 sizeof(VkExternalSemaphoreHandleTypeFlags));
7639 vkStream->read((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures,
7640 sizeof(VkExternalSemaphoreFeatureFlags));
7641 }
7642
marshal_VkPhysicalDeviceMaintenance3Properties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * forMarshaling)7643 void marshal_VkPhysicalDeviceMaintenance3Properties(
7644 VulkanStream* vkStream, VkStructureType rootType,
7645 const VkPhysicalDeviceMaintenance3Properties* forMarshaling) {
7646 (void)rootType;
7647 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7648 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7649 rootType = forMarshaling->sType;
7650 }
7651 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7652 vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
7653 vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
7654 }
7655
unmarshal_VkPhysicalDeviceMaintenance3Properties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance3Properties * forUnmarshaling)7656 void unmarshal_VkPhysicalDeviceMaintenance3Properties(
7657 VulkanStream* vkStream, VkStructureType rootType,
7658 VkPhysicalDeviceMaintenance3Properties* forUnmarshaling) {
7659 (void)rootType;
7660 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7661 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7662 rootType = forUnmarshaling->sType;
7663 }
7664 size_t pNext_size;
7665 pNext_size = vkStream->getBe32();
7666 forUnmarshaling->pNext = nullptr;
7667 if (pNext_size) {
7668 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7669 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7670 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7671 vkStream->alloc((void**)&forUnmarshaling->pNext,
7672 goldfish_vk_extension_struct_size_with_stream_features(
7673 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7674 *(VkStructureType*)forUnmarshaling->pNext = extType;
7675 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7676 }
7677 vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
7678 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
7679 }
7680
marshal_VkDescriptorSetLayoutSupport(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutSupport * forMarshaling)7681 void marshal_VkDescriptorSetLayoutSupport(VulkanStream* vkStream, VkStructureType rootType,
7682 const VkDescriptorSetLayoutSupport* forMarshaling) {
7683 (void)rootType;
7684 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7685 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7686 rootType = forMarshaling->sType;
7687 }
7688 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7689 vkStream->write((VkBool32*)&forMarshaling->supported, sizeof(VkBool32));
7690 }
7691
unmarshal_VkDescriptorSetLayoutSupport(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetLayoutSupport * forUnmarshaling)7692 void unmarshal_VkDescriptorSetLayoutSupport(VulkanStream* vkStream, VkStructureType rootType,
7693 VkDescriptorSetLayoutSupport* forUnmarshaling) {
7694 (void)rootType;
7695 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7696 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7697 rootType = forUnmarshaling->sType;
7698 }
7699 size_t pNext_size;
7700 pNext_size = vkStream->getBe32();
7701 forUnmarshaling->pNext = nullptr;
7702 if (pNext_size) {
7703 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7704 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7705 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7706 vkStream->alloc((void**)&forUnmarshaling->pNext,
7707 goldfish_vk_extension_struct_size_with_stream_features(
7708 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7709 *(VkStructureType*)forUnmarshaling->pNext = extType;
7710 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7711 }
7712 vkStream->read((VkBool32*)&forUnmarshaling->supported, sizeof(VkBool32));
7713 }
7714
marshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * forMarshaling)7715 void marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
7716 VulkanStream* vkStream, VkStructureType rootType,
7717 const VkPhysicalDeviceShaderDrawParametersFeatures* forMarshaling) {
7718 (void)rootType;
7719 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7720 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7721 rootType = forMarshaling->sType;
7722 }
7723 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7724 vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
7725 }
7726
unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderDrawParametersFeatures * forUnmarshaling)7727 void unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
7728 VulkanStream* vkStream, VkStructureType rootType,
7729 VkPhysicalDeviceShaderDrawParametersFeatures* forUnmarshaling) {
7730 (void)rootType;
7731 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7732 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7733 rootType = forUnmarshaling->sType;
7734 }
7735 size_t pNext_size;
7736 pNext_size = vkStream->getBe32();
7737 forUnmarshaling->pNext = nullptr;
7738 if (pNext_size) {
7739 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7740 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7741 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7742 vkStream->alloc((void**)&forUnmarshaling->pNext,
7743 goldfish_vk_extension_struct_size_with_stream_features(
7744 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7745 *(VkStructureType*)forUnmarshaling->pNext = extType;
7746 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7747 }
7748 vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
7749 }
7750
7751 #endif
7752 #ifdef VK_VERSION_1_2
marshal_VkPhysicalDeviceVulkan11Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * forMarshaling)7753 void marshal_VkPhysicalDeviceVulkan11Features(
7754 VulkanStream* vkStream, VkStructureType rootType,
7755 const VkPhysicalDeviceVulkan11Features* forMarshaling) {
7756 (void)rootType;
7757 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7758 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7759 rootType = forMarshaling->sType;
7760 }
7761 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7762 vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
7763 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
7764 sizeof(VkBool32));
7765 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
7766 vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
7767 vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
7768 vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
7769 vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
7770 vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
7771 vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
7772 vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
7773 vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
7774 vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
7775 }
7776
unmarshal_VkPhysicalDeviceVulkan11Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan11Features * forUnmarshaling)7777 void unmarshal_VkPhysicalDeviceVulkan11Features(VulkanStream* vkStream, VkStructureType rootType,
7778 VkPhysicalDeviceVulkan11Features* forUnmarshaling) {
7779 (void)rootType;
7780 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7781 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7782 rootType = forUnmarshaling->sType;
7783 }
7784 size_t pNext_size;
7785 pNext_size = vkStream->getBe32();
7786 forUnmarshaling->pNext = nullptr;
7787 if (pNext_size) {
7788 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7789 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7790 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7791 vkStream->alloc((void**)&forUnmarshaling->pNext,
7792 goldfish_vk_extension_struct_size_with_stream_features(
7793 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7794 *(VkStructureType*)forUnmarshaling->pNext = extType;
7795 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7796 }
7797 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
7798 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
7799 sizeof(VkBool32));
7800 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
7801 vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
7802 vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
7803 vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
7804 vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
7805 vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
7806 vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
7807 vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
7808 vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
7809 vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
7810 }
7811
marshal_VkPhysicalDeviceVulkan11Properties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * forMarshaling)7812 void marshal_VkPhysicalDeviceVulkan11Properties(
7813 VulkanStream* vkStream, VkStructureType rootType,
7814 const VkPhysicalDeviceVulkan11Properties* forMarshaling) {
7815 (void)rootType;
7816 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7817 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7818 rootType = forMarshaling->sType;
7819 }
7820 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7821 vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
7822 vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
7823 vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
7824 vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
7825 vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
7826 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
7827 vkStream->write((VkShaderStageFlags*)&forMarshaling->subgroupSupportedStages,
7828 sizeof(VkShaderStageFlags));
7829 vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->subgroupSupportedOperations,
7830 sizeof(VkSubgroupFeatureFlags));
7831 vkStream->write((VkBool32*)&forMarshaling->subgroupQuadOperationsInAllStages, sizeof(VkBool32));
7832 vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
7833 sizeof(VkPointClippingBehavior));
7834 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
7835 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
7836 vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
7837 vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
7838 vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
7839 }
7840
unmarshal_VkPhysicalDeviceVulkan11Properties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan11Properties * forUnmarshaling)7841 void unmarshal_VkPhysicalDeviceVulkan11Properties(
7842 VulkanStream* vkStream, VkStructureType rootType,
7843 VkPhysicalDeviceVulkan11Properties* forUnmarshaling) {
7844 (void)rootType;
7845 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7846 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7847 rootType = forUnmarshaling->sType;
7848 }
7849 size_t pNext_size;
7850 pNext_size = vkStream->getBe32();
7851 forUnmarshaling->pNext = nullptr;
7852 if (pNext_size) {
7853 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7854 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7855 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7856 vkStream->alloc((void**)&forUnmarshaling->pNext,
7857 goldfish_vk_extension_struct_size_with_stream_features(
7858 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7859 *(VkStructureType*)forUnmarshaling->pNext = extType;
7860 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7861 }
7862 vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
7863 vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
7864 vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
7865 vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
7866 vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
7867 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
7868 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->subgroupSupportedStages,
7869 sizeof(VkShaderStageFlags));
7870 vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->subgroupSupportedOperations,
7871 sizeof(VkSubgroupFeatureFlags));
7872 vkStream->read((VkBool32*)&forUnmarshaling->subgroupQuadOperationsInAllStages,
7873 sizeof(VkBool32));
7874 vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
7875 sizeof(VkPointClippingBehavior));
7876 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
7877 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
7878 vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
7879 vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
7880 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
7881 }
7882
marshal_VkPhysicalDeviceVulkan12Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * forMarshaling)7883 void marshal_VkPhysicalDeviceVulkan12Features(
7884 VulkanStream* vkStream, VkStructureType rootType,
7885 const VkPhysicalDeviceVulkan12Features* forMarshaling) {
7886 (void)rootType;
7887 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7888 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7889 rootType = forMarshaling->sType;
7890 }
7891 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7892 vkStream->write((VkBool32*)&forMarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
7893 vkStream->write((VkBool32*)&forMarshaling->drawIndirectCount, sizeof(VkBool32));
7894 vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
7895 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
7896 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
7897 vkStream->write((VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
7898 vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
7899 vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
7900 vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
7901 vkStream->write((VkBool32*)&forMarshaling->descriptorIndexing, sizeof(VkBool32));
7902 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
7903 sizeof(VkBool32));
7904 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
7905 sizeof(VkBool32));
7906 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
7907 sizeof(VkBool32));
7908 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
7909 sizeof(VkBool32));
7910 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
7911 sizeof(VkBool32));
7912 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
7913 sizeof(VkBool32));
7914 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
7915 sizeof(VkBool32));
7916 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
7917 sizeof(VkBool32));
7918 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
7919 sizeof(VkBool32));
7920 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
7921 sizeof(VkBool32));
7922 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
7923 sizeof(VkBool32));
7924 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
7925 sizeof(VkBool32));
7926 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
7927 sizeof(VkBool32));
7928 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
7929 sizeof(VkBool32));
7930 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
7931 sizeof(VkBool32));
7932 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
7933 sizeof(VkBool32));
7934 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
7935 sizeof(VkBool32));
7936 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
7937 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
7938 sizeof(VkBool32));
7939 vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
7940 vkStream->write((VkBool32*)&forMarshaling->samplerFilterMinmax, sizeof(VkBool32));
7941 vkStream->write((VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
7942 vkStream->write((VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
7943 vkStream->write((VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
7944 vkStream->write((VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
7945 vkStream->write((VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
7946 vkStream->write((VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
7947 vkStream->write((VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
7948 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
7949 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
7950 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
7951 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
7952 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
7953 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
7954 sizeof(VkBool32));
7955 vkStream->write((VkBool32*)&forMarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
7956 vkStream->write((VkBool32*)&forMarshaling->shaderOutputLayer, sizeof(VkBool32));
7957 vkStream->write((VkBool32*)&forMarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
7958 }
7959
unmarshal_VkPhysicalDeviceVulkan12Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan12Features * forUnmarshaling)7960 void unmarshal_VkPhysicalDeviceVulkan12Features(VulkanStream* vkStream, VkStructureType rootType,
7961 VkPhysicalDeviceVulkan12Features* forUnmarshaling) {
7962 (void)rootType;
7963 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7964 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7965 rootType = forUnmarshaling->sType;
7966 }
7967 size_t pNext_size;
7968 pNext_size = vkStream->getBe32();
7969 forUnmarshaling->pNext = nullptr;
7970 if (pNext_size) {
7971 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
7972 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
7973 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
7974 vkStream->alloc((void**)&forUnmarshaling->pNext,
7975 goldfish_vk_extension_struct_size_with_stream_features(
7976 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
7977 *(VkStructureType*)forUnmarshaling->pNext = extType;
7978 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7979 }
7980 vkStream->read((VkBool32*)&forUnmarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
7981 vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectCount, sizeof(VkBool32));
7982 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
7983 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
7984 sizeof(VkBool32));
7985 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
7986 vkStream->read((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
7987 vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
7988 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
7989 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
7990 vkStream->read((VkBool32*)&forUnmarshaling->descriptorIndexing, sizeof(VkBool32));
7991 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing,
7992 sizeof(VkBool32));
7993 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
7994 sizeof(VkBool32));
7995 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
7996 sizeof(VkBool32));
7997 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
7998 sizeof(VkBool32));
7999 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
8000 sizeof(VkBool32));
8001 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
8002 sizeof(VkBool32));
8003 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
8004 sizeof(VkBool32));
8005 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
8006 sizeof(VkBool32));
8007 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
8008 sizeof(VkBool32));
8009 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
8010 sizeof(VkBool32));
8011 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
8012 sizeof(VkBool32));
8013 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
8014 sizeof(VkBool32));
8015 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
8016 sizeof(VkBool32));
8017 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
8018 sizeof(VkBool32));
8019 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
8020 sizeof(VkBool32));
8021 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
8022 sizeof(VkBool32));
8023 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
8024 sizeof(VkBool32));
8025 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
8026 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
8027 sizeof(VkBool32));
8028 vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
8029 vkStream->read((VkBool32*)&forUnmarshaling->samplerFilterMinmax, sizeof(VkBool32));
8030 vkStream->read((VkBool32*)&forUnmarshaling->scalarBlockLayout, sizeof(VkBool32));
8031 vkStream->read((VkBool32*)&forUnmarshaling->imagelessFramebuffer, sizeof(VkBool32));
8032 vkStream->read((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
8033 vkStream->read((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
8034 vkStream->read((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
8035 vkStream->read((VkBool32*)&forUnmarshaling->hostQueryReset, sizeof(VkBool32));
8036 vkStream->read((VkBool32*)&forUnmarshaling->timelineSemaphore, sizeof(VkBool32));
8037 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddress, sizeof(VkBool32));
8038 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
8039 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
8040 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModel, sizeof(VkBool32));
8041 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
8042 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
8043 sizeof(VkBool32));
8044 vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
8045 vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputLayer, sizeof(VkBool32));
8046 vkStream->read((VkBool32*)&forUnmarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
8047 }
8048
marshal_VkConformanceVersion(VulkanStream * vkStream,VkStructureType rootType,const VkConformanceVersion * forMarshaling)8049 void marshal_VkConformanceVersion(VulkanStream* vkStream, VkStructureType rootType,
8050 const VkConformanceVersion* forMarshaling) {
8051 (void)rootType;
8052 vkStream->write((uint8_t*)&forMarshaling->major, sizeof(uint8_t));
8053 vkStream->write((uint8_t*)&forMarshaling->minor, sizeof(uint8_t));
8054 vkStream->write((uint8_t*)&forMarshaling->subminor, sizeof(uint8_t));
8055 vkStream->write((uint8_t*)&forMarshaling->patch, sizeof(uint8_t));
8056 }
8057
unmarshal_VkConformanceVersion(VulkanStream * vkStream,VkStructureType rootType,VkConformanceVersion * forUnmarshaling)8058 void unmarshal_VkConformanceVersion(VulkanStream* vkStream, VkStructureType rootType,
8059 VkConformanceVersion* forUnmarshaling) {
8060 (void)rootType;
8061 vkStream->read((uint8_t*)&forUnmarshaling->major, sizeof(uint8_t));
8062 vkStream->read((uint8_t*)&forUnmarshaling->minor, sizeof(uint8_t));
8063 vkStream->read((uint8_t*)&forUnmarshaling->subminor, sizeof(uint8_t));
8064 vkStream->read((uint8_t*)&forUnmarshaling->patch, sizeof(uint8_t));
8065 }
8066
marshal_VkPhysicalDeviceVulkan12Properties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * forMarshaling)8067 void marshal_VkPhysicalDeviceVulkan12Properties(
8068 VulkanStream* vkStream, VkStructureType rootType,
8069 const VkPhysicalDeviceVulkan12Properties* forMarshaling) {
8070 (void)rootType;
8071 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8072 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8073 rootType = forMarshaling->sType;
8074 }
8075 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8076 vkStream->write((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
8077 vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
8078 vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
8079 marshal_VkConformanceVersion(vkStream, rootType,
8080 (VkConformanceVersion*)(&forMarshaling->conformanceVersion));
8081 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
8082 sizeof(VkShaderFloatControlsIndependence));
8083 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
8084 sizeof(VkShaderFloatControlsIndependence));
8085 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
8086 sizeof(VkBool32));
8087 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
8088 sizeof(VkBool32));
8089 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
8090 sizeof(VkBool32));
8091 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
8092 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
8093 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
8094 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
8095 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
8096 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
8097 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
8098 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
8099 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
8100 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
8101 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
8102 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
8103 vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
8104 sizeof(uint32_t));
8105 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
8106 sizeof(VkBool32));
8107 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
8108 sizeof(VkBool32));
8109 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
8110 sizeof(VkBool32));
8111 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
8112 sizeof(VkBool32));
8113 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
8114 sizeof(VkBool32));
8115 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
8116 vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
8117 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
8118 sizeof(uint32_t));
8119 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
8120 sizeof(uint32_t));
8121 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
8122 sizeof(uint32_t));
8123 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
8124 sizeof(uint32_t));
8125 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
8126 sizeof(uint32_t));
8127 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
8128 sizeof(uint32_t));
8129 vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
8130 sizeof(uint32_t));
8131 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
8132 sizeof(uint32_t));
8133 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
8134 sizeof(uint32_t));
8135 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
8136 sizeof(uint32_t));
8137 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
8138 sizeof(uint32_t));
8139 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
8140 sizeof(uint32_t));
8141 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
8142 sizeof(uint32_t));
8143 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
8144 sizeof(uint32_t));
8145 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
8146 sizeof(uint32_t));
8147 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
8148 sizeof(VkResolveModeFlags));
8149 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
8150 sizeof(VkResolveModeFlags));
8151 vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
8152 vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
8153 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats,
8154 sizeof(VkBool32));
8155 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
8156 vkStream->write((uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference,
8157 sizeof(uint64_t));
8158 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferIntegerColorSampleCounts,
8159 sizeof(VkSampleCountFlags));
8160 }
8161
unmarshal_VkPhysicalDeviceVulkan12Properties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan12Properties * forUnmarshaling)8162 void unmarshal_VkPhysicalDeviceVulkan12Properties(
8163 VulkanStream* vkStream, VkStructureType rootType,
8164 VkPhysicalDeviceVulkan12Properties* forUnmarshaling) {
8165 (void)rootType;
8166 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8167 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8168 rootType = forUnmarshaling->sType;
8169 }
8170 size_t pNext_size;
8171 pNext_size = vkStream->getBe32();
8172 forUnmarshaling->pNext = nullptr;
8173 if (pNext_size) {
8174 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8175 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8176 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8177 vkStream->alloc((void**)&forUnmarshaling->pNext,
8178 goldfish_vk_extension_struct_size_with_stream_features(
8179 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8180 *(VkStructureType*)forUnmarshaling->pNext = extType;
8181 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8182 }
8183 vkStream->read((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
8184 vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
8185 vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
8186 unmarshal_VkConformanceVersion(vkStream, rootType,
8187 (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
8188 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
8189 sizeof(VkShaderFloatControlsIndependence));
8190 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
8191 sizeof(VkShaderFloatControlsIndependence));
8192 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
8193 sizeof(VkBool32));
8194 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
8195 sizeof(VkBool32));
8196 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
8197 sizeof(VkBool32));
8198 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
8199 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
8200 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
8201 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
8202 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
8203 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
8204 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
8205 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
8206 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
8207 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
8208 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
8209 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
8210 vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools,
8211 sizeof(uint32_t));
8212 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
8213 sizeof(VkBool32));
8214 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
8215 sizeof(VkBool32));
8216 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
8217 sizeof(VkBool32));
8218 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
8219 sizeof(VkBool32));
8220 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
8221 sizeof(VkBool32));
8222 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
8223 sizeof(VkBool32));
8224 vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
8225 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
8226 sizeof(uint32_t));
8227 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
8228 sizeof(uint32_t));
8229 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
8230 sizeof(uint32_t));
8231 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
8232 sizeof(uint32_t));
8233 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
8234 sizeof(uint32_t));
8235 vkStream->read(
8236 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
8237 sizeof(uint32_t));
8238 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
8239 sizeof(uint32_t));
8240 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
8241 sizeof(uint32_t));
8242 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
8243 sizeof(uint32_t));
8244 vkStream->read(
8245 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
8246 sizeof(uint32_t));
8247 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
8248 sizeof(uint32_t));
8249 vkStream->read(
8250 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
8251 sizeof(uint32_t));
8252 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
8253 sizeof(uint32_t));
8254 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
8255 sizeof(uint32_t));
8256 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
8257 sizeof(uint32_t));
8258 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
8259 sizeof(VkResolveModeFlags));
8260 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
8261 sizeof(VkResolveModeFlags));
8262 vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
8263 vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
8264 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats,
8265 sizeof(VkBool32));
8266 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
8267 sizeof(VkBool32));
8268 vkStream->read((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference,
8269 sizeof(uint64_t));
8270 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferIntegerColorSampleCounts,
8271 sizeof(VkSampleCountFlags));
8272 }
8273
marshal_VkImageFormatListCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImageFormatListCreateInfo * forMarshaling)8274 void marshal_VkImageFormatListCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
8275 const VkImageFormatListCreateInfo* forMarshaling) {
8276 (void)rootType;
8277 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8278 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8279 rootType = forMarshaling->sType;
8280 }
8281 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8282 vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
8283 vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
8284 forMarshaling->viewFormatCount * sizeof(const VkFormat));
8285 }
8286
unmarshal_VkImageFormatListCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkImageFormatListCreateInfo * forUnmarshaling)8287 void unmarshal_VkImageFormatListCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
8288 VkImageFormatListCreateInfo* forUnmarshaling) {
8289 (void)rootType;
8290 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8291 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8292 rootType = forUnmarshaling->sType;
8293 }
8294 size_t pNext_size;
8295 pNext_size = vkStream->getBe32();
8296 forUnmarshaling->pNext = nullptr;
8297 if (pNext_size) {
8298 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8299 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8300 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8301 vkStream->alloc((void**)&forUnmarshaling->pNext,
8302 goldfish_vk_extension_struct_size_with_stream_features(
8303 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8304 *(VkStructureType*)forUnmarshaling->pNext = extType;
8305 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8306 }
8307 vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
8308 vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
8309 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
8310 vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
8311 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
8312 }
8313
marshal_VkAttachmentDescription2(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentDescription2 * forMarshaling)8314 void marshal_VkAttachmentDescription2(VulkanStream* vkStream, VkStructureType rootType,
8315 const VkAttachmentDescription2* forMarshaling) {
8316 (void)rootType;
8317 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8318 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8319 rootType = forMarshaling->sType;
8320 }
8321 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8322 vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
8323 sizeof(VkAttachmentDescriptionFlags));
8324 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
8325 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
8326 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
8327 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
8328 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
8329 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
8330 sizeof(VkAttachmentStoreOp));
8331 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
8332 vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
8333 }
8334
unmarshal_VkAttachmentDescription2(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentDescription2 * forUnmarshaling)8335 void unmarshal_VkAttachmentDescription2(VulkanStream* vkStream, VkStructureType rootType,
8336 VkAttachmentDescription2* forUnmarshaling) {
8337 (void)rootType;
8338 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8339 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8340 rootType = forUnmarshaling->sType;
8341 }
8342 size_t pNext_size;
8343 pNext_size = vkStream->getBe32();
8344 forUnmarshaling->pNext = nullptr;
8345 if (pNext_size) {
8346 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8347 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8348 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8349 vkStream->alloc((void**)&forUnmarshaling->pNext,
8350 goldfish_vk_extension_struct_size_with_stream_features(
8351 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8352 *(VkStructureType*)forUnmarshaling->pNext = extType;
8353 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8354 }
8355 vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
8356 sizeof(VkAttachmentDescriptionFlags));
8357 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
8358 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
8359 sizeof(VkSampleCountFlagBits));
8360 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
8361 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
8362 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
8363 sizeof(VkAttachmentLoadOp));
8364 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
8365 sizeof(VkAttachmentStoreOp));
8366 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
8367 vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
8368 }
8369
marshal_VkAttachmentReference2(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentReference2 * forMarshaling)8370 void marshal_VkAttachmentReference2(VulkanStream* vkStream, VkStructureType rootType,
8371 const VkAttachmentReference2* forMarshaling) {
8372 (void)rootType;
8373 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8374 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8375 rootType = forMarshaling->sType;
8376 }
8377 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8378 vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
8379 vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
8380 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
8381 }
8382
unmarshal_VkAttachmentReference2(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentReference2 * forUnmarshaling)8383 void unmarshal_VkAttachmentReference2(VulkanStream* vkStream, VkStructureType rootType,
8384 VkAttachmentReference2* forUnmarshaling) {
8385 (void)rootType;
8386 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8387 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8388 rootType = forUnmarshaling->sType;
8389 }
8390 size_t pNext_size;
8391 pNext_size = vkStream->getBe32();
8392 forUnmarshaling->pNext = nullptr;
8393 if (pNext_size) {
8394 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8395 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8396 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8397 vkStream->alloc((void**)&forUnmarshaling->pNext,
8398 goldfish_vk_extension_struct_size_with_stream_features(
8399 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8400 *(VkStructureType*)forUnmarshaling->pNext = extType;
8401 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8402 }
8403 vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
8404 vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
8405 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
8406 }
8407
marshal_VkSubpassDescription2(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassDescription2 * forMarshaling)8408 void marshal_VkSubpassDescription2(VulkanStream* vkStream, VkStructureType rootType,
8409 const VkSubpassDescription2* forMarshaling) {
8410 (void)rootType;
8411 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8412 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8413 rootType = forMarshaling->sType;
8414 }
8415 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8416 vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags,
8417 sizeof(VkSubpassDescriptionFlags));
8418 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
8419 sizeof(VkPipelineBindPoint));
8420 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
8421 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
8422 if (forMarshaling) {
8423 for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
8424 marshal_VkAttachmentReference2(
8425 vkStream, rootType,
8426 (const VkAttachmentReference2*)(forMarshaling->pInputAttachments + i));
8427 }
8428 }
8429 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
8430 if (forMarshaling) {
8431 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
8432 marshal_VkAttachmentReference2(
8433 vkStream, rootType,
8434 (const VkAttachmentReference2*)(forMarshaling->pColorAttachments + i));
8435 }
8436 }
8437 // WARNING PTR CHECK
8438 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
8439 vkStream->putBe64(cgen_var_0);
8440 if (forMarshaling->pResolveAttachments) {
8441 if (forMarshaling) {
8442 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
8443 marshal_VkAttachmentReference2(
8444 vkStream, rootType,
8445 (const VkAttachmentReference2*)(forMarshaling->pResolveAttachments + i));
8446 }
8447 }
8448 }
8449 // WARNING PTR CHECK
8450 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
8451 vkStream->putBe64(cgen_var_1);
8452 if (forMarshaling->pDepthStencilAttachment) {
8453 marshal_VkAttachmentReference2(
8454 vkStream, rootType,
8455 (const VkAttachmentReference2*)(forMarshaling->pDepthStencilAttachment));
8456 }
8457 vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
8458 vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
8459 forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
8460 }
8461
unmarshal_VkSubpassDescription2(VulkanStream * vkStream,VkStructureType rootType,VkSubpassDescription2 * forUnmarshaling)8462 void unmarshal_VkSubpassDescription2(VulkanStream* vkStream, VkStructureType rootType,
8463 VkSubpassDescription2* forUnmarshaling) {
8464 (void)rootType;
8465 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8466 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8467 rootType = forUnmarshaling->sType;
8468 }
8469 size_t pNext_size;
8470 pNext_size = vkStream->getBe32();
8471 forUnmarshaling->pNext = nullptr;
8472 if (pNext_size) {
8473 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8474 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8475 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8476 vkStream->alloc((void**)&forUnmarshaling->pNext,
8477 goldfish_vk_extension_struct_size_with_stream_features(
8478 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8479 *(VkStructureType*)forUnmarshaling->pNext = extType;
8480 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8481 }
8482 vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
8483 sizeof(VkSubpassDescriptionFlags));
8484 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
8485 sizeof(VkPipelineBindPoint));
8486 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
8487 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
8488 vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
8489 forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference2));
8490 if (forUnmarshaling) {
8491 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
8492 unmarshal_VkAttachmentReference2(
8493 vkStream, rootType,
8494 (VkAttachmentReference2*)(forUnmarshaling->pInputAttachments + i));
8495 }
8496 }
8497 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
8498 vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
8499 forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
8500 if (forUnmarshaling) {
8501 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
8502 unmarshal_VkAttachmentReference2(
8503 vkStream, rootType,
8504 (VkAttachmentReference2*)(forUnmarshaling->pColorAttachments + i));
8505 }
8506 }
8507 // WARNING PTR CHECK
8508 forUnmarshaling->pResolveAttachments =
8509 (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
8510 if (forUnmarshaling->pResolveAttachments) {
8511 vkStream->alloc(
8512 (void**)&forUnmarshaling->pResolveAttachments,
8513 forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
8514 if (forUnmarshaling) {
8515 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
8516 unmarshal_VkAttachmentReference2(
8517 vkStream, rootType,
8518 (VkAttachmentReference2*)(forUnmarshaling->pResolveAttachments + i));
8519 }
8520 }
8521 }
8522 // WARNING PTR CHECK
8523 forUnmarshaling->pDepthStencilAttachment =
8524 (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
8525 if (forUnmarshaling->pDepthStencilAttachment) {
8526 vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
8527 sizeof(const VkAttachmentReference2));
8528 unmarshal_VkAttachmentReference2(
8529 vkStream, rootType,
8530 (VkAttachmentReference2*)(forUnmarshaling->pDepthStencilAttachment));
8531 }
8532 vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
8533 vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
8534 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
8535 vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
8536 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
8537 }
8538
marshal_VkSubpassDependency2(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassDependency2 * forMarshaling)8539 void marshal_VkSubpassDependency2(VulkanStream* vkStream, VkStructureType rootType,
8540 const VkSubpassDependency2* forMarshaling) {
8541 (void)rootType;
8542 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8543 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8544 rootType = forMarshaling->sType;
8545 }
8546 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8547 vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
8548 vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
8549 vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
8550 sizeof(VkPipelineStageFlags));
8551 vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
8552 sizeof(VkPipelineStageFlags));
8553 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
8554 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
8555 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
8556 vkStream->write((int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
8557 }
8558
unmarshal_VkSubpassDependency2(VulkanStream * vkStream,VkStructureType rootType,VkSubpassDependency2 * forUnmarshaling)8559 void unmarshal_VkSubpassDependency2(VulkanStream* vkStream, VkStructureType rootType,
8560 VkSubpassDependency2* forUnmarshaling) {
8561 (void)rootType;
8562 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8563 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8564 rootType = forUnmarshaling->sType;
8565 }
8566 size_t pNext_size;
8567 pNext_size = vkStream->getBe32();
8568 forUnmarshaling->pNext = nullptr;
8569 if (pNext_size) {
8570 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8571 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8572 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8573 vkStream->alloc((void**)&forUnmarshaling->pNext,
8574 goldfish_vk_extension_struct_size_with_stream_features(
8575 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8576 *(VkStructureType*)forUnmarshaling->pNext = extType;
8577 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8578 }
8579 vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
8580 vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
8581 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
8582 sizeof(VkPipelineStageFlags));
8583 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
8584 sizeof(VkPipelineStageFlags));
8585 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
8586 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
8587 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
8588 sizeof(VkDependencyFlags));
8589 vkStream->read((int32_t*)&forUnmarshaling->viewOffset, sizeof(int32_t));
8590 }
8591
marshal_VkRenderPassCreateInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo2 * forMarshaling)8592 void marshal_VkRenderPassCreateInfo2(VulkanStream* vkStream, VkStructureType rootType,
8593 const VkRenderPassCreateInfo2* forMarshaling) {
8594 (void)rootType;
8595 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8596 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8597 rootType = forMarshaling->sType;
8598 }
8599 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8600 vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags,
8601 sizeof(VkRenderPassCreateFlags));
8602 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
8603 if (forMarshaling) {
8604 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
8605 marshal_VkAttachmentDescription2(
8606 vkStream, rootType,
8607 (const VkAttachmentDescription2*)(forMarshaling->pAttachments + i));
8608 }
8609 }
8610 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
8611 if (forMarshaling) {
8612 for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
8613 marshal_VkSubpassDescription2(
8614 vkStream, rootType, (const VkSubpassDescription2*)(forMarshaling->pSubpasses + i));
8615 }
8616 }
8617 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
8618 if (forMarshaling) {
8619 for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
8620 marshal_VkSubpassDependency2(
8621 vkStream, rootType,
8622 (const VkSubpassDependency2*)(forMarshaling->pDependencies + i));
8623 }
8624 }
8625 vkStream->write((uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
8626 vkStream->write((const uint32_t*)forMarshaling->pCorrelatedViewMasks,
8627 forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
8628 }
8629
unmarshal_VkRenderPassCreateInfo2(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassCreateInfo2 * forUnmarshaling)8630 void unmarshal_VkRenderPassCreateInfo2(VulkanStream* vkStream, VkStructureType rootType,
8631 VkRenderPassCreateInfo2* forUnmarshaling) {
8632 (void)rootType;
8633 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8634 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8635 rootType = forUnmarshaling->sType;
8636 }
8637 size_t pNext_size;
8638 pNext_size = vkStream->getBe32();
8639 forUnmarshaling->pNext = nullptr;
8640 if (pNext_size) {
8641 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8642 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8643 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8644 vkStream->alloc((void**)&forUnmarshaling->pNext,
8645 goldfish_vk_extension_struct_size_with_stream_features(
8646 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8647 *(VkStructureType*)forUnmarshaling->pNext = extType;
8648 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8649 }
8650 vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
8651 sizeof(VkRenderPassCreateFlags));
8652 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
8653 vkStream->alloc((void**)&forUnmarshaling->pAttachments,
8654 forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription2));
8655 if (forUnmarshaling) {
8656 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
8657 unmarshal_VkAttachmentDescription2(
8658 vkStream, rootType, (VkAttachmentDescription2*)(forUnmarshaling->pAttachments + i));
8659 }
8660 }
8661 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
8662 vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
8663 forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription2));
8664 if (forUnmarshaling) {
8665 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
8666 unmarshal_VkSubpassDescription2(
8667 vkStream, rootType, (VkSubpassDescription2*)(forUnmarshaling->pSubpasses + i));
8668 }
8669 }
8670 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
8671 vkStream->alloc((void**)&forUnmarshaling->pDependencies,
8672 forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency2));
8673 if (forUnmarshaling) {
8674 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
8675 unmarshal_VkSubpassDependency2(
8676 vkStream, rootType, (VkSubpassDependency2*)(forUnmarshaling->pDependencies + i));
8677 }
8678 }
8679 vkStream->read((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, sizeof(uint32_t));
8680 vkStream->alloc((void**)&forUnmarshaling->pCorrelatedViewMasks,
8681 forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
8682 vkStream->read((uint32_t*)forUnmarshaling->pCorrelatedViewMasks,
8683 forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
8684 }
8685
marshal_VkSubpassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassBeginInfo * forMarshaling)8686 void marshal_VkSubpassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
8687 const VkSubpassBeginInfo* forMarshaling) {
8688 (void)rootType;
8689 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8690 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8691 rootType = forMarshaling->sType;
8692 }
8693 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8694 vkStream->write((VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
8695 }
8696
unmarshal_VkSubpassBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkSubpassBeginInfo * forUnmarshaling)8697 void unmarshal_VkSubpassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
8698 VkSubpassBeginInfo* forUnmarshaling) {
8699 (void)rootType;
8700 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8701 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8702 rootType = forUnmarshaling->sType;
8703 }
8704 size_t pNext_size;
8705 pNext_size = vkStream->getBe32();
8706 forUnmarshaling->pNext = nullptr;
8707 if (pNext_size) {
8708 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8709 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8710 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8711 vkStream->alloc((void**)&forUnmarshaling->pNext,
8712 goldfish_vk_extension_struct_size_with_stream_features(
8713 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8714 *(VkStructureType*)forUnmarshaling->pNext = extType;
8715 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8716 }
8717 vkStream->read((VkSubpassContents*)&forUnmarshaling->contents, sizeof(VkSubpassContents));
8718 }
8719
marshal_VkSubpassEndInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassEndInfo * forMarshaling)8720 void marshal_VkSubpassEndInfo(VulkanStream* vkStream, VkStructureType rootType,
8721 const VkSubpassEndInfo* forMarshaling) {
8722 (void)rootType;
8723 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8724 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8725 rootType = forMarshaling->sType;
8726 }
8727 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8728 }
8729
unmarshal_VkSubpassEndInfo(VulkanStream * vkStream,VkStructureType rootType,VkSubpassEndInfo * forUnmarshaling)8730 void unmarshal_VkSubpassEndInfo(VulkanStream* vkStream, VkStructureType rootType,
8731 VkSubpassEndInfo* forUnmarshaling) {
8732 (void)rootType;
8733 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8734 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8735 rootType = forUnmarshaling->sType;
8736 }
8737 size_t pNext_size;
8738 pNext_size = vkStream->getBe32();
8739 forUnmarshaling->pNext = nullptr;
8740 if (pNext_size) {
8741 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8742 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8743 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8744 vkStream->alloc((void**)&forUnmarshaling->pNext,
8745 goldfish_vk_extension_struct_size_with_stream_features(
8746 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8747 *(VkStructureType*)forUnmarshaling->pNext = extType;
8748 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8749 }
8750 }
8751
marshal_VkPhysicalDevice8BitStorageFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * forMarshaling)8752 void marshal_VkPhysicalDevice8BitStorageFeatures(
8753 VulkanStream* vkStream, VkStructureType rootType,
8754 const VkPhysicalDevice8BitStorageFeatures* forMarshaling) {
8755 (void)rootType;
8756 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8757 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8758 rootType = forMarshaling->sType;
8759 }
8760 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8761 vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
8762 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
8763 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
8764 }
8765
unmarshal_VkPhysicalDevice8BitStorageFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevice8BitStorageFeatures * forUnmarshaling)8766 void unmarshal_VkPhysicalDevice8BitStorageFeatures(
8767 VulkanStream* vkStream, VkStructureType rootType,
8768 VkPhysicalDevice8BitStorageFeatures* forUnmarshaling) {
8769 (void)rootType;
8770 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8771 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8772 rootType = forUnmarshaling->sType;
8773 }
8774 size_t pNext_size;
8775 pNext_size = vkStream->getBe32();
8776 forUnmarshaling->pNext = nullptr;
8777 if (pNext_size) {
8778 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8779 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8780 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8781 vkStream->alloc((void**)&forUnmarshaling->pNext,
8782 goldfish_vk_extension_struct_size_with_stream_features(
8783 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8784 *(VkStructureType*)forUnmarshaling->pNext = extType;
8785 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8786 }
8787 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
8788 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
8789 sizeof(VkBool32));
8790 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
8791 }
8792
marshal_VkPhysicalDeviceDriverProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * forMarshaling)8793 void marshal_VkPhysicalDeviceDriverProperties(
8794 VulkanStream* vkStream, VkStructureType rootType,
8795 const VkPhysicalDeviceDriverProperties* forMarshaling) {
8796 (void)rootType;
8797 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8798 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8799 rootType = forMarshaling->sType;
8800 }
8801 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8802 vkStream->write((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
8803 vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
8804 vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
8805 marshal_VkConformanceVersion(vkStream, rootType,
8806 (VkConformanceVersion*)(&forMarshaling->conformanceVersion));
8807 }
8808
unmarshal_VkPhysicalDeviceDriverProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDriverProperties * forUnmarshaling)8809 void unmarshal_VkPhysicalDeviceDriverProperties(VulkanStream* vkStream, VkStructureType rootType,
8810 VkPhysicalDeviceDriverProperties* forUnmarshaling) {
8811 (void)rootType;
8812 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8813 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8814 rootType = forUnmarshaling->sType;
8815 }
8816 size_t pNext_size;
8817 pNext_size = vkStream->getBe32();
8818 forUnmarshaling->pNext = nullptr;
8819 if (pNext_size) {
8820 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8821 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8822 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8823 vkStream->alloc((void**)&forUnmarshaling->pNext,
8824 goldfish_vk_extension_struct_size_with_stream_features(
8825 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8826 *(VkStructureType*)forUnmarshaling->pNext = extType;
8827 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8828 }
8829 vkStream->read((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
8830 vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
8831 vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
8832 unmarshal_VkConformanceVersion(vkStream, rootType,
8833 (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
8834 }
8835
marshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * forMarshaling)8836 void marshal_VkPhysicalDeviceShaderAtomicInt64Features(
8837 VulkanStream* vkStream, VkStructureType rootType,
8838 const VkPhysicalDeviceShaderAtomicInt64Features* forMarshaling) {
8839 (void)rootType;
8840 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8841 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8842 rootType = forMarshaling->sType;
8843 }
8844 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8845 vkStream->write((VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
8846 vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
8847 }
8848
unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderAtomicInt64Features * forUnmarshaling)8849 void unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
8850 VulkanStream* vkStream, VkStructureType rootType,
8851 VkPhysicalDeviceShaderAtomicInt64Features* forUnmarshaling) {
8852 (void)rootType;
8853 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8854 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8855 rootType = forUnmarshaling->sType;
8856 }
8857 size_t pNext_size;
8858 pNext_size = vkStream->getBe32();
8859 forUnmarshaling->pNext = nullptr;
8860 if (pNext_size) {
8861 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8862 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8863 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8864 vkStream->alloc((void**)&forUnmarshaling->pNext,
8865 goldfish_vk_extension_struct_size_with_stream_features(
8866 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8867 *(VkStructureType*)forUnmarshaling->pNext = extType;
8868 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8869 }
8870 vkStream->read((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
8871 vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
8872 }
8873
marshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * forMarshaling)8874 void marshal_VkPhysicalDeviceShaderFloat16Int8Features(
8875 VulkanStream* vkStream, VkStructureType rootType,
8876 const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling) {
8877 (void)rootType;
8878 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8879 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8880 rootType = forMarshaling->sType;
8881 }
8882 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8883 vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
8884 vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
8885 }
8886
unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderFloat16Int8Features * forUnmarshaling)8887 void unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
8888 VulkanStream* vkStream, VkStructureType rootType,
8889 VkPhysicalDeviceShaderFloat16Int8Features* forUnmarshaling) {
8890 (void)rootType;
8891 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8893 rootType = forUnmarshaling->sType;
8894 }
8895 size_t pNext_size;
8896 pNext_size = vkStream->getBe32();
8897 forUnmarshaling->pNext = nullptr;
8898 if (pNext_size) {
8899 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8900 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8901 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8902 vkStream->alloc((void**)&forUnmarshaling->pNext,
8903 goldfish_vk_extension_struct_size_with_stream_features(
8904 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8905 *(VkStructureType*)forUnmarshaling->pNext = extType;
8906 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8907 }
8908 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
8909 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
8910 }
8911
marshal_VkPhysicalDeviceFloatControlsProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * forMarshaling)8912 void marshal_VkPhysicalDeviceFloatControlsProperties(
8913 VulkanStream* vkStream, VkStructureType rootType,
8914 const VkPhysicalDeviceFloatControlsProperties* forMarshaling) {
8915 (void)rootType;
8916 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8917 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8918 rootType = forMarshaling->sType;
8919 }
8920 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8921 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
8922 sizeof(VkShaderFloatControlsIndependence));
8923 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
8924 sizeof(VkShaderFloatControlsIndependence));
8925 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
8926 sizeof(VkBool32));
8927 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
8928 sizeof(VkBool32));
8929 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
8930 sizeof(VkBool32));
8931 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
8932 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
8933 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
8934 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
8935 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
8936 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
8937 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
8938 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
8939 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
8940 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
8941 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
8942 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
8943 }
8944
unmarshal_VkPhysicalDeviceFloatControlsProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceFloatControlsProperties * forUnmarshaling)8945 void unmarshal_VkPhysicalDeviceFloatControlsProperties(
8946 VulkanStream* vkStream, VkStructureType rootType,
8947 VkPhysicalDeviceFloatControlsProperties* forUnmarshaling) {
8948 (void)rootType;
8949 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8950 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8951 rootType = forUnmarshaling->sType;
8952 }
8953 size_t pNext_size;
8954 pNext_size = vkStream->getBe32();
8955 forUnmarshaling->pNext = nullptr;
8956 if (pNext_size) {
8957 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
8958 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
8959 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
8960 vkStream->alloc((void**)&forUnmarshaling->pNext,
8961 goldfish_vk_extension_struct_size_with_stream_features(
8962 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
8963 *(VkStructureType*)forUnmarshaling->pNext = extType;
8964 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8965 }
8966 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
8967 sizeof(VkShaderFloatControlsIndependence));
8968 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
8969 sizeof(VkShaderFloatControlsIndependence));
8970 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
8971 sizeof(VkBool32));
8972 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
8973 sizeof(VkBool32));
8974 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
8975 sizeof(VkBool32));
8976 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
8977 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
8978 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
8979 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
8980 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
8981 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
8982 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
8983 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
8984 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
8985 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
8986 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
8987 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
8988 }
8989
marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * forMarshaling)8990 void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
8991 VulkanStream* vkStream, VkStructureType rootType,
8992 const VkDescriptorSetLayoutBindingFlagsCreateInfo* forMarshaling) {
8993 (void)rootType;
8994 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8995 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8996 rootType = forMarshaling->sType;
8997 }
8998 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8999 vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
9000 // WARNING PTR CHECK
9001 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pBindingFlags;
9002 vkStream->putBe64(cgen_var_0);
9003 if (forMarshaling->pBindingFlags) {
9004 vkStream->write((const VkDescriptorBindingFlags*)forMarshaling->pBindingFlags,
9005 forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
9006 }
9007 }
9008
unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetLayoutBindingFlagsCreateInfo * forUnmarshaling)9009 void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
9010 VulkanStream* vkStream, VkStructureType rootType,
9011 VkDescriptorSetLayoutBindingFlagsCreateInfo* forUnmarshaling) {
9012 (void)rootType;
9013 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9014 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9015 rootType = forUnmarshaling->sType;
9016 }
9017 size_t pNext_size;
9018 pNext_size = vkStream->getBe32();
9019 forUnmarshaling->pNext = nullptr;
9020 if (pNext_size) {
9021 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9022 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9023 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9024 vkStream->alloc((void**)&forUnmarshaling->pNext,
9025 goldfish_vk_extension_struct_size_with_stream_features(
9026 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9027 *(VkStructureType*)forUnmarshaling->pNext = extType;
9028 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9029 }
9030 vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
9031 // WARNING PTR CHECK
9032 forUnmarshaling->pBindingFlags =
9033 (const VkDescriptorBindingFlags*)(uintptr_t)vkStream->getBe64();
9034 if (forUnmarshaling->pBindingFlags) {
9035 vkStream->alloc((void**)&forUnmarshaling->pBindingFlags,
9036 forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
9037 vkStream->read((VkDescriptorBindingFlags*)forUnmarshaling->pBindingFlags,
9038 forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
9039 }
9040 }
9041
marshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * forMarshaling)9042 void marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
9043 VulkanStream* vkStream, VkStructureType rootType,
9044 const VkPhysicalDeviceDescriptorIndexingFeatures* forMarshaling) {
9045 (void)rootType;
9046 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9047 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9048 rootType = forMarshaling->sType;
9049 }
9050 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9051 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
9052 sizeof(VkBool32));
9053 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
9054 sizeof(VkBool32));
9055 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
9056 sizeof(VkBool32));
9057 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
9058 sizeof(VkBool32));
9059 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
9060 sizeof(VkBool32));
9061 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
9062 sizeof(VkBool32));
9063 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
9064 sizeof(VkBool32));
9065 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
9066 sizeof(VkBool32));
9067 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
9068 sizeof(VkBool32));
9069 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
9070 sizeof(VkBool32));
9071 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
9072 sizeof(VkBool32));
9073 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
9074 sizeof(VkBool32));
9075 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
9076 sizeof(VkBool32));
9077 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
9078 sizeof(VkBool32));
9079 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
9080 sizeof(VkBool32));
9081 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
9082 sizeof(VkBool32));
9083 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
9084 sizeof(VkBool32));
9085 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
9086 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
9087 sizeof(VkBool32));
9088 vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
9089 }
9090
unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDescriptorIndexingFeatures * forUnmarshaling)9091 void unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
9092 VulkanStream* vkStream, VkStructureType rootType,
9093 VkPhysicalDeviceDescriptorIndexingFeatures* forUnmarshaling) {
9094 (void)rootType;
9095 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9096 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9097 rootType = forUnmarshaling->sType;
9098 }
9099 size_t pNext_size;
9100 pNext_size = vkStream->getBe32();
9101 forUnmarshaling->pNext = nullptr;
9102 if (pNext_size) {
9103 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9104 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9105 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9106 vkStream->alloc((void**)&forUnmarshaling->pNext,
9107 goldfish_vk_extension_struct_size_with_stream_features(
9108 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9109 *(VkStructureType*)forUnmarshaling->pNext = extType;
9110 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9111 }
9112 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing,
9113 sizeof(VkBool32));
9114 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
9115 sizeof(VkBool32));
9116 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
9117 sizeof(VkBool32));
9118 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
9119 sizeof(VkBool32));
9120 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
9121 sizeof(VkBool32));
9122 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
9123 sizeof(VkBool32));
9124 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
9125 sizeof(VkBool32));
9126 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
9127 sizeof(VkBool32));
9128 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
9129 sizeof(VkBool32));
9130 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
9131 sizeof(VkBool32));
9132 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
9133 sizeof(VkBool32));
9134 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
9135 sizeof(VkBool32));
9136 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
9137 sizeof(VkBool32));
9138 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
9139 sizeof(VkBool32));
9140 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
9141 sizeof(VkBool32));
9142 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
9143 sizeof(VkBool32));
9144 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
9145 sizeof(VkBool32));
9146 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
9147 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
9148 sizeof(VkBool32));
9149 vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
9150 }
9151
marshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * forMarshaling)9152 void marshal_VkPhysicalDeviceDescriptorIndexingProperties(
9153 VulkanStream* vkStream, VkStructureType rootType,
9154 const VkPhysicalDeviceDescriptorIndexingProperties* forMarshaling) {
9155 (void)rootType;
9156 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9157 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9158 rootType = forMarshaling->sType;
9159 }
9160 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9161 vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
9162 sizeof(uint32_t));
9163 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
9164 sizeof(VkBool32));
9165 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
9166 sizeof(VkBool32));
9167 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
9168 sizeof(VkBool32));
9169 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
9170 sizeof(VkBool32));
9171 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
9172 sizeof(VkBool32));
9173 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
9174 vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
9175 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
9176 sizeof(uint32_t));
9177 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
9178 sizeof(uint32_t));
9179 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
9180 sizeof(uint32_t));
9181 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
9182 sizeof(uint32_t));
9183 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
9184 sizeof(uint32_t));
9185 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
9186 sizeof(uint32_t));
9187 vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
9188 sizeof(uint32_t));
9189 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
9190 sizeof(uint32_t));
9191 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
9192 sizeof(uint32_t));
9193 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
9194 sizeof(uint32_t));
9195 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
9196 sizeof(uint32_t));
9197 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
9198 sizeof(uint32_t));
9199 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
9200 sizeof(uint32_t));
9201 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
9202 sizeof(uint32_t));
9203 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
9204 sizeof(uint32_t));
9205 }
9206
unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDescriptorIndexingProperties * forUnmarshaling)9207 void unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
9208 VulkanStream* vkStream, VkStructureType rootType,
9209 VkPhysicalDeviceDescriptorIndexingProperties* forUnmarshaling) {
9210 (void)rootType;
9211 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9212 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9213 rootType = forUnmarshaling->sType;
9214 }
9215 size_t pNext_size;
9216 pNext_size = vkStream->getBe32();
9217 forUnmarshaling->pNext = nullptr;
9218 if (pNext_size) {
9219 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9220 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9221 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9222 vkStream->alloc((void**)&forUnmarshaling->pNext,
9223 goldfish_vk_extension_struct_size_with_stream_features(
9224 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9225 *(VkStructureType*)forUnmarshaling->pNext = extType;
9226 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9227 }
9228 vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools,
9229 sizeof(uint32_t));
9230 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
9231 sizeof(VkBool32));
9232 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
9233 sizeof(VkBool32));
9234 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
9235 sizeof(VkBool32));
9236 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
9237 sizeof(VkBool32));
9238 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
9239 sizeof(VkBool32));
9240 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
9241 sizeof(VkBool32));
9242 vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
9243 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
9244 sizeof(uint32_t));
9245 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
9246 sizeof(uint32_t));
9247 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
9248 sizeof(uint32_t));
9249 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
9250 sizeof(uint32_t));
9251 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
9252 sizeof(uint32_t));
9253 vkStream->read(
9254 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
9255 sizeof(uint32_t));
9256 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
9257 sizeof(uint32_t));
9258 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
9259 sizeof(uint32_t));
9260 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
9261 sizeof(uint32_t));
9262 vkStream->read(
9263 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
9264 sizeof(uint32_t));
9265 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
9266 sizeof(uint32_t));
9267 vkStream->read(
9268 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
9269 sizeof(uint32_t));
9270 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
9271 sizeof(uint32_t));
9272 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
9273 sizeof(uint32_t));
9274 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
9275 sizeof(uint32_t));
9276 }
9277
marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * forMarshaling)9278 void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
9279 VulkanStream* vkStream, VkStructureType rootType,
9280 const VkDescriptorSetVariableDescriptorCountAllocateInfo* forMarshaling) {
9281 (void)rootType;
9282 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9283 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9284 rootType = forMarshaling->sType;
9285 }
9286 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9287 vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
9288 vkStream->write((const uint32_t*)forMarshaling->pDescriptorCounts,
9289 forMarshaling->descriptorSetCount * sizeof(const uint32_t));
9290 }
9291
unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetVariableDescriptorCountAllocateInfo * forUnmarshaling)9292 void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
9293 VulkanStream* vkStream, VkStructureType rootType,
9294 VkDescriptorSetVariableDescriptorCountAllocateInfo* forUnmarshaling) {
9295 (void)rootType;
9296 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9297 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9298 rootType = forUnmarshaling->sType;
9299 }
9300 size_t pNext_size;
9301 pNext_size = vkStream->getBe32();
9302 forUnmarshaling->pNext = nullptr;
9303 if (pNext_size) {
9304 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9305 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9306 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9307 vkStream->alloc((void**)&forUnmarshaling->pNext,
9308 goldfish_vk_extension_struct_size_with_stream_features(
9309 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9310 *(VkStructureType*)forUnmarshaling->pNext = extType;
9311 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9312 }
9313 vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
9314 vkStream->alloc((void**)&forUnmarshaling->pDescriptorCounts,
9315 forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
9316 vkStream->read((uint32_t*)forUnmarshaling->pDescriptorCounts,
9317 forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
9318 }
9319
marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * forMarshaling)9320 void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
9321 VulkanStream* vkStream, VkStructureType rootType,
9322 const VkDescriptorSetVariableDescriptorCountLayoutSupport* forMarshaling) {
9323 (void)rootType;
9324 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9325 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9326 rootType = forMarshaling->sType;
9327 }
9328 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9329 vkStream->write((uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
9330 }
9331
unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorSetVariableDescriptorCountLayoutSupport * forUnmarshaling)9332 void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
9333 VulkanStream* vkStream, VkStructureType rootType,
9334 VkDescriptorSetVariableDescriptorCountLayoutSupport* forUnmarshaling) {
9335 (void)rootType;
9336 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9337 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9338 rootType = forUnmarshaling->sType;
9339 }
9340 size_t pNext_size;
9341 pNext_size = vkStream->getBe32();
9342 forUnmarshaling->pNext = nullptr;
9343 if (pNext_size) {
9344 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9345 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9346 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9347 vkStream->alloc((void**)&forUnmarshaling->pNext,
9348 goldfish_vk_extension_struct_size_with_stream_features(
9349 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9350 *(VkStructureType*)forUnmarshaling->pNext = extType;
9351 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9352 }
9353 vkStream->read((uint32_t*)&forUnmarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
9354 }
9355
marshal_VkSubpassDescriptionDepthStencilResolve(VulkanStream * vkStream,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * forMarshaling)9356 void marshal_VkSubpassDescriptionDepthStencilResolve(
9357 VulkanStream* vkStream, VkStructureType rootType,
9358 const VkSubpassDescriptionDepthStencilResolve* forMarshaling) {
9359 (void)rootType;
9360 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9361 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9362 rootType = forMarshaling->sType;
9363 }
9364 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9365 vkStream->write((VkResolveModeFlagBits*)&forMarshaling->depthResolveMode,
9366 sizeof(VkResolveModeFlagBits));
9367 vkStream->write((VkResolveModeFlagBits*)&forMarshaling->stencilResolveMode,
9368 sizeof(VkResolveModeFlagBits));
9369 // WARNING PTR CHECK
9370 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilResolveAttachment;
9371 vkStream->putBe64(cgen_var_0);
9372 if (forMarshaling->pDepthStencilResolveAttachment) {
9373 marshal_VkAttachmentReference2(
9374 vkStream, rootType,
9375 (const VkAttachmentReference2*)(forMarshaling->pDepthStencilResolveAttachment));
9376 }
9377 }
9378
unmarshal_VkSubpassDescriptionDepthStencilResolve(VulkanStream * vkStream,VkStructureType rootType,VkSubpassDescriptionDepthStencilResolve * forUnmarshaling)9379 void unmarshal_VkSubpassDescriptionDepthStencilResolve(
9380 VulkanStream* vkStream, VkStructureType rootType,
9381 VkSubpassDescriptionDepthStencilResolve* forUnmarshaling) {
9382 (void)rootType;
9383 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9384 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9385 rootType = forUnmarshaling->sType;
9386 }
9387 size_t pNext_size;
9388 pNext_size = vkStream->getBe32();
9389 forUnmarshaling->pNext = nullptr;
9390 if (pNext_size) {
9391 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9392 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9393 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9394 vkStream->alloc((void**)&forUnmarshaling->pNext,
9395 goldfish_vk_extension_struct_size_with_stream_features(
9396 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9397 *(VkStructureType*)forUnmarshaling->pNext = extType;
9398 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9399 }
9400 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->depthResolveMode,
9401 sizeof(VkResolveModeFlagBits));
9402 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->stencilResolveMode,
9403 sizeof(VkResolveModeFlagBits));
9404 // WARNING PTR CHECK
9405 forUnmarshaling->pDepthStencilResolveAttachment =
9406 (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
9407 if (forUnmarshaling->pDepthStencilResolveAttachment) {
9408 vkStream->alloc((void**)&forUnmarshaling->pDepthStencilResolveAttachment,
9409 sizeof(const VkAttachmentReference2));
9410 unmarshal_VkAttachmentReference2(
9411 vkStream, rootType,
9412 (VkAttachmentReference2*)(forUnmarshaling->pDepthStencilResolveAttachment));
9413 }
9414 }
9415
marshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * forMarshaling)9416 void marshal_VkPhysicalDeviceDepthStencilResolveProperties(
9417 VulkanStream* vkStream, VkStructureType rootType,
9418 const VkPhysicalDeviceDepthStencilResolveProperties* forMarshaling) {
9419 (void)rootType;
9420 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9421 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9422 rootType = forMarshaling->sType;
9423 }
9424 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9425 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
9426 sizeof(VkResolveModeFlags));
9427 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
9428 sizeof(VkResolveModeFlags));
9429 vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
9430 vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
9431 }
9432
unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDepthStencilResolveProperties * forUnmarshaling)9433 void unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
9434 VulkanStream* vkStream, VkStructureType rootType,
9435 VkPhysicalDeviceDepthStencilResolveProperties* forUnmarshaling) {
9436 (void)rootType;
9437 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9438 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9439 rootType = forUnmarshaling->sType;
9440 }
9441 size_t pNext_size;
9442 pNext_size = vkStream->getBe32();
9443 forUnmarshaling->pNext = nullptr;
9444 if (pNext_size) {
9445 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9446 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9447 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9448 vkStream->alloc((void**)&forUnmarshaling->pNext,
9449 goldfish_vk_extension_struct_size_with_stream_features(
9450 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9451 *(VkStructureType*)forUnmarshaling->pNext = extType;
9452 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9453 }
9454 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
9455 sizeof(VkResolveModeFlags));
9456 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
9457 sizeof(VkResolveModeFlags));
9458 vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
9459 vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
9460 }
9461
marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * forMarshaling)9462 void marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
9463 VulkanStream* vkStream, VkStructureType rootType,
9464 const VkPhysicalDeviceScalarBlockLayoutFeatures* forMarshaling) {
9465 (void)rootType;
9466 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9467 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9468 rootType = forMarshaling->sType;
9469 }
9470 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9471 vkStream->write((VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
9472 }
9473
unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceScalarBlockLayoutFeatures * forUnmarshaling)9474 void unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
9475 VulkanStream* vkStream, VkStructureType rootType,
9476 VkPhysicalDeviceScalarBlockLayoutFeatures* forUnmarshaling) {
9477 (void)rootType;
9478 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9479 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9480 rootType = forUnmarshaling->sType;
9481 }
9482 size_t pNext_size;
9483 pNext_size = vkStream->getBe32();
9484 forUnmarshaling->pNext = nullptr;
9485 if (pNext_size) {
9486 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9487 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9488 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9489 vkStream->alloc((void**)&forUnmarshaling->pNext,
9490 goldfish_vk_extension_struct_size_with_stream_features(
9491 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9492 *(VkStructureType*)forUnmarshaling->pNext = extType;
9493 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9494 }
9495 vkStream->read((VkBool32*)&forUnmarshaling->scalarBlockLayout, sizeof(VkBool32));
9496 }
9497
marshal_VkImageStencilUsageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkImageStencilUsageCreateInfo * forMarshaling)9498 void marshal_VkImageStencilUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
9499 const VkImageStencilUsageCreateInfo* forMarshaling) {
9500 (void)rootType;
9501 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9502 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9503 rootType = forMarshaling->sType;
9504 }
9505 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9506 vkStream->write((VkImageUsageFlags*)&forMarshaling->stencilUsage, sizeof(VkImageUsageFlags));
9507 }
9508
unmarshal_VkImageStencilUsageCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkImageStencilUsageCreateInfo * forUnmarshaling)9509 void unmarshal_VkImageStencilUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
9510 VkImageStencilUsageCreateInfo* forUnmarshaling) {
9511 (void)rootType;
9512 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9513 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9514 rootType = forUnmarshaling->sType;
9515 }
9516 size_t pNext_size;
9517 pNext_size = vkStream->getBe32();
9518 forUnmarshaling->pNext = nullptr;
9519 if (pNext_size) {
9520 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9521 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9522 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9523 vkStream->alloc((void**)&forUnmarshaling->pNext,
9524 goldfish_vk_extension_struct_size_with_stream_features(
9525 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9526 *(VkStructureType*)forUnmarshaling->pNext = extType;
9527 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9528 }
9529 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->stencilUsage, sizeof(VkImageUsageFlags));
9530 }
9531
marshal_VkSamplerReductionModeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * forMarshaling)9532 void marshal_VkSamplerReductionModeCreateInfo(
9533 VulkanStream* vkStream, VkStructureType rootType,
9534 const VkSamplerReductionModeCreateInfo* forMarshaling) {
9535 (void)rootType;
9536 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9537 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9538 rootType = forMarshaling->sType;
9539 }
9540 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9541 vkStream->write((VkSamplerReductionMode*)&forMarshaling->reductionMode,
9542 sizeof(VkSamplerReductionMode));
9543 }
9544
unmarshal_VkSamplerReductionModeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkSamplerReductionModeCreateInfo * forUnmarshaling)9545 void unmarshal_VkSamplerReductionModeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
9546 VkSamplerReductionModeCreateInfo* forUnmarshaling) {
9547 (void)rootType;
9548 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9549 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9550 rootType = forUnmarshaling->sType;
9551 }
9552 size_t pNext_size;
9553 pNext_size = vkStream->getBe32();
9554 forUnmarshaling->pNext = nullptr;
9555 if (pNext_size) {
9556 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9557 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9558 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9559 vkStream->alloc((void**)&forUnmarshaling->pNext,
9560 goldfish_vk_extension_struct_size_with_stream_features(
9561 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9562 *(VkStructureType*)forUnmarshaling->pNext = extType;
9563 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9564 }
9565 vkStream->read((VkSamplerReductionMode*)&forUnmarshaling->reductionMode,
9566 sizeof(VkSamplerReductionMode));
9567 }
9568
marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * forMarshaling)9569 void marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
9570 VulkanStream* vkStream, VkStructureType rootType,
9571 const VkPhysicalDeviceSamplerFilterMinmaxProperties* forMarshaling) {
9572 (void)rootType;
9573 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9574 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9575 rootType = forMarshaling->sType;
9576 }
9577 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9578 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats,
9579 sizeof(VkBool32));
9580 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
9581 }
9582
unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSamplerFilterMinmaxProperties * forUnmarshaling)9583 void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
9584 VulkanStream* vkStream, VkStructureType rootType,
9585 VkPhysicalDeviceSamplerFilterMinmaxProperties* forUnmarshaling) {
9586 (void)rootType;
9587 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9588 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9589 rootType = forUnmarshaling->sType;
9590 }
9591 size_t pNext_size;
9592 pNext_size = vkStream->getBe32();
9593 forUnmarshaling->pNext = nullptr;
9594 if (pNext_size) {
9595 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9596 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9597 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9598 vkStream->alloc((void**)&forUnmarshaling->pNext,
9599 goldfish_vk_extension_struct_size_with_stream_features(
9600 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9601 *(VkStructureType*)forUnmarshaling->pNext = extType;
9602 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9603 }
9604 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats,
9605 sizeof(VkBool32));
9606 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
9607 sizeof(VkBool32));
9608 }
9609
marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * forMarshaling)9610 void marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
9611 VulkanStream* vkStream, VkStructureType rootType,
9612 const VkPhysicalDeviceVulkanMemoryModelFeatures* forMarshaling) {
9613 (void)rootType;
9614 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9615 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9616 rootType = forMarshaling->sType;
9617 }
9618 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9619 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
9620 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
9621 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
9622 sizeof(VkBool32));
9623 }
9624
unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkanMemoryModelFeatures * forUnmarshaling)9625 void unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
9626 VulkanStream* vkStream, VkStructureType rootType,
9627 VkPhysicalDeviceVulkanMemoryModelFeatures* forUnmarshaling) {
9628 (void)rootType;
9629 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9630 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9631 rootType = forUnmarshaling->sType;
9632 }
9633 size_t pNext_size;
9634 pNext_size = vkStream->getBe32();
9635 forUnmarshaling->pNext = nullptr;
9636 if (pNext_size) {
9637 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9638 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9639 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9640 vkStream->alloc((void**)&forUnmarshaling->pNext,
9641 goldfish_vk_extension_struct_size_with_stream_features(
9642 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9643 *(VkStructureType*)forUnmarshaling->pNext = extType;
9644 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9645 }
9646 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModel, sizeof(VkBool32));
9647 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
9648 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
9649 sizeof(VkBool32));
9650 }
9651
marshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * forMarshaling)9652 void marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
9653 VulkanStream* vkStream, VkStructureType rootType,
9654 const VkPhysicalDeviceImagelessFramebufferFeatures* forMarshaling) {
9655 (void)rootType;
9656 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9657 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9658 rootType = forMarshaling->sType;
9659 }
9660 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9661 vkStream->write((VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
9662 }
9663
unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImagelessFramebufferFeatures * forUnmarshaling)9664 void unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
9665 VulkanStream* vkStream, VkStructureType rootType,
9666 VkPhysicalDeviceImagelessFramebufferFeatures* forUnmarshaling) {
9667 (void)rootType;
9668 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9669 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9670 rootType = forUnmarshaling->sType;
9671 }
9672 size_t pNext_size;
9673 pNext_size = vkStream->getBe32();
9674 forUnmarshaling->pNext = nullptr;
9675 if (pNext_size) {
9676 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9677 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9678 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9679 vkStream->alloc((void**)&forUnmarshaling->pNext,
9680 goldfish_vk_extension_struct_size_with_stream_features(
9681 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9682 *(VkStructureType*)forUnmarshaling->pNext = extType;
9683 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9684 }
9685 vkStream->read((VkBool32*)&forUnmarshaling->imagelessFramebuffer, sizeof(VkBool32));
9686 }
9687
marshal_VkFramebufferAttachmentImageInfo(VulkanStream * vkStream,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * forMarshaling)9688 void marshal_VkFramebufferAttachmentImageInfo(
9689 VulkanStream* vkStream, VkStructureType rootType,
9690 const VkFramebufferAttachmentImageInfo* forMarshaling) {
9691 (void)rootType;
9692 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9693 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9694 rootType = forMarshaling->sType;
9695 }
9696 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9697 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
9698 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
9699 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
9700 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
9701 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
9702 vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
9703 vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
9704 forMarshaling->viewFormatCount * sizeof(const VkFormat));
9705 }
9706
unmarshal_VkFramebufferAttachmentImageInfo(VulkanStream * vkStream,VkStructureType rootType,VkFramebufferAttachmentImageInfo * forUnmarshaling)9707 void unmarshal_VkFramebufferAttachmentImageInfo(VulkanStream* vkStream, VkStructureType rootType,
9708 VkFramebufferAttachmentImageInfo* forUnmarshaling) {
9709 (void)rootType;
9710 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9711 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9712 rootType = forUnmarshaling->sType;
9713 }
9714 size_t pNext_size;
9715 pNext_size = vkStream->getBe32();
9716 forUnmarshaling->pNext = nullptr;
9717 if (pNext_size) {
9718 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9719 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9720 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9721 vkStream->alloc((void**)&forUnmarshaling->pNext,
9722 goldfish_vk_extension_struct_size_with_stream_features(
9723 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9724 *(VkStructureType*)forUnmarshaling->pNext = extType;
9725 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9726 }
9727 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
9728 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
9729 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
9730 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
9731 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
9732 vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
9733 vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
9734 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
9735 vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
9736 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
9737 }
9738
marshal_VkFramebufferAttachmentsCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * forMarshaling)9739 void marshal_VkFramebufferAttachmentsCreateInfo(
9740 VulkanStream* vkStream, VkStructureType rootType,
9741 const VkFramebufferAttachmentsCreateInfo* forMarshaling) {
9742 (void)rootType;
9743 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9744 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9745 rootType = forMarshaling->sType;
9746 }
9747 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9748 vkStream->write((uint32_t*)&forMarshaling->attachmentImageInfoCount, sizeof(uint32_t));
9749 if (forMarshaling) {
9750 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentImageInfoCount; ++i) {
9751 marshal_VkFramebufferAttachmentImageInfo(
9752 vkStream, rootType,
9753 (const VkFramebufferAttachmentImageInfo*)(forMarshaling->pAttachmentImageInfos +
9754 i));
9755 }
9756 }
9757 }
9758
unmarshal_VkFramebufferAttachmentsCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkFramebufferAttachmentsCreateInfo * forUnmarshaling)9759 void unmarshal_VkFramebufferAttachmentsCreateInfo(
9760 VulkanStream* vkStream, VkStructureType rootType,
9761 VkFramebufferAttachmentsCreateInfo* forUnmarshaling) {
9762 (void)rootType;
9763 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9764 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9765 rootType = forUnmarshaling->sType;
9766 }
9767 size_t pNext_size;
9768 pNext_size = vkStream->getBe32();
9769 forUnmarshaling->pNext = nullptr;
9770 if (pNext_size) {
9771 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9772 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9773 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9774 vkStream->alloc((void**)&forUnmarshaling->pNext,
9775 goldfish_vk_extension_struct_size_with_stream_features(
9776 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9777 *(VkStructureType*)forUnmarshaling->pNext = extType;
9778 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9779 }
9780 vkStream->read((uint32_t*)&forUnmarshaling->attachmentImageInfoCount, sizeof(uint32_t));
9781 vkStream->alloc(
9782 (void**)&forUnmarshaling->pAttachmentImageInfos,
9783 forUnmarshaling->attachmentImageInfoCount * sizeof(const VkFramebufferAttachmentImageInfo));
9784 if (forUnmarshaling) {
9785 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentImageInfoCount; ++i) {
9786 unmarshal_VkFramebufferAttachmentImageInfo(
9787 vkStream, rootType,
9788 (VkFramebufferAttachmentImageInfo*)(forUnmarshaling->pAttachmentImageInfos + i));
9789 }
9790 }
9791 }
9792
marshal_VkRenderPassAttachmentBeginInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * forMarshaling)9793 void marshal_VkRenderPassAttachmentBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
9794 const VkRenderPassAttachmentBeginInfo* forMarshaling) {
9795 (void)rootType;
9796 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9797 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9798 rootType = forMarshaling->sType;
9799 }
9800 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9801 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
9802 if (forMarshaling->attachmentCount) {
9803 uint64_t* cgen_var_0;
9804 vkStream->alloc((void**)&cgen_var_0, forMarshaling->attachmentCount * 8);
9805 vkStream->handleMapping()->mapHandles_VkImageView_u64(
9806 forMarshaling->pAttachments, cgen_var_0, forMarshaling->attachmentCount);
9807 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->attachmentCount * 8);
9808 }
9809 }
9810
unmarshal_VkRenderPassAttachmentBeginInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassAttachmentBeginInfo * forUnmarshaling)9811 void unmarshal_VkRenderPassAttachmentBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
9812 VkRenderPassAttachmentBeginInfo* forUnmarshaling) {
9813 (void)rootType;
9814 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9815 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9816 rootType = forUnmarshaling->sType;
9817 }
9818 size_t pNext_size;
9819 pNext_size = vkStream->getBe32();
9820 forUnmarshaling->pNext = nullptr;
9821 if (pNext_size) {
9822 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9823 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9824 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9825 vkStream->alloc((void**)&forUnmarshaling->pNext,
9826 goldfish_vk_extension_struct_size_with_stream_features(
9827 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9828 *(VkStructureType*)forUnmarshaling->pNext = extType;
9829 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9830 }
9831 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
9832 vkStream->alloc((void**)&forUnmarshaling->pAttachments,
9833 forUnmarshaling->attachmentCount * sizeof(const VkImageView));
9834 if (forUnmarshaling->attachmentCount) {
9835 uint64_t* cgen_var_0;
9836 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->attachmentCount * 8);
9837 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->attachmentCount * 8);
9838 vkStream->handleMapping()->mapHandles_u64_VkImageView(
9839 cgen_var_0, (VkImageView*)forUnmarshaling->pAttachments,
9840 forUnmarshaling->attachmentCount);
9841 }
9842 }
9843
marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forMarshaling)9844 void marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
9845 VulkanStream* vkStream, VkStructureType rootType,
9846 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forMarshaling) {
9847 (void)rootType;
9848 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9849 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9850 rootType = forMarshaling->sType;
9851 }
9852 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9853 vkStream->write((VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
9854 }
9855
unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forUnmarshaling)9856 void unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
9857 VulkanStream* vkStream, VkStructureType rootType,
9858 VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forUnmarshaling) {
9859 (void)rootType;
9860 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9861 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9862 rootType = forUnmarshaling->sType;
9863 }
9864 size_t pNext_size;
9865 pNext_size = vkStream->getBe32();
9866 forUnmarshaling->pNext = nullptr;
9867 if (pNext_size) {
9868 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9869 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9870 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9871 vkStream->alloc((void**)&forUnmarshaling->pNext,
9872 goldfish_vk_extension_struct_size_with_stream_features(
9873 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9874 *(VkStructureType*)forUnmarshaling->pNext = extType;
9875 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9876 }
9877 vkStream->read((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
9878 }
9879
marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forMarshaling)9880 void marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
9881 VulkanStream* vkStream, VkStructureType rootType,
9882 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forMarshaling) {
9883 (void)rootType;
9884 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9885 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9886 rootType = forMarshaling->sType;
9887 }
9888 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9889 vkStream->write((VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
9890 }
9891
unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forUnmarshaling)9892 void unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
9893 VulkanStream* vkStream, VkStructureType rootType,
9894 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forUnmarshaling) {
9895 (void)rootType;
9896 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9897 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9898 rootType = forUnmarshaling->sType;
9899 }
9900 size_t pNext_size;
9901 pNext_size = vkStream->getBe32();
9902 forUnmarshaling->pNext = nullptr;
9903 if (pNext_size) {
9904 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9905 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9906 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9907 vkStream->alloc((void**)&forUnmarshaling->pNext,
9908 goldfish_vk_extension_struct_size_with_stream_features(
9909 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9910 *(VkStructureType*)forUnmarshaling->pNext = extType;
9911 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9912 }
9913 vkStream->read((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
9914 }
9915
marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forMarshaling)9916 void marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
9917 VulkanStream* vkStream, VkStructureType rootType,
9918 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forMarshaling) {
9919 (void)rootType;
9920 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9921 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9922 rootType = forMarshaling->sType;
9923 }
9924 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9925 vkStream->write((VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
9926 }
9927
unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forUnmarshaling)9928 void unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
9929 VulkanStream* vkStream, VkStructureType rootType,
9930 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forUnmarshaling) {
9931 (void)rootType;
9932 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9933 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9934 rootType = forUnmarshaling->sType;
9935 }
9936 size_t pNext_size;
9937 pNext_size = vkStream->getBe32();
9938 forUnmarshaling->pNext = nullptr;
9939 if (pNext_size) {
9940 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9941 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9942 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9943 vkStream->alloc((void**)&forUnmarshaling->pNext,
9944 goldfish_vk_extension_struct_size_with_stream_features(
9945 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9946 *(VkStructureType*)forUnmarshaling->pNext = extType;
9947 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9948 }
9949 vkStream->read((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
9950 }
9951
marshal_VkAttachmentReferenceStencilLayout(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * forMarshaling)9952 void marshal_VkAttachmentReferenceStencilLayout(
9953 VulkanStream* vkStream, VkStructureType rootType,
9954 const VkAttachmentReferenceStencilLayout* forMarshaling) {
9955 (void)rootType;
9956 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9957 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9958 rootType = forMarshaling->sType;
9959 }
9960 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9961 vkStream->write((VkImageLayout*)&forMarshaling->stencilLayout, sizeof(VkImageLayout));
9962 }
9963
unmarshal_VkAttachmentReferenceStencilLayout(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentReferenceStencilLayout * forUnmarshaling)9964 void unmarshal_VkAttachmentReferenceStencilLayout(
9965 VulkanStream* vkStream, VkStructureType rootType,
9966 VkAttachmentReferenceStencilLayout* forUnmarshaling) {
9967 (void)rootType;
9968 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9969 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9970 rootType = forUnmarshaling->sType;
9971 }
9972 size_t pNext_size;
9973 pNext_size = vkStream->getBe32();
9974 forUnmarshaling->pNext = nullptr;
9975 if (pNext_size) {
9976 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
9977 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
9978 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
9979 vkStream->alloc((void**)&forUnmarshaling->pNext,
9980 goldfish_vk_extension_struct_size_with_stream_features(
9981 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
9982 *(VkStructureType*)forUnmarshaling->pNext = extType;
9983 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9984 }
9985 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilLayout, sizeof(VkImageLayout));
9986 }
9987
marshal_VkAttachmentDescriptionStencilLayout(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * forMarshaling)9988 void marshal_VkAttachmentDescriptionStencilLayout(
9989 VulkanStream* vkStream, VkStructureType rootType,
9990 const VkAttachmentDescriptionStencilLayout* forMarshaling) {
9991 (void)rootType;
9992 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9993 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9994 rootType = forMarshaling->sType;
9995 }
9996 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9997 vkStream->write((VkImageLayout*)&forMarshaling->stencilInitialLayout, sizeof(VkImageLayout));
9998 vkStream->write((VkImageLayout*)&forMarshaling->stencilFinalLayout, sizeof(VkImageLayout));
9999 }
10000
unmarshal_VkAttachmentDescriptionStencilLayout(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentDescriptionStencilLayout * forUnmarshaling)10001 void unmarshal_VkAttachmentDescriptionStencilLayout(
10002 VulkanStream* vkStream, VkStructureType rootType,
10003 VkAttachmentDescriptionStencilLayout* forUnmarshaling) {
10004 (void)rootType;
10005 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10006 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10007 rootType = forUnmarshaling->sType;
10008 }
10009 size_t pNext_size;
10010 pNext_size = vkStream->getBe32();
10011 forUnmarshaling->pNext = nullptr;
10012 if (pNext_size) {
10013 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10014 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10015 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10016 vkStream->alloc((void**)&forUnmarshaling->pNext,
10017 goldfish_vk_extension_struct_size_with_stream_features(
10018 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10019 *(VkStructureType*)forUnmarshaling->pNext = extType;
10020 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10021 }
10022 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilInitialLayout, sizeof(VkImageLayout));
10023 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilFinalLayout, sizeof(VkImageLayout));
10024 }
10025
marshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * forMarshaling)10026 void marshal_VkPhysicalDeviceHostQueryResetFeatures(
10027 VulkanStream* vkStream, VkStructureType rootType,
10028 const VkPhysicalDeviceHostQueryResetFeatures* forMarshaling) {
10029 (void)rootType;
10030 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10031 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10032 rootType = forMarshaling->sType;
10033 }
10034 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10035 vkStream->write((VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
10036 }
10037
unmarshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceHostQueryResetFeatures * forUnmarshaling)10038 void unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
10039 VulkanStream* vkStream, VkStructureType rootType,
10040 VkPhysicalDeviceHostQueryResetFeatures* forUnmarshaling) {
10041 (void)rootType;
10042 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10043 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10044 rootType = forUnmarshaling->sType;
10045 }
10046 size_t pNext_size;
10047 pNext_size = vkStream->getBe32();
10048 forUnmarshaling->pNext = nullptr;
10049 if (pNext_size) {
10050 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10051 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10052 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10053 vkStream->alloc((void**)&forUnmarshaling->pNext,
10054 goldfish_vk_extension_struct_size_with_stream_features(
10055 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10056 *(VkStructureType*)forUnmarshaling->pNext = extType;
10057 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10058 }
10059 vkStream->read((VkBool32*)&forUnmarshaling->hostQueryReset, sizeof(VkBool32));
10060 }
10061
marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * forMarshaling)10062 void marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
10063 VulkanStream* vkStream, VkStructureType rootType,
10064 const VkPhysicalDeviceTimelineSemaphoreFeatures* forMarshaling) {
10065 (void)rootType;
10066 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10067 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10068 rootType = forMarshaling->sType;
10069 }
10070 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10071 vkStream->write((VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
10072 }
10073
unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTimelineSemaphoreFeatures * forUnmarshaling)10074 void unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
10075 VulkanStream* vkStream, VkStructureType rootType,
10076 VkPhysicalDeviceTimelineSemaphoreFeatures* forUnmarshaling) {
10077 (void)rootType;
10078 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10079 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10080 rootType = forUnmarshaling->sType;
10081 }
10082 size_t pNext_size;
10083 pNext_size = vkStream->getBe32();
10084 forUnmarshaling->pNext = nullptr;
10085 if (pNext_size) {
10086 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10087 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10088 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10089 vkStream->alloc((void**)&forUnmarshaling->pNext,
10090 goldfish_vk_extension_struct_size_with_stream_features(
10091 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10092 *(VkStructureType*)forUnmarshaling->pNext = extType;
10093 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10094 }
10095 vkStream->read((VkBool32*)&forUnmarshaling->timelineSemaphore, sizeof(VkBool32));
10096 }
10097
marshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * forMarshaling)10098 void marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
10099 VulkanStream* vkStream, VkStructureType rootType,
10100 const VkPhysicalDeviceTimelineSemaphoreProperties* forMarshaling) {
10101 (void)rootType;
10102 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10103 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10104 rootType = forMarshaling->sType;
10105 }
10106 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10107 vkStream->write((uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference,
10108 sizeof(uint64_t));
10109 }
10110
unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTimelineSemaphoreProperties * forUnmarshaling)10111 void unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
10112 VulkanStream* vkStream, VkStructureType rootType,
10113 VkPhysicalDeviceTimelineSemaphoreProperties* forUnmarshaling) {
10114 (void)rootType;
10115 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10116 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10117 rootType = forUnmarshaling->sType;
10118 }
10119 size_t pNext_size;
10120 pNext_size = vkStream->getBe32();
10121 forUnmarshaling->pNext = nullptr;
10122 if (pNext_size) {
10123 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10124 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10125 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10126 vkStream->alloc((void**)&forUnmarshaling->pNext,
10127 goldfish_vk_extension_struct_size_with_stream_features(
10128 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10129 *(VkStructureType*)forUnmarshaling->pNext = extType;
10130 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10131 }
10132 vkStream->read((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference,
10133 sizeof(uint64_t));
10134 }
10135
marshal_VkSemaphoreTypeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * forMarshaling)10136 void marshal_VkSemaphoreTypeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
10137 const VkSemaphoreTypeCreateInfo* forMarshaling) {
10138 (void)rootType;
10139 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10140 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10141 rootType = forMarshaling->sType;
10142 }
10143 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10144 vkStream->write((VkSemaphoreType*)&forMarshaling->semaphoreType, sizeof(VkSemaphoreType));
10145 vkStream->write((uint64_t*)&forMarshaling->initialValue, sizeof(uint64_t));
10146 }
10147
unmarshal_VkSemaphoreTypeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreTypeCreateInfo * forUnmarshaling)10148 void unmarshal_VkSemaphoreTypeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
10149 VkSemaphoreTypeCreateInfo* forUnmarshaling) {
10150 (void)rootType;
10151 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10152 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10153 rootType = forUnmarshaling->sType;
10154 }
10155 size_t pNext_size;
10156 pNext_size = vkStream->getBe32();
10157 forUnmarshaling->pNext = nullptr;
10158 if (pNext_size) {
10159 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10160 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10161 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10162 vkStream->alloc((void**)&forUnmarshaling->pNext,
10163 goldfish_vk_extension_struct_size_with_stream_features(
10164 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10165 *(VkStructureType*)forUnmarshaling->pNext = extType;
10166 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10167 }
10168 vkStream->read((VkSemaphoreType*)&forUnmarshaling->semaphoreType, sizeof(VkSemaphoreType));
10169 vkStream->read((uint64_t*)&forUnmarshaling->initialValue, sizeof(uint64_t));
10170 }
10171
marshal_VkTimelineSemaphoreSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * forMarshaling)10172 void marshal_VkTimelineSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
10173 const VkTimelineSemaphoreSubmitInfo* forMarshaling) {
10174 (void)rootType;
10175 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10176 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10177 rootType = forMarshaling->sType;
10178 }
10179 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10180 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
10181 // WARNING PTR CHECK
10182 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
10183 vkStream->putBe64(cgen_var_0);
10184 if (forMarshaling->pWaitSemaphoreValues) {
10185 vkStream->write((const uint64_t*)forMarshaling->pWaitSemaphoreValues,
10186 forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
10187 }
10188 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
10189 // WARNING PTR CHECK
10190 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
10191 vkStream->putBe64(cgen_var_1);
10192 if (forMarshaling->pSignalSemaphoreValues) {
10193 vkStream->write((const uint64_t*)forMarshaling->pSignalSemaphoreValues,
10194 forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
10195 }
10196 }
10197
unmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkTimelineSemaphoreSubmitInfo * forUnmarshaling)10198 void unmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
10199 VkTimelineSemaphoreSubmitInfo* forUnmarshaling) {
10200 (void)rootType;
10201 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10202 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10203 rootType = forUnmarshaling->sType;
10204 }
10205 size_t pNext_size;
10206 pNext_size = vkStream->getBe32();
10207 forUnmarshaling->pNext = nullptr;
10208 if (pNext_size) {
10209 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10210 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10211 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10212 vkStream->alloc((void**)&forUnmarshaling->pNext,
10213 goldfish_vk_extension_struct_size_with_stream_features(
10214 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10215 *(VkStructureType*)forUnmarshaling->pNext = extType;
10216 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10217 }
10218 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
10219 // WARNING PTR CHECK
10220 forUnmarshaling->pWaitSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
10221 if (forUnmarshaling->pWaitSemaphoreValues) {
10222 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreValues,
10223 forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
10224 vkStream->read((uint64_t*)forUnmarshaling->pWaitSemaphoreValues,
10225 forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
10226 }
10227 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
10228 // WARNING PTR CHECK
10229 forUnmarshaling->pSignalSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
10230 if (forUnmarshaling->pSignalSemaphoreValues) {
10231 vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreValues,
10232 forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
10233 vkStream->read((uint64_t*)forUnmarshaling->pSignalSemaphoreValues,
10234 forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
10235 }
10236 }
10237
marshal_VkSemaphoreWaitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreWaitInfo * forMarshaling)10238 void marshal_VkSemaphoreWaitInfo(VulkanStream* vkStream, VkStructureType rootType,
10239 const VkSemaphoreWaitInfo* forMarshaling) {
10240 (void)rootType;
10241 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10242 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10243 rootType = forMarshaling->sType;
10244 }
10245 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10246 vkStream->write((VkSemaphoreWaitFlags*)&forMarshaling->flags, sizeof(VkSemaphoreWaitFlags));
10247 vkStream->write((uint32_t*)&forMarshaling->semaphoreCount, sizeof(uint32_t));
10248 if (forMarshaling->semaphoreCount) {
10249 uint64_t* cgen_var_0;
10250 vkStream->alloc((void**)&cgen_var_0, forMarshaling->semaphoreCount * 8);
10251 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
10252 forMarshaling->pSemaphores, cgen_var_0, forMarshaling->semaphoreCount);
10253 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->semaphoreCount * 8);
10254 }
10255 vkStream->write((const uint64_t*)forMarshaling->pValues,
10256 forMarshaling->semaphoreCount * sizeof(const uint64_t));
10257 }
10258
unmarshal_VkSemaphoreWaitInfo(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreWaitInfo * forUnmarshaling)10259 void unmarshal_VkSemaphoreWaitInfo(VulkanStream* vkStream, VkStructureType rootType,
10260 VkSemaphoreWaitInfo* forUnmarshaling) {
10261 (void)rootType;
10262 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10263 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10264 rootType = forUnmarshaling->sType;
10265 }
10266 size_t pNext_size;
10267 pNext_size = vkStream->getBe32();
10268 forUnmarshaling->pNext = nullptr;
10269 if (pNext_size) {
10270 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10271 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10272 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10273 vkStream->alloc((void**)&forUnmarshaling->pNext,
10274 goldfish_vk_extension_struct_size_with_stream_features(
10275 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10276 *(VkStructureType*)forUnmarshaling->pNext = extType;
10277 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10278 }
10279 vkStream->read((VkSemaphoreWaitFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreWaitFlags));
10280 vkStream->read((uint32_t*)&forUnmarshaling->semaphoreCount, sizeof(uint32_t));
10281 vkStream->alloc((void**)&forUnmarshaling->pSemaphores,
10282 forUnmarshaling->semaphoreCount * sizeof(const VkSemaphore));
10283 if (forUnmarshaling->semaphoreCount) {
10284 uint64_t* cgen_var_0;
10285 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->semaphoreCount * 8);
10286 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->semaphoreCount * 8);
10287 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
10288 cgen_var_0, (VkSemaphore*)forUnmarshaling->pSemaphores,
10289 forUnmarshaling->semaphoreCount);
10290 }
10291 vkStream->alloc((void**)&forUnmarshaling->pValues,
10292 forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
10293 vkStream->read((uint64_t*)forUnmarshaling->pValues,
10294 forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
10295 }
10296
marshal_VkSemaphoreSignalInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreSignalInfo * forMarshaling)10297 void marshal_VkSemaphoreSignalInfo(VulkanStream* vkStream, VkStructureType rootType,
10298 const VkSemaphoreSignalInfo* forMarshaling) {
10299 (void)rootType;
10300 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10301 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10302 rootType = forMarshaling->sType;
10303 }
10304 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10305 uint64_t cgen_var_0;
10306 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
10307 1);
10308 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10309 vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t));
10310 }
10311
unmarshal_VkSemaphoreSignalInfo(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreSignalInfo * forUnmarshaling)10312 void unmarshal_VkSemaphoreSignalInfo(VulkanStream* vkStream, VkStructureType rootType,
10313 VkSemaphoreSignalInfo* forUnmarshaling) {
10314 (void)rootType;
10315 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10316 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10317 rootType = forUnmarshaling->sType;
10318 }
10319 size_t pNext_size;
10320 pNext_size = vkStream->getBe32();
10321 forUnmarshaling->pNext = nullptr;
10322 if (pNext_size) {
10323 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10324 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10325 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10326 vkStream->alloc((void**)&forUnmarshaling->pNext,
10327 goldfish_vk_extension_struct_size_with_stream_features(
10328 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10329 *(VkStructureType*)forUnmarshaling->pNext = extType;
10330 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10331 }
10332 uint64_t cgen_var_0;
10333 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10334 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
10335 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
10336 vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t));
10337 }
10338
marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * forMarshaling)10339 void marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
10340 VulkanStream* vkStream, VkStructureType rootType,
10341 const VkPhysicalDeviceBufferDeviceAddressFeatures* forMarshaling) {
10342 (void)rootType;
10343 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10344 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10345 rootType = forMarshaling->sType;
10346 }
10347 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10348 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
10349 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
10350 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
10351 }
10352
unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceBufferDeviceAddressFeatures * forUnmarshaling)10353 void unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
10354 VulkanStream* vkStream, VkStructureType rootType,
10355 VkPhysicalDeviceBufferDeviceAddressFeatures* forUnmarshaling) {
10356 (void)rootType;
10357 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10358 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10359 rootType = forUnmarshaling->sType;
10360 }
10361 size_t pNext_size;
10362 pNext_size = vkStream->getBe32();
10363 forUnmarshaling->pNext = nullptr;
10364 if (pNext_size) {
10365 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10366 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10367 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10368 vkStream->alloc((void**)&forUnmarshaling->pNext,
10369 goldfish_vk_extension_struct_size_with_stream_features(
10370 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10371 *(VkStructureType*)forUnmarshaling->pNext = extType;
10372 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10373 }
10374 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddress, sizeof(VkBool32));
10375 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
10376 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
10377 }
10378
marshal_VkBufferDeviceAddressInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBufferDeviceAddressInfo * forMarshaling)10379 void marshal_VkBufferDeviceAddressInfo(VulkanStream* vkStream, VkStructureType rootType,
10380 const VkBufferDeviceAddressInfo* forMarshaling) {
10381 (void)rootType;
10382 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10383 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10384 rootType = forMarshaling->sType;
10385 }
10386 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10387 uint64_t cgen_var_0;
10388 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
10389 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10390 }
10391
unmarshal_VkBufferDeviceAddressInfo(VulkanStream * vkStream,VkStructureType rootType,VkBufferDeviceAddressInfo * forUnmarshaling)10392 void unmarshal_VkBufferDeviceAddressInfo(VulkanStream* vkStream, VkStructureType rootType,
10393 VkBufferDeviceAddressInfo* forUnmarshaling) {
10394 (void)rootType;
10395 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10396 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10397 rootType = forUnmarshaling->sType;
10398 }
10399 size_t pNext_size;
10400 pNext_size = vkStream->getBe32();
10401 forUnmarshaling->pNext = nullptr;
10402 if (pNext_size) {
10403 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10404 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10405 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10406 vkStream->alloc((void**)&forUnmarshaling->pNext,
10407 goldfish_vk_extension_struct_size_with_stream_features(
10408 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10409 *(VkStructureType*)forUnmarshaling->pNext = extType;
10410 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10411 }
10412 uint64_t cgen_var_0;
10413 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10414 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
10415 (VkBuffer*)&forUnmarshaling->buffer, 1);
10416 }
10417
marshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * forMarshaling)10418 void marshal_VkBufferOpaqueCaptureAddressCreateInfo(
10419 VulkanStream* vkStream, VkStructureType rootType,
10420 const VkBufferOpaqueCaptureAddressCreateInfo* forMarshaling) {
10421 (void)rootType;
10422 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10423 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10424 rootType = forMarshaling->sType;
10425 }
10426 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10427 vkStream->write((uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
10428 }
10429
unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkBufferOpaqueCaptureAddressCreateInfo * forUnmarshaling)10430 void unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
10431 VulkanStream* vkStream, VkStructureType rootType,
10432 VkBufferOpaqueCaptureAddressCreateInfo* forUnmarshaling) {
10433 (void)rootType;
10434 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10435 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10436 rootType = forUnmarshaling->sType;
10437 }
10438 size_t pNext_size;
10439 pNext_size = vkStream->getBe32();
10440 forUnmarshaling->pNext = nullptr;
10441 if (pNext_size) {
10442 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10443 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10444 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10445 vkStream->alloc((void**)&forUnmarshaling->pNext,
10446 goldfish_vk_extension_struct_size_with_stream_features(
10447 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10448 *(VkStructureType*)forUnmarshaling->pNext = extType;
10449 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10450 }
10451 vkStream->read((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, sizeof(uint64_t));
10452 }
10453
marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * forMarshaling)10454 void marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
10455 VulkanStream* vkStream, VkStructureType rootType,
10456 const VkMemoryOpaqueCaptureAddressAllocateInfo* forMarshaling) {
10457 (void)rootType;
10458 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10459 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10460 rootType = forMarshaling->sType;
10461 }
10462 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10463 vkStream->write((uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
10464 }
10465
unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStream * vkStream,VkStructureType rootType,VkMemoryOpaqueCaptureAddressAllocateInfo * forUnmarshaling)10466 void unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
10467 VulkanStream* vkStream, VkStructureType rootType,
10468 VkMemoryOpaqueCaptureAddressAllocateInfo* forUnmarshaling) {
10469 (void)rootType;
10470 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10471 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10472 rootType = forUnmarshaling->sType;
10473 }
10474 size_t pNext_size;
10475 pNext_size = vkStream->getBe32();
10476 forUnmarshaling->pNext = nullptr;
10477 if (pNext_size) {
10478 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10479 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10480 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10481 vkStream->alloc((void**)&forUnmarshaling->pNext,
10482 goldfish_vk_extension_struct_size_with_stream_features(
10483 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10484 *(VkStructureType*)forUnmarshaling->pNext = extType;
10485 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10486 }
10487 vkStream->read((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, sizeof(uint64_t));
10488 }
10489
marshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * forMarshaling)10490 void marshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
10491 VulkanStream* vkStream, VkStructureType rootType,
10492 const VkDeviceMemoryOpaqueCaptureAddressInfo* forMarshaling) {
10493 (void)rootType;
10494 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10495 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10496 rootType = forMarshaling->sType;
10497 }
10498 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10499 uint64_t cgen_var_0;
10500 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
10501 1);
10502 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10503 }
10504
unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStream * vkStream,VkStructureType rootType,VkDeviceMemoryOpaqueCaptureAddressInfo * forUnmarshaling)10505 void unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
10506 VulkanStream* vkStream, VkStructureType rootType,
10507 VkDeviceMemoryOpaqueCaptureAddressInfo* forUnmarshaling) {
10508 (void)rootType;
10509 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10510 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10511 rootType = forUnmarshaling->sType;
10512 }
10513 size_t pNext_size;
10514 pNext_size = vkStream->getBe32();
10515 forUnmarshaling->pNext = nullptr;
10516 if (pNext_size) {
10517 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10518 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10519 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10520 vkStream->alloc((void**)&forUnmarshaling->pNext,
10521 goldfish_vk_extension_struct_size_with_stream_features(
10522 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10523 *(VkStructureType*)forUnmarshaling->pNext = extType;
10524 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10525 }
10526 uint64_t cgen_var_0;
10527 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10528 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
10529 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
10530 }
10531
10532 #endif
10533 #ifdef VK_VERSION_1_3
marshal_VkPhysicalDeviceVulkan13Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * forMarshaling)10534 void marshal_VkPhysicalDeviceVulkan13Features(
10535 VulkanStream* vkStream, VkStructureType rootType,
10536 const VkPhysicalDeviceVulkan13Features* forMarshaling) {
10537 (void)rootType;
10538 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10539 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10540 rootType = forMarshaling->sType;
10541 }
10542 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10543 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
10544 vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
10545 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
10546 sizeof(VkBool32));
10547 vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
10548 vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
10549 vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
10550 vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
10551 vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
10552 vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
10553 vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
10554 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
10555 vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory,
10556 sizeof(VkBool32));
10557 vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
10558 vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
10559 vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
10560 }
10561
unmarshal_VkPhysicalDeviceVulkan13Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan13Features * forUnmarshaling)10562 void unmarshal_VkPhysicalDeviceVulkan13Features(VulkanStream* vkStream, VkStructureType rootType,
10563 VkPhysicalDeviceVulkan13Features* forUnmarshaling) {
10564 (void)rootType;
10565 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10566 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10567 rootType = forUnmarshaling->sType;
10568 }
10569 size_t pNext_size;
10570 pNext_size = vkStream->getBe32();
10571 forUnmarshaling->pNext = nullptr;
10572 if (pNext_size) {
10573 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10574 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10575 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10576 vkStream->alloc((void**)&forUnmarshaling->pNext,
10577 goldfish_vk_extension_struct_size_with_stream_features(
10578 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10579 *(VkStructureType*)forUnmarshaling->pNext = extType;
10580 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10581 }
10582 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32));
10583 vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32));
10584 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
10585 sizeof(VkBool32));
10586 vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
10587 vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32));
10588 vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
10589 vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32));
10590 vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32));
10591 vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32));
10592 vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32));
10593 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
10594 vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory,
10595 sizeof(VkBool32));
10596 vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32));
10597 vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
10598 vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32));
10599 }
10600
marshal_VkPhysicalDeviceVulkan13Properties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * forMarshaling)10601 void marshal_VkPhysicalDeviceVulkan13Properties(
10602 VulkanStream* vkStream, VkStructureType rootType,
10603 const VkPhysicalDeviceVulkan13Properties* forMarshaling) {
10604 (void)rootType;
10605 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10606 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10607 rootType = forMarshaling->sType;
10608 }
10609 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10610 vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
10611 vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
10612 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
10613 vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
10614 sizeof(VkShaderStageFlags));
10615 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
10616 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
10617 sizeof(uint32_t));
10618 vkStream->write(
10619 (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
10620 sizeof(uint32_t));
10621 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks,
10622 sizeof(uint32_t));
10623 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
10624 sizeof(uint32_t));
10625 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
10626 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
10627 sizeof(VkBool32));
10628 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
10629 sizeof(VkBool32));
10630 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
10631 sizeof(VkBool32));
10632 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
10633 sizeof(VkBool32));
10634 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
10635 sizeof(VkBool32));
10636 vkStream->write(
10637 (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
10638 sizeof(VkBool32));
10639 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
10640 sizeof(VkBool32));
10641 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
10642 sizeof(VkBool32));
10643 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
10644 sizeof(VkBool32));
10645 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
10646 sizeof(VkBool32));
10647 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
10648 sizeof(VkBool32));
10649 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
10650 sizeof(VkBool32));
10651 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
10652 sizeof(VkBool32));
10653 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
10654 sizeof(VkBool32));
10655 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
10656 sizeof(VkBool32));
10657 vkStream->write(
10658 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
10659 sizeof(VkBool32));
10660 vkStream->write(
10661 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
10662 sizeof(VkBool32));
10663 vkStream->write((VkBool32*)&forMarshaling
10664 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
10665 sizeof(VkBool32));
10666 vkStream->write((VkBool32*)&forMarshaling
10667 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
10668 sizeof(VkBool32));
10669 vkStream->write((VkBool32*)&forMarshaling
10670 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
10671 sizeof(VkBool32));
10672 vkStream->write(
10673 (VkBool32*)&forMarshaling
10674 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
10675 sizeof(VkBool32));
10676 vkStream->write(
10677 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
10678 sizeof(VkBool32));
10679 vkStream->write(
10680 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
10681 sizeof(VkBool32));
10682 vkStream->write((VkBool32*)&forMarshaling
10683 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
10684 sizeof(VkBool32));
10685 vkStream->write(
10686 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
10687 sizeof(VkBool32));
10688 vkStream->write(
10689 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
10690 sizeof(VkBool32));
10691 vkStream->write((VkBool32*)&forMarshaling
10692 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
10693 sizeof(VkBool32));
10694 vkStream->write(
10695 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
10696 sizeof(VkBool32));
10697 vkStream->write(
10698 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
10699 sizeof(VkBool32));
10700 vkStream->write((VkBool32*)&forMarshaling
10701 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
10702 sizeof(VkBool32));
10703 vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
10704 sizeof(VkDeviceSize));
10705 vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
10706 sizeof(VkBool32));
10707 vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
10708 sizeof(VkDeviceSize));
10709 vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
10710 sizeof(VkBool32));
10711 vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
10712 }
10713
unmarshal_VkPhysicalDeviceVulkan13Properties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan13Properties * forUnmarshaling)10714 void unmarshal_VkPhysicalDeviceVulkan13Properties(
10715 VulkanStream* vkStream, VkStructureType rootType,
10716 VkPhysicalDeviceVulkan13Properties* forUnmarshaling) {
10717 (void)rootType;
10718 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10719 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10720 rootType = forUnmarshaling->sType;
10721 }
10722 size_t pNext_size;
10723 pNext_size = vkStream->getBe32();
10724 forUnmarshaling->pNext = nullptr;
10725 if (pNext_size) {
10726 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10727 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10728 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10729 vkStream->alloc((void**)&forUnmarshaling->pNext,
10730 goldfish_vk_extension_struct_size_with_stream_features(
10731 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10732 *(VkStructureType*)forUnmarshaling->pNext = extType;
10733 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10734 }
10735 vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t));
10736 vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t));
10737 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
10738 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages,
10739 sizeof(VkShaderStageFlags));
10740 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
10741 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks,
10742 sizeof(uint32_t));
10743 vkStream->read(
10744 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
10745 sizeof(uint32_t));
10746 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks,
10747 sizeof(uint32_t));
10748 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
10749 sizeof(uint32_t));
10750 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
10751 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated,
10752 sizeof(VkBool32));
10753 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated,
10754 sizeof(VkBool32));
10755 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated,
10756 sizeof(VkBool32));
10757 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
10758 sizeof(VkBool32));
10759 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
10760 sizeof(VkBool32));
10761 vkStream->read(
10762 (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
10763 sizeof(VkBool32));
10764 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated,
10765 sizeof(VkBool32));
10766 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated,
10767 sizeof(VkBool32));
10768 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated,
10769 sizeof(VkBool32));
10770 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated,
10771 sizeof(VkBool32));
10772 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated,
10773 sizeof(VkBool32));
10774 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated,
10775 sizeof(VkBool32));
10776 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated,
10777 sizeof(VkBool32));
10778 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated,
10779 sizeof(VkBool32));
10780 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated,
10781 sizeof(VkBool32));
10782 vkStream->read(
10783 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
10784 sizeof(VkBool32));
10785 vkStream->read(
10786 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
10787 sizeof(VkBool32));
10788 vkStream->read((VkBool32*)&forUnmarshaling
10789 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
10790 sizeof(VkBool32));
10791 vkStream->read((VkBool32*)&forUnmarshaling
10792 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
10793 sizeof(VkBool32));
10794 vkStream->read((VkBool32*)&forUnmarshaling
10795 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
10796 sizeof(VkBool32));
10797 vkStream->read(
10798 (VkBool32*)&forUnmarshaling
10799 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
10800 sizeof(VkBool32));
10801 vkStream->read((VkBool32*)&forUnmarshaling
10802 ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
10803 sizeof(VkBool32));
10804 vkStream->read(
10805 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
10806 sizeof(VkBool32));
10807 vkStream->read((VkBool32*)&forUnmarshaling
10808 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
10809 sizeof(VkBool32));
10810 vkStream->read((VkBool32*)&forUnmarshaling
10811 ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
10812 sizeof(VkBool32));
10813 vkStream->read(
10814 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
10815 sizeof(VkBool32));
10816 vkStream->read((VkBool32*)&forUnmarshaling
10817 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
10818 sizeof(VkBool32));
10819 vkStream->read((VkBool32*)&forUnmarshaling
10820 ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
10821 sizeof(VkBool32));
10822 vkStream->read(
10823 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
10824 sizeof(VkBool32));
10825 vkStream->read((VkBool32*)&forUnmarshaling
10826 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
10827 sizeof(VkBool32));
10828 vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes,
10829 sizeof(VkDeviceSize));
10830 vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment,
10831 sizeof(VkBool32));
10832 vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes,
10833 sizeof(VkDeviceSize));
10834 vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
10835 sizeof(VkBool32));
10836 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize));
10837 }
10838
marshal_VkPipelineCreationFeedback(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineCreationFeedback * forMarshaling)10839 void marshal_VkPipelineCreationFeedback(VulkanStream* vkStream, VkStructureType rootType,
10840 const VkPipelineCreationFeedback* forMarshaling) {
10841 (void)rootType;
10842 vkStream->write((VkPipelineCreationFeedbackFlags*)&forMarshaling->flags,
10843 sizeof(VkPipelineCreationFeedbackFlags));
10844 vkStream->write((uint64_t*)&forMarshaling->duration, sizeof(uint64_t));
10845 }
10846
unmarshal_VkPipelineCreationFeedback(VulkanStream * vkStream,VkStructureType rootType,VkPipelineCreationFeedback * forUnmarshaling)10847 void unmarshal_VkPipelineCreationFeedback(VulkanStream* vkStream, VkStructureType rootType,
10848 VkPipelineCreationFeedback* forUnmarshaling) {
10849 (void)rootType;
10850 vkStream->read((VkPipelineCreationFeedbackFlags*)&forUnmarshaling->flags,
10851 sizeof(VkPipelineCreationFeedbackFlags));
10852 vkStream->read((uint64_t*)&forUnmarshaling->duration, sizeof(uint64_t));
10853 }
10854
marshal_VkPipelineCreationFeedbackCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * forMarshaling)10855 void marshal_VkPipelineCreationFeedbackCreateInfo(
10856 VulkanStream* vkStream, VkStructureType rootType,
10857 const VkPipelineCreationFeedbackCreateInfo* forMarshaling) {
10858 (void)rootType;
10859 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10860 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10861 rootType = forMarshaling->sType;
10862 }
10863 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10864 marshal_VkPipelineCreationFeedback(
10865 vkStream, rootType,
10866 (VkPipelineCreationFeedback*)(forMarshaling->pPipelineCreationFeedback));
10867 vkStream->write((uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount,
10868 sizeof(uint32_t));
10869 if (forMarshaling) {
10870 for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) {
10871 marshal_VkPipelineCreationFeedback(
10872 vkStream, rootType,
10873 (VkPipelineCreationFeedback*)(forMarshaling->pPipelineStageCreationFeedbacks + i));
10874 }
10875 }
10876 }
10877
unmarshal_VkPipelineCreationFeedbackCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineCreationFeedbackCreateInfo * forUnmarshaling)10878 void unmarshal_VkPipelineCreationFeedbackCreateInfo(
10879 VulkanStream* vkStream, VkStructureType rootType,
10880 VkPipelineCreationFeedbackCreateInfo* forUnmarshaling) {
10881 (void)rootType;
10882 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10883 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10884 rootType = forUnmarshaling->sType;
10885 }
10886 size_t pNext_size;
10887 pNext_size = vkStream->getBe32();
10888 forUnmarshaling->pNext = nullptr;
10889 if (pNext_size) {
10890 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10891 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10892 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10893 vkStream->alloc((void**)&forUnmarshaling->pNext,
10894 goldfish_vk_extension_struct_size_with_stream_features(
10895 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10896 *(VkStructureType*)forUnmarshaling->pNext = extType;
10897 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10898 }
10899 vkStream->alloc((void**)&forUnmarshaling->pPipelineCreationFeedback,
10900 sizeof(VkPipelineCreationFeedback));
10901 unmarshal_VkPipelineCreationFeedback(
10902 vkStream, rootType,
10903 (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineCreationFeedback));
10904 vkStream->read((uint32_t*)&forUnmarshaling->pipelineStageCreationFeedbackCount,
10905 sizeof(uint32_t));
10906 vkStream->alloc(
10907 (void**)&forUnmarshaling->pPipelineStageCreationFeedbacks,
10908 forUnmarshaling->pipelineStageCreationFeedbackCount * sizeof(VkPipelineCreationFeedback));
10909 if (forUnmarshaling) {
10910 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pipelineStageCreationFeedbackCount;
10911 ++i) {
10912 unmarshal_VkPipelineCreationFeedback(
10913 vkStream, rootType,
10914 (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineStageCreationFeedbacks +
10915 i));
10916 }
10917 }
10918 }
10919
marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * forMarshaling)10920 void marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
10921 VulkanStream* vkStream, VkStructureType rootType,
10922 const VkPhysicalDeviceShaderTerminateInvocationFeatures* forMarshaling) {
10923 (void)rootType;
10924 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10925 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10926 rootType = forMarshaling->sType;
10927 }
10928 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10929 vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
10930 }
10931
unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderTerminateInvocationFeatures * forUnmarshaling)10932 void unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
10933 VulkanStream* vkStream, VkStructureType rootType,
10934 VkPhysicalDeviceShaderTerminateInvocationFeatures* forUnmarshaling) {
10935 (void)rootType;
10936 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10937 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10938 rootType = forUnmarshaling->sType;
10939 }
10940 size_t pNext_size;
10941 pNext_size = vkStream->getBe32();
10942 forUnmarshaling->pNext = nullptr;
10943 if (pNext_size) {
10944 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10945 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10946 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10947 vkStream->alloc((void**)&forUnmarshaling->pNext,
10948 goldfish_vk_extension_struct_size_with_stream_features(
10949 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10950 *(VkStructureType*)forUnmarshaling->pNext = extType;
10951 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10952 }
10953 vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32));
10954 }
10955
marshal_VkPhysicalDeviceToolProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceToolProperties * forMarshaling)10956 void marshal_VkPhysicalDeviceToolProperties(VulkanStream* vkStream, VkStructureType rootType,
10957 const VkPhysicalDeviceToolProperties* forMarshaling) {
10958 (void)rootType;
10959 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10960 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10961 rootType = forMarshaling->sType;
10962 }
10963 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10964 vkStream->write((char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10965 vkStream->write((char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10966 vkStream->write((VkToolPurposeFlags*)&forMarshaling->purposes, sizeof(VkToolPurposeFlags));
10967 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
10968 vkStream->write((char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10969 }
10970
unmarshal_VkPhysicalDeviceToolProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceToolProperties * forUnmarshaling)10971 void unmarshal_VkPhysicalDeviceToolProperties(VulkanStream* vkStream, VkStructureType rootType,
10972 VkPhysicalDeviceToolProperties* forUnmarshaling) {
10973 (void)rootType;
10974 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10975 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10976 rootType = forUnmarshaling->sType;
10977 }
10978 size_t pNext_size;
10979 pNext_size = vkStream->getBe32();
10980 forUnmarshaling->pNext = nullptr;
10981 if (pNext_size) {
10982 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
10983 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
10984 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
10985 vkStream->alloc((void**)&forUnmarshaling->pNext,
10986 goldfish_vk_extension_struct_size_with_stream_features(
10987 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
10988 *(VkStructureType*)forUnmarshaling->pNext = extType;
10989 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10990 }
10991 vkStream->read((char*)forUnmarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10992 vkStream->read((char*)forUnmarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10993 vkStream->read((VkToolPurposeFlags*)&forUnmarshaling->purposes, sizeof(VkToolPurposeFlags));
10994 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
10995 vkStream->read((char*)forUnmarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
10996 }
10997
marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forMarshaling)10998 void marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
10999 VulkanStream* vkStream, VkStructureType rootType,
11000 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forMarshaling) {
11001 (void)rootType;
11002 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11003 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11004 rootType = forMarshaling->sType;
11005 }
11006 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11007 vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
11008 }
11009
unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forUnmarshaling)11010 void unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
11011 VulkanStream* vkStream, VkStructureType rootType,
11012 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forUnmarshaling) {
11013 (void)rootType;
11014 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11015 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11016 rootType = forUnmarshaling->sType;
11017 }
11018 size_t pNext_size;
11019 pNext_size = vkStream->getBe32();
11020 forUnmarshaling->pNext = nullptr;
11021 if (pNext_size) {
11022 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11023 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11024 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11025 vkStream->alloc((void**)&forUnmarshaling->pNext,
11026 goldfish_vk_extension_struct_size_with_stream_features(
11027 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11028 *(VkStructureType*)forUnmarshaling->pNext = extType;
11029 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11030 }
11031 vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
11032 }
11033
marshal_VkPhysicalDevicePrivateDataFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * forMarshaling)11034 void marshal_VkPhysicalDevicePrivateDataFeatures(
11035 VulkanStream* vkStream, VkStructureType rootType,
11036 const VkPhysicalDevicePrivateDataFeatures* forMarshaling) {
11037 (void)rootType;
11038 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11039 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11040 rootType = forMarshaling->sType;
11041 }
11042 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11043 vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
11044 }
11045
unmarshal_VkPhysicalDevicePrivateDataFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePrivateDataFeatures * forUnmarshaling)11046 void unmarshal_VkPhysicalDevicePrivateDataFeatures(
11047 VulkanStream* vkStream, VkStructureType rootType,
11048 VkPhysicalDevicePrivateDataFeatures* forUnmarshaling) {
11049 (void)rootType;
11050 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11051 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11052 rootType = forUnmarshaling->sType;
11053 }
11054 size_t pNext_size;
11055 pNext_size = vkStream->getBe32();
11056 forUnmarshaling->pNext = nullptr;
11057 if (pNext_size) {
11058 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11059 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11060 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11061 vkStream->alloc((void**)&forUnmarshaling->pNext,
11062 goldfish_vk_extension_struct_size_with_stream_features(
11063 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11064 *(VkStructureType*)forUnmarshaling->pNext = extType;
11065 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11066 }
11067 vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32));
11068 }
11069
marshal_VkDevicePrivateDataCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * forMarshaling)11070 void marshal_VkDevicePrivateDataCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
11071 const VkDevicePrivateDataCreateInfo* forMarshaling) {
11072 (void)rootType;
11073 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11074 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11075 rootType = forMarshaling->sType;
11076 }
11077 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11078 vkStream->write((uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
11079 }
11080
unmarshal_VkDevicePrivateDataCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDevicePrivateDataCreateInfo * forUnmarshaling)11081 void unmarshal_VkDevicePrivateDataCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
11082 VkDevicePrivateDataCreateInfo* forUnmarshaling) {
11083 (void)rootType;
11084 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11085 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11086 rootType = forUnmarshaling->sType;
11087 }
11088 size_t pNext_size;
11089 pNext_size = vkStream->getBe32();
11090 forUnmarshaling->pNext = nullptr;
11091 if (pNext_size) {
11092 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11093 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11094 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11095 vkStream->alloc((void**)&forUnmarshaling->pNext,
11096 goldfish_vk_extension_struct_size_with_stream_features(
11097 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11098 *(VkStructureType*)forUnmarshaling->pNext = extType;
11099 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11100 }
11101 vkStream->read((uint32_t*)&forUnmarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
11102 }
11103
marshal_VkPrivateDataSlotCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * forMarshaling)11104 void marshal_VkPrivateDataSlotCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
11105 const VkPrivateDataSlotCreateInfo* forMarshaling) {
11106 (void)rootType;
11107 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11108 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11109 rootType = forMarshaling->sType;
11110 }
11111 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11112 vkStream->write((VkPrivateDataSlotCreateFlags*)&forMarshaling->flags,
11113 sizeof(VkPrivateDataSlotCreateFlags));
11114 }
11115
unmarshal_VkPrivateDataSlotCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPrivateDataSlotCreateInfo * forUnmarshaling)11116 void unmarshal_VkPrivateDataSlotCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
11117 VkPrivateDataSlotCreateInfo* forUnmarshaling) {
11118 (void)rootType;
11119 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11120 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11121 rootType = forUnmarshaling->sType;
11122 }
11123 size_t pNext_size;
11124 pNext_size = vkStream->getBe32();
11125 forUnmarshaling->pNext = nullptr;
11126 if (pNext_size) {
11127 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11128 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11129 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11130 vkStream->alloc((void**)&forUnmarshaling->pNext,
11131 goldfish_vk_extension_struct_size_with_stream_features(
11132 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11133 *(VkStructureType*)forUnmarshaling->pNext = extType;
11134 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11135 }
11136 vkStream->read((VkPrivateDataSlotCreateFlags*)&forUnmarshaling->flags,
11137 sizeof(VkPrivateDataSlotCreateFlags));
11138 }
11139
marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * forMarshaling)11140 void marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
11141 VulkanStream* vkStream, VkStructureType rootType,
11142 const VkPhysicalDevicePipelineCreationCacheControlFeatures* forMarshaling) {
11143 (void)rootType;
11144 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11145 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11146 rootType = forMarshaling->sType;
11147 }
11148 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11149 vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
11150 }
11151
unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePipelineCreationCacheControlFeatures * forUnmarshaling)11152 void unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
11153 VulkanStream* vkStream, VkStructureType rootType,
11154 VkPhysicalDevicePipelineCreationCacheControlFeatures* forUnmarshaling) {
11155 (void)rootType;
11156 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11157 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11158 rootType = forUnmarshaling->sType;
11159 }
11160 size_t pNext_size;
11161 pNext_size = vkStream->getBe32();
11162 forUnmarshaling->pNext = nullptr;
11163 if (pNext_size) {
11164 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11165 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11166 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11167 vkStream->alloc((void**)&forUnmarshaling->pNext,
11168 goldfish_vk_extension_struct_size_with_stream_features(
11169 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11170 *(VkStructureType*)forUnmarshaling->pNext = extType;
11171 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11172 }
11173 vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
11174 }
11175
marshal_VkMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryBarrier2 * forMarshaling)11176 void marshal_VkMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11177 const VkMemoryBarrier2* forMarshaling) {
11178 (void)rootType;
11179 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11180 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11181 rootType = forMarshaling->sType;
11182 }
11183 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11184 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
11185 sizeof(VkPipelineStageFlags2));
11186 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11187 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
11188 sizeof(VkPipelineStageFlags2));
11189 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11190 }
11191
unmarshal_VkMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,VkMemoryBarrier2 * forUnmarshaling)11192 void unmarshal_VkMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11193 VkMemoryBarrier2* forUnmarshaling) {
11194 (void)rootType;
11195 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11196 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11197 rootType = forUnmarshaling->sType;
11198 }
11199 size_t pNext_size;
11200 pNext_size = vkStream->getBe32();
11201 forUnmarshaling->pNext = nullptr;
11202 if (pNext_size) {
11203 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11204 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11205 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11206 vkStream->alloc((void**)&forUnmarshaling->pNext,
11207 goldfish_vk_extension_struct_size_with_stream_features(
11208 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11209 *(VkStructureType*)forUnmarshaling->pNext = extType;
11210 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11211 }
11212 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
11213 sizeof(VkPipelineStageFlags2));
11214 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11215 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
11216 sizeof(VkPipelineStageFlags2));
11217 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11218 }
11219
marshal_VkBufferMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier2 * forMarshaling)11220 void marshal_VkBufferMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11221 const VkBufferMemoryBarrier2* forMarshaling) {
11222 (void)rootType;
11223 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11224 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11225 rootType = forMarshaling->sType;
11226 }
11227 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11228 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
11229 sizeof(VkPipelineStageFlags2));
11230 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11231 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
11232 sizeof(VkPipelineStageFlags2));
11233 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11234 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
11235 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
11236 uint64_t cgen_var_0;
11237 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
11238 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11239 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
11240 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
11241 }
11242
unmarshal_VkBufferMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,VkBufferMemoryBarrier2 * forUnmarshaling)11243 void unmarshal_VkBufferMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11244 VkBufferMemoryBarrier2* forUnmarshaling) {
11245 (void)rootType;
11246 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11247 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11248 rootType = forUnmarshaling->sType;
11249 }
11250 size_t pNext_size;
11251 pNext_size = vkStream->getBe32();
11252 forUnmarshaling->pNext = nullptr;
11253 if (pNext_size) {
11254 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11255 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11256 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11257 vkStream->alloc((void**)&forUnmarshaling->pNext,
11258 goldfish_vk_extension_struct_size_with_stream_features(
11259 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11260 *(VkStructureType*)forUnmarshaling->pNext = extType;
11261 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11262 }
11263 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
11264 sizeof(VkPipelineStageFlags2));
11265 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11266 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
11267 sizeof(VkPipelineStageFlags2));
11268 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11269 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
11270 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
11271 uint64_t cgen_var_0;
11272 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11273 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
11274 (VkBuffer*)&forUnmarshaling->buffer, 1);
11275 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
11276 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
11277 }
11278
marshal_VkImageMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,const VkImageMemoryBarrier2 * forMarshaling)11279 void marshal_VkImageMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11280 const VkImageMemoryBarrier2* forMarshaling) {
11281 (void)rootType;
11282 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11283 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11284 rootType = forMarshaling->sType;
11285 }
11286 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11287 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
11288 sizeof(VkPipelineStageFlags2));
11289 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11290 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
11291 sizeof(VkPipelineStageFlags2));
11292 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11293 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
11294 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
11295 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
11296 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
11297 uint64_t cgen_var_0;
11298 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
11299 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11300 marshal_VkImageSubresourceRange(vkStream, rootType,
11301 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
11302 }
11303
unmarshal_VkImageMemoryBarrier2(VulkanStream * vkStream,VkStructureType rootType,VkImageMemoryBarrier2 * forUnmarshaling)11304 void unmarshal_VkImageMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
11305 VkImageMemoryBarrier2* forUnmarshaling) {
11306 (void)rootType;
11307 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11308 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11309 rootType = forUnmarshaling->sType;
11310 }
11311 size_t pNext_size;
11312 pNext_size = vkStream->getBe32();
11313 forUnmarshaling->pNext = nullptr;
11314 if (pNext_size) {
11315 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11316 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11317 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11318 vkStream->alloc((void**)&forUnmarshaling->pNext,
11319 goldfish_vk_extension_struct_size_with_stream_features(
11320 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11321 *(VkStructureType*)forUnmarshaling->pNext = extType;
11322 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11323 }
11324 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
11325 sizeof(VkPipelineStageFlags2));
11326 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
11327 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
11328 sizeof(VkPipelineStageFlags2));
11329 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
11330 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
11331 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
11332 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
11333 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
11334 uint64_t cgen_var_0;
11335 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11336 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
11337 (VkImage*)&forUnmarshaling->image, 1);
11338 unmarshal_VkImageSubresourceRange(
11339 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
11340 }
11341
marshal_VkDependencyInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDependencyInfo * forMarshaling)11342 void marshal_VkDependencyInfo(VulkanStream* vkStream, VkStructureType rootType,
11343 const VkDependencyInfo* forMarshaling) {
11344 (void)rootType;
11345 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11346 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11347 rootType = forMarshaling->sType;
11348 }
11349 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11350 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
11351 vkStream->write((uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t));
11352 if (forMarshaling) {
11353 for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) {
11354 marshal_VkMemoryBarrier2(vkStream, rootType,
11355 (const VkMemoryBarrier2*)(forMarshaling->pMemoryBarriers + i));
11356 }
11357 }
11358 vkStream->write((uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
11359 if (forMarshaling) {
11360 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) {
11361 marshal_VkBufferMemoryBarrier2(
11362 vkStream, rootType,
11363 (const VkBufferMemoryBarrier2*)(forMarshaling->pBufferMemoryBarriers + i));
11364 }
11365 }
11366 vkStream->write((uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
11367 if (forMarshaling) {
11368 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) {
11369 marshal_VkImageMemoryBarrier2(
11370 vkStream, rootType,
11371 (const VkImageMemoryBarrier2*)(forMarshaling->pImageMemoryBarriers + i));
11372 }
11373 }
11374 }
11375
unmarshal_VkDependencyInfo(VulkanStream * vkStream,VkStructureType rootType,VkDependencyInfo * forUnmarshaling)11376 void unmarshal_VkDependencyInfo(VulkanStream* vkStream, VkStructureType rootType,
11377 VkDependencyInfo* forUnmarshaling) {
11378 (void)rootType;
11379 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11380 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11381 rootType = forUnmarshaling->sType;
11382 }
11383 size_t pNext_size;
11384 pNext_size = vkStream->getBe32();
11385 forUnmarshaling->pNext = nullptr;
11386 if (pNext_size) {
11387 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11388 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11389 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11390 vkStream->alloc((void**)&forUnmarshaling->pNext,
11391 goldfish_vk_extension_struct_size_with_stream_features(
11392 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11393 *(VkStructureType*)forUnmarshaling->pNext = extType;
11394 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11395 }
11396 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
11397 sizeof(VkDependencyFlags));
11398 vkStream->read((uint32_t*)&forUnmarshaling->memoryBarrierCount, sizeof(uint32_t));
11399 vkStream->alloc((void**)&forUnmarshaling->pMemoryBarriers,
11400 forUnmarshaling->memoryBarrierCount * sizeof(const VkMemoryBarrier2));
11401 if (forUnmarshaling) {
11402 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->memoryBarrierCount; ++i) {
11403 unmarshal_VkMemoryBarrier2(vkStream, rootType,
11404 (VkMemoryBarrier2*)(forUnmarshaling->pMemoryBarriers + i));
11405 }
11406 }
11407 vkStream->read((uint32_t*)&forUnmarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
11408 vkStream->alloc(
11409 (void**)&forUnmarshaling->pBufferMemoryBarriers,
11410 forUnmarshaling->bufferMemoryBarrierCount * sizeof(const VkBufferMemoryBarrier2));
11411 if (forUnmarshaling) {
11412 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferMemoryBarrierCount; ++i) {
11413 unmarshal_VkBufferMemoryBarrier2(
11414 vkStream, rootType,
11415 (VkBufferMemoryBarrier2*)(forUnmarshaling->pBufferMemoryBarriers + i));
11416 }
11417 }
11418 vkStream->read((uint32_t*)&forUnmarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
11419 vkStream->alloc((void**)&forUnmarshaling->pImageMemoryBarriers,
11420 forUnmarshaling->imageMemoryBarrierCount * sizeof(const VkImageMemoryBarrier2));
11421 if (forUnmarshaling) {
11422 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageMemoryBarrierCount; ++i) {
11423 unmarshal_VkImageMemoryBarrier2(
11424 vkStream, rootType,
11425 (VkImageMemoryBarrier2*)(forUnmarshaling->pImageMemoryBarriers + i));
11426 }
11427 }
11428 }
11429
marshal_VkSemaphoreSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreSubmitInfo * forMarshaling)11430 void marshal_VkSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
11431 const VkSemaphoreSubmitInfo* forMarshaling) {
11432 (void)rootType;
11433 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11434 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11435 rootType = forMarshaling->sType;
11436 }
11437 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11438 uint64_t cgen_var_0;
11439 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
11440 1);
11441 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11442 vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t));
11443 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stageMask,
11444 sizeof(VkPipelineStageFlags2));
11445 vkStream->write((uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t));
11446 }
11447
unmarshal_VkSemaphoreSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreSubmitInfo * forUnmarshaling)11448 void unmarshal_VkSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
11449 VkSemaphoreSubmitInfo* forUnmarshaling) {
11450 (void)rootType;
11451 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11452 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11453 rootType = forUnmarshaling->sType;
11454 }
11455 size_t pNext_size;
11456 pNext_size = vkStream->getBe32();
11457 forUnmarshaling->pNext = nullptr;
11458 if (pNext_size) {
11459 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11460 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11461 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11462 vkStream->alloc((void**)&forUnmarshaling->pNext,
11463 goldfish_vk_extension_struct_size_with_stream_features(
11464 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11465 *(VkStructureType*)forUnmarshaling->pNext = extType;
11466 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11467 }
11468 uint64_t cgen_var_0;
11469 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11470 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
11471 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
11472 vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t));
11473 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stageMask,
11474 sizeof(VkPipelineStageFlags2));
11475 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndex, sizeof(uint32_t));
11476 }
11477
marshal_VkCommandBufferSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandBufferSubmitInfo * forMarshaling)11478 void marshal_VkCommandBufferSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
11479 const VkCommandBufferSubmitInfo* forMarshaling) {
11480 (void)rootType;
11481 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11482 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11483 rootType = forMarshaling->sType;
11484 }
11485 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11486 uint64_t cgen_var_0;
11487 vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->commandBuffer,
11488 &cgen_var_0, 1);
11489 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11490 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
11491 }
11492
unmarshal_VkCommandBufferSubmitInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandBufferSubmitInfo * forUnmarshaling)11493 void unmarshal_VkCommandBufferSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
11494 VkCommandBufferSubmitInfo* forUnmarshaling) {
11495 (void)rootType;
11496 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11497 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11498 rootType = forUnmarshaling->sType;
11499 }
11500 size_t pNext_size;
11501 pNext_size = vkStream->getBe32();
11502 forUnmarshaling->pNext = nullptr;
11503 if (pNext_size) {
11504 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11505 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11506 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11507 vkStream->alloc((void**)&forUnmarshaling->pNext,
11508 goldfish_vk_extension_struct_size_with_stream_features(
11509 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11510 *(VkStructureType*)forUnmarshaling->pNext = extType;
11511 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11512 }
11513 uint64_t cgen_var_0;
11514 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11515 vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(
11516 &cgen_var_0, (VkCommandBuffer*)&forUnmarshaling->commandBuffer, 1);
11517 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
11518 }
11519
marshal_VkSubmitInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkSubmitInfo2 * forMarshaling)11520 void marshal_VkSubmitInfo2(VulkanStream* vkStream, VkStructureType rootType,
11521 const VkSubmitInfo2* forMarshaling) {
11522 (void)rootType;
11523 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11524 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11525 rootType = forMarshaling->sType;
11526 }
11527 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11528 vkStream->write((VkSubmitFlags*)&forMarshaling->flags, sizeof(VkSubmitFlags));
11529 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
11530 if (forMarshaling) {
11531 for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) {
11532 marshal_VkSemaphoreSubmitInfo(
11533 vkStream, rootType,
11534 (const VkSemaphoreSubmitInfo*)(forMarshaling->pWaitSemaphoreInfos + i));
11535 }
11536 }
11537 vkStream->write((uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t));
11538 if (forMarshaling) {
11539 for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) {
11540 marshal_VkCommandBufferSubmitInfo(
11541 vkStream, rootType,
11542 (const VkCommandBufferSubmitInfo*)(forMarshaling->pCommandBufferInfos + i));
11543 }
11544 }
11545 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
11546 if (forMarshaling) {
11547 for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) {
11548 marshal_VkSemaphoreSubmitInfo(
11549 vkStream, rootType,
11550 (const VkSemaphoreSubmitInfo*)(forMarshaling->pSignalSemaphoreInfos + i));
11551 }
11552 }
11553 }
11554
unmarshal_VkSubmitInfo2(VulkanStream * vkStream,VkStructureType rootType,VkSubmitInfo2 * forUnmarshaling)11555 void unmarshal_VkSubmitInfo2(VulkanStream* vkStream, VkStructureType rootType,
11556 VkSubmitInfo2* forUnmarshaling) {
11557 (void)rootType;
11558 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11559 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11560 rootType = forUnmarshaling->sType;
11561 }
11562 size_t pNext_size;
11563 pNext_size = vkStream->getBe32();
11564 forUnmarshaling->pNext = nullptr;
11565 if (pNext_size) {
11566 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11567 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11568 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11569 vkStream->alloc((void**)&forUnmarshaling->pNext,
11570 goldfish_vk_extension_struct_size_with_stream_features(
11571 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11572 *(VkStructureType*)forUnmarshaling->pNext = extType;
11573 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11574 }
11575 vkStream->read((VkSubmitFlags*)&forUnmarshaling->flags, sizeof(VkSubmitFlags));
11576 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
11577 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreInfos,
11578 forUnmarshaling->waitSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo));
11579 if (forUnmarshaling) {
11580 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->waitSemaphoreInfoCount; ++i) {
11581 unmarshal_VkSemaphoreSubmitInfo(
11582 vkStream, rootType,
11583 (VkSemaphoreSubmitInfo*)(forUnmarshaling->pWaitSemaphoreInfos + i));
11584 }
11585 }
11586 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferInfoCount, sizeof(uint32_t));
11587 vkStream->alloc(
11588 (void**)&forUnmarshaling->pCommandBufferInfos,
11589 forUnmarshaling->commandBufferInfoCount * sizeof(const VkCommandBufferSubmitInfo));
11590 if (forUnmarshaling) {
11591 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->commandBufferInfoCount; ++i) {
11592 unmarshal_VkCommandBufferSubmitInfo(
11593 vkStream, rootType,
11594 (VkCommandBufferSubmitInfo*)(forUnmarshaling->pCommandBufferInfos + i));
11595 }
11596 }
11597 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
11598 vkStream->alloc(
11599 (void**)&forUnmarshaling->pSignalSemaphoreInfos,
11600 forUnmarshaling->signalSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo));
11601 if (forUnmarshaling) {
11602 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->signalSemaphoreInfoCount; ++i) {
11603 unmarshal_VkSemaphoreSubmitInfo(
11604 vkStream, rootType,
11605 (VkSemaphoreSubmitInfo*)(forUnmarshaling->pSignalSemaphoreInfos + i));
11606 }
11607 }
11608 }
11609
marshal_VkPhysicalDeviceSynchronization2Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * forMarshaling)11610 void marshal_VkPhysicalDeviceSynchronization2Features(
11611 VulkanStream* vkStream, VkStructureType rootType,
11612 const VkPhysicalDeviceSynchronization2Features* forMarshaling) {
11613 (void)rootType;
11614 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11615 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11616 rootType = forMarshaling->sType;
11617 }
11618 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11619 vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
11620 }
11621
unmarshal_VkPhysicalDeviceSynchronization2Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSynchronization2Features * forUnmarshaling)11622 void unmarshal_VkPhysicalDeviceSynchronization2Features(
11623 VulkanStream* vkStream, VkStructureType rootType,
11624 VkPhysicalDeviceSynchronization2Features* forUnmarshaling) {
11625 (void)rootType;
11626 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11627 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11628 rootType = forUnmarshaling->sType;
11629 }
11630 size_t pNext_size;
11631 pNext_size = vkStream->getBe32();
11632 forUnmarshaling->pNext = nullptr;
11633 if (pNext_size) {
11634 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11635 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11636 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11637 vkStream->alloc((void**)&forUnmarshaling->pNext,
11638 goldfish_vk_extension_struct_size_with_stream_features(
11639 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11640 *(VkStructureType*)forUnmarshaling->pNext = extType;
11641 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11642 }
11643 vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32));
11644 }
11645
marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forMarshaling)11646 void marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
11647 VulkanStream* vkStream, VkStructureType rootType,
11648 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forMarshaling) {
11649 (void)rootType;
11650 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11651 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11652 rootType = forMarshaling->sType;
11653 }
11654 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11655 vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory,
11656 sizeof(VkBool32));
11657 }
11658
unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forUnmarshaling)11659 void unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
11660 VulkanStream* vkStream, VkStructureType rootType,
11661 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forUnmarshaling) {
11662 (void)rootType;
11663 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11664 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11665 rootType = forUnmarshaling->sType;
11666 }
11667 size_t pNext_size;
11668 pNext_size = vkStream->getBe32();
11669 forUnmarshaling->pNext = nullptr;
11670 if (pNext_size) {
11671 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11672 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11673 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11674 vkStream->alloc((void**)&forUnmarshaling->pNext,
11675 goldfish_vk_extension_struct_size_with_stream_features(
11676 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11677 *(VkStructureType*)forUnmarshaling->pNext = extType;
11678 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11679 }
11680 vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory,
11681 sizeof(VkBool32));
11682 }
11683
marshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * forMarshaling)11684 void marshal_VkPhysicalDeviceImageRobustnessFeatures(
11685 VulkanStream* vkStream, VkStructureType rootType,
11686 const VkPhysicalDeviceImageRobustnessFeatures* forMarshaling) {
11687 (void)rootType;
11688 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11689 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11690 rootType = forMarshaling->sType;
11691 }
11692 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11693 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
11694 }
11695
unmarshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImageRobustnessFeatures * forUnmarshaling)11696 void unmarshal_VkPhysicalDeviceImageRobustnessFeatures(
11697 VulkanStream* vkStream, VkStructureType rootType,
11698 VkPhysicalDeviceImageRobustnessFeatures* forUnmarshaling) {
11699 (void)rootType;
11700 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11701 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11702 rootType = forUnmarshaling->sType;
11703 }
11704 size_t pNext_size;
11705 pNext_size = vkStream->getBe32();
11706 forUnmarshaling->pNext = nullptr;
11707 if (pNext_size) {
11708 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11709 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11710 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11711 vkStream->alloc((void**)&forUnmarshaling->pNext,
11712 goldfish_vk_extension_struct_size_with_stream_features(
11713 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11714 *(VkStructureType*)forUnmarshaling->pNext = extType;
11715 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11716 }
11717 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32));
11718 }
11719
marshal_VkBufferCopy2(VulkanStream * vkStream,VkStructureType rootType,const VkBufferCopy2 * forMarshaling)11720 void marshal_VkBufferCopy2(VulkanStream* vkStream, VkStructureType rootType,
11721 const VkBufferCopy2* forMarshaling) {
11722 (void)rootType;
11723 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11724 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11725 rootType = forMarshaling->sType;
11726 }
11727 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11728 vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
11729 vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
11730 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
11731 }
11732
unmarshal_VkBufferCopy2(VulkanStream * vkStream,VkStructureType rootType,VkBufferCopy2 * forUnmarshaling)11733 void unmarshal_VkBufferCopy2(VulkanStream* vkStream, VkStructureType rootType,
11734 VkBufferCopy2* forUnmarshaling) {
11735 (void)rootType;
11736 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11737 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11738 rootType = forUnmarshaling->sType;
11739 }
11740 size_t pNext_size;
11741 pNext_size = vkStream->getBe32();
11742 forUnmarshaling->pNext = nullptr;
11743 if (pNext_size) {
11744 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11745 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11746 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11747 vkStream->alloc((void**)&forUnmarshaling->pNext,
11748 goldfish_vk_extension_struct_size_with_stream_features(
11749 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11750 *(VkStructureType*)forUnmarshaling->pNext = extType;
11751 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11752 }
11753 vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
11754 vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
11755 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
11756 }
11757
marshal_VkCopyBufferInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkCopyBufferInfo2 * forMarshaling)11758 void marshal_VkCopyBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
11759 const VkCopyBufferInfo2* forMarshaling) {
11760 (void)rootType;
11761 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11762 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11763 rootType = forMarshaling->sType;
11764 }
11765 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11766 uint64_t cgen_var_0;
11767 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1);
11768 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11769 uint64_t cgen_var_1;
11770 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1);
11771 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
11772 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
11773 if (forMarshaling) {
11774 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
11775 marshal_VkBufferCopy2(vkStream, rootType,
11776 (const VkBufferCopy2*)(forMarshaling->pRegions + i));
11777 }
11778 }
11779 }
11780
unmarshal_VkCopyBufferInfo2(VulkanStream * vkStream,VkStructureType rootType,VkCopyBufferInfo2 * forUnmarshaling)11781 void unmarshal_VkCopyBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
11782 VkCopyBufferInfo2* forUnmarshaling) {
11783 (void)rootType;
11784 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11785 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11786 rootType = forUnmarshaling->sType;
11787 }
11788 size_t pNext_size;
11789 pNext_size = vkStream->getBe32();
11790 forUnmarshaling->pNext = nullptr;
11791 if (pNext_size) {
11792 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11793 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11794 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11795 vkStream->alloc((void**)&forUnmarshaling->pNext,
11796 goldfish_vk_extension_struct_size_with_stream_features(
11797 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11798 *(VkStructureType*)forUnmarshaling->pNext = extType;
11799 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11800 }
11801 uint64_t cgen_var_0;
11802 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11803 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
11804 (VkBuffer*)&forUnmarshaling->srcBuffer, 1);
11805 uint64_t cgen_var_1;
11806 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
11807 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
11808 (VkBuffer*)&forUnmarshaling->dstBuffer, 1);
11809 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
11810 vkStream->alloc((void**)&forUnmarshaling->pRegions,
11811 forUnmarshaling->regionCount * sizeof(const VkBufferCopy2));
11812 if (forUnmarshaling) {
11813 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
11814 unmarshal_VkBufferCopy2(vkStream, rootType,
11815 (VkBufferCopy2*)(forUnmarshaling->pRegions + i));
11816 }
11817 }
11818 }
11819
marshal_VkImageCopy2(VulkanStream * vkStream,VkStructureType rootType,const VkImageCopy2 * forMarshaling)11820 void marshal_VkImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
11821 const VkImageCopy2* forMarshaling) {
11822 (void)rootType;
11823 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11824 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11825 rootType = forMarshaling->sType;
11826 }
11827 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11828 marshal_VkImageSubresourceLayers(vkStream, rootType,
11829 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
11830 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
11831 marshal_VkImageSubresourceLayers(vkStream, rootType,
11832 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
11833 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
11834 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
11835 }
11836
unmarshal_VkImageCopy2(VulkanStream * vkStream,VkStructureType rootType,VkImageCopy2 * forUnmarshaling)11837 void unmarshal_VkImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
11838 VkImageCopy2* forUnmarshaling) {
11839 (void)rootType;
11840 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11841 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11842 rootType = forUnmarshaling->sType;
11843 }
11844 size_t pNext_size;
11845 pNext_size = vkStream->getBe32();
11846 forUnmarshaling->pNext = nullptr;
11847 if (pNext_size) {
11848 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11849 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11850 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11851 vkStream->alloc((void**)&forUnmarshaling->pNext,
11852 goldfish_vk_extension_struct_size_with_stream_features(
11853 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11854 *(VkStructureType*)forUnmarshaling->pNext = extType;
11855 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11856 }
11857 unmarshal_VkImageSubresourceLayers(
11858 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
11859 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
11860 unmarshal_VkImageSubresourceLayers(
11861 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
11862 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
11863 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
11864 }
11865
marshal_VkCopyImageInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkCopyImageInfo2 * forMarshaling)11866 void marshal_VkCopyImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
11867 const VkCopyImageInfo2* forMarshaling) {
11868 (void)rootType;
11869 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11870 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11871 rootType = forMarshaling->sType;
11872 }
11873 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11874 uint64_t cgen_var_0;
11875 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
11876 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11877 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
11878 uint64_t cgen_var_1;
11879 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
11880 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
11881 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
11882 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
11883 if (forMarshaling) {
11884 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
11885 marshal_VkImageCopy2(vkStream, rootType,
11886 (const VkImageCopy2*)(forMarshaling->pRegions + i));
11887 }
11888 }
11889 }
11890
unmarshal_VkCopyImageInfo2(VulkanStream * vkStream,VkStructureType rootType,VkCopyImageInfo2 * forUnmarshaling)11891 void unmarshal_VkCopyImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
11892 VkCopyImageInfo2* forUnmarshaling) {
11893 (void)rootType;
11894 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11895 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11896 rootType = forUnmarshaling->sType;
11897 }
11898 size_t pNext_size;
11899 pNext_size = vkStream->getBe32();
11900 forUnmarshaling->pNext = nullptr;
11901 if (pNext_size) {
11902 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11903 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11904 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11905 vkStream->alloc((void**)&forUnmarshaling->pNext,
11906 goldfish_vk_extension_struct_size_with_stream_features(
11907 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11908 *(VkStructureType*)forUnmarshaling->pNext = extType;
11909 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11910 }
11911 uint64_t cgen_var_0;
11912 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11913 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
11914 (VkImage*)&forUnmarshaling->srcImage, 1);
11915 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
11916 uint64_t cgen_var_1;
11917 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
11918 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
11919 (VkImage*)&forUnmarshaling->dstImage, 1);
11920 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
11921 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
11922 vkStream->alloc((void**)&forUnmarshaling->pRegions,
11923 forUnmarshaling->regionCount * sizeof(const VkImageCopy2));
11924 if (forUnmarshaling) {
11925 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
11926 unmarshal_VkImageCopy2(vkStream, rootType,
11927 (VkImageCopy2*)(forUnmarshaling->pRegions + i));
11928 }
11929 }
11930 }
11931
marshal_VkBufferImageCopy2(VulkanStream * vkStream,VkStructureType rootType,const VkBufferImageCopy2 * forMarshaling)11932 void marshal_VkBufferImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
11933 const VkBufferImageCopy2* forMarshaling) {
11934 (void)rootType;
11935 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11936 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11937 rootType = forMarshaling->sType;
11938 }
11939 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11940 vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
11941 vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
11942 vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
11943 marshal_VkImageSubresourceLayers(vkStream, rootType,
11944 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
11945 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
11946 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
11947 }
11948
unmarshal_VkBufferImageCopy2(VulkanStream * vkStream,VkStructureType rootType,VkBufferImageCopy2 * forUnmarshaling)11949 void unmarshal_VkBufferImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
11950 VkBufferImageCopy2* forUnmarshaling) {
11951 (void)rootType;
11952 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11953 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11954 rootType = forUnmarshaling->sType;
11955 }
11956 size_t pNext_size;
11957 pNext_size = vkStream->getBe32();
11958 forUnmarshaling->pNext = nullptr;
11959 if (pNext_size) {
11960 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
11961 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
11962 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
11963 vkStream->alloc((void**)&forUnmarshaling->pNext,
11964 goldfish_vk_extension_struct_size_with_stream_features(
11965 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
11966 *(VkStructureType*)forUnmarshaling->pNext = extType;
11967 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11968 }
11969 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize));
11970 vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t));
11971 vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t));
11972 unmarshal_VkImageSubresourceLayers(
11973 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
11974 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
11975 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
11976 }
11977
marshal_VkCopyBufferToImageInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkCopyBufferToImageInfo2 * forMarshaling)11978 void marshal_VkCopyBufferToImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
11979 const VkCopyBufferToImageInfo2* forMarshaling) {
11980 (void)rootType;
11981 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11982 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11983 rootType = forMarshaling->sType;
11984 }
11985 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11986 uint64_t cgen_var_0;
11987 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1);
11988 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11989 uint64_t cgen_var_1;
11990 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
11991 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
11992 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
11993 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
11994 if (forMarshaling) {
11995 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
11996 marshal_VkBufferImageCopy2(vkStream, rootType,
11997 (const VkBufferImageCopy2*)(forMarshaling->pRegions + i));
11998 }
11999 }
12000 }
12001
unmarshal_VkCopyBufferToImageInfo2(VulkanStream * vkStream,VkStructureType rootType,VkCopyBufferToImageInfo2 * forUnmarshaling)12002 void unmarshal_VkCopyBufferToImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
12003 VkCopyBufferToImageInfo2* forUnmarshaling) {
12004 (void)rootType;
12005 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12006 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12007 rootType = forUnmarshaling->sType;
12008 }
12009 size_t pNext_size;
12010 pNext_size = vkStream->getBe32();
12011 forUnmarshaling->pNext = nullptr;
12012 if (pNext_size) {
12013 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12014 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12015 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12016 vkStream->alloc((void**)&forUnmarshaling->pNext,
12017 goldfish_vk_extension_struct_size_with_stream_features(
12018 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12019 *(VkStructureType*)forUnmarshaling->pNext = extType;
12020 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12021 }
12022 uint64_t cgen_var_0;
12023 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12024 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
12025 (VkBuffer*)&forUnmarshaling->srcBuffer, 1);
12026 uint64_t cgen_var_1;
12027 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12028 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
12029 (VkImage*)&forUnmarshaling->dstImage, 1);
12030 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
12031 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12032 vkStream->alloc((void**)&forUnmarshaling->pRegions,
12033 forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2));
12034 if (forUnmarshaling) {
12035 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12036 unmarshal_VkBufferImageCopy2(vkStream, rootType,
12037 (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i));
12038 }
12039 }
12040 }
12041
marshal_VkCopyImageToBufferInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkCopyImageToBufferInfo2 * forMarshaling)12042 void marshal_VkCopyImageToBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
12043 const VkCopyImageToBufferInfo2* forMarshaling) {
12044 (void)rootType;
12045 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12046 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12047 rootType = forMarshaling->sType;
12048 }
12049 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12050 uint64_t cgen_var_0;
12051 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
12052 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12053 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
12054 uint64_t cgen_var_1;
12055 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1);
12056 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
12057 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12058 if (forMarshaling) {
12059 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12060 marshal_VkBufferImageCopy2(vkStream, rootType,
12061 (const VkBufferImageCopy2*)(forMarshaling->pRegions + i));
12062 }
12063 }
12064 }
12065
unmarshal_VkCopyImageToBufferInfo2(VulkanStream * vkStream,VkStructureType rootType,VkCopyImageToBufferInfo2 * forUnmarshaling)12066 void unmarshal_VkCopyImageToBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
12067 VkCopyImageToBufferInfo2* forUnmarshaling) {
12068 (void)rootType;
12069 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12070 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12071 rootType = forUnmarshaling->sType;
12072 }
12073 size_t pNext_size;
12074 pNext_size = vkStream->getBe32();
12075 forUnmarshaling->pNext = nullptr;
12076 if (pNext_size) {
12077 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12078 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12079 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12080 vkStream->alloc((void**)&forUnmarshaling->pNext,
12081 goldfish_vk_extension_struct_size_with_stream_features(
12082 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12083 *(VkStructureType*)forUnmarshaling->pNext = extType;
12084 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12085 }
12086 uint64_t cgen_var_0;
12087 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12088 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12089 (VkImage*)&forUnmarshaling->srcImage, 1);
12090 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
12091 uint64_t cgen_var_1;
12092 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12093 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
12094 (VkBuffer*)&forUnmarshaling->dstBuffer, 1);
12095 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12096 vkStream->alloc((void**)&forUnmarshaling->pRegions,
12097 forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2));
12098 if (forUnmarshaling) {
12099 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12100 unmarshal_VkBufferImageCopy2(vkStream, rootType,
12101 (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i));
12102 }
12103 }
12104 }
12105
marshal_VkImageBlit2(VulkanStream * vkStream,VkStructureType rootType,const VkImageBlit2 * forMarshaling)12106 void marshal_VkImageBlit2(VulkanStream* vkStream, VkStructureType rootType,
12107 const VkImageBlit2* forMarshaling) {
12108 (void)rootType;
12109 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12110 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12111 rootType = forMarshaling->sType;
12112 }
12113 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12114 marshal_VkImageSubresourceLayers(vkStream, rootType,
12115 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
12116 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
12117 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i));
12118 }
12119 marshal_VkImageSubresourceLayers(vkStream, rootType,
12120 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
12121 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
12122 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i));
12123 }
12124 }
12125
unmarshal_VkImageBlit2(VulkanStream * vkStream,VkStructureType rootType,VkImageBlit2 * forUnmarshaling)12126 void unmarshal_VkImageBlit2(VulkanStream* vkStream, VkStructureType rootType,
12127 VkImageBlit2* forUnmarshaling) {
12128 (void)rootType;
12129 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12130 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12131 rootType = forUnmarshaling->sType;
12132 }
12133 size_t pNext_size;
12134 pNext_size = vkStream->getBe32();
12135 forUnmarshaling->pNext = nullptr;
12136 if (pNext_size) {
12137 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12138 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12139 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12140 vkStream->alloc((void**)&forUnmarshaling->pNext,
12141 goldfish_vk_extension_struct_size_with_stream_features(
12142 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12143 *(VkStructureType*)forUnmarshaling->pNext = extType;
12144 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12145 }
12146 unmarshal_VkImageSubresourceLayers(
12147 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
12148 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
12149 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i));
12150 }
12151 unmarshal_VkImageSubresourceLayers(
12152 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
12153 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
12154 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i));
12155 }
12156 }
12157
marshal_VkBlitImageInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkBlitImageInfo2 * forMarshaling)12158 void marshal_VkBlitImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
12159 const VkBlitImageInfo2* forMarshaling) {
12160 (void)rootType;
12161 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12162 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12163 rootType = forMarshaling->sType;
12164 }
12165 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12166 uint64_t cgen_var_0;
12167 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
12168 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12169 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
12170 uint64_t cgen_var_1;
12171 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
12172 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
12173 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
12174 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12175 if (forMarshaling) {
12176 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12177 marshal_VkImageBlit2(vkStream, rootType,
12178 (const VkImageBlit2*)(forMarshaling->pRegions + i));
12179 }
12180 }
12181 vkStream->write((VkFilter*)&forMarshaling->filter, sizeof(VkFilter));
12182 }
12183
unmarshal_VkBlitImageInfo2(VulkanStream * vkStream,VkStructureType rootType,VkBlitImageInfo2 * forUnmarshaling)12184 void unmarshal_VkBlitImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
12185 VkBlitImageInfo2* forUnmarshaling) {
12186 (void)rootType;
12187 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12188 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12189 rootType = forUnmarshaling->sType;
12190 }
12191 size_t pNext_size;
12192 pNext_size = vkStream->getBe32();
12193 forUnmarshaling->pNext = nullptr;
12194 if (pNext_size) {
12195 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12196 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12197 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12198 vkStream->alloc((void**)&forUnmarshaling->pNext,
12199 goldfish_vk_extension_struct_size_with_stream_features(
12200 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12201 *(VkStructureType*)forUnmarshaling->pNext = extType;
12202 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12203 }
12204 uint64_t cgen_var_0;
12205 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12206 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12207 (VkImage*)&forUnmarshaling->srcImage, 1);
12208 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
12209 uint64_t cgen_var_1;
12210 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12211 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
12212 (VkImage*)&forUnmarshaling->dstImage, 1);
12213 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
12214 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12215 vkStream->alloc((void**)&forUnmarshaling->pRegions,
12216 forUnmarshaling->regionCount * sizeof(const VkImageBlit2));
12217 if (forUnmarshaling) {
12218 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12219 unmarshal_VkImageBlit2(vkStream, rootType,
12220 (VkImageBlit2*)(forUnmarshaling->pRegions + i));
12221 }
12222 }
12223 vkStream->read((VkFilter*)&forUnmarshaling->filter, sizeof(VkFilter));
12224 }
12225
marshal_VkImageResolve2(VulkanStream * vkStream,VkStructureType rootType,const VkImageResolve2 * forMarshaling)12226 void marshal_VkImageResolve2(VulkanStream* vkStream, VkStructureType rootType,
12227 const VkImageResolve2* forMarshaling) {
12228 (void)rootType;
12229 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12230 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12231 rootType = forMarshaling->sType;
12232 }
12233 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12234 marshal_VkImageSubresourceLayers(vkStream, rootType,
12235 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
12236 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
12237 marshal_VkImageSubresourceLayers(vkStream, rootType,
12238 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
12239 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
12240 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
12241 }
12242
unmarshal_VkImageResolve2(VulkanStream * vkStream,VkStructureType rootType,VkImageResolve2 * forUnmarshaling)12243 void unmarshal_VkImageResolve2(VulkanStream* vkStream, VkStructureType rootType,
12244 VkImageResolve2* forUnmarshaling) {
12245 (void)rootType;
12246 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12247 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12248 rootType = forUnmarshaling->sType;
12249 }
12250 size_t pNext_size;
12251 pNext_size = vkStream->getBe32();
12252 forUnmarshaling->pNext = nullptr;
12253 if (pNext_size) {
12254 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12255 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12256 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12257 vkStream->alloc((void**)&forUnmarshaling->pNext,
12258 goldfish_vk_extension_struct_size_with_stream_features(
12259 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12260 *(VkStructureType*)forUnmarshaling->pNext = extType;
12261 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12262 }
12263 unmarshal_VkImageSubresourceLayers(
12264 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
12265 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
12266 unmarshal_VkImageSubresourceLayers(
12267 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
12268 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
12269 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
12270 }
12271
marshal_VkResolveImageInfo2(VulkanStream * vkStream,VkStructureType rootType,const VkResolveImageInfo2 * forMarshaling)12272 void marshal_VkResolveImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
12273 const VkResolveImageInfo2* forMarshaling) {
12274 (void)rootType;
12275 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12276 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12277 rootType = forMarshaling->sType;
12278 }
12279 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12280 uint64_t cgen_var_0;
12281 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
12282 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12283 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
12284 uint64_t cgen_var_1;
12285 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
12286 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
12287 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
12288 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12289 if (forMarshaling) {
12290 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12291 marshal_VkImageResolve2(vkStream, rootType,
12292 (const VkImageResolve2*)(forMarshaling->pRegions + i));
12293 }
12294 }
12295 }
12296
unmarshal_VkResolveImageInfo2(VulkanStream * vkStream,VkStructureType rootType,VkResolveImageInfo2 * forUnmarshaling)12297 void unmarshal_VkResolveImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
12298 VkResolveImageInfo2* forUnmarshaling) {
12299 (void)rootType;
12300 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12301 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12302 rootType = forUnmarshaling->sType;
12303 }
12304 size_t pNext_size;
12305 pNext_size = vkStream->getBe32();
12306 forUnmarshaling->pNext = nullptr;
12307 if (pNext_size) {
12308 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12309 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12310 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12311 vkStream->alloc((void**)&forUnmarshaling->pNext,
12312 goldfish_vk_extension_struct_size_with_stream_features(
12313 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12314 *(VkStructureType*)forUnmarshaling->pNext = extType;
12315 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12316 }
12317 uint64_t cgen_var_0;
12318 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12319 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12320 (VkImage*)&forUnmarshaling->srcImage, 1);
12321 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
12322 uint64_t cgen_var_1;
12323 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12324 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
12325 (VkImage*)&forUnmarshaling->dstImage, 1);
12326 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
12327 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12328 vkStream->alloc((void**)&forUnmarshaling->pRegions,
12329 forUnmarshaling->regionCount * sizeof(const VkImageResolve2));
12330 if (forUnmarshaling) {
12331 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12332 unmarshal_VkImageResolve2(vkStream, rootType,
12333 (VkImageResolve2*)(forUnmarshaling->pRegions + i));
12334 }
12335 }
12336 }
12337
marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * forMarshaling)12338 void marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
12339 VulkanStream* vkStream, VkStructureType rootType,
12340 const VkPhysicalDeviceSubgroupSizeControlFeatures* forMarshaling) {
12341 (void)rootType;
12342 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12343 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12344 rootType = forMarshaling->sType;
12345 }
12346 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12347 vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
12348 vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
12349 }
12350
unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupSizeControlFeatures * forUnmarshaling)12351 void unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
12352 VulkanStream* vkStream, VkStructureType rootType,
12353 VkPhysicalDeviceSubgroupSizeControlFeatures* forUnmarshaling) {
12354 (void)rootType;
12355 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12356 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12357 rootType = forUnmarshaling->sType;
12358 }
12359 size_t pNext_size;
12360 pNext_size = vkStream->getBe32();
12361 forUnmarshaling->pNext = nullptr;
12362 if (pNext_size) {
12363 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12364 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12365 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12366 vkStream->alloc((void**)&forUnmarshaling->pNext,
12367 goldfish_vk_extension_struct_size_with_stream_features(
12368 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12369 *(VkStructureType*)forUnmarshaling->pNext = extType;
12370 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12371 }
12372 vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32));
12373 vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32));
12374 }
12375
marshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * forMarshaling)12376 void marshal_VkPhysicalDeviceSubgroupSizeControlProperties(
12377 VulkanStream* vkStream, VkStructureType rootType,
12378 const VkPhysicalDeviceSubgroupSizeControlProperties* forMarshaling) {
12379 (void)rootType;
12380 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12381 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12382 rootType = forMarshaling->sType;
12383 }
12384 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12385 vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
12386 vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
12387 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
12388 vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
12389 sizeof(VkShaderStageFlags));
12390 }
12391
unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupSizeControlProperties * forUnmarshaling)12392 void unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
12393 VulkanStream* vkStream, VkStructureType rootType,
12394 VkPhysicalDeviceSubgroupSizeControlProperties* forUnmarshaling) {
12395 (void)rootType;
12396 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12397 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12398 rootType = forUnmarshaling->sType;
12399 }
12400 size_t pNext_size;
12401 pNext_size = vkStream->getBe32();
12402 forUnmarshaling->pNext = nullptr;
12403 if (pNext_size) {
12404 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12405 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12406 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12407 vkStream->alloc((void**)&forUnmarshaling->pNext,
12408 goldfish_vk_extension_struct_size_with_stream_features(
12409 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12410 *(VkStructureType*)forUnmarshaling->pNext = extType;
12411 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12412 }
12413 vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t));
12414 vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t));
12415 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
12416 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages,
12417 sizeof(VkShaderStageFlags));
12418 }
12419
marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forMarshaling)12420 void marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
12421 VulkanStream* vkStream, VkStructureType rootType,
12422 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forMarshaling) {
12423 (void)rootType;
12424 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12425 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12426 rootType = forMarshaling->sType;
12427 }
12428 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12429 vkStream->write((uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t));
12430 }
12431
unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forUnmarshaling)12432 void unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
12433 VulkanStream* vkStream, VkStructureType rootType,
12434 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forUnmarshaling) {
12435 (void)rootType;
12436 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12437 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12438 rootType = forUnmarshaling->sType;
12439 }
12440 size_t pNext_size;
12441 pNext_size = vkStream->getBe32();
12442 forUnmarshaling->pNext = nullptr;
12443 if (pNext_size) {
12444 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12445 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12446 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12447 vkStream->alloc((void**)&forUnmarshaling->pNext,
12448 goldfish_vk_extension_struct_size_with_stream_features(
12449 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12450 *(VkStructureType*)forUnmarshaling->pNext = extType;
12451 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12452 }
12453 vkStream->read((uint32_t*)&forUnmarshaling->requiredSubgroupSize, sizeof(uint32_t));
12454 }
12455
marshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * forMarshaling)12456 void marshal_VkPhysicalDeviceInlineUniformBlockFeatures(
12457 VulkanStream* vkStream, VkStructureType rootType,
12458 const VkPhysicalDeviceInlineUniformBlockFeatures* forMarshaling) {
12459 (void)rootType;
12460 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12461 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12462 rootType = forMarshaling->sType;
12463 }
12464 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12465 vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
12466 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
12467 sizeof(VkBool32));
12468 }
12469
unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceInlineUniformBlockFeatures * forUnmarshaling)12470 void unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
12471 VulkanStream* vkStream, VkStructureType rootType,
12472 VkPhysicalDeviceInlineUniformBlockFeatures* forUnmarshaling) {
12473 (void)rootType;
12474 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12475 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12476 rootType = forUnmarshaling->sType;
12477 }
12478 size_t pNext_size;
12479 pNext_size = vkStream->getBe32();
12480 forUnmarshaling->pNext = nullptr;
12481 if (pNext_size) {
12482 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12483 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12484 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12485 vkStream->alloc((void**)&forUnmarshaling->pNext,
12486 goldfish_vk_extension_struct_size_with_stream_features(
12487 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12488 *(VkStructureType*)forUnmarshaling->pNext = extType;
12489 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12490 }
12491 vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32));
12492 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
12493 sizeof(VkBool32));
12494 }
12495
marshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * forMarshaling)12496 void marshal_VkPhysicalDeviceInlineUniformBlockProperties(
12497 VulkanStream* vkStream, VkStructureType rootType,
12498 const VkPhysicalDeviceInlineUniformBlockProperties* forMarshaling) {
12499 (void)rootType;
12500 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12501 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12502 rootType = forMarshaling->sType;
12503 }
12504 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12505 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
12506 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
12507 sizeof(uint32_t));
12508 vkStream->write(
12509 (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
12510 sizeof(uint32_t));
12511 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks,
12512 sizeof(uint32_t));
12513 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
12514 sizeof(uint32_t));
12515 }
12516
unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceInlineUniformBlockProperties * forUnmarshaling)12517 void unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
12518 VulkanStream* vkStream, VkStructureType rootType,
12519 VkPhysicalDeviceInlineUniformBlockProperties* forUnmarshaling) {
12520 (void)rootType;
12521 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12522 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12523 rootType = forUnmarshaling->sType;
12524 }
12525 size_t pNext_size;
12526 pNext_size = vkStream->getBe32();
12527 forUnmarshaling->pNext = nullptr;
12528 if (pNext_size) {
12529 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12530 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12531 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12532 vkStream->alloc((void**)&forUnmarshaling->pNext,
12533 goldfish_vk_extension_struct_size_with_stream_features(
12534 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12535 *(VkStructureType*)forUnmarshaling->pNext = extType;
12536 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12537 }
12538 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
12539 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks,
12540 sizeof(uint32_t));
12541 vkStream->read(
12542 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
12543 sizeof(uint32_t));
12544 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks,
12545 sizeof(uint32_t));
12546 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
12547 sizeof(uint32_t));
12548 }
12549
marshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStream * vkStream,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * forMarshaling)12550 void marshal_VkWriteDescriptorSetInlineUniformBlock(
12551 VulkanStream* vkStream, VkStructureType rootType,
12552 const VkWriteDescriptorSetInlineUniformBlock* forMarshaling) {
12553 (void)rootType;
12554 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12555 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12556 rootType = forMarshaling->sType;
12557 }
12558 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12559 vkStream->write((uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t));
12560 vkStream->write((const void*)forMarshaling->pData,
12561 forMarshaling->dataSize * sizeof(const uint8_t));
12562 }
12563
unmarshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStream * vkStream,VkStructureType rootType,VkWriteDescriptorSetInlineUniformBlock * forUnmarshaling)12564 void unmarshal_VkWriteDescriptorSetInlineUniformBlock(
12565 VulkanStream* vkStream, VkStructureType rootType,
12566 VkWriteDescriptorSetInlineUniformBlock* forUnmarshaling) {
12567 (void)rootType;
12568 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12569 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12570 rootType = forUnmarshaling->sType;
12571 }
12572 size_t pNext_size;
12573 pNext_size = vkStream->getBe32();
12574 forUnmarshaling->pNext = nullptr;
12575 if (pNext_size) {
12576 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12577 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12578 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12579 vkStream->alloc((void**)&forUnmarshaling->pNext,
12580 goldfish_vk_extension_struct_size_with_stream_features(
12581 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12582 *(VkStructureType*)forUnmarshaling->pNext = extType;
12583 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12584 }
12585 vkStream->read((uint32_t*)&forUnmarshaling->dataSize, sizeof(uint32_t));
12586 vkStream->alloc((void**)&forUnmarshaling->pData,
12587 forUnmarshaling->dataSize * sizeof(const uint8_t));
12588 vkStream->read((void*)forUnmarshaling->pData,
12589 forUnmarshaling->dataSize * sizeof(const uint8_t));
12590 }
12591
marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * forMarshaling)12592 void marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
12593 VulkanStream* vkStream, VkStructureType rootType,
12594 const VkDescriptorPoolInlineUniformBlockCreateInfo* forMarshaling) {
12595 (void)rootType;
12596 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12597 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12598 rootType = forMarshaling->sType;
12599 }
12600 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12601 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
12602 }
12603
unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkDescriptorPoolInlineUniformBlockCreateInfo * forUnmarshaling)12604 void unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
12605 VulkanStream* vkStream, VkStructureType rootType,
12606 VkDescriptorPoolInlineUniformBlockCreateInfo* forUnmarshaling) {
12607 (void)rootType;
12608 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12609 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12610 rootType = forUnmarshaling->sType;
12611 }
12612 size_t pNext_size;
12613 pNext_size = vkStream->getBe32();
12614 forUnmarshaling->pNext = nullptr;
12615 if (pNext_size) {
12616 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12617 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12618 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12619 vkStream->alloc((void**)&forUnmarshaling->pNext,
12620 goldfish_vk_extension_struct_size_with_stream_features(
12621 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12622 *(VkStructureType*)forUnmarshaling->pNext = extType;
12623 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12624 }
12625 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
12626 }
12627
marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forMarshaling)12628 void marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
12629 VulkanStream* vkStream, VkStructureType rootType,
12630 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forMarshaling) {
12631 (void)rootType;
12632 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12633 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12634 rootType = forMarshaling->sType;
12635 }
12636 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12637 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
12638 }
12639
unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forUnmarshaling)12640 void unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
12641 VulkanStream* vkStream, VkStructureType rootType,
12642 VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forUnmarshaling) {
12643 (void)rootType;
12644 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12645 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12646 rootType = forUnmarshaling->sType;
12647 }
12648 size_t pNext_size;
12649 pNext_size = vkStream->getBe32();
12650 forUnmarshaling->pNext = nullptr;
12651 if (pNext_size) {
12652 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12653 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12654 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12655 vkStream->alloc((void**)&forUnmarshaling->pNext,
12656 goldfish_vk_extension_struct_size_with_stream_features(
12657 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12658 *(VkStructureType*)forUnmarshaling->pNext = extType;
12659 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12660 }
12661 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
12662 }
12663
marshal_VkRenderingAttachmentInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderingAttachmentInfo * forMarshaling)12664 void marshal_VkRenderingAttachmentInfo(VulkanStream* vkStream, VkStructureType rootType,
12665 const VkRenderingAttachmentInfo* forMarshaling) {
12666 (void)rootType;
12667 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12668 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12669 rootType = forMarshaling->sType;
12670 }
12671 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12672 uint64_t cgen_var_0;
12673 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
12674 1);
12675 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12676 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
12677 vkStream->write((VkResolveModeFlagBits*)&forMarshaling->resolveMode,
12678 sizeof(VkResolveModeFlagBits));
12679 uint64_t cgen_var_1;
12680 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->resolveImageView,
12681 &cgen_var_1, 1);
12682 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
12683 vkStream->write((VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout));
12684 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
12685 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
12686 marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue));
12687 }
12688
unmarshal_VkRenderingAttachmentInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderingAttachmentInfo * forUnmarshaling)12689 void unmarshal_VkRenderingAttachmentInfo(VulkanStream* vkStream, VkStructureType rootType,
12690 VkRenderingAttachmentInfo* forUnmarshaling) {
12691 (void)rootType;
12692 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12693 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12694 rootType = forUnmarshaling->sType;
12695 }
12696 size_t pNext_size;
12697 pNext_size = vkStream->getBe32();
12698 forUnmarshaling->pNext = nullptr;
12699 if (pNext_size) {
12700 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12701 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12702 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12703 vkStream->alloc((void**)&forUnmarshaling->pNext,
12704 goldfish_vk_extension_struct_size_with_stream_features(
12705 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12706 *(VkStructureType*)forUnmarshaling->pNext = extType;
12707 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12708 }
12709 uint64_t cgen_var_0;
12710 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12711 vkStream->handleMapping()->mapHandles_u64_VkImageView(
12712 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
12713 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
12714 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->resolveMode,
12715 sizeof(VkResolveModeFlagBits));
12716 uint64_t cgen_var_1;
12717 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12718 vkStream->handleMapping()->mapHandles_u64_VkImageView(
12719 &cgen_var_1, (VkImageView*)&forUnmarshaling->resolveImageView, 1);
12720 vkStream->read((VkImageLayout*)&forUnmarshaling->resolveImageLayout, sizeof(VkImageLayout));
12721 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
12722 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
12723 unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue));
12724 }
12725
marshal_VkRenderingInfo(VulkanStream * vkStream,VkStructureType rootType,const VkRenderingInfo * forMarshaling)12726 void marshal_VkRenderingInfo(VulkanStream* vkStream, VkStructureType rootType,
12727 const VkRenderingInfo* forMarshaling) {
12728 (void)rootType;
12729 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12730 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12731 rootType = forMarshaling->sType;
12732 }
12733 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12734 vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
12735 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea));
12736 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
12737 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
12738 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
12739 if (forMarshaling) {
12740 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
12741 marshal_VkRenderingAttachmentInfo(
12742 vkStream, rootType,
12743 (const VkRenderingAttachmentInfo*)(forMarshaling->pColorAttachments + i));
12744 }
12745 }
12746 // WARNING PTR CHECK
12747 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment;
12748 vkStream->putBe64(cgen_var_0);
12749 if (forMarshaling->pDepthAttachment) {
12750 marshal_VkRenderingAttachmentInfo(
12751 vkStream, rootType,
12752 (const VkRenderingAttachmentInfo*)(forMarshaling->pDepthAttachment));
12753 }
12754 // WARNING PTR CHECK
12755 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment;
12756 vkStream->putBe64(cgen_var_1);
12757 if (forMarshaling->pStencilAttachment) {
12758 marshal_VkRenderingAttachmentInfo(
12759 vkStream, rootType,
12760 (const VkRenderingAttachmentInfo*)(forMarshaling->pStencilAttachment));
12761 }
12762 }
12763
unmarshal_VkRenderingInfo(VulkanStream * vkStream,VkStructureType rootType,VkRenderingInfo * forUnmarshaling)12764 void unmarshal_VkRenderingInfo(VulkanStream* vkStream, VkStructureType rootType,
12765 VkRenderingInfo* forUnmarshaling) {
12766 (void)rootType;
12767 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12768 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12769 rootType = forUnmarshaling->sType;
12770 }
12771 size_t pNext_size;
12772 pNext_size = vkStream->getBe32();
12773 forUnmarshaling->pNext = nullptr;
12774 if (pNext_size) {
12775 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12776 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12777 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12778 vkStream->alloc((void**)&forUnmarshaling->pNext,
12779 goldfish_vk_extension_struct_size_with_stream_features(
12780 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12781 *(VkStructureType*)forUnmarshaling->pNext = extType;
12782 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12783 }
12784 vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags));
12785 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea));
12786 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
12787 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
12788 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
12789 vkStream->alloc(
12790 (void**)&forUnmarshaling->pColorAttachments,
12791 forUnmarshaling->colorAttachmentCount * sizeof(const VkRenderingAttachmentInfo));
12792 if (forUnmarshaling) {
12793 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
12794 unmarshal_VkRenderingAttachmentInfo(
12795 vkStream, rootType,
12796 (VkRenderingAttachmentInfo*)(forUnmarshaling->pColorAttachments + i));
12797 }
12798 }
12799 // WARNING PTR CHECK
12800 forUnmarshaling->pDepthAttachment =
12801 (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64();
12802 if (forUnmarshaling->pDepthAttachment) {
12803 vkStream->alloc((void**)&forUnmarshaling->pDepthAttachment,
12804 sizeof(const VkRenderingAttachmentInfo));
12805 unmarshal_VkRenderingAttachmentInfo(
12806 vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pDepthAttachment));
12807 }
12808 // WARNING PTR CHECK
12809 forUnmarshaling->pStencilAttachment =
12810 (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64();
12811 if (forUnmarshaling->pStencilAttachment) {
12812 vkStream->alloc((void**)&forUnmarshaling->pStencilAttachment,
12813 sizeof(const VkRenderingAttachmentInfo));
12814 unmarshal_VkRenderingAttachmentInfo(
12815 vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pStencilAttachment));
12816 }
12817 }
12818
marshal_VkPipelineRenderingCreateInfo(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRenderingCreateInfo * forMarshaling)12819 void marshal_VkPipelineRenderingCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
12820 const VkPipelineRenderingCreateInfo* forMarshaling) {
12821 (void)rootType;
12822 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12823 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12824 rootType = forMarshaling->sType;
12825 }
12826 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12827 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
12828 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
12829 // WARNING PTR CHECK
12830 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
12831 vkStream->putBe64(cgen_var_0);
12832 if (forMarshaling->pColorAttachmentFormats) {
12833 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
12834 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
12835 }
12836 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
12837 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
12838 }
12839
unmarshal_VkPipelineRenderingCreateInfo(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRenderingCreateInfo * forUnmarshaling)12840 void unmarshal_VkPipelineRenderingCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
12841 VkPipelineRenderingCreateInfo* forUnmarshaling) {
12842 (void)rootType;
12843 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12844 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12845 rootType = forUnmarshaling->sType;
12846 }
12847 size_t pNext_size;
12848 pNext_size = vkStream->getBe32();
12849 forUnmarshaling->pNext = nullptr;
12850 if (pNext_size) {
12851 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12852 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12853 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12854 vkStream->alloc((void**)&forUnmarshaling->pNext,
12855 goldfish_vk_extension_struct_size_with_stream_features(
12856 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12857 *(VkStructureType*)forUnmarshaling->pNext = extType;
12858 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12859 }
12860 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
12861 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
12862 // WARNING PTR CHECK
12863 forUnmarshaling->pColorAttachmentFormats = (const VkFormat*)(uintptr_t)vkStream->getBe64();
12864 if (forUnmarshaling->pColorAttachmentFormats) {
12865 vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
12866 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
12867 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
12868 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
12869 }
12870 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
12871 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
12872 }
12873
marshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * forMarshaling)12874 void marshal_VkPhysicalDeviceDynamicRenderingFeatures(
12875 VulkanStream* vkStream, VkStructureType rootType,
12876 const VkPhysicalDeviceDynamicRenderingFeatures* forMarshaling) {
12877 (void)rootType;
12878 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12879 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12880 rootType = forMarshaling->sType;
12881 }
12882 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12883 vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
12884 }
12885
unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDynamicRenderingFeatures * forUnmarshaling)12886 void unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
12887 VulkanStream* vkStream, VkStructureType rootType,
12888 VkPhysicalDeviceDynamicRenderingFeatures* forUnmarshaling) {
12889 (void)rootType;
12890 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12891 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12892 rootType = forUnmarshaling->sType;
12893 }
12894 size_t pNext_size;
12895 pNext_size = vkStream->getBe32();
12896 forUnmarshaling->pNext = nullptr;
12897 if (pNext_size) {
12898 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12899 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12900 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12901 vkStream->alloc((void**)&forUnmarshaling->pNext,
12902 goldfish_vk_extension_struct_size_with_stream_features(
12903 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12904 *(VkStructureType*)forUnmarshaling->pNext = extType;
12905 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12906 }
12907 vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32));
12908 }
12909
marshal_VkCommandBufferInheritanceRenderingInfo(VulkanStream * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * forMarshaling)12910 void marshal_VkCommandBufferInheritanceRenderingInfo(
12911 VulkanStream* vkStream, VkStructureType rootType,
12912 const VkCommandBufferInheritanceRenderingInfo* forMarshaling) {
12913 (void)rootType;
12914 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12915 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12916 rootType = forMarshaling->sType;
12917 }
12918 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12919 vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
12920 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
12921 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
12922 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
12923 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
12924 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
12925 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
12926 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
12927 sizeof(VkSampleCountFlagBits));
12928 }
12929
unmarshal_VkCommandBufferInheritanceRenderingInfo(VulkanStream * vkStream,VkStructureType rootType,VkCommandBufferInheritanceRenderingInfo * forUnmarshaling)12930 void unmarshal_VkCommandBufferInheritanceRenderingInfo(
12931 VulkanStream* vkStream, VkStructureType rootType,
12932 VkCommandBufferInheritanceRenderingInfo* forUnmarshaling) {
12933 (void)rootType;
12934 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12935 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12936 rootType = forUnmarshaling->sType;
12937 }
12938 size_t pNext_size;
12939 pNext_size = vkStream->getBe32();
12940 forUnmarshaling->pNext = nullptr;
12941 if (pNext_size) {
12942 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12943 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12944 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12945 vkStream->alloc((void**)&forUnmarshaling->pNext,
12946 goldfish_vk_extension_struct_size_with_stream_features(
12947 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12948 *(VkStructureType*)forUnmarshaling->pNext = extType;
12949 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12950 }
12951 vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags));
12952 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
12953 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
12954 vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
12955 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
12956 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
12957 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
12958 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
12959 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
12960 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples,
12961 sizeof(VkSampleCountFlagBits));
12962 }
12963
marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * forMarshaling)12964 void marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
12965 VulkanStream* vkStream, VkStructureType rootType,
12966 const VkPhysicalDeviceShaderIntegerDotProductFeatures* forMarshaling) {
12967 (void)rootType;
12968 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12969 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12970 rootType = forMarshaling->sType;
12971 }
12972 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12973 vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
12974 }
12975
unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderIntegerDotProductFeatures * forUnmarshaling)12976 void unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
12977 VulkanStream* vkStream, VkStructureType rootType,
12978 VkPhysicalDeviceShaderIntegerDotProductFeatures* forUnmarshaling) {
12979 (void)rootType;
12980 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12981 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12982 rootType = forUnmarshaling->sType;
12983 }
12984 size_t pNext_size;
12985 pNext_size = vkStream->getBe32();
12986 forUnmarshaling->pNext = nullptr;
12987 if (pNext_size) {
12988 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
12989 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
12990 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
12991 vkStream->alloc((void**)&forUnmarshaling->pNext,
12992 goldfish_vk_extension_struct_size_with_stream_features(
12993 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
12994 *(VkStructureType*)forUnmarshaling->pNext = extType;
12995 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12996 }
12997 vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
12998 }
12999
marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * forMarshaling)13000 void marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
13001 VulkanStream* vkStream, VkStructureType rootType,
13002 const VkPhysicalDeviceShaderIntegerDotProductProperties* forMarshaling) {
13003 (void)rootType;
13004 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13005 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13006 rootType = forMarshaling->sType;
13007 }
13008 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13009 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
13010 sizeof(VkBool32));
13011 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
13012 sizeof(VkBool32));
13013 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
13014 sizeof(VkBool32));
13015 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
13016 sizeof(VkBool32));
13017 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
13018 sizeof(VkBool32));
13019 vkStream->write(
13020 (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
13021 sizeof(VkBool32));
13022 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
13023 sizeof(VkBool32));
13024 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
13025 sizeof(VkBool32));
13026 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
13027 sizeof(VkBool32));
13028 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
13029 sizeof(VkBool32));
13030 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
13031 sizeof(VkBool32));
13032 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
13033 sizeof(VkBool32));
13034 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
13035 sizeof(VkBool32));
13036 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
13037 sizeof(VkBool32));
13038 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
13039 sizeof(VkBool32));
13040 vkStream->write(
13041 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
13042 sizeof(VkBool32));
13043 vkStream->write(
13044 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
13045 sizeof(VkBool32));
13046 vkStream->write((VkBool32*)&forMarshaling
13047 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
13048 sizeof(VkBool32));
13049 vkStream->write((VkBool32*)&forMarshaling
13050 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
13051 sizeof(VkBool32));
13052 vkStream->write((VkBool32*)&forMarshaling
13053 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
13054 sizeof(VkBool32));
13055 vkStream->write(
13056 (VkBool32*)&forMarshaling
13057 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
13058 sizeof(VkBool32));
13059 vkStream->write(
13060 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
13061 sizeof(VkBool32));
13062 vkStream->write(
13063 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
13064 sizeof(VkBool32));
13065 vkStream->write((VkBool32*)&forMarshaling
13066 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
13067 sizeof(VkBool32));
13068 vkStream->write(
13069 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
13070 sizeof(VkBool32));
13071 vkStream->write(
13072 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
13073 sizeof(VkBool32));
13074 vkStream->write((VkBool32*)&forMarshaling
13075 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
13076 sizeof(VkBool32));
13077 vkStream->write(
13078 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
13079 sizeof(VkBool32));
13080 vkStream->write(
13081 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
13082 sizeof(VkBool32));
13083 vkStream->write((VkBool32*)&forMarshaling
13084 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
13085 sizeof(VkBool32));
13086 }
13087
unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderIntegerDotProductProperties * forUnmarshaling)13088 void unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
13089 VulkanStream* vkStream, VkStructureType rootType,
13090 VkPhysicalDeviceShaderIntegerDotProductProperties* forUnmarshaling) {
13091 (void)rootType;
13092 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13093 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13094 rootType = forUnmarshaling->sType;
13095 }
13096 size_t pNext_size;
13097 pNext_size = vkStream->getBe32();
13098 forUnmarshaling->pNext = nullptr;
13099 if (pNext_size) {
13100 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13101 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13102 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13103 vkStream->alloc((void**)&forUnmarshaling->pNext,
13104 goldfish_vk_extension_struct_size_with_stream_features(
13105 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13106 *(VkStructureType*)forUnmarshaling->pNext = extType;
13107 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13108 }
13109 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated,
13110 sizeof(VkBool32));
13111 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated,
13112 sizeof(VkBool32));
13113 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated,
13114 sizeof(VkBool32));
13115 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
13116 sizeof(VkBool32));
13117 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
13118 sizeof(VkBool32));
13119 vkStream->read(
13120 (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
13121 sizeof(VkBool32));
13122 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated,
13123 sizeof(VkBool32));
13124 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated,
13125 sizeof(VkBool32));
13126 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated,
13127 sizeof(VkBool32));
13128 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated,
13129 sizeof(VkBool32));
13130 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated,
13131 sizeof(VkBool32));
13132 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated,
13133 sizeof(VkBool32));
13134 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated,
13135 sizeof(VkBool32));
13136 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated,
13137 sizeof(VkBool32));
13138 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated,
13139 sizeof(VkBool32));
13140 vkStream->read(
13141 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
13142 sizeof(VkBool32));
13143 vkStream->read(
13144 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
13145 sizeof(VkBool32));
13146 vkStream->read((VkBool32*)&forUnmarshaling
13147 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
13148 sizeof(VkBool32));
13149 vkStream->read((VkBool32*)&forUnmarshaling
13150 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
13151 sizeof(VkBool32));
13152 vkStream->read((VkBool32*)&forUnmarshaling
13153 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
13154 sizeof(VkBool32));
13155 vkStream->read(
13156 (VkBool32*)&forUnmarshaling
13157 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
13158 sizeof(VkBool32));
13159 vkStream->read((VkBool32*)&forUnmarshaling
13160 ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
13161 sizeof(VkBool32));
13162 vkStream->read(
13163 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
13164 sizeof(VkBool32));
13165 vkStream->read((VkBool32*)&forUnmarshaling
13166 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
13167 sizeof(VkBool32));
13168 vkStream->read((VkBool32*)&forUnmarshaling
13169 ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
13170 sizeof(VkBool32));
13171 vkStream->read(
13172 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
13173 sizeof(VkBool32));
13174 vkStream->read((VkBool32*)&forUnmarshaling
13175 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
13176 sizeof(VkBool32));
13177 vkStream->read((VkBool32*)&forUnmarshaling
13178 ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
13179 sizeof(VkBool32));
13180 vkStream->read(
13181 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
13182 sizeof(VkBool32));
13183 vkStream->read((VkBool32*)&forUnmarshaling
13184 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
13185 sizeof(VkBool32));
13186 }
13187
marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * forMarshaling)13188 void marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
13189 VulkanStream* vkStream, VkStructureType rootType,
13190 const VkPhysicalDeviceTexelBufferAlignmentProperties* forMarshaling) {
13191 (void)rootType;
13192 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13193 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13194 rootType = forMarshaling->sType;
13195 }
13196 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13197 vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
13198 sizeof(VkDeviceSize));
13199 vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
13200 sizeof(VkBool32));
13201 vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
13202 sizeof(VkDeviceSize));
13203 vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
13204 sizeof(VkBool32));
13205 }
13206
unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTexelBufferAlignmentProperties * forUnmarshaling)13207 void unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
13208 VulkanStream* vkStream, VkStructureType rootType,
13209 VkPhysicalDeviceTexelBufferAlignmentProperties* forUnmarshaling) {
13210 (void)rootType;
13211 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13212 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13213 rootType = forUnmarshaling->sType;
13214 }
13215 size_t pNext_size;
13216 pNext_size = vkStream->getBe32();
13217 forUnmarshaling->pNext = nullptr;
13218 if (pNext_size) {
13219 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13220 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13221 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13222 vkStream->alloc((void**)&forUnmarshaling->pNext,
13223 goldfish_vk_extension_struct_size_with_stream_features(
13224 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13225 *(VkStructureType*)forUnmarshaling->pNext = extType;
13226 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13227 }
13228 vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes,
13229 sizeof(VkDeviceSize));
13230 vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment,
13231 sizeof(VkBool32));
13232 vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes,
13233 sizeof(VkDeviceSize));
13234 vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
13235 sizeof(VkBool32));
13236 }
13237
marshal_VkFormatProperties3(VulkanStream * vkStream,VkStructureType rootType,const VkFormatProperties3 * forMarshaling)13238 void marshal_VkFormatProperties3(VulkanStream* vkStream, VkStructureType rootType,
13239 const VkFormatProperties3* forMarshaling) {
13240 (void)rootType;
13241 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13242 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13243 rootType = forMarshaling->sType;
13244 }
13245 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13246 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->linearTilingFeatures,
13247 sizeof(VkFormatFeatureFlags2));
13248 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->optimalTilingFeatures,
13249 sizeof(VkFormatFeatureFlags2));
13250 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->bufferFeatures,
13251 sizeof(VkFormatFeatureFlags2));
13252 }
13253
unmarshal_VkFormatProperties3(VulkanStream * vkStream,VkStructureType rootType,VkFormatProperties3 * forUnmarshaling)13254 void unmarshal_VkFormatProperties3(VulkanStream* vkStream, VkStructureType rootType,
13255 VkFormatProperties3* forUnmarshaling) {
13256 (void)rootType;
13257 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13258 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13259 rootType = forUnmarshaling->sType;
13260 }
13261 size_t pNext_size;
13262 pNext_size = vkStream->getBe32();
13263 forUnmarshaling->pNext = nullptr;
13264 if (pNext_size) {
13265 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13266 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13267 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13268 vkStream->alloc((void**)&forUnmarshaling->pNext,
13269 goldfish_vk_extension_struct_size_with_stream_features(
13270 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13271 *(VkStructureType*)forUnmarshaling->pNext = extType;
13272 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13273 }
13274 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->linearTilingFeatures,
13275 sizeof(VkFormatFeatureFlags2));
13276 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->optimalTilingFeatures,
13277 sizeof(VkFormatFeatureFlags2));
13278 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->bufferFeatures,
13279 sizeof(VkFormatFeatureFlags2));
13280 }
13281
marshal_VkPhysicalDeviceMaintenance4Features(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * forMarshaling)13282 void marshal_VkPhysicalDeviceMaintenance4Features(
13283 VulkanStream* vkStream, VkStructureType rootType,
13284 const VkPhysicalDeviceMaintenance4Features* forMarshaling) {
13285 (void)rootType;
13286 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13287 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13288 rootType = forMarshaling->sType;
13289 }
13290 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13291 vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
13292 }
13293
unmarshal_VkPhysicalDeviceMaintenance4Features(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance4Features * forUnmarshaling)13294 void unmarshal_VkPhysicalDeviceMaintenance4Features(
13295 VulkanStream* vkStream, VkStructureType rootType,
13296 VkPhysicalDeviceMaintenance4Features* forUnmarshaling) {
13297 (void)rootType;
13298 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13299 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13300 rootType = forUnmarshaling->sType;
13301 }
13302 size_t pNext_size;
13303 pNext_size = vkStream->getBe32();
13304 forUnmarshaling->pNext = nullptr;
13305 if (pNext_size) {
13306 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13307 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13308 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13309 vkStream->alloc((void**)&forUnmarshaling->pNext,
13310 goldfish_vk_extension_struct_size_with_stream_features(
13311 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13312 *(VkStructureType*)forUnmarshaling->pNext = extType;
13313 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13314 }
13315 vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32));
13316 }
13317
marshal_VkPhysicalDeviceMaintenance4Properties(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * forMarshaling)13318 void marshal_VkPhysicalDeviceMaintenance4Properties(
13319 VulkanStream* vkStream, VkStructureType rootType,
13320 const VkPhysicalDeviceMaintenance4Properties* forMarshaling) {
13321 (void)rootType;
13322 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13323 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13324 rootType = forMarshaling->sType;
13325 }
13326 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13327 vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
13328 }
13329
unmarshal_VkPhysicalDeviceMaintenance4Properties(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance4Properties * forUnmarshaling)13330 void unmarshal_VkPhysicalDeviceMaintenance4Properties(
13331 VulkanStream* vkStream, VkStructureType rootType,
13332 VkPhysicalDeviceMaintenance4Properties* forUnmarshaling) {
13333 (void)rootType;
13334 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13335 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13336 rootType = forUnmarshaling->sType;
13337 }
13338 size_t pNext_size;
13339 pNext_size = vkStream->getBe32();
13340 forUnmarshaling->pNext = nullptr;
13341 if (pNext_size) {
13342 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13343 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13344 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13345 vkStream->alloc((void**)&forUnmarshaling->pNext,
13346 goldfish_vk_extension_struct_size_with_stream_features(
13347 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13348 *(VkStructureType*)forUnmarshaling->pNext = extType;
13349 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13350 }
13351 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize));
13352 }
13353
marshal_VkDeviceBufferMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * forMarshaling)13354 void marshal_VkDeviceBufferMemoryRequirements(
13355 VulkanStream* vkStream, VkStructureType rootType,
13356 const VkDeviceBufferMemoryRequirements* forMarshaling) {
13357 (void)rootType;
13358 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13359 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13360 rootType = forMarshaling->sType;
13361 }
13362 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13363 marshal_VkBufferCreateInfo(vkStream, rootType,
13364 (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo));
13365 }
13366
unmarshal_VkDeviceBufferMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,VkDeviceBufferMemoryRequirements * forUnmarshaling)13367 void unmarshal_VkDeviceBufferMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
13368 VkDeviceBufferMemoryRequirements* forUnmarshaling) {
13369 (void)rootType;
13370 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13371 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13372 rootType = forUnmarshaling->sType;
13373 }
13374 size_t pNext_size;
13375 pNext_size = vkStream->getBe32();
13376 forUnmarshaling->pNext = nullptr;
13377 if (pNext_size) {
13378 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13379 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13380 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13381 vkStream->alloc((void**)&forUnmarshaling->pNext,
13382 goldfish_vk_extension_struct_size_with_stream_features(
13383 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13384 *(VkStructureType*)forUnmarshaling->pNext = extType;
13385 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13386 }
13387 vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkBufferCreateInfo));
13388 unmarshal_VkBufferCreateInfo(vkStream, rootType,
13389 (VkBufferCreateInfo*)(forUnmarshaling->pCreateInfo));
13390 }
13391
marshal_VkDeviceImageMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceImageMemoryRequirements * forMarshaling)13392 void marshal_VkDeviceImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
13393 const VkDeviceImageMemoryRequirements* forMarshaling) {
13394 (void)rootType;
13395 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13396 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13397 rootType = forMarshaling->sType;
13398 }
13399 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13400 marshal_VkImageCreateInfo(vkStream, rootType,
13401 (const VkImageCreateInfo*)(forMarshaling->pCreateInfo));
13402 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
13403 sizeof(VkImageAspectFlagBits));
13404 }
13405
unmarshal_VkDeviceImageMemoryRequirements(VulkanStream * vkStream,VkStructureType rootType,VkDeviceImageMemoryRequirements * forUnmarshaling)13406 void unmarshal_VkDeviceImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
13407 VkDeviceImageMemoryRequirements* forUnmarshaling) {
13408 (void)rootType;
13409 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13410 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13411 rootType = forUnmarshaling->sType;
13412 }
13413 size_t pNext_size;
13414 pNext_size = vkStream->getBe32();
13415 forUnmarshaling->pNext = nullptr;
13416 if (pNext_size) {
13417 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13418 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13419 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13420 vkStream->alloc((void**)&forUnmarshaling->pNext,
13421 goldfish_vk_extension_struct_size_with_stream_features(
13422 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13423 *(VkStructureType*)forUnmarshaling->pNext = extType;
13424 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13425 }
13426 vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo));
13427 unmarshal_VkImageCreateInfo(vkStream, rootType,
13428 (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo));
13429 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
13430 sizeof(VkImageAspectFlagBits));
13431 }
13432
13433 #endif
13434 #ifdef VK_KHR_swapchain
marshal_VkSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainCreateInfoKHR * forMarshaling)13435 void marshal_VkSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13436 const VkSwapchainCreateInfoKHR* forMarshaling) {
13437 (void)rootType;
13438 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13439 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13440 rootType = forMarshaling->sType;
13441 }
13442 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13443 vkStream->write((VkSwapchainCreateFlagsKHR*)&forMarshaling->flags,
13444 sizeof(VkSwapchainCreateFlagsKHR));
13445 uint64_t cgen_var_0;
13446 vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_0, 1);
13447 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13448 vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
13449 vkStream->write((VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat));
13450 vkStream->write((VkColorSpaceKHR*)&forMarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
13451 marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->imageExtent));
13452 vkStream->write((uint32_t*)&forMarshaling->imageArrayLayers, sizeof(uint32_t));
13453 vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags));
13454 vkStream->write((VkSharingMode*)&forMarshaling->imageSharingMode, sizeof(VkSharingMode));
13455 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
13456 // WARNING PTR CHECK
13457 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
13458 vkStream->putBe64(cgen_var_1);
13459 if (forMarshaling->pQueueFamilyIndices) {
13460 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
13461 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
13462 }
13463 vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->preTransform,
13464 sizeof(VkSurfaceTransformFlagBitsKHR));
13465 vkStream->write((VkCompositeAlphaFlagBitsKHR*)&forMarshaling->compositeAlpha,
13466 sizeof(VkCompositeAlphaFlagBitsKHR));
13467 vkStream->write((VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR));
13468 vkStream->write((VkBool32*)&forMarshaling->clipped, sizeof(VkBool32));
13469 uint64_t cgen_var_2;
13470 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->oldSwapchain,
13471 &cgen_var_2, 1);
13472 vkStream->write((uint64_t*)&cgen_var_2, 1 * 8);
13473 }
13474
unmarshal_VkSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainCreateInfoKHR * forUnmarshaling)13475 void unmarshal_VkSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13476 VkSwapchainCreateInfoKHR* forUnmarshaling) {
13477 (void)rootType;
13478 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13479 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13480 rootType = forUnmarshaling->sType;
13481 }
13482 size_t pNext_size;
13483 pNext_size = vkStream->getBe32();
13484 forUnmarshaling->pNext = nullptr;
13485 if (pNext_size) {
13486 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13487 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13488 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13489 vkStream->alloc((void**)&forUnmarshaling->pNext,
13490 goldfish_vk_extension_struct_size_with_stream_features(
13491 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13492 *(VkStructureType*)forUnmarshaling->pNext = extType;
13493 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13494 }
13495 vkStream->read((VkSwapchainCreateFlagsKHR*)&forUnmarshaling->flags,
13496 sizeof(VkSwapchainCreateFlagsKHR));
13497 uint64_t cgen_var_0;
13498 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13499 vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(
13500 &cgen_var_0, (VkSurfaceKHR*)&forUnmarshaling->surface, 1);
13501 vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t));
13502 vkStream->read((VkFormat*)&forUnmarshaling->imageFormat, sizeof(VkFormat));
13503 vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
13504 unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->imageExtent));
13505 vkStream->read((uint32_t*)&forUnmarshaling->imageArrayLayers, sizeof(uint32_t));
13506 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsage, sizeof(VkImageUsageFlags));
13507 vkStream->read((VkSharingMode*)&forUnmarshaling->imageSharingMode, sizeof(VkSharingMode));
13508 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
13509 // WARNING PTR CHECK
13510 forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
13511 if (forUnmarshaling->pQueueFamilyIndices) {
13512 vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
13513 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
13514 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
13515 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
13516 }
13517 vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->preTransform,
13518 sizeof(VkSurfaceTransformFlagBitsKHR));
13519 vkStream->read((VkCompositeAlphaFlagBitsKHR*)&forUnmarshaling->compositeAlpha,
13520 sizeof(VkCompositeAlphaFlagBitsKHR));
13521 vkStream->read((VkPresentModeKHR*)&forUnmarshaling->presentMode, sizeof(VkPresentModeKHR));
13522 vkStream->read((VkBool32*)&forUnmarshaling->clipped, sizeof(VkBool32));
13523 uint64_t cgen_var_2;
13524 vkStream->read((uint64_t*)&cgen_var_2, 1 * 8);
13525 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
13526 &cgen_var_2, (VkSwapchainKHR*)&forUnmarshaling->oldSwapchain, 1);
13527 }
13528
marshal_VkPresentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPresentInfoKHR * forMarshaling)13529 void marshal_VkPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13530 const VkPresentInfoKHR* forMarshaling) {
13531 (void)rootType;
13532 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13533 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13534 rootType = forMarshaling->sType;
13535 }
13536 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13537 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
13538 if (forMarshaling->waitSemaphoreCount) {
13539 uint64_t* cgen_var_0;
13540 vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
13541 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
13542 forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
13543 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
13544 }
13545 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
13546 if (forMarshaling->swapchainCount) {
13547 uint64_t* cgen_var_1;
13548 vkStream->alloc((void**)&cgen_var_1, forMarshaling->swapchainCount * 8);
13549 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(
13550 forMarshaling->pSwapchains, cgen_var_1, forMarshaling->swapchainCount);
13551 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->swapchainCount * 8);
13552 }
13553 vkStream->write((const uint32_t*)forMarshaling->pImageIndices,
13554 forMarshaling->swapchainCount * sizeof(const uint32_t));
13555 // WARNING PTR CHECK
13556 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pResults;
13557 vkStream->putBe64(cgen_var_2);
13558 if (forMarshaling->pResults) {
13559 vkStream->write((VkResult*)forMarshaling->pResults,
13560 forMarshaling->swapchainCount * sizeof(VkResult));
13561 }
13562 }
13563
unmarshal_VkPresentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPresentInfoKHR * forUnmarshaling)13564 void unmarshal_VkPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13565 VkPresentInfoKHR* forUnmarshaling) {
13566 (void)rootType;
13567 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13568 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13569 rootType = forUnmarshaling->sType;
13570 }
13571 size_t pNext_size;
13572 pNext_size = vkStream->getBe32();
13573 forUnmarshaling->pNext = nullptr;
13574 if (pNext_size) {
13575 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13576 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13577 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13578 vkStream->alloc((void**)&forUnmarshaling->pNext,
13579 goldfish_vk_extension_struct_size_with_stream_features(
13580 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13581 *(VkStructureType*)forUnmarshaling->pNext = extType;
13582 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13583 }
13584 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
13585 vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
13586 forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
13587 if (forUnmarshaling->waitSemaphoreCount) {
13588 uint64_t* cgen_var_0;
13589 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
13590 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
13591 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
13592 cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
13593 forUnmarshaling->waitSemaphoreCount);
13594 }
13595 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
13596 vkStream->alloc((void**)&forUnmarshaling->pSwapchains,
13597 forUnmarshaling->swapchainCount * sizeof(const VkSwapchainKHR));
13598 if (forUnmarshaling->swapchainCount) {
13599 uint64_t* cgen_var_1;
13600 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->swapchainCount * 8);
13601 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->swapchainCount * 8);
13602 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
13603 cgen_var_1, (VkSwapchainKHR*)forUnmarshaling->pSwapchains,
13604 forUnmarshaling->swapchainCount);
13605 }
13606 vkStream->alloc((void**)&forUnmarshaling->pImageIndices,
13607 forUnmarshaling->swapchainCount * sizeof(const uint32_t));
13608 vkStream->read((uint32_t*)forUnmarshaling->pImageIndices,
13609 forUnmarshaling->swapchainCount * sizeof(const uint32_t));
13610 // WARNING PTR CHECK
13611 forUnmarshaling->pResults = (VkResult*)(uintptr_t)vkStream->getBe64();
13612 if (forUnmarshaling->pResults) {
13613 vkStream->alloc((void**)&forUnmarshaling->pResults,
13614 forUnmarshaling->swapchainCount * sizeof(VkResult));
13615 vkStream->read((VkResult*)forUnmarshaling->pResults,
13616 forUnmarshaling->swapchainCount * sizeof(VkResult));
13617 }
13618 }
13619
marshal_VkImageSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkImageSwapchainCreateInfoKHR * forMarshaling)13620 void marshal_VkImageSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13621 const VkImageSwapchainCreateInfoKHR* forMarshaling) {
13622 (void)rootType;
13623 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13624 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13625 rootType = forMarshaling->sType;
13626 }
13627 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13628 uint64_t cgen_var_0;
13629 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_0,
13630 1);
13631 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13632 }
13633
unmarshal_VkImageSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkImageSwapchainCreateInfoKHR * forUnmarshaling)13634 void unmarshal_VkImageSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13635 VkImageSwapchainCreateInfoKHR* forUnmarshaling) {
13636 (void)rootType;
13637 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13638 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13639 rootType = forUnmarshaling->sType;
13640 }
13641 size_t pNext_size;
13642 pNext_size = vkStream->getBe32();
13643 forUnmarshaling->pNext = nullptr;
13644 if (pNext_size) {
13645 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13646 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13647 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13648 vkStream->alloc((void**)&forUnmarshaling->pNext,
13649 goldfish_vk_extension_struct_size_with_stream_features(
13650 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13651 *(VkStructureType*)forUnmarshaling->pNext = extType;
13652 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13653 }
13654 uint64_t cgen_var_0;
13655 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13656 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
13657 &cgen_var_0, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
13658 }
13659
marshal_VkBindImageMemorySwapchainInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkBindImageMemorySwapchainInfoKHR * forMarshaling)13660 void marshal_VkBindImageMemorySwapchainInfoKHR(
13661 VulkanStream* vkStream, VkStructureType rootType,
13662 const VkBindImageMemorySwapchainInfoKHR* forMarshaling) {
13663 (void)rootType;
13664 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13665 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13666 rootType = forMarshaling->sType;
13667 }
13668 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13669 uint64_t cgen_var_0;
13670 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_0,
13671 1);
13672 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13673 vkStream->write((uint32_t*)&forMarshaling->imageIndex, sizeof(uint32_t));
13674 }
13675
unmarshal_VkBindImageMemorySwapchainInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkBindImageMemorySwapchainInfoKHR * forUnmarshaling)13676 void unmarshal_VkBindImageMemorySwapchainInfoKHR(
13677 VulkanStream* vkStream, VkStructureType rootType,
13678 VkBindImageMemorySwapchainInfoKHR* forUnmarshaling) {
13679 (void)rootType;
13680 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13681 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13682 rootType = forUnmarshaling->sType;
13683 }
13684 size_t pNext_size;
13685 pNext_size = vkStream->getBe32();
13686 forUnmarshaling->pNext = nullptr;
13687 if (pNext_size) {
13688 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13689 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13690 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13691 vkStream->alloc((void**)&forUnmarshaling->pNext,
13692 goldfish_vk_extension_struct_size_with_stream_features(
13693 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13694 *(VkStructureType*)forUnmarshaling->pNext = extType;
13695 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13696 }
13697 uint64_t cgen_var_0;
13698 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13699 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
13700 &cgen_var_0, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
13701 vkStream->read((uint32_t*)&forUnmarshaling->imageIndex, sizeof(uint32_t));
13702 }
13703
marshal_VkAcquireNextImageInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkAcquireNextImageInfoKHR * forMarshaling)13704 void marshal_VkAcquireNextImageInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13705 const VkAcquireNextImageInfoKHR* forMarshaling) {
13706 (void)rootType;
13707 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13708 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13709 rootType = forMarshaling->sType;
13710 }
13711 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13712 uint64_t cgen_var_0;
13713 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_0,
13714 1);
13715 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13716 vkStream->write((uint64_t*)&forMarshaling->timeout, sizeof(uint64_t));
13717 uint64_t cgen_var_1;
13718 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_1,
13719 1);
13720 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
13721 uint64_t cgen_var_2;
13722 vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_2, 1);
13723 vkStream->write((uint64_t*)&cgen_var_2, 1 * 8);
13724 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
13725 }
13726
unmarshal_VkAcquireNextImageInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkAcquireNextImageInfoKHR * forUnmarshaling)13727 void unmarshal_VkAcquireNextImageInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13728 VkAcquireNextImageInfoKHR* forUnmarshaling) {
13729 (void)rootType;
13730 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13731 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13732 rootType = forUnmarshaling->sType;
13733 }
13734 size_t pNext_size;
13735 pNext_size = vkStream->getBe32();
13736 forUnmarshaling->pNext = nullptr;
13737 if (pNext_size) {
13738 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13739 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13740 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13741 vkStream->alloc((void**)&forUnmarshaling->pNext,
13742 goldfish_vk_extension_struct_size_with_stream_features(
13743 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13744 *(VkStructureType*)forUnmarshaling->pNext = extType;
13745 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13746 }
13747 uint64_t cgen_var_0;
13748 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13749 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
13750 &cgen_var_0, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
13751 vkStream->read((uint64_t*)&forUnmarshaling->timeout, sizeof(uint64_t));
13752 uint64_t cgen_var_1;
13753 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
13754 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
13755 &cgen_var_1, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
13756 uint64_t cgen_var_2;
13757 vkStream->read((uint64_t*)&cgen_var_2, 1 * 8);
13758 vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_2,
13759 (VkFence*)&forUnmarshaling->fence, 1);
13760 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
13761 }
13762
marshal_VkDeviceGroupPresentCapabilitiesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupPresentCapabilitiesKHR * forMarshaling)13763 void marshal_VkDeviceGroupPresentCapabilitiesKHR(
13764 VulkanStream* vkStream, VkStructureType rootType,
13765 const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling) {
13766 (void)rootType;
13767 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13768 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13769 rootType = forMarshaling->sType;
13770 }
13771 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13772 vkStream->write((uint32_t*)forMarshaling->presentMask,
13773 VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
13774 vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
13775 sizeof(VkDeviceGroupPresentModeFlagsKHR));
13776 }
13777
unmarshal_VkDeviceGroupPresentCapabilitiesKHR(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupPresentCapabilitiesKHR * forUnmarshaling)13778 void unmarshal_VkDeviceGroupPresentCapabilitiesKHR(
13779 VulkanStream* vkStream, VkStructureType rootType,
13780 VkDeviceGroupPresentCapabilitiesKHR* forUnmarshaling) {
13781 (void)rootType;
13782 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13783 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13784 rootType = forUnmarshaling->sType;
13785 }
13786 size_t pNext_size;
13787 pNext_size = vkStream->getBe32();
13788 forUnmarshaling->pNext = nullptr;
13789 if (pNext_size) {
13790 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13791 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13792 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13793 vkStream->alloc((void**)&forUnmarshaling->pNext,
13794 goldfish_vk_extension_struct_size_with_stream_features(
13795 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13796 *(VkStructureType*)forUnmarshaling->pNext = extType;
13797 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13798 }
13799 vkStream->read((uint32_t*)forUnmarshaling->presentMask,
13800 VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
13801 vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes,
13802 sizeof(VkDeviceGroupPresentModeFlagsKHR));
13803 }
13804
marshal_VkDeviceGroupPresentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupPresentInfoKHR * forMarshaling)13805 void marshal_VkDeviceGroupPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13806 const VkDeviceGroupPresentInfoKHR* forMarshaling) {
13807 (void)rootType;
13808 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13809 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13810 rootType = forMarshaling->sType;
13811 }
13812 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13813 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
13814 vkStream->write((const uint32_t*)forMarshaling->pDeviceMasks,
13815 forMarshaling->swapchainCount * sizeof(const uint32_t));
13816 vkStream->write((VkDeviceGroupPresentModeFlagBitsKHR*)&forMarshaling->mode,
13817 sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
13818 }
13819
unmarshal_VkDeviceGroupPresentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupPresentInfoKHR * forUnmarshaling)13820 void unmarshal_VkDeviceGroupPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
13821 VkDeviceGroupPresentInfoKHR* forUnmarshaling) {
13822 (void)rootType;
13823 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13824 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13825 rootType = forUnmarshaling->sType;
13826 }
13827 size_t pNext_size;
13828 pNext_size = vkStream->getBe32();
13829 forUnmarshaling->pNext = nullptr;
13830 if (pNext_size) {
13831 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13832 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13833 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13834 vkStream->alloc((void**)&forUnmarshaling->pNext,
13835 goldfish_vk_extension_struct_size_with_stream_features(
13836 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13837 *(VkStructureType*)forUnmarshaling->pNext = extType;
13838 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13839 }
13840 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
13841 vkStream->alloc((void**)&forUnmarshaling->pDeviceMasks,
13842 forUnmarshaling->swapchainCount * sizeof(const uint32_t));
13843 vkStream->read((uint32_t*)forUnmarshaling->pDeviceMasks,
13844 forUnmarshaling->swapchainCount * sizeof(const uint32_t));
13845 vkStream->read((VkDeviceGroupPresentModeFlagBitsKHR*)&forUnmarshaling->mode,
13846 sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
13847 }
13848
marshal_VkDeviceGroupSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceGroupSwapchainCreateInfoKHR * forMarshaling)13849 void marshal_VkDeviceGroupSwapchainCreateInfoKHR(
13850 VulkanStream* vkStream, VkStructureType rootType,
13851 const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling) {
13852 (void)rootType;
13853 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13854 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13855 rootType = forMarshaling->sType;
13856 }
13857 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13858 vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
13859 sizeof(VkDeviceGroupPresentModeFlagsKHR));
13860 }
13861
unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkDeviceGroupSwapchainCreateInfoKHR * forUnmarshaling)13862 void unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
13863 VulkanStream* vkStream, VkStructureType rootType,
13864 VkDeviceGroupSwapchainCreateInfoKHR* forUnmarshaling) {
13865 (void)rootType;
13866 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13867 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13868 rootType = forUnmarshaling->sType;
13869 }
13870 size_t pNext_size;
13871 pNext_size = vkStream->getBe32();
13872 forUnmarshaling->pNext = nullptr;
13873 if (pNext_size) {
13874 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13875 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13876 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13877 vkStream->alloc((void**)&forUnmarshaling->pNext,
13878 goldfish_vk_extension_struct_size_with_stream_features(
13879 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13880 *(VkStructureType*)forUnmarshaling->pNext = extType;
13881 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13882 }
13883 vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes,
13884 sizeof(VkDeviceGroupPresentModeFlagsKHR));
13885 }
13886
13887 #endif
13888 #ifdef VK_KHR_dynamic_rendering
marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * forMarshaling)13889 void marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
13890 VulkanStream* vkStream, VkStructureType rootType,
13891 const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling) {
13892 (void)rootType;
13893 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13894 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13895 rootType = forMarshaling->sType;
13896 }
13897 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13898 uint64_t cgen_var_0;
13899 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
13900 1);
13901 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13902 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
13903 marshal_VkExtent2D(vkStream, rootType,
13904 (VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize));
13905 }
13906
unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkRenderingFragmentShadingRateAttachmentInfoKHR * forUnmarshaling)13907 void unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
13908 VulkanStream* vkStream, VkStructureType rootType,
13909 VkRenderingFragmentShadingRateAttachmentInfoKHR* forUnmarshaling) {
13910 (void)rootType;
13911 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13912 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13913 rootType = forUnmarshaling->sType;
13914 }
13915 size_t pNext_size;
13916 pNext_size = vkStream->getBe32();
13917 forUnmarshaling->pNext = nullptr;
13918 if (pNext_size) {
13919 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13920 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13921 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13922 vkStream->alloc((void**)&forUnmarshaling->pNext,
13923 goldfish_vk_extension_struct_size_with_stream_features(
13924 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13925 *(VkStructureType*)forUnmarshaling->pNext = extType;
13926 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13927 }
13928 uint64_t cgen_var_0;
13929 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13930 vkStream->handleMapping()->mapHandles_u64_VkImageView(
13931 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
13932 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
13933 unmarshal_VkExtent2D(vkStream, rootType,
13934 (VkExtent2D*)(&forUnmarshaling->shadingRateAttachmentTexelSize));
13935 }
13936
marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * forMarshaling)13937 void marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
13938 VulkanStream* vkStream, VkStructureType rootType,
13939 const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling) {
13940 (void)rootType;
13941 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13942 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13943 rootType = forMarshaling->sType;
13944 }
13945 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13946 uint64_t cgen_var_0;
13947 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
13948 1);
13949 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
13950 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
13951 }
13952
unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkRenderingFragmentDensityMapAttachmentInfoEXT * forUnmarshaling)13953 void unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
13954 VulkanStream* vkStream, VkStructureType rootType,
13955 VkRenderingFragmentDensityMapAttachmentInfoEXT* forUnmarshaling) {
13956 (void)rootType;
13957 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13958 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13959 rootType = forUnmarshaling->sType;
13960 }
13961 size_t pNext_size;
13962 pNext_size = vkStream->getBe32();
13963 forUnmarshaling->pNext = nullptr;
13964 if (pNext_size) {
13965 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
13966 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
13967 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
13968 vkStream->alloc((void**)&forUnmarshaling->pNext,
13969 goldfish_vk_extension_struct_size_with_stream_features(
13970 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
13971 *(VkStructureType*)forUnmarshaling->pNext = extType;
13972 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13973 }
13974 uint64_t cgen_var_0;
13975 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
13976 vkStream->handleMapping()->mapHandles_u64_VkImageView(
13977 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
13978 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
13979 }
13980
marshal_VkAttachmentSampleCountInfoAMD(VulkanStream * vkStream,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * forMarshaling)13981 void marshal_VkAttachmentSampleCountInfoAMD(VulkanStream* vkStream, VkStructureType rootType,
13982 const VkAttachmentSampleCountInfoAMD* forMarshaling) {
13983 (void)rootType;
13984 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13985 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13986 rootType = forMarshaling->sType;
13987 }
13988 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13989 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
13990 // WARNING PTR CHECK
13991 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentSamples;
13992 vkStream->putBe64(cgen_var_0);
13993 if (forMarshaling->pColorAttachmentSamples) {
13994 vkStream->write((const VkSampleCountFlagBits*)forMarshaling->pColorAttachmentSamples,
13995 forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
13996 }
13997 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->depthStencilAttachmentSamples,
13998 sizeof(VkSampleCountFlagBits));
13999 }
14000
unmarshal_VkAttachmentSampleCountInfoAMD(VulkanStream * vkStream,VkStructureType rootType,VkAttachmentSampleCountInfoAMD * forUnmarshaling)14001 void unmarshal_VkAttachmentSampleCountInfoAMD(VulkanStream* vkStream, VkStructureType rootType,
14002 VkAttachmentSampleCountInfoAMD* forUnmarshaling) {
14003 (void)rootType;
14004 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14005 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14006 rootType = forUnmarshaling->sType;
14007 }
14008 size_t pNext_size;
14009 pNext_size = vkStream->getBe32();
14010 forUnmarshaling->pNext = nullptr;
14011 if (pNext_size) {
14012 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14013 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14014 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14015 vkStream->alloc((void**)&forUnmarshaling->pNext,
14016 goldfish_vk_extension_struct_size_with_stream_features(
14017 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14018 *(VkStructureType*)forUnmarshaling->pNext = extType;
14019 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14020 }
14021 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
14022 // WARNING PTR CHECK
14023 forUnmarshaling->pColorAttachmentSamples =
14024 (const VkSampleCountFlagBits*)(uintptr_t)vkStream->getBe64();
14025 if (forUnmarshaling->pColorAttachmentSamples) {
14026 vkStream->alloc(
14027 (void**)&forUnmarshaling->pColorAttachmentSamples,
14028 forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
14029 vkStream->read((VkSampleCountFlagBits*)forUnmarshaling->pColorAttachmentSamples,
14030 forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
14031 }
14032 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->depthStencilAttachmentSamples,
14033 sizeof(VkSampleCountFlagBits));
14034 }
14035
marshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStream * vkStream,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * forMarshaling)14036 void marshal_VkMultiviewPerViewAttributesInfoNVX(
14037 VulkanStream* vkStream, VkStructureType rootType,
14038 const VkMultiviewPerViewAttributesInfoNVX* forMarshaling) {
14039 (void)rootType;
14040 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14041 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14042 rootType = forMarshaling->sType;
14043 }
14044 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14045 vkStream->write((VkBool32*)&forMarshaling->perViewAttributes, sizeof(VkBool32));
14046 vkStream->write((VkBool32*)&forMarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
14047 }
14048
unmarshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStream * vkStream,VkStructureType rootType,VkMultiviewPerViewAttributesInfoNVX * forUnmarshaling)14049 void unmarshal_VkMultiviewPerViewAttributesInfoNVX(
14050 VulkanStream* vkStream, VkStructureType rootType,
14051 VkMultiviewPerViewAttributesInfoNVX* forUnmarshaling) {
14052 (void)rootType;
14053 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14054 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14055 rootType = forUnmarshaling->sType;
14056 }
14057 size_t pNext_size;
14058 pNext_size = vkStream->getBe32();
14059 forUnmarshaling->pNext = nullptr;
14060 if (pNext_size) {
14061 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14062 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14063 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14064 vkStream->alloc((void**)&forUnmarshaling->pNext,
14065 goldfish_vk_extension_struct_size_with_stream_features(
14066 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14067 *(VkStructureType*)forUnmarshaling->pNext = extType;
14068 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14069 }
14070 vkStream->read((VkBool32*)&forUnmarshaling->perViewAttributes, sizeof(VkBool32));
14071 vkStream->read((VkBool32*)&forUnmarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
14072 }
14073
14074 #endif
14075 #ifdef VK_KHR_external_semaphore_fd
marshal_VkImportSemaphoreFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * forMarshaling)14076 void marshal_VkImportSemaphoreFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14077 const VkImportSemaphoreFdInfoKHR* forMarshaling) {
14078 (void)rootType;
14079 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14080 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14081 rootType = forMarshaling->sType;
14082 }
14083 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14084 uint64_t cgen_var_0;
14085 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
14086 1);
14087 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14088 vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
14089 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
14090 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
14091 vkStream->write((int*)&forMarshaling->fd, sizeof(int));
14092 }
14093
unmarshal_VkImportSemaphoreFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkImportSemaphoreFdInfoKHR * forUnmarshaling)14094 void unmarshal_VkImportSemaphoreFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14095 VkImportSemaphoreFdInfoKHR* forUnmarshaling) {
14096 (void)rootType;
14097 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14098 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14099 rootType = forUnmarshaling->sType;
14100 }
14101 size_t pNext_size;
14102 pNext_size = vkStream->getBe32();
14103 forUnmarshaling->pNext = nullptr;
14104 if (pNext_size) {
14105 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14106 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14107 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14108 vkStream->alloc((void**)&forUnmarshaling->pNext,
14109 goldfish_vk_extension_struct_size_with_stream_features(
14110 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14111 *(VkStructureType*)forUnmarshaling->pNext = extType;
14112 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14113 }
14114 uint64_t cgen_var_0;
14115 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14116 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
14117 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
14118 vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags,
14119 sizeof(VkSemaphoreImportFlags));
14120 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
14121 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
14122 vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
14123 }
14124
marshal_VkSemaphoreGetFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * forMarshaling)14125 void marshal_VkSemaphoreGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14126 const VkSemaphoreGetFdInfoKHR* forMarshaling) {
14127 (void)rootType;
14128 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14129 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14130 rootType = forMarshaling->sType;
14131 }
14132 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14133 uint64_t cgen_var_0;
14134 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
14135 1);
14136 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14137 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
14138 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
14139 }
14140
unmarshal_VkSemaphoreGetFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkSemaphoreGetFdInfoKHR * forUnmarshaling)14141 void unmarshal_VkSemaphoreGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14142 VkSemaphoreGetFdInfoKHR* forUnmarshaling) {
14143 (void)rootType;
14144 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14145 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14146 rootType = forUnmarshaling->sType;
14147 }
14148 size_t pNext_size;
14149 pNext_size = vkStream->getBe32();
14150 forUnmarshaling->pNext = nullptr;
14151 if (pNext_size) {
14152 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14153 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14154 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14155 vkStream->alloc((void**)&forUnmarshaling->pNext,
14156 goldfish_vk_extension_struct_size_with_stream_features(
14157 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14158 *(VkStructureType*)forUnmarshaling->pNext = extType;
14159 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14160 }
14161 uint64_t cgen_var_0;
14162 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14163 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
14164 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
14165 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
14166 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
14167 }
14168
14169 #endif
14170 #ifdef VK_KHR_incremental_present
marshal_VkRectLayerKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRectLayerKHR * forMarshaling)14171 void marshal_VkRectLayerKHR(VulkanStream* vkStream, VkStructureType rootType,
14172 const VkRectLayerKHR* forMarshaling) {
14173 (void)rootType;
14174 marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
14175 marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
14176 vkStream->write((uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
14177 }
14178
unmarshal_VkRectLayerKHR(VulkanStream * vkStream,VkStructureType rootType,VkRectLayerKHR * forUnmarshaling)14179 void unmarshal_VkRectLayerKHR(VulkanStream* vkStream, VkStructureType rootType,
14180 VkRectLayerKHR* forUnmarshaling) {
14181 (void)rootType;
14182 unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
14183 unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
14184 vkStream->read((uint32_t*)&forUnmarshaling->layer, sizeof(uint32_t));
14185 }
14186
marshal_VkPresentRegionKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPresentRegionKHR * forMarshaling)14187 void marshal_VkPresentRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
14188 const VkPresentRegionKHR* forMarshaling) {
14189 (void)rootType;
14190 vkStream->write((uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
14191 // WARNING PTR CHECK
14192 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
14193 vkStream->putBe64(cgen_var_0);
14194 if (forMarshaling->pRectangles) {
14195 if (forMarshaling) {
14196 for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
14197 marshal_VkRectLayerKHR(vkStream, rootType,
14198 (const VkRectLayerKHR*)(forMarshaling->pRectangles + i));
14199 }
14200 }
14201 }
14202 }
14203
unmarshal_VkPresentRegionKHR(VulkanStream * vkStream,VkStructureType rootType,VkPresentRegionKHR * forUnmarshaling)14204 void unmarshal_VkPresentRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
14205 VkPresentRegionKHR* forUnmarshaling) {
14206 (void)rootType;
14207 vkStream->read((uint32_t*)&forUnmarshaling->rectangleCount, sizeof(uint32_t));
14208 // WARNING PTR CHECK
14209 forUnmarshaling->pRectangles = (const VkRectLayerKHR*)(uintptr_t)vkStream->getBe64();
14210 if (forUnmarshaling->pRectangles) {
14211 vkStream->alloc((void**)&forUnmarshaling->pRectangles,
14212 forUnmarshaling->rectangleCount * sizeof(const VkRectLayerKHR));
14213 if (forUnmarshaling) {
14214 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i) {
14215 unmarshal_VkRectLayerKHR(vkStream, rootType,
14216 (VkRectLayerKHR*)(forUnmarshaling->pRectangles + i));
14217 }
14218 }
14219 }
14220 }
14221
marshal_VkPresentRegionsKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPresentRegionsKHR * forMarshaling)14222 void marshal_VkPresentRegionsKHR(VulkanStream* vkStream, VkStructureType rootType,
14223 const VkPresentRegionsKHR* forMarshaling) {
14224 (void)rootType;
14225 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14226 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14227 rootType = forMarshaling->sType;
14228 }
14229 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14230 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
14231 // WARNING PTR CHECK
14232 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
14233 vkStream->putBe64(cgen_var_0);
14234 if (forMarshaling->pRegions) {
14235 if (forMarshaling) {
14236 for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
14237 marshal_VkPresentRegionKHR(
14238 vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i));
14239 }
14240 }
14241 }
14242 }
14243
unmarshal_VkPresentRegionsKHR(VulkanStream * vkStream,VkStructureType rootType,VkPresentRegionsKHR * forUnmarshaling)14244 void unmarshal_VkPresentRegionsKHR(VulkanStream* vkStream, VkStructureType rootType,
14245 VkPresentRegionsKHR* forUnmarshaling) {
14246 (void)rootType;
14247 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14248 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14249 rootType = forUnmarshaling->sType;
14250 }
14251 size_t pNext_size;
14252 pNext_size = vkStream->getBe32();
14253 forUnmarshaling->pNext = nullptr;
14254 if (pNext_size) {
14255 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14256 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14257 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14258 vkStream->alloc((void**)&forUnmarshaling->pNext,
14259 goldfish_vk_extension_struct_size_with_stream_features(
14260 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14261 *(VkStructureType*)forUnmarshaling->pNext = extType;
14262 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14263 }
14264 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
14265 // WARNING PTR CHECK
14266 forUnmarshaling->pRegions = (const VkPresentRegionKHR*)(uintptr_t)vkStream->getBe64();
14267 if (forUnmarshaling->pRegions) {
14268 vkStream->alloc((void**)&forUnmarshaling->pRegions,
14269 forUnmarshaling->swapchainCount * sizeof(const VkPresentRegionKHR));
14270 if (forUnmarshaling) {
14271 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) {
14272 unmarshal_VkPresentRegionKHR(vkStream, rootType,
14273 (VkPresentRegionKHR*)(forUnmarshaling->pRegions + i));
14274 }
14275 }
14276 }
14277 }
14278
14279 #endif
14280 #ifdef VK_KHR_external_fence_fd
marshal_VkImportFenceFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkImportFenceFdInfoKHR * forMarshaling)14281 void marshal_VkImportFenceFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14282 const VkImportFenceFdInfoKHR* forMarshaling) {
14283 (void)rootType;
14284 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14285 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14286 rootType = forMarshaling->sType;
14287 }
14288 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14289 uint64_t cgen_var_0;
14290 vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
14291 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14292 vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
14293 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
14294 sizeof(VkExternalFenceHandleTypeFlagBits));
14295 vkStream->write((int*)&forMarshaling->fd, sizeof(int));
14296 }
14297
unmarshal_VkImportFenceFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkImportFenceFdInfoKHR * forUnmarshaling)14298 void unmarshal_VkImportFenceFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14299 VkImportFenceFdInfoKHR* forUnmarshaling) {
14300 (void)rootType;
14301 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14302 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14303 rootType = forUnmarshaling->sType;
14304 }
14305 size_t pNext_size;
14306 pNext_size = vkStream->getBe32();
14307 forUnmarshaling->pNext = nullptr;
14308 if (pNext_size) {
14309 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14310 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14311 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14312 vkStream->alloc((void**)&forUnmarshaling->pNext,
14313 goldfish_vk_extension_struct_size_with_stream_features(
14314 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14315 *(VkStructureType*)forUnmarshaling->pNext = extType;
14316 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14317 }
14318 uint64_t cgen_var_0;
14319 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14320 vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_0,
14321 (VkFence*)&forUnmarshaling->fence, 1);
14322 vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags));
14323 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
14324 sizeof(VkExternalFenceHandleTypeFlagBits));
14325 vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
14326 }
14327
marshal_VkFenceGetFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkFenceGetFdInfoKHR * forMarshaling)14328 void marshal_VkFenceGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14329 const VkFenceGetFdInfoKHR* forMarshaling) {
14330 (void)rootType;
14331 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14332 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14333 rootType = forMarshaling->sType;
14334 }
14335 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14336 uint64_t cgen_var_0;
14337 vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
14338 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14339 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
14340 sizeof(VkExternalFenceHandleTypeFlagBits));
14341 }
14342
unmarshal_VkFenceGetFdInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkFenceGetFdInfoKHR * forUnmarshaling)14343 void unmarshal_VkFenceGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14344 VkFenceGetFdInfoKHR* forUnmarshaling) {
14345 (void)rootType;
14346 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14347 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14348 rootType = forUnmarshaling->sType;
14349 }
14350 size_t pNext_size;
14351 pNext_size = vkStream->getBe32();
14352 forUnmarshaling->pNext = nullptr;
14353 if (pNext_size) {
14354 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14355 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14356 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14357 vkStream->alloc((void**)&forUnmarshaling->pNext,
14358 goldfish_vk_extension_struct_size_with_stream_features(
14359 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14360 *(VkStructureType*)forUnmarshaling->pNext = extType;
14361 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14362 }
14363 uint64_t cgen_var_0;
14364 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14365 vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_0,
14366 (VkFence*)&forUnmarshaling->fence, 1);
14367 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
14368 sizeof(VkExternalFenceHandleTypeFlagBits));
14369 }
14370
14371 #endif
14372 #ifdef VK_KHR_pipeline_executable_properties
marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forMarshaling)14373 void marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
14374 VulkanStream* vkStream, VkStructureType rootType,
14375 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling) {
14376 (void)rootType;
14377 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14378 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14379 rootType = forMarshaling->sType;
14380 }
14381 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14382 vkStream->write((VkBool32*)&forMarshaling->pipelineExecutableInfo, sizeof(VkBool32));
14383 }
14384
unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forUnmarshaling)14385 void unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
14386 VulkanStream* vkStream, VkStructureType rootType,
14387 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forUnmarshaling) {
14388 (void)rootType;
14389 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14390 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14391 rootType = forUnmarshaling->sType;
14392 }
14393 size_t pNext_size;
14394 pNext_size = vkStream->getBe32();
14395 forUnmarshaling->pNext = nullptr;
14396 if (pNext_size) {
14397 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14398 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14399 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14400 vkStream->alloc((void**)&forUnmarshaling->pNext,
14401 goldfish_vk_extension_struct_size_with_stream_features(
14402 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14403 *(VkStructureType*)forUnmarshaling->pNext = extType;
14404 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14405 }
14406 vkStream->read((VkBool32*)&forUnmarshaling->pipelineExecutableInfo, sizeof(VkBool32));
14407 }
14408
marshal_VkPipelineInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineInfoKHR * forMarshaling)14409 void marshal_VkPipelineInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14410 const VkPipelineInfoKHR* forMarshaling) {
14411 (void)rootType;
14412 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14413 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14414 rootType = forMarshaling->sType;
14415 }
14416 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14417 uint64_t cgen_var_0;
14418 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
14419 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14420 }
14421
unmarshal_VkPipelineInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineInfoKHR * forUnmarshaling)14422 void unmarshal_VkPipelineInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14423 VkPipelineInfoKHR* forUnmarshaling) {
14424 (void)rootType;
14425 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14426 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14427 rootType = forUnmarshaling->sType;
14428 }
14429 size_t pNext_size;
14430 pNext_size = vkStream->getBe32();
14431 forUnmarshaling->pNext = nullptr;
14432 if (pNext_size) {
14433 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14434 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14435 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14436 vkStream->alloc((void**)&forUnmarshaling->pNext,
14437 goldfish_vk_extension_struct_size_with_stream_features(
14438 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14439 *(VkStructureType*)forUnmarshaling->pNext = extType;
14440 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14441 }
14442 uint64_t cgen_var_0;
14443 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14444 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
14445 &cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
14446 }
14447
marshal_VkPipelineExecutablePropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * forMarshaling)14448 void marshal_VkPipelineExecutablePropertiesKHR(
14449 VulkanStream* vkStream, VkStructureType rootType,
14450 const VkPipelineExecutablePropertiesKHR* forMarshaling) {
14451 (void)rootType;
14452 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14453 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14454 rootType = forMarshaling->sType;
14455 }
14456 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14457 vkStream->write((VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
14458 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14459 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14460 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
14461 }
14462
unmarshal_VkPipelineExecutablePropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineExecutablePropertiesKHR * forUnmarshaling)14463 void unmarshal_VkPipelineExecutablePropertiesKHR(
14464 VulkanStream* vkStream, VkStructureType rootType,
14465 VkPipelineExecutablePropertiesKHR* forUnmarshaling) {
14466 (void)rootType;
14467 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14468 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14469 rootType = forUnmarshaling->sType;
14470 }
14471 size_t pNext_size;
14472 pNext_size = vkStream->getBe32();
14473 forUnmarshaling->pNext = nullptr;
14474 if (pNext_size) {
14475 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14476 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14477 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14478 vkStream->alloc((void**)&forUnmarshaling->pNext,
14479 goldfish_vk_extension_struct_size_with_stream_features(
14480 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14481 *(VkStructureType*)forUnmarshaling->pNext = extType;
14482 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14483 }
14484 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stages, sizeof(VkShaderStageFlags));
14485 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14486 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14487 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
14488 }
14489
marshal_VkPipelineExecutableInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineExecutableInfoKHR * forMarshaling)14490 void marshal_VkPipelineExecutableInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14491 const VkPipelineExecutableInfoKHR* forMarshaling) {
14492 (void)rootType;
14493 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14494 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14495 rootType = forMarshaling->sType;
14496 }
14497 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14498 uint64_t cgen_var_0;
14499 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
14500 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
14501 vkStream->write((uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
14502 }
14503
unmarshal_VkPipelineExecutableInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineExecutableInfoKHR * forUnmarshaling)14504 void unmarshal_VkPipelineExecutableInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14505 VkPipelineExecutableInfoKHR* forUnmarshaling) {
14506 (void)rootType;
14507 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14508 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14509 rootType = forUnmarshaling->sType;
14510 }
14511 size_t pNext_size;
14512 pNext_size = vkStream->getBe32();
14513 forUnmarshaling->pNext = nullptr;
14514 if (pNext_size) {
14515 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14516 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14517 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14518 vkStream->alloc((void**)&forUnmarshaling->pNext,
14519 goldfish_vk_extension_struct_size_with_stream_features(
14520 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14521 *(VkStructureType*)forUnmarshaling->pNext = extType;
14522 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14523 }
14524 uint64_t cgen_var_0;
14525 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
14526 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
14527 &cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
14528 vkStream->read((uint32_t*)&forUnmarshaling->executableIndex, sizeof(uint32_t));
14529 }
14530
marshal_VkPipelineExecutableStatisticValueKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * forMarshaling)14531 void marshal_VkPipelineExecutableStatisticValueKHR(
14532 VulkanStream* vkStream, VkStructureType rootType,
14533 const VkPipelineExecutableStatisticValueKHR* forMarshaling) {
14534 (void)rootType;
14535 vkStream->write((VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
14536 }
14537
unmarshal_VkPipelineExecutableStatisticValueKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineExecutableStatisticValueKHR * forUnmarshaling)14538 void unmarshal_VkPipelineExecutableStatisticValueKHR(
14539 VulkanStream* vkStream, VkStructureType rootType,
14540 VkPipelineExecutableStatisticValueKHR* forUnmarshaling) {
14541 (void)rootType;
14542 vkStream->read((VkBool32*)&forUnmarshaling->b32, sizeof(VkBool32));
14543 }
14544
marshal_VkPipelineExecutableStatisticKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * forMarshaling)14545 void marshal_VkPipelineExecutableStatisticKHR(
14546 VulkanStream* vkStream, VkStructureType rootType,
14547 const VkPipelineExecutableStatisticKHR* forMarshaling) {
14548 (void)rootType;
14549 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14550 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14551 rootType = forMarshaling->sType;
14552 }
14553 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14554 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14555 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14556 vkStream->write((VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
14557 sizeof(VkPipelineExecutableStatisticFormatKHR));
14558 marshal_VkPipelineExecutableStatisticValueKHR(
14559 vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value));
14560 }
14561
unmarshal_VkPipelineExecutableStatisticKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineExecutableStatisticKHR * forUnmarshaling)14562 void unmarshal_VkPipelineExecutableStatisticKHR(VulkanStream* vkStream, VkStructureType rootType,
14563 VkPipelineExecutableStatisticKHR* forUnmarshaling) {
14564 (void)rootType;
14565 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14566 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14567 rootType = forUnmarshaling->sType;
14568 }
14569 size_t pNext_size;
14570 pNext_size = vkStream->getBe32();
14571 forUnmarshaling->pNext = nullptr;
14572 if (pNext_size) {
14573 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14574 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14575 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14576 vkStream->alloc((void**)&forUnmarshaling->pNext,
14577 goldfish_vk_extension_struct_size_with_stream_features(
14578 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14579 *(VkStructureType*)forUnmarshaling->pNext = extType;
14580 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14581 }
14582 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14583 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14584 vkStream->read((VkPipelineExecutableStatisticFormatKHR*)&forUnmarshaling->format,
14585 sizeof(VkPipelineExecutableStatisticFormatKHR));
14586 unmarshal_VkPipelineExecutableStatisticValueKHR(
14587 vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forUnmarshaling->value));
14588 }
14589
marshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * forMarshaling)14590 void marshal_VkPipelineExecutableInternalRepresentationKHR(
14591 VulkanStream* vkStream, VkStructureType rootType,
14592 const VkPipelineExecutableInternalRepresentationKHR* forMarshaling) {
14593 (void)rootType;
14594 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14595 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14596 rootType = forMarshaling->sType;
14597 }
14598 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14599 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14600 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14601 vkStream->write((VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
14602 uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
14603 vkStream->putBe64(cgen_var_0);
14604 // WARNING PTR CHECK
14605 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
14606 vkStream->putBe64(cgen_var_1);
14607 if (forMarshaling->pData) {
14608 vkStream->write((void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
14609 }
14610 }
14611
unmarshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineExecutableInternalRepresentationKHR * forUnmarshaling)14612 void unmarshal_VkPipelineExecutableInternalRepresentationKHR(
14613 VulkanStream* vkStream, VkStructureType rootType,
14614 VkPipelineExecutableInternalRepresentationKHR* forUnmarshaling) {
14615 (void)rootType;
14616 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14617 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14618 rootType = forUnmarshaling->sType;
14619 }
14620 size_t pNext_size;
14621 pNext_size = vkStream->getBe32();
14622 forUnmarshaling->pNext = nullptr;
14623 if (pNext_size) {
14624 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14625 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14626 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14627 vkStream->alloc((void**)&forUnmarshaling->pNext,
14628 goldfish_vk_extension_struct_size_with_stream_features(
14629 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14630 *(VkStructureType*)forUnmarshaling->pNext = extType;
14631 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14632 }
14633 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14634 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
14635 vkStream->read((VkBool32*)&forUnmarshaling->isText, sizeof(VkBool32));
14636 forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
14637 // WARNING PTR CHECK
14638 forUnmarshaling->pData = (void*)(uintptr_t)vkStream->getBe64();
14639 if (forUnmarshaling->pData) {
14640 vkStream->alloc((void**)&forUnmarshaling->pData,
14641 forUnmarshaling->dataSize * sizeof(uint8_t));
14642 vkStream->read((void*)forUnmarshaling->pData, forUnmarshaling->dataSize * sizeof(uint8_t));
14643 }
14644 }
14645
14646 #endif
14647 #ifdef VK_KHR_pipeline_library
marshal_VkPipelineLibraryCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineLibraryCreateInfoKHR * forMarshaling)14648 void marshal_VkPipelineLibraryCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14649 const VkPipelineLibraryCreateInfoKHR* forMarshaling) {
14650 (void)rootType;
14651 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14652 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14653 rootType = forMarshaling->sType;
14654 }
14655 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14656 vkStream->write((uint32_t*)&forMarshaling->libraryCount, sizeof(uint32_t));
14657 if (forMarshaling->libraryCount) {
14658 uint64_t* cgen_var_0;
14659 vkStream->alloc((void**)&cgen_var_0, forMarshaling->libraryCount * 8);
14660 vkStream->handleMapping()->mapHandles_VkPipeline_u64(forMarshaling->pLibraries, cgen_var_0,
14661 forMarshaling->libraryCount);
14662 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->libraryCount * 8);
14663 }
14664 }
14665
unmarshal_VkPipelineLibraryCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineLibraryCreateInfoKHR * forUnmarshaling)14666 void unmarshal_VkPipelineLibraryCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14667 VkPipelineLibraryCreateInfoKHR* forUnmarshaling) {
14668 (void)rootType;
14669 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14670 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14671 rootType = forUnmarshaling->sType;
14672 }
14673 size_t pNext_size;
14674 pNext_size = vkStream->getBe32();
14675 forUnmarshaling->pNext = nullptr;
14676 if (pNext_size) {
14677 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14678 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14679 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14680 vkStream->alloc((void**)&forUnmarshaling->pNext,
14681 goldfish_vk_extension_struct_size_with_stream_features(
14682 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14683 *(VkStructureType*)forUnmarshaling->pNext = extType;
14684 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14685 }
14686 vkStream->read((uint32_t*)&forUnmarshaling->libraryCount, sizeof(uint32_t));
14687 vkStream->alloc((void**)&forUnmarshaling->pLibraries,
14688 forUnmarshaling->libraryCount * sizeof(const VkPipeline));
14689 if (forUnmarshaling->libraryCount) {
14690 uint64_t* cgen_var_0;
14691 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->libraryCount * 8);
14692 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->libraryCount * 8);
14693 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
14694 cgen_var_0, (VkPipeline*)forUnmarshaling->pLibraries, forUnmarshaling->libraryCount);
14695 }
14696 }
14697
14698 #endif
14699 #ifdef VK_KHR_synchronization2
marshal_VkQueueFamilyCheckpointProperties2NV(VulkanStream * vkStream,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * forMarshaling)14700 void marshal_VkQueueFamilyCheckpointProperties2NV(
14701 VulkanStream* vkStream, VkStructureType rootType,
14702 const VkQueueFamilyCheckpointProperties2NV* forMarshaling) {
14703 (void)rootType;
14704 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14705 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14706 rootType = forMarshaling->sType;
14707 }
14708 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14709 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask,
14710 sizeof(VkPipelineStageFlags2));
14711 }
14712
unmarshal_VkQueueFamilyCheckpointProperties2NV(VulkanStream * vkStream,VkStructureType rootType,VkQueueFamilyCheckpointProperties2NV * forUnmarshaling)14713 void unmarshal_VkQueueFamilyCheckpointProperties2NV(
14714 VulkanStream* vkStream, VkStructureType rootType,
14715 VkQueueFamilyCheckpointProperties2NV* forUnmarshaling) {
14716 (void)rootType;
14717 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14718 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14719 rootType = forUnmarshaling->sType;
14720 }
14721 size_t pNext_size;
14722 pNext_size = vkStream->getBe32();
14723 forUnmarshaling->pNext = nullptr;
14724 if (pNext_size) {
14725 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14726 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14727 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14728 vkStream->alloc((void**)&forUnmarshaling->pNext,
14729 goldfish_vk_extension_struct_size_with_stream_features(
14730 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14731 *(VkStructureType*)forUnmarshaling->pNext = extType;
14732 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14733 }
14734 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->checkpointExecutionStageMask,
14735 sizeof(VkPipelineStageFlags2));
14736 }
14737
marshal_VkCheckpointData2NV(VulkanStream * vkStream,VkStructureType rootType,const VkCheckpointData2NV * forMarshaling)14738 void marshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType,
14739 const VkCheckpointData2NV* forMarshaling) {
14740 (void)rootType;
14741 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14742 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14743 rootType = forMarshaling->sType;
14744 }
14745 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14746 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stage, sizeof(VkPipelineStageFlags2));
14747 // WARNING PTR CHECK
14748 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
14749 vkStream->putBe64(cgen_var_0);
14750 if (forMarshaling->pCheckpointMarker) {
14751 vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
14752 }
14753 }
14754
unmarshal_VkCheckpointData2NV(VulkanStream * vkStream,VkStructureType rootType,VkCheckpointData2NV * forUnmarshaling)14755 void unmarshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType,
14756 VkCheckpointData2NV* forUnmarshaling) {
14757 (void)rootType;
14758 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14759 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14760 rootType = forUnmarshaling->sType;
14761 }
14762 size_t pNext_size;
14763 pNext_size = vkStream->getBe32();
14764 forUnmarshaling->pNext = nullptr;
14765 if (pNext_size) {
14766 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14767 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14768 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14769 vkStream->alloc((void**)&forUnmarshaling->pNext,
14770 goldfish_vk_extension_struct_size_with_stream_features(
14771 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14772 *(VkStructureType*)forUnmarshaling->pNext = extType;
14773 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14774 }
14775 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stage, sizeof(VkPipelineStageFlags2));
14776 // WARNING PTR CHECK
14777 forUnmarshaling->pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64();
14778 if (forUnmarshaling->pCheckpointMarker) {
14779 vkStream->alloc((void**)&forUnmarshaling->pCheckpointMarker, sizeof(uint8_t));
14780 vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t));
14781 }
14782 }
14783
14784 #endif
14785 #ifdef VK_KHR_maintenance5
marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5FeaturesKHR * forMarshaling)14786 void marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
14787 VulkanStream* vkStream, VkStructureType rootType,
14788 const VkPhysicalDeviceMaintenance5FeaturesKHR* forMarshaling) {
14789 (void)rootType;
14790 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14791 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14792 rootType = forMarshaling->sType;
14793 }
14794 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14795 vkStream->write((VkBool32*)&forMarshaling->maintenance5, sizeof(VkBool32));
14796 }
14797
unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance5FeaturesKHR * forUnmarshaling)14798 void unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
14799 VulkanStream* vkStream, VkStructureType rootType,
14800 VkPhysicalDeviceMaintenance5FeaturesKHR* forUnmarshaling) {
14801 (void)rootType;
14802 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14803 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14804 rootType = forUnmarshaling->sType;
14805 }
14806 size_t pNext_size;
14807 pNext_size = vkStream->getBe32();
14808 forUnmarshaling->pNext = nullptr;
14809 if (pNext_size) {
14810 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14811 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14812 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14813 vkStream->alloc((void**)&forUnmarshaling->pNext,
14814 goldfish_vk_extension_struct_size_with_stream_features(
14815 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14816 *(VkStructureType*)forUnmarshaling->pNext = extType;
14817 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14818 }
14819 vkStream->read((VkBool32*)&forUnmarshaling->maintenance5, sizeof(VkBool32));
14820 }
14821
marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5PropertiesKHR * forMarshaling)14822 void marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
14823 VulkanStream* vkStream, VkStructureType rootType,
14824 const VkPhysicalDeviceMaintenance5PropertiesKHR* forMarshaling) {
14825 (void)rootType;
14826 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14827 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14828 rootType = forMarshaling->sType;
14829 }
14830 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14831 vkStream->write((VkBool32*)&forMarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
14832 sizeof(VkBool32));
14833 vkStream->write((VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
14834 sizeof(VkBool32));
14835 vkStream->write((VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
14836 vkStream->write((VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
14837 vkStream->write((VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
14838 sizeof(VkBool32));
14839 vkStream->write((VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram,
14840 sizeof(VkBool32));
14841 }
14842
unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance5PropertiesKHR * forUnmarshaling)14843 void unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
14844 VulkanStream* vkStream, VkStructureType rootType,
14845 VkPhysicalDeviceMaintenance5PropertiesKHR* forUnmarshaling) {
14846 (void)rootType;
14847 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14848 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14849 rootType = forUnmarshaling->sType;
14850 }
14851 size_t pNext_size;
14852 pNext_size = vkStream->getBe32();
14853 forUnmarshaling->pNext = nullptr;
14854 if (pNext_size) {
14855 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14856 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14857 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14858 vkStream->alloc((void**)&forUnmarshaling->pNext,
14859 goldfish_vk_extension_struct_size_with_stream_features(
14860 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14861 *(VkStructureType*)forUnmarshaling->pNext = extType;
14862 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14863 }
14864 vkStream->read((VkBool32*)&forUnmarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
14865 sizeof(VkBool32));
14866 vkStream->read((VkBool32*)&forUnmarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
14867 sizeof(VkBool32));
14868 vkStream->read((VkBool32*)&forUnmarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
14869 vkStream->read((VkBool32*)&forUnmarshaling->polygonModePointSize, sizeof(VkBool32));
14870 vkStream->read((VkBool32*)&forUnmarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
14871 sizeof(VkBool32));
14872 vkStream->read((VkBool32*)&forUnmarshaling->nonStrictWideLinesUseParallelogram,
14873 sizeof(VkBool32));
14874 }
14875
marshal_VkRenderingAreaInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRenderingAreaInfoKHR * forMarshaling)14876 void marshal_VkRenderingAreaInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14877 const VkRenderingAreaInfoKHR* forMarshaling) {
14878 (void)rootType;
14879 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14880 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14881 rootType = forMarshaling->sType;
14882 }
14883 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14884 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
14885 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
14886 // WARNING PTR CHECK
14887 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
14888 vkStream->putBe64(cgen_var_0);
14889 if (forMarshaling->pColorAttachmentFormats) {
14890 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
14891 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
14892 }
14893 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
14894 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
14895 }
14896
unmarshal_VkRenderingAreaInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkRenderingAreaInfoKHR * forUnmarshaling)14897 void unmarshal_VkRenderingAreaInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14898 VkRenderingAreaInfoKHR* forUnmarshaling) {
14899 (void)rootType;
14900 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14901 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14902 rootType = forUnmarshaling->sType;
14903 }
14904 size_t pNext_size;
14905 pNext_size = vkStream->getBe32();
14906 forUnmarshaling->pNext = nullptr;
14907 if (pNext_size) {
14908 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14909 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14910 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14911 vkStream->alloc((void**)&forUnmarshaling->pNext,
14912 goldfish_vk_extension_struct_size_with_stream_features(
14913 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14914 *(VkStructureType*)forUnmarshaling->pNext = extType;
14915 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14916 }
14917 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
14918 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
14919 // WARNING PTR CHECK
14920 forUnmarshaling->pColorAttachmentFormats = (const VkFormat*)(uintptr_t)vkStream->getBe64();
14921 if (forUnmarshaling->pColorAttachmentFormats) {
14922 vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
14923 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
14924 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
14925 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
14926 }
14927 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
14928 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
14929 }
14930
marshal_VkImageSubresource2KHR(VulkanStream * vkStream,VkStructureType rootType,const VkImageSubresource2KHR * forMarshaling)14931 void marshal_VkImageSubresource2KHR(VulkanStream* vkStream, VkStructureType rootType,
14932 const VkImageSubresource2KHR* forMarshaling) {
14933 (void)rootType;
14934 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14935 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14936 rootType = forMarshaling->sType;
14937 }
14938 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14939 marshal_VkImageSubresource(vkStream, rootType,
14940 (VkImageSubresource*)(&forMarshaling->imageSubresource));
14941 }
14942
unmarshal_VkImageSubresource2KHR(VulkanStream * vkStream,VkStructureType rootType,VkImageSubresource2KHR * forUnmarshaling)14943 void unmarshal_VkImageSubresource2KHR(VulkanStream* vkStream, VkStructureType rootType,
14944 VkImageSubresource2KHR* forUnmarshaling) {
14945 (void)rootType;
14946 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14947 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14948 rootType = forUnmarshaling->sType;
14949 }
14950 size_t pNext_size;
14951 pNext_size = vkStream->getBe32();
14952 forUnmarshaling->pNext = nullptr;
14953 if (pNext_size) {
14954 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14955 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14956 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14957 vkStream->alloc((void**)&forUnmarshaling->pNext,
14958 goldfish_vk_extension_struct_size_with_stream_features(
14959 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14960 *(VkStructureType*)forUnmarshaling->pNext = extType;
14961 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
14962 }
14963 unmarshal_VkImageSubresource(vkStream, rootType,
14964 (VkImageSubresource*)(&forUnmarshaling->imageSubresource));
14965 }
14966
marshal_VkDeviceImageSubresourceInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceImageSubresourceInfoKHR * forMarshaling)14967 void marshal_VkDeviceImageSubresourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14968 const VkDeviceImageSubresourceInfoKHR* forMarshaling) {
14969 (void)rootType;
14970 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
14971 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14972 rootType = forMarshaling->sType;
14973 }
14974 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
14975 marshal_VkImageCreateInfo(vkStream, rootType,
14976 (const VkImageCreateInfo*)(forMarshaling->pCreateInfo));
14977 marshal_VkImageSubresource2KHR(vkStream, rootType,
14978 (const VkImageSubresource2KHR*)(forMarshaling->pSubresource));
14979 }
14980
unmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkDeviceImageSubresourceInfoKHR * forUnmarshaling)14981 void unmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
14982 VkDeviceImageSubresourceInfoKHR* forUnmarshaling) {
14983 (void)rootType;
14984 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
14985 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14986 rootType = forUnmarshaling->sType;
14987 }
14988 size_t pNext_size;
14989 pNext_size = vkStream->getBe32();
14990 forUnmarshaling->pNext = nullptr;
14991 if (pNext_size) {
14992 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
14993 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
14994 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
14995 vkStream->alloc((void**)&forUnmarshaling->pNext,
14996 goldfish_vk_extension_struct_size_with_stream_features(
14997 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
14998 *(VkStructureType*)forUnmarshaling->pNext = extType;
14999 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15000 }
15001 vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo));
15002 unmarshal_VkImageCreateInfo(vkStream, rootType,
15003 (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo));
15004 vkStream->alloc((void**)&forUnmarshaling->pSubresource, sizeof(const VkImageSubresource2KHR));
15005 unmarshal_VkImageSubresource2KHR(vkStream, rootType,
15006 (VkImageSubresource2KHR*)(forUnmarshaling->pSubresource));
15007 }
15008
marshal_VkSubresourceLayout2KHR(VulkanStream * vkStream,VkStructureType rootType,const VkSubresourceLayout2KHR * forMarshaling)15009 void marshal_VkSubresourceLayout2KHR(VulkanStream* vkStream, VkStructureType rootType,
15010 const VkSubresourceLayout2KHR* forMarshaling) {
15011 (void)rootType;
15012 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15013 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15014 rootType = forMarshaling->sType;
15015 }
15016 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15017 marshal_VkSubresourceLayout(vkStream, rootType,
15018 (VkSubresourceLayout*)(&forMarshaling->subresourceLayout));
15019 }
15020
unmarshal_VkSubresourceLayout2KHR(VulkanStream * vkStream,VkStructureType rootType,VkSubresourceLayout2KHR * forUnmarshaling)15021 void unmarshal_VkSubresourceLayout2KHR(VulkanStream* vkStream, VkStructureType rootType,
15022 VkSubresourceLayout2KHR* forUnmarshaling) {
15023 (void)rootType;
15024 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15025 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15026 rootType = forUnmarshaling->sType;
15027 }
15028 size_t pNext_size;
15029 pNext_size = vkStream->getBe32();
15030 forUnmarshaling->pNext = nullptr;
15031 if (pNext_size) {
15032 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15033 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15034 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15035 vkStream->alloc((void**)&forUnmarshaling->pNext,
15036 goldfish_vk_extension_struct_size_with_stream_features(
15037 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15038 *(VkStructureType*)forUnmarshaling->pNext = extType;
15039 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15040 }
15041 unmarshal_VkSubresourceLayout(vkStream, rootType,
15042 (VkSubresourceLayout*)(&forUnmarshaling->subresourceLayout));
15043 }
15044
marshal_VkPipelineCreateFlags2CreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfoKHR * forMarshaling)15045 void marshal_VkPipelineCreateFlags2CreateInfoKHR(
15046 VulkanStream* vkStream, VkStructureType rootType,
15047 const VkPipelineCreateFlags2CreateInfoKHR* forMarshaling) {
15048 (void)rootType;
15049 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15050 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15051 rootType = forMarshaling->sType;
15052 }
15053 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15054 vkStream->write((VkPipelineCreateFlags2KHR*)&forMarshaling->flags,
15055 sizeof(VkPipelineCreateFlags2KHR));
15056 }
15057
unmarshal_VkPipelineCreateFlags2CreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineCreateFlags2CreateInfoKHR * forUnmarshaling)15058 void unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
15059 VulkanStream* vkStream, VkStructureType rootType,
15060 VkPipelineCreateFlags2CreateInfoKHR* forUnmarshaling) {
15061 (void)rootType;
15062 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15063 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15064 rootType = forUnmarshaling->sType;
15065 }
15066 size_t pNext_size;
15067 pNext_size = vkStream->getBe32();
15068 forUnmarshaling->pNext = nullptr;
15069 if (pNext_size) {
15070 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15071 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15072 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15073 vkStream->alloc((void**)&forUnmarshaling->pNext,
15074 goldfish_vk_extension_struct_size_with_stream_features(
15075 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15076 *(VkStructureType*)forUnmarshaling->pNext = extType;
15077 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15078 }
15079 vkStream->read((VkPipelineCreateFlags2KHR*)&forUnmarshaling->flags,
15080 sizeof(VkPipelineCreateFlags2KHR));
15081 }
15082
marshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkBufferUsageFlags2CreateInfoKHR * forMarshaling)15083 void marshal_VkBufferUsageFlags2CreateInfoKHR(
15084 VulkanStream* vkStream, VkStructureType rootType,
15085 const VkBufferUsageFlags2CreateInfoKHR* forMarshaling) {
15086 (void)rootType;
15087 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15088 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15089 rootType = forMarshaling->sType;
15090 }
15091 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15092 vkStream->write((VkBufferUsageFlags2KHR*)&forMarshaling->usage, sizeof(VkBufferUsageFlags2KHR));
15093 }
15094
unmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkBufferUsageFlags2CreateInfoKHR * forUnmarshaling)15095 void unmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
15096 VkBufferUsageFlags2CreateInfoKHR* forUnmarshaling) {
15097 (void)rootType;
15098 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15099 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15100 rootType = forUnmarshaling->sType;
15101 }
15102 size_t pNext_size;
15103 pNext_size = vkStream->getBe32();
15104 forUnmarshaling->pNext = nullptr;
15105 if (pNext_size) {
15106 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15107 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15108 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15109 vkStream->alloc((void**)&forUnmarshaling->pNext,
15110 goldfish_vk_extension_struct_size_with_stream_features(
15111 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15112 *(VkStructureType*)forUnmarshaling->pNext = extType;
15113 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15114 }
15115 vkStream->read((VkBufferUsageFlags2KHR*)&forUnmarshaling->usage,
15116 sizeof(VkBufferUsageFlags2KHR));
15117 }
15118
15119 #endif
15120 #ifdef VK_KHR_line_rasterization
marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesKHR * forMarshaling)15121 void marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
15122 VulkanStream* vkStream, VkStructureType rootType,
15123 const VkPhysicalDeviceLineRasterizationFeaturesKHR* forMarshaling) {
15124 (void)rootType;
15125 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15126 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15127 rootType = forMarshaling->sType;
15128 }
15129 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15130 vkStream->write((VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
15131 vkStream->write((VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
15132 vkStream->write((VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
15133 vkStream->write((VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
15134 vkStream->write((VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
15135 vkStream->write((VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
15136 }
15137
unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceLineRasterizationFeaturesKHR * forUnmarshaling)15138 void unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
15139 VulkanStream* vkStream, VkStructureType rootType,
15140 VkPhysicalDeviceLineRasterizationFeaturesKHR* forUnmarshaling) {
15141 (void)rootType;
15142 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15143 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15144 rootType = forUnmarshaling->sType;
15145 }
15146 size_t pNext_size;
15147 pNext_size = vkStream->getBe32();
15148 forUnmarshaling->pNext = nullptr;
15149 if (pNext_size) {
15150 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15151 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15152 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15153 vkStream->alloc((void**)&forUnmarshaling->pNext,
15154 goldfish_vk_extension_struct_size_with_stream_features(
15155 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15156 *(VkStructureType*)forUnmarshaling->pNext = extType;
15157 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15158 }
15159 vkStream->read((VkBool32*)&forUnmarshaling->rectangularLines, sizeof(VkBool32));
15160 vkStream->read((VkBool32*)&forUnmarshaling->bresenhamLines, sizeof(VkBool32));
15161 vkStream->read((VkBool32*)&forUnmarshaling->smoothLines, sizeof(VkBool32));
15162 vkStream->read((VkBool32*)&forUnmarshaling->stippledRectangularLines, sizeof(VkBool32));
15163 vkStream->read((VkBool32*)&forUnmarshaling->stippledBresenhamLines, sizeof(VkBool32));
15164 vkStream->read((VkBool32*)&forUnmarshaling->stippledSmoothLines, sizeof(VkBool32));
15165 }
15166
marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesKHR * forMarshaling)15167 void marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
15168 VulkanStream* vkStream, VkStructureType rootType,
15169 const VkPhysicalDeviceLineRasterizationPropertiesKHR* forMarshaling) {
15170 (void)rootType;
15171 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15172 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15173 rootType = forMarshaling->sType;
15174 }
15175 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15176 vkStream->write((uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
15177 }
15178
unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceLineRasterizationPropertiesKHR * forUnmarshaling)15179 void unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
15180 VulkanStream* vkStream, VkStructureType rootType,
15181 VkPhysicalDeviceLineRasterizationPropertiesKHR* forUnmarshaling) {
15182 (void)rootType;
15183 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15184 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15185 rootType = forUnmarshaling->sType;
15186 }
15187 size_t pNext_size;
15188 pNext_size = vkStream->getBe32();
15189 forUnmarshaling->pNext = nullptr;
15190 if (pNext_size) {
15191 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15192 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15193 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15194 vkStream->alloc((void**)&forUnmarshaling->pNext,
15195 goldfish_vk_extension_struct_size_with_stream_features(
15196 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15197 *(VkStructureType*)forUnmarshaling->pNext = extType;
15198 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15199 }
15200 vkStream->read((uint32_t*)&forUnmarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
15201 }
15202
marshal_VkPipelineRasterizationLineStateCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoKHR * forMarshaling)15203 void marshal_VkPipelineRasterizationLineStateCreateInfoKHR(
15204 VulkanStream* vkStream, VkStructureType rootType,
15205 const VkPipelineRasterizationLineStateCreateInfoKHR* forMarshaling) {
15206 (void)rootType;
15207 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15208 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15209 rootType = forMarshaling->sType;
15210 }
15211 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15212 vkStream->write((VkLineRasterizationModeKHR*)&forMarshaling->lineRasterizationMode,
15213 sizeof(VkLineRasterizationModeKHR));
15214 vkStream->write((VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
15215 vkStream->write((uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
15216 vkStream->write((uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
15217 }
15218
unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRasterizationLineStateCreateInfoKHR * forUnmarshaling)15219 void unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(
15220 VulkanStream* vkStream, VkStructureType rootType,
15221 VkPipelineRasterizationLineStateCreateInfoKHR* forUnmarshaling) {
15222 (void)rootType;
15223 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15224 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15225 rootType = forUnmarshaling->sType;
15226 }
15227 size_t pNext_size;
15228 pNext_size = vkStream->getBe32();
15229 forUnmarshaling->pNext = nullptr;
15230 if (pNext_size) {
15231 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15232 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15233 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15234 vkStream->alloc((void**)&forUnmarshaling->pNext,
15235 goldfish_vk_extension_struct_size_with_stream_features(
15236 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15237 *(VkStructureType*)forUnmarshaling->pNext = extType;
15238 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15239 }
15240 vkStream->read((VkLineRasterizationModeKHR*)&forUnmarshaling->lineRasterizationMode,
15241 sizeof(VkLineRasterizationModeKHR));
15242 vkStream->read((VkBool32*)&forUnmarshaling->stippledLineEnable, sizeof(VkBool32));
15243 vkStream->read((uint32_t*)&forUnmarshaling->lineStippleFactor, sizeof(uint32_t));
15244 vkStream->read((uint16_t*)&forUnmarshaling->lineStipplePattern, sizeof(uint16_t));
15245 }
15246
15247 #endif
15248 #ifdef VK_ANDROID_native_buffer
marshal_VkNativeBufferUsage2ANDROID(VulkanStream * vkStream,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * forMarshaling)15249 void marshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType,
15250 const VkNativeBufferUsage2ANDROID* forMarshaling) {
15251 (void)rootType;
15252 vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
15253 vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
15254 }
15255
unmarshal_VkNativeBufferUsage2ANDROID(VulkanStream * vkStream,VkStructureType rootType,VkNativeBufferUsage2ANDROID * forUnmarshaling)15256 void unmarshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType,
15257 VkNativeBufferUsage2ANDROID* forUnmarshaling) {
15258 (void)rootType;
15259 vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t));
15260 vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t));
15261 }
15262
marshal_VkNativeBufferANDROID(VulkanStream * vkStream,VkStructureType rootType,const VkNativeBufferANDROID * forMarshaling)15263 void marshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType,
15264 const VkNativeBufferANDROID* forMarshaling) {
15265 (void)rootType;
15266 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15267 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15268 rootType = forMarshaling->sType;
15269 }
15270 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15271 // WARNING PTR CHECK
15272 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle;
15273 vkStream->putBe64(cgen_var_0);
15274 if (forMarshaling->handle) {
15275 vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
15276 }
15277 vkStream->write((int*)&forMarshaling->stride, sizeof(int));
15278 vkStream->write((int*)&forMarshaling->format, sizeof(int));
15279 vkStream->write((int*)&forMarshaling->usage, sizeof(int));
15280 marshal_VkNativeBufferUsage2ANDROID(vkStream, rootType,
15281 (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2));
15282 }
15283
unmarshal_VkNativeBufferANDROID(VulkanStream * vkStream,VkStructureType rootType,VkNativeBufferANDROID * forUnmarshaling)15284 void unmarshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType,
15285 VkNativeBufferANDROID* forUnmarshaling) {
15286 (void)rootType;
15287 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15288 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15289 rootType = forUnmarshaling->sType;
15290 }
15291 size_t pNext_size;
15292 pNext_size = vkStream->getBe32();
15293 forUnmarshaling->pNext = nullptr;
15294 if (pNext_size) {
15295 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15296 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15297 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15298 vkStream->alloc((void**)&forUnmarshaling->pNext,
15299 goldfish_vk_extension_struct_size_with_stream_features(
15300 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15301 *(VkStructureType*)forUnmarshaling->pNext = extType;
15302 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15303 }
15304 // WARNING PTR CHECK
15305 forUnmarshaling->handle = (const uint32_t*)(uintptr_t)vkStream->getBe64();
15306 if (forUnmarshaling->handle) {
15307 vkStream->alloc((void**)&forUnmarshaling->handle, sizeof(const uint32_t));
15308 vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t));
15309 }
15310 vkStream->read((int*)&forUnmarshaling->stride, sizeof(int));
15311 vkStream->read((int*)&forUnmarshaling->format, sizeof(int));
15312 vkStream->read((int*)&forUnmarshaling->usage, sizeof(int));
15313 unmarshal_VkNativeBufferUsage2ANDROID(vkStream, rootType,
15314 (VkNativeBufferUsage2ANDROID*)(&forUnmarshaling->usage2));
15315 }
15316
marshal_VkSwapchainImageCreateInfoANDROID(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * forMarshaling)15317 void marshal_VkSwapchainImageCreateInfoANDROID(
15318 VulkanStream* vkStream, VkStructureType rootType,
15319 const VkSwapchainImageCreateInfoANDROID* forMarshaling) {
15320 (void)rootType;
15321 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15322 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15323 rootType = forMarshaling->sType;
15324 }
15325 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15326 vkStream->write((VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
15327 sizeof(VkSwapchainImageUsageFlagsANDROID));
15328 }
15329
unmarshal_VkSwapchainImageCreateInfoANDROID(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainImageCreateInfoANDROID * forUnmarshaling)15330 void unmarshal_VkSwapchainImageCreateInfoANDROID(
15331 VulkanStream* vkStream, VkStructureType rootType,
15332 VkSwapchainImageCreateInfoANDROID* forUnmarshaling) {
15333 (void)rootType;
15334 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15335 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15336 rootType = forUnmarshaling->sType;
15337 }
15338 size_t pNext_size;
15339 pNext_size = vkStream->getBe32();
15340 forUnmarshaling->pNext = nullptr;
15341 if (pNext_size) {
15342 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15343 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15344 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15345 vkStream->alloc((void**)&forUnmarshaling->pNext,
15346 goldfish_vk_extension_struct_size_with_stream_features(
15347 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15348 *(VkStructureType*)forUnmarshaling->pNext = extType;
15349 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15350 }
15351 vkStream->read((VkSwapchainImageUsageFlagsANDROID*)&forUnmarshaling->usage,
15352 sizeof(VkSwapchainImageUsageFlagsANDROID));
15353 }
15354
marshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * forMarshaling)15355 void marshal_VkPhysicalDevicePresentationPropertiesANDROID(
15356 VulkanStream* vkStream, VkStructureType rootType,
15357 const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling) {
15358 (void)rootType;
15359 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15360 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15361 rootType = forMarshaling->sType;
15362 }
15363 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15364 vkStream->write((VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
15365 }
15366
unmarshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePresentationPropertiesANDROID * forUnmarshaling)15367 void unmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
15368 VulkanStream* vkStream, VkStructureType rootType,
15369 VkPhysicalDevicePresentationPropertiesANDROID* forUnmarshaling) {
15370 (void)rootType;
15371 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15372 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15373 rootType = forUnmarshaling->sType;
15374 }
15375 size_t pNext_size;
15376 pNext_size = vkStream->getBe32();
15377 forUnmarshaling->pNext = nullptr;
15378 if (pNext_size) {
15379 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15380 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15381 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15382 vkStream->alloc((void**)&forUnmarshaling->pNext,
15383 goldfish_vk_extension_struct_size_with_stream_features(
15384 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15385 *(VkStructureType*)forUnmarshaling->pNext = extType;
15386 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15387 }
15388 vkStream->read((VkBool32*)&forUnmarshaling->sharedImage, sizeof(VkBool32));
15389 }
15390
15391 #endif
15392 #ifdef VK_EXT_debug_report
marshal_VkDebugReportCallbackCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugReportCallbackCreateInfoEXT * forMarshaling)15393 void marshal_VkDebugReportCallbackCreateInfoEXT(
15394 VulkanStream* vkStream, VkStructureType rootType,
15395 const VkDebugReportCallbackCreateInfoEXT* forMarshaling) {
15396 (void)rootType;
15397 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15398 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15399 rootType = forMarshaling->sType;
15400 }
15401 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15402 vkStream->write((VkDebugReportFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugReportFlagsEXT));
15403 uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnCallback;
15404 vkStream->putBe64(cgen_var_0);
15405 // WARNING PTR CHECK
15406 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
15407 vkStream->putBe64(cgen_var_1);
15408 if (forMarshaling->pUserData) {
15409 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
15410 }
15411 }
15412
unmarshal_VkDebugReportCallbackCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugReportCallbackCreateInfoEXT * forUnmarshaling)15413 void unmarshal_VkDebugReportCallbackCreateInfoEXT(
15414 VulkanStream* vkStream, VkStructureType rootType,
15415 VkDebugReportCallbackCreateInfoEXT* forUnmarshaling) {
15416 (void)rootType;
15417 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15418 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15419 rootType = forUnmarshaling->sType;
15420 }
15421 size_t pNext_size;
15422 pNext_size = vkStream->getBe32();
15423 forUnmarshaling->pNext = nullptr;
15424 if (pNext_size) {
15425 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15426 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15427 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15428 vkStream->alloc((void**)&forUnmarshaling->pNext,
15429 goldfish_vk_extension_struct_size_with_stream_features(
15430 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15431 *(VkStructureType*)forUnmarshaling->pNext = extType;
15432 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15433 }
15434 vkStream->read((VkDebugReportFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugReportFlagsEXT));
15435 forUnmarshaling->pfnCallback = (PFN_vkDebugReportCallbackEXT)vkStream->getBe64();
15436 // WARNING PTR CHECK
15437 forUnmarshaling->pUserData = (void*)(uintptr_t)vkStream->getBe64();
15438 if (forUnmarshaling->pUserData) {
15439 vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
15440 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
15441 }
15442 }
15443
15444 #endif
15445 #ifdef VK_EXT_transform_feedback
marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * forMarshaling)15446 void marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
15447 VulkanStream* vkStream, VkStructureType rootType,
15448 const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling) {
15449 (void)rootType;
15450 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15451 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15452 rootType = forMarshaling->sType;
15453 }
15454 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15455 vkStream->write((VkBool32*)&forMarshaling->transformFeedback, sizeof(VkBool32));
15456 vkStream->write((VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
15457 }
15458
unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTransformFeedbackFeaturesEXT * forUnmarshaling)15459 void unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
15460 VulkanStream* vkStream, VkStructureType rootType,
15461 VkPhysicalDeviceTransformFeedbackFeaturesEXT* forUnmarshaling) {
15462 (void)rootType;
15463 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15464 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15465 rootType = forUnmarshaling->sType;
15466 }
15467 size_t pNext_size;
15468 pNext_size = vkStream->getBe32();
15469 forUnmarshaling->pNext = nullptr;
15470 if (pNext_size) {
15471 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15472 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15473 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15474 vkStream->alloc((void**)&forUnmarshaling->pNext,
15475 goldfish_vk_extension_struct_size_with_stream_features(
15476 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15477 *(VkStructureType*)forUnmarshaling->pNext = extType;
15478 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15479 }
15480 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedback, sizeof(VkBool32));
15481 vkStream->read((VkBool32*)&forUnmarshaling->geometryStreams, sizeof(VkBool32));
15482 }
15483
marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * forMarshaling)15484 void marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
15485 VulkanStream* vkStream, VkStructureType rootType,
15486 const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling) {
15487 (void)rootType;
15488 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15489 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15490 rootType = forMarshaling->sType;
15491 }
15492 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15493 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
15494 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
15495 vkStream->write((VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
15496 sizeof(VkDeviceSize));
15497 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize,
15498 sizeof(uint32_t));
15499 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize,
15500 sizeof(uint32_t));
15501 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride,
15502 sizeof(uint32_t));
15503 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
15504 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
15505 sizeof(VkBool32));
15506 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
15507 sizeof(VkBool32));
15508 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
15509 }
15510
unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTransformFeedbackPropertiesEXT * forUnmarshaling)15511 void unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
15512 VulkanStream* vkStream, VkStructureType rootType,
15513 VkPhysicalDeviceTransformFeedbackPropertiesEXT* forUnmarshaling) {
15514 (void)rootType;
15515 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15516 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15517 rootType = forUnmarshaling->sType;
15518 }
15519 size_t pNext_size;
15520 pNext_size = vkStream->getBe32();
15521 forUnmarshaling->pNext = nullptr;
15522 if (pNext_size) {
15523 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15524 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15525 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15526 vkStream->alloc((void**)&forUnmarshaling->pNext,
15527 goldfish_vk_extension_struct_size_with_stream_features(
15528 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15529 *(VkStructureType*)forUnmarshaling->pNext = extType;
15530 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15531 }
15532 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
15533 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
15534 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxTransformFeedbackBufferSize,
15535 sizeof(VkDeviceSize));
15536 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreamDataSize,
15537 sizeof(uint32_t));
15538 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataSize,
15539 sizeof(uint32_t));
15540 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataStride,
15541 sizeof(uint32_t));
15542 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackQueries, sizeof(VkBool32));
15543 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackStreamsLinesTriangles,
15544 sizeof(VkBool32));
15545 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackRasterizationStreamSelect,
15546 sizeof(VkBool32));
15547 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackDraw, sizeof(VkBool32));
15548 }
15549
marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * forMarshaling)15550 void marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
15551 VulkanStream* vkStream, VkStructureType rootType,
15552 const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling) {
15553 (void)rootType;
15554 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15555 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15556 rootType = forMarshaling->sType;
15557 }
15558 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15559 vkStream->write((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
15560 sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
15561 vkStream->write((uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
15562 }
15563
unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRasterizationStateStreamCreateInfoEXT * forUnmarshaling)15564 void unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
15565 VulkanStream* vkStream, VkStructureType rootType,
15566 VkPipelineRasterizationStateStreamCreateInfoEXT* forUnmarshaling) {
15567 (void)rootType;
15568 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15569 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15570 rootType = forUnmarshaling->sType;
15571 }
15572 size_t pNext_size;
15573 pNext_size = vkStream->getBe32();
15574 forUnmarshaling->pNext = nullptr;
15575 if (pNext_size) {
15576 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15577 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15578 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15579 vkStream->alloc((void**)&forUnmarshaling->pNext,
15580 goldfish_vk_extension_struct_size_with_stream_features(
15581 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15582 *(VkStructureType*)forUnmarshaling->pNext = extType;
15583 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15584 }
15585 vkStream->read((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forUnmarshaling->flags,
15586 sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
15587 vkStream->read((uint32_t*)&forUnmarshaling->rasterizationStream, sizeof(uint32_t));
15588 }
15589
15590 #endif
15591 #ifdef VK_EXT_depth_clip_enable
marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * forMarshaling)15592 void marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
15593 VulkanStream* vkStream, VkStructureType rootType,
15594 const VkPhysicalDeviceDepthClipEnableFeaturesEXT* forMarshaling) {
15595 (void)rootType;
15596 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15597 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15598 rootType = forMarshaling->sType;
15599 }
15600 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15601 vkStream->write((VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
15602 }
15603
unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDepthClipEnableFeaturesEXT * forUnmarshaling)15604 void unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
15605 VulkanStream* vkStream, VkStructureType rootType,
15606 VkPhysicalDeviceDepthClipEnableFeaturesEXT* forUnmarshaling) {
15607 (void)rootType;
15608 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15609 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15610 rootType = forUnmarshaling->sType;
15611 }
15612 size_t pNext_size;
15613 pNext_size = vkStream->getBe32();
15614 forUnmarshaling->pNext = nullptr;
15615 if (pNext_size) {
15616 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15617 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15618 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15619 vkStream->alloc((void**)&forUnmarshaling->pNext,
15620 goldfish_vk_extension_struct_size_with_stream_features(
15621 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15622 *(VkStructureType*)forUnmarshaling->pNext = extType;
15623 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15624 }
15625 vkStream->read((VkBool32*)&forUnmarshaling->depthClipEnable, sizeof(VkBool32));
15626 }
15627
marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * forMarshaling)15628 void marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
15629 VulkanStream* vkStream, VkStructureType rootType,
15630 const VkPipelineRasterizationDepthClipStateCreateInfoEXT* forMarshaling) {
15631 (void)rootType;
15632 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15633 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15634 rootType = forMarshaling->sType;
15635 }
15636 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15637 vkStream->write((VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forMarshaling->flags,
15638 sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
15639 vkStream->write((VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
15640 }
15641
unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRasterizationDepthClipStateCreateInfoEXT * forUnmarshaling)15642 void unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
15643 VulkanStream* vkStream, VkStructureType rootType,
15644 VkPipelineRasterizationDepthClipStateCreateInfoEXT* forUnmarshaling) {
15645 (void)rootType;
15646 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15647 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15648 rootType = forUnmarshaling->sType;
15649 }
15650 size_t pNext_size;
15651 pNext_size = vkStream->getBe32();
15652 forUnmarshaling->pNext = nullptr;
15653 if (pNext_size) {
15654 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15655 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15656 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15657 vkStream->alloc((void**)&forUnmarshaling->pNext,
15658 goldfish_vk_extension_struct_size_with_stream_features(
15659 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15660 *(VkStructureType*)forUnmarshaling->pNext = extType;
15661 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15662 }
15663 vkStream->read((VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forUnmarshaling->flags,
15664 sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
15665 vkStream->read((VkBool32*)&forUnmarshaling->depthClipEnable, sizeof(VkBool32));
15666 }
15667
15668 #endif
15669 #ifdef VK_EXT_debug_utils
marshal_VkDebugUtilsLabelEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugUtilsLabelEXT * forMarshaling)15670 void marshal_VkDebugUtilsLabelEXT(VulkanStream* vkStream, VkStructureType rootType,
15671 const VkDebugUtilsLabelEXT* forMarshaling) {
15672 (void)rootType;
15673 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15674 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15675 rootType = forMarshaling->sType;
15676 }
15677 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15678 vkStream->putString(forMarshaling->pLabelName);
15679 vkStream->write((float*)forMarshaling->color, 4 * sizeof(float));
15680 }
15681
unmarshal_VkDebugUtilsLabelEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugUtilsLabelEXT * forUnmarshaling)15682 void unmarshal_VkDebugUtilsLabelEXT(VulkanStream* vkStream, VkStructureType rootType,
15683 VkDebugUtilsLabelEXT* forUnmarshaling) {
15684 (void)rootType;
15685 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15686 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15687 rootType = forUnmarshaling->sType;
15688 }
15689 size_t pNext_size;
15690 pNext_size = vkStream->getBe32();
15691 forUnmarshaling->pNext = nullptr;
15692 if (pNext_size) {
15693 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15694 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15695 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15696 vkStream->alloc((void**)&forUnmarshaling->pNext,
15697 goldfish_vk_extension_struct_size_with_stream_features(
15698 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15699 *(VkStructureType*)forUnmarshaling->pNext = extType;
15700 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15701 }
15702 vkStream->loadStringInPlace((char**)&forUnmarshaling->pLabelName);
15703 vkStream->read((float*)forUnmarshaling->color, 4 * sizeof(float));
15704 }
15705
marshal_VkDebugUtilsObjectNameInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugUtilsObjectNameInfoEXT * forMarshaling)15706 void marshal_VkDebugUtilsObjectNameInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
15707 const VkDebugUtilsObjectNameInfoEXT* forMarshaling) {
15708 (void)rootType;
15709 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15710 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15711 rootType = forMarshaling->sType;
15712 }
15713 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15714 vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
15715 vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
15716 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
15717 // WARNING PTR CHECK
15718 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pObjectName;
15719 vkStream->putBe64(cgen_var_0);
15720 if (forMarshaling->pObjectName) {
15721 vkStream->putString(forMarshaling->pObjectName);
15722 }
15723 } else {
15724 vkStream->putString(forMarshaling->pObjectName);
15725 }
15726 }
15727
unmarshal_VkDebugUtilsObjectNameInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugUtilsObjectNameInfoEXT * forUnmarshaling)15728 void unmarshal_VkDebugUtilsObjectNameInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
15729 VkDebugUtilsObjectNameInfoEXT* forUnmarshaling) {
15730 (void)rootType;
15731 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15732 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15733 rootType = forUnmarshaling->sType;
15734 }
15735 size_t pNext_size;
15736 pNext_size = vkStream->getBe32();
15737 forUnmarshaling->pNext = nullptr;
15738 if (pNext_size) {
15739 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15740 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15741 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15742 vkStream->alloc((void**)&forUnmarshaling->pNext,
15743 goldfish_vk_extension_struct_size_with_stream_features(
15744 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15745 *(VkStructureType*)forUnmarshaling->pNext = extType;
15746 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15747 }
15748 vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
15749 vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
15750 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
15751 // WARNING PTR CHECK
15752 forUnmarshaling->pObjectName = (const char*)(uintptr_t)vkStream->getBe64();
15753 if (forUnmarshaling->pObjectName) {
15754 vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName);
15755 }
15756 } else {
15757 vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName);
15758 }
15759 }
15760
marshal_VkDebugUtilsMessengerCallbackDataEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugUtilsMessengerCallbackDataEXT * forMarshaling)15761 void marshal_VkDebugUtilsMessengerCallbackDataEXT(
15762 VulkanStream* vkStream, VkStructureType rootType,
15763 const VkDebugUtilsMessengerCallbackDataEXT* forMarshaling) {
15764 (void)rootType;
15765 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15766 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15767 rootType = forMarshaling->sType;
15768 }
15769 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15770 vkStream->write((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forMarshaling->flags,
15771 sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT));
15772 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
15773 // WARNING PTR CHECK
15774 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pMessageIdName;
15775 vkStream->putBe64(cgen_var_0);
15776 if (forMarshaling->pMessageIdName) {
15777 vkStream->putString(forMarshaling->pMessageIdName);
15778 }
15779 } else {
15780 vkStream->putString(forMarshaling->pMessageIdName);
15781 }
15782 vkStream->write((int32_t*)&forMarshaling->messageIdNumber, sizeof(int32_t));
15783 vkStream->putString(forMarshaling->pMessage);
15784 vkStream->write((uint32_t*)&forMarshaling->queueLabelCount, sizeof(uint32_t));
15785 if (forMarshaling) {
15786 for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i) {
15787 marshal_VkDebugUtilsLabelEXT(
15788 vkStream, rootType, (const VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i));
15789 }
15790 }
15791 vkStream->write((uint32_t*)&forMarshaling->cmdBufLabelCount, sizeof(uint32_t));
15792 if (forMarshaling) {
15793 for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i) {
15794 marshal_VkDebugUtilsLabelEXT(
15795 vkStream, rootType,
15796 (const VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i));
15797 }
15798 }
15799 vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t));
15800 if (forMarshaling) {
15801 for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i) {
15802 marshal_VkDebugUtilsObjectNameInfoEXT(
15803 vkStream, rootType,
15804 (const VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i));
15805 }
15806 }
15807 }
15808
unmarshal_VkDebugUtilsMessengerCallbackDataEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugUtilsMessengerCallbackDataEXT * forUnmarshaling)15809 void unmarshal_VkDebugUtilsMessengerCallbackDataEXT(
15810 VulkanStream* vkStream, VkStructureType rootType,
15811 VkDebugUtilsMessengerCallbackDataEXT* forUnmarshaling) {
15812 (void)rootType;
15813 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15814 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15815 rootType = forUnmarshaling->sType;
15816 }
15817 size_t pNext_size;
15818 pNext_size = vkStream->getBe32();
15819 forUnmarshaling->pNext = nullptr;
15820 if (pNext_size) {
15821 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15822 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15823 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15824 vkStream->alloc((void**)&forUnmarshaling->pNext,
15825 goldfish_vk_extension_struct_size_with_stream_features(
15826 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15827 *(VkStructureType*)forUnmarshaling->pNext = extType;
15828 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15829 }
15830 vkStream->read((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forUnmarshaling->flags,
15831 sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT));
15832 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
15833 // WARNING PTR CHECK
15834 forUnmarshaling->pMessageIdName = (const char*)(uintptr_t)vkStream->getBe64();
15835 if (forUnmarshaling->pMessageIdName) {
15836 vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName);
15837 }
15838 } else {
15839 vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName);
15840 }
15841 vkStream->read((int32_t*)&forUnmarshaling->messageIdNumber, sizeof(int32_t));
15842 vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessage);
15843 vkStream->read((uint32_t*)&forUnmarshaling->queueLabelCount, sizeof(uint32_t));
15844 vkStream->alloc((void**)&forUnmarshaling->pQueueLabels,
15845 forUnmarshaling->queueLabelCount * sizeof(const VkDebugUtilsLabelEXT));
15846 if (forUnmarshaling) {
15847 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueLabelCount; ++i) {
15848 unmarshal_VkDebugUtilsLabelEXT(
15849 vkStream, rootType, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pQueueLabels + i));
15850 }
15851 }
15852 vkStream->read((uint32_t*)&forUnmarshaling->cmdBufLabelCount, sizeof(uint32_t));
15853 vkStream->alloc((void**)&forUnmarshaling->pCmdBufLabels,
15854 forUnmarshaling->cmdBufLabelCount * sizeof(const VkDebugUtilsLabelEXT));
15855 if (forUnmarshaling) {
15856 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->cmdBufLabelCount; ++i) {
15857 unmarshal_VkDebugUtilsLabelEXT(
15858 vkStream, rootType, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pCmdBufLabels + i));
15859 }
15860 }
15861 vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t));
15862 vkStream->alloc((void**)&forUnmarshaling->pObjects,
15863 forUnmarshaling->objectCount * sizeof(const VkDebugUtilsObjectNameInfoEXT));
15864 if (forUnmarshaling) {
15865 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->objectCount; ++i) {
15866 unmarshal_VkDebugUtilsObjectNameInfoEXT(
15867 vkStream, rootType,
15868 (VkDebugUtilsObjectNameInfoEXT*)(forUnmarshaling->pObjects + i));
15869 }
15870 }
15871 }
15872
marshal_VkDebugUtilsMessengerCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugUtilsMessengerCreateInfoEXT * forMarshaling)15873 void marshal_VkDebugUtilsMessengerCreateInfoEXT(
15874 VulkanStream* vkStream, VkStructureType rootType,
15875 const VkDebugUtilsMessengerCreateInfoEXT* forMarshaling) {
15876 (void)rootType;
15877 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15878 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15879 rootType = forMarshaling->sType;
15880 }
15881 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15882 vkStream->write((VkDebugUtilsMessengerCreateFlagsEXT*)&forMarshaling->flags,
15883 sizeof(VkDebugUtilsMessengerCreateFlagsEXT));
15884 vkStream->write((VkDebugUtilsMessageSeverityFlagsEXT*)&forMarshaling->messageSeverity,
15885 sizeof(VkDebugUtilsMessageSeverityFlagsEXT));
15886 vkStream->write((VkDebugUtilsMessageTypeFlagsEXT*)&forMarshaling->messageType,
15887 sizeof(VkDebugUtilsMessageTypeFlagsEXT));
15888 uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
15889 vkStream->putBe64(cgen_var_0);
15890 // WARNING PTR CHECK
15891 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
15892 vkStream->putBe64(cgen_var_1);
15893 if (forMarshaling->pUserData) {
15894 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
15895 }
15896 }
15897
unmarshal_VkDebugUtilsMessengerCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugUtilsMessengerCreateInfoEXT * forUnmarshaling)15898 void unmarshal_VkDebugUtilsMessengerCreateInfoEXT(
15899 VulkanStream* vkStream, VkStructureType rootType,
15900 VkDebugUtilsMessengerCreateInfoEXT* forUnmarshaling) {
15901 (void)rootType;
15902 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15903 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15904 rootType = forUnmarshaling->sType;
15905 }
15906 size_t pNext_size;
15907 pNext_size = vkStream->getBe32();
15908 forUnmarshaling->pNext = nullptr;
15909 if (pNext_size) {
15910 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15911 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15912 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15913 vkStream->alloc((void**)&forUnmarshaling->pNext,
15914 goldfish_vk_extension_struct_size_with_stream_features(
15915 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15916 *(VkStructureType*)forUnmarshaling->pNext = extType;
15917 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15918 }
15919 vkStream->read((VkDebugUtilsMessengerCreateFlagsEXT*)&forUnmarshaling->flags,
15920 sizeof(VkDebugUtilsMessengerCreateFlagsEXT));
15921 vkStream->read((VkDebugUtilsMessageSeverityFlagsEXT*)&forUnmarshaling->messageSeverity,
15922 sizeof(VkDebugUtilsMessageSeverityFlagsEXT));
15923 vkStream->read((VkDebugUtilsMessageTypeFlagsEXT*)&forUnmarshaling->messageType,
15924 sizeof(VkDebugUtilsMessageTypeFlagsEXT));
15925 forUnmarshaling->pfnUserCallback = (PFN_vkDebugUtilsMessengerCallbackEXT)vkStream->getBe64();
15926 // WARNING PTR CHECK
15927 forUnmarshaling->pUserData = (void*)(uintptr_t)vkStream->getBe64();
15928 if (forUnmarshaling->pUserData) {
15929 vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
15930 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
15931 }
15932 }
15933
marshal_VkDebugUtilsObjectTagInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDebugUtilsObjectTagInfoEXT * forMarshaling)15934 void marshal_VkDebugUtilsObjectTagInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
15935 const VkDebugUtilsObjectTagInfoEXT* forMarshaling) {
15936 (void)rootType;
15937 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
15938 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15939 rootType = forMarshaling->sType;
15940 }
15941 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
15942 vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
15943 vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
15944 vkStream->write((uint64_t*)&forMarshaling->tagName, sizeof(uint64_t));
15945 uint64_t cgen_var_0 = (uint64_t)forMarshaling->tagSize;
15946 vkStream->putBe64(cgen_var_0);
15947 vkStream->write((const void*)forMarshaling->pTag,
15948 forMarshaling->tagSize * sizeof(const uint8_t));
15949 }
15950
unmarshal_VkDebugUtilsObjectTagInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkDebugUtilsObjectTagInfoEXT * forUnmarshaling)15951 void unmarshal_VkDebugUtilsObjectTagInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
15952 VkDebugUtilsObjectTagInfoEXT* forUnmarshaling) {
15953 (void)rootType;
15954 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
15955 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15956 rootType = forUnmarshaling->sType;
15957 }
15958 size_t pNext_size;
15959 pNext_size = vkStream->getBe32();
15960 forUnmarshaling->pNext = nullptr;
15961 if (pNext_size) {
15962 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
15963 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
15964 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
15965 vkStream->alloc((void**)&forUnmarshaling->pNext,
15966 goldfish_vk_extension_struct_size_with_stream_features(
15967 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
15968 *(VkStructureType*)forUnmarshaling->pNext = extType;
15969 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
15970 }
15971 vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
15972 vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
15973 vkStream->read((uint64_t*)&forUnmarshaling->tagName, sizeof(uint64_t));
15974 forUnmarshaling->tagSize = (size_t)vkStream->getBe64();
15975 vkStream->alloc((void**)&forUnmarshaling->pTag,
15976 forUnmarshaling->tagSize * sizeof(const uint8_t));
15977 vkStream->read((void*)forUnmarshaling->pTag, forUnmarshaling->tagSize * sizeof(const uint8_t));
15978 }
15979
15980 #endif
15981 #ifdef VK_EXT_image_drm_format_modifier
marshal_VkDrmFormatModifierPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * forMarshaling)15982 void marshal_VkDrmFormatModifierPropertiesEXT(
15983 VulkanStream* vkStream, VkStructureType rootType,
15984 const VkDrmFormatModifierPropertiesEXT* forMarshaling) {
15985 (void)rootType;
15986 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
15987 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
15988 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->drmFormatModifierTilingFeatures,
15989 sizeof(VkFormatFeatureFlags));
15990 }
15991
unmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesEXT * forUnmarshaling)15992 void unmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType,
15993 VkDrmFormatModifierPropertiesEXT* forUnmarshaling) {
15994 (void)rootType;
15995 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
15996 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
15997 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->drmFormatModifierTilingFeatures,
15998 sizeof(VkFormatFeatureFlags));
15999 }
16000
marshal_VkDrmFormatModifierPropertiesListEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * forMarshaling)16001 void marshal_VkDrmFormatModifierPropertiesListEXT(
16002 VulkanStream* vkStream, VkStructureType rootType,
16003 const VkDrmFormatModifierPropertiesListEXT* forMarshaling) {
16004 (void)rootType;
16005 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16006 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16007 rootType = forMarshaling->sType;
16008 }
16009 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16010 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
16011 // WARNING PTR CHECK
16012 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
16013 vkStream->putBe64(cgen_var_0);
16014 if (forMarshaling->pDrmFormatModifierProperties) {
16015 if (forMarshaling) {
16016 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
16017 marshal_VkDrmFormatModifierPropertiesEXT(
16018 vkStream, rootType,
16019 (VkDrmFormatModifierPropertiesEXT*)(forMarshaling
16020 ->pDrmFormatModifierProperties +
16021 i));
16022 }
16023 }
16024 }
16025 }
16026
unmarshal_VkDrmFormatModifierPropertiesListEXT(VulkanStream * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesListEXT * forUnmarshaling)16027 void unmarshal_VkDrmFormatModifierPropertiesListEXT(
16028 VulkanStream* vkStream, VkStructureType rootType,
16029 VkDrmFormatModifierPropertiesListEXT* forUnmarshaling) {
16030 (void)rootType;
16031 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16032 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16033 rootType = forUnmarshaling->sType;
16034 }
16035 size_t pNext_size;
16036 pNext_size = vkStream->getBe32();
16037 forUnmarshaling->pNext = nullptr;
16038 if (pNext_size) {
16039 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16040 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16041 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16042 vkStream->alloc((void**)&forUnmarshaling->pNext,
16043 goldfish_vk_extension_struct_size_with_stream_features(
16044 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16045 *(VkStructureType*)forUnmarshaling->pNext = extType;
16046 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16047 }
16048 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
16049 // WARNING PTR CHECK
16050 forUnmarshaling->pDrmFormatModifierProperties =
16051 (VkDrmFormatModifierPropertiesEXT*)(uintptr_t)vkStream->getBe64();
16052 if (forUnmarshaling->pDrmFormatModifierProperties) {
16053 vkStream->alloc(
16054 (void**)&forUnmarshaling->pDrmFormatModifierProperties,
16055 forUnmarshaling->drmFormatModifierCount * sizeof(VkDrmFormatModifierPropertiesEXT));
16056 if (forUnmarshaling) {
16057 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierCount; ++i) {
16058 unmarshal_VkDrmFormatModifierPropertiesEXT(
16059 vkStream, rootType,
16060 (VkDrmFormatModifierPropertiesEXT*)(forUnmarshaling
16061 ->pDrmFormatModifierProperties +
16062 i));
16063 }
16064 }
16065 }
16066 }
16067
marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forMarshaling)16068 void marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
16069 VulkanStream* vkStream, VkStructureType rootType,
16070 const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forMarshaling) {
16071 (void)rootType;
16072 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16073 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16074 rootType = forMarshaling->sType;
16075 }
16076 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16077 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
16078 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
16079 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
16080 // WARNING PTR CHECK
16081 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
16082 vkStream->putBe64(cgen_var_0);
16083 if (forMarshaling->pQueueFamilyIndices) {
16084 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
16085 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
16086 }
16087 }
16088
unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forUnmarshaling)16089 void unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
16090 VulkanStream* vkStream, VkStructureType rootType,
16091 VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forUnmarshaling) {
16092 (void)rootType;
16093 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16094 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16095 rootType = forUnmarshaling->sType;
16096 }
16097 size_t pNext_size;
16098 pNext_size = vkStream->getBe32();
16099 forUnmarshaling->pNext = nullptr;
16100 if (pNext_size) {
16101 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16102 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16103 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16104 vkStream->alloc((void**)&forUnmarshaling->pNext,
16105 goldfish_vk_extension_struct_size_with_stream_features(
16106 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16107 *(VkStructureType*)forUnmarshaling->pNext = extType;
16108 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16109 }
16110 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
16111 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
16112 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
16113 // WARNING PTR CHECK
16114 forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
16115 if (forUnmarshaling->pQueueFamilyIndices) {
16116 vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
16117 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
16118 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
16119 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
16120 }
16121 }
16122
marshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * forMarshaling)16123 void marshal_VkImageDrmFormatModifierListCreateInfoEXT(
16124 VulkanStream* vkStream, VkStructureType rootType,
16125 const VkImageDrmFormatModifierListCreateInfoEXT* forMarshaling) {
16126 (void)rootType;
16127 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16128 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16129 rootType = forMarshaling->sType;
16130 }
16131 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16132 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
16133 vkStream->write((const uint64_t*)forMarshaling->pDrmFormatModifiers,
16134 forMarshaling->drmFormatModifierCount * sizeof(const uint64_t));
16135 }
16136
unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageDrmFormatModifierListCreateInfoEXT * forUnmarshaling)16137 void unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
16138 VulkanStream* vkStream, VkStructureType rootType,
16139 VkImageDrmFormatModifierListCreateInfoEXT* forUnmarshaling) {
16140 (void)rootType;
16141 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16142 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16143 rootType = forUnmarshaling->sType;
16144 }
16145 size_t pNext_size;
16146 pNext_size = vkStream->getBe32();
16147 forUnmarshaling->pNext = nullptr;
16148 if (pNext_size) {
16149 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16150 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16151 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16152 vkStream->alloc((void**)&forUnmarshaling->pNext,
16153 goldfish_vk_extension_struct_size_with_stream_features(
16154 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16155 *(VkStructureType*)forUnmarshaling->pNext = extType;
16156 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16157 }
16158 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
16159 vkStream->alloc((void**)&forUnmarshaling->pDrmFormatModifiers,
16160 forUnmarshaling->drmFormatModifierCount * sizeof(const uint64_t));
16161 vkStream->read((uint64_t*)forUnmarshaling->pDrmFormatModifiers,
16162 forUnmarshaling->drmFormatModifierCount * sizeof(const uint64_t));
16163 }
16164
marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * forMarshaling)16165 void marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
16166 VulkanStream* vkStream, VkStructureType rootType,
16167 const VkImageDrmFormatModifierExplicitCreateInfoEXT* forMarshaling) {
16168 (void)rootType;
16169 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16170 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16171 rootType = forMarshaling->sType;
16172 }
16173 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16174 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
16175 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
16176 if (forMarshaling) {
16177 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierPlaneCount; ++i) {
16178 marshal_VkSubresourceLayout(
16179 vkStream, rootType, (const VkSubresourceLayout*)(forMarshaling->pPlaneLayouts + i));
16180 }
16181 }
16182 }
16183
unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageDrmFormatModifierExplicitCreateInfoEXT * forUnmarshaling)16184 void unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
16185 VulkanStream* vkStream, VkStructureType rootType,
16186 VkImageDrmFormatModifierExplicitCreateInfoEXT* forUnmarshaling) {
16187 (void)rootType;
16188 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16189 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16190 rootType = forUnmarshaling->sType;
16191 }
16192 size_t pNext_size;
16193 pNext_size = vkStream->getBe32();
16194 forUnmarshaling->pNext = nullptr;
16195 if (pNext_size) {
16196 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16197 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16198 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16199 vkStream->alloc((void**)&forUnmarshaling->pNext,
16200 goldfish_vk_extension_struct_size_with_stream_features(
16201 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16202 *(VkStructureType*)forUnmarshaling->pNext = extType;
16203 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16204 }
16205 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
16206 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
16207 vkStream->alloc(
16208 (void**)&forUnmarshaling->pPlaneLayouts,
16209 forUnmarshaling->drmFormatModifierPlaneCount * sizeof(const VkSubresourceLayout));
16210 if (forUnmarshaling) {
16211 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierPlaneCount; ++i) {
16212 unmarshal_VkSubresourceLayout(
16213 vkStream, rootType, (VkSubresourceLayout*)(forUnmarshaling->pPlaneLayouts + i));
16214 }
16215 }
16216 }
16217
marshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * forMarshaling)16218 void marshal_VkImageDrmFormatModifierPropertiesEXT(
16219 VulkanStream* vkStream, VkStructureType rootType,
16220 const VkImageDrmFormatModifierPropertiesEXT* forMarshaling) {
16221 (void)rootType;
16222 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16223 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16224 rootType = forMarshaling->sType;
16225 }
16226 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16227 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
16228 }
16229
unmarshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageDrmFormatModifierPropertiesEXT * forUnmarshaling)16230 void unmarshal_VkImageDrmFormatModifierPropertiesEXT(
16231 VulkanStream* vkStream, VkStructureType rootType,
16232 VkImageDrmFormatModifierPropertiesEXT* forUnmarshaling) {
16233 (void)rootType;
16234 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16236 rootType = forUnmarshaling->sType;
16237 }
16238 size_t pNext_size;
16239 pNext_size = vkStream->getBe32();
16240 forUnmarshaling->pNext = nullptr;
16241 if (pNext_size) {
16242 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16243 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16244 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16245 vkStream->alloc((void**)&forUnmarshaling->pNext,
16246 goldfish_vk_extension_struct_size_with_stream_features(
16247 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16248 *(VkStructureType*)forUnmarshaling->pNext = extType;
16249 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16250 }
16251 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
16252 }
16253
marshal_VkDrmFormatModifierProperties2EXT(VulkanStream * vkStream,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * forMarshaling)16254 void marshal_VkDrmFormatModifierProperties2EXT(
16255 VulkanStream* vkStream, VkStructureType rootType,
16256 const VkDrmFormatModifierProperties2EXT* forMarshaling) {
16257 (void)rootType;
16258 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
16259 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
16260 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->drmFormatModifierTilingFeatures,
16261 sizeof(VkFormatFeatureFlags2));
16262 }
16263
unmarshal_VkDrmFormatModifierProperties2EXT(VulkanStream * vkStream,VkStructureType rootType,VkDrmFormatModifierProperties2EXT * forUnmarshaling)16264 void unmarshal_VkDrmFormatModifierProperties2EXT(
16265 VulkanStream* vkStream, VkStructureType rootType,
16266 VkDrmFormatModifierProperties2EXT* forUnmarshaling) {
16267 (void)rootType;
16268 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
16269 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
16270 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->drmFormatModifierTilingFeatures,
16271 sizeof(VkFormatFeatureFlags2));
16272 }
16273
marshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStream * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * forMarshaling)16274 void marshal_VkDrmFormatModifierPropertiesList2EXT(
16275 VulkanStream* vkStream, VkStructureType rootType,
16276 const VkDrmFormatModifierPropertiesList2EXT* forMarshaling) {
16277 (void)rootType;
16278 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16279 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16280 rootType = forMarshaling->sType;
16281 }
16282 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16283 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
16284 // WARNING PTR CHECK
16285 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
16286 vkStream->putBe64(cgen_var_0);
16287 if (forMarshaling->pDrmFormatModifierProperties) {
16288 if (forMarshaling) {
16289 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
16290 marshal_VkDrmFormatModifierProperties2EXT(
16291 vkStream, rootType,
16292 (VkDrmFormatModifierProperties2EXT*)(forMarshaling
16293 ->pDrmFormatModifierProperties +
16294 i));
16295 }
16296 }
16297 }
16298 }
16299
unmarshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStream * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesList2EXT * forUnmarshaling)16300 void unmarshal_VkDrmFormatModifierPropertiesList2EXT(
16301 VulkanStream* vkStream, VkStructureType rootType,
16302 VkDrmFormatModifierPropertiesList2EXT* forUnmarshaling) {
16303 (void)rootType;
16304 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16305 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16306 rootType = forUnmarshaling->sType;
16307 }
16308 size_t pNext_size;
16309 pNext_size = vkStream->getBe32();
16310 forUnmarshaling->pNext = nullptr;
16311 if (pNext_size) {
16312 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16313 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16314 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16315 vkStream->alloc((void**)&forUnmarshaling->pNext,
16316 goldfish_vk_extension_struct_size_with_stream_features(
16317 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16318 *(VkStructureType*)forUnmarshaling->pNext = extType;
16319 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16320 }
16321 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
16322 // WARNING PTR CHECK
16323 forUnmarshaling->pDrmFormatModifierProperties =
16324 (VkDrmFormatModifierProperties2EXT*)(uintptr_t)vkStream->getBe64();
16325 if (forUnmarshaling->pDrmFormatModifierProperties) {
16326 vkStream->alloc(
16327 (void**)&forUnmarshaling->pDrmFormatModifierProperties,
16328 forUnmarshaling->drmFormatModifierCount * sizeof(VkDrmFormatModifierProperties2EXT));
16329 if (forUnmarshaling) {
16330 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierCount; ++i) {
16331 unmarshal_VkDrmFormatModifierProperties2EXT(
16332 vkStream, rootType,
16333 (VkDrmFormatModifierProperties2EXT*)(forUnmarshaling
16334 ->pDrmFormatModifierProperties +
16335 i));
16336 }
16337 }
16338 }
16339 }
16340
16341 #endif
16342 #ifdef VK_EXT_external_memory_host
marshal_VkImportMemoryHostPointerInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImportMemoryHostPointerInfoEXT * forMarshaling)16343 void marshal_VkImportMemoryHostPointerInfoEXT(
16344 VulkanStream* vkStream, VkStructureType rootType,
16345 const VkImportMemoryHostPointerInfoEXT* forMarshaling) {
16346 (void)rootType;
16347 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16349 rootType = forMarshaling->sType;
16350 }
16351 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16352 vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
16353 sizeof(VkExternalMemoryHandleTypeFlagBits));
16354 vkStream->write((void*)forMarshaling->pHostPointer, sizeof(uint8_t));
16355 }
16356
unmarshal_VkImportMemoryHostPointerInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkImportMemoryHostPointerInfoEXT * forUnmarshaling)16357 void unmarshal_VkImportMemoryHostPointerInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
16358 VkImportMemoryHostPointerInfoEXT* forUnmarshaling) {
16359 (void)rootType;
16360 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16361 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16362 rootType = forUnmarshaling->sType;
16363 }
16364 size_t pNext_size;
16365 pNext_size = vkStream->getBe32();
16366 forUnmarshaling->pNext = nullptr;
16367 if (pNext_size) {
16368 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16369 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16370 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16371 vkStream->alloc((void**)&forUnmarshaling->pNext,
16372 goldfish_vk_extension_struct_size_with_stream_features(
16373 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16374 *(VkStructureType*)forUnmarshaling->pNext = extType;
16375 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16376 }
16377 vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
16378 sizeof(VkExternalMemoryHandleTypeFlagBits));
16379 vkStream->alloc((void**)&forUnmarshaling->pHostPointer, sizeof(uint8_t));
16380 vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t));
16381 }
16382
marshal_VkMemoryHostPointerPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryHostPointerPropertiesEXT * forMarshaling)16383 void marshal_VkMemoryHostPointerPropertiesEXT(
16384 VulkanStream* vkStream, VkStructureType rootType,
16385 const VkMemoryHostPointerPropertiesEXT* forMarshaling) {
16386 (void)rootType;
16387 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16388 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16389 rootType = forMarshaling->sType;
16390 }
16391 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16392 vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
16393 }
16394
unmarshal_VkMemoryHostPointerPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkMemoryHostPointerPropertiesEXT * forUnmarshaling)16395 void unmarshal_VkMemoryHostPointerPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType,
16396 VkMemoryHostPointerPropertiesEXT* forUnmarshaling) {
16397 (void)rootType;
16398 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16399 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16400 rootType = forUnmarshaling->sType;
16401 }
16402 size_t pNext_size;
16403 pNext_size = vkStream->getBe32();
16404 forUnmarshaling->pNext = nullptr;
16405 if (pNext_size) {
16406 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16407 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16408 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16409 vkStream->alloc((void**)&forUnmarshaling->pNext,
16410 goldfish_vk_extension_struct_size_with_stream_features(
16411 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16412 *(VkStructureType*)forUnmarshaling->pNext = extType;
16413 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16414 }
16415 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
16416 }
16417
marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalMemoryHostPropertiesEXT * forMarshaling)16418 void marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
16419 VulkanStream* vkStream, VkStructureType rootType,
16420 const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forMarshaling) {
16421 (void)rootType;
16422 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16423 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16424 rootType = forMarshaling->sType;
16425 }
16426 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16427 vkStream->write((VkDeviceSize*)&forMarshaling->minImportedHostPointerAlignment,
16428 sizeof(VkDeviceSize));
16429 }
16430
unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalMemoryHostPropertiesEXT * forUnmarshaling)16431 void unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
16432 VulkanStream* vkStream, VkStructureType rootType,
16433 VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forUnmarshaling) {
16434 (void)rootType;
16435 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16436 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16437 rootType = forUnmarshaling->sType;
16438 }
16439 size_t pNext_size;
16440 pNext_size = vkStream->getBe32();
16441 forUnmarshaling->pNext = nullptr;
16442 if (pNext_size) {
16443 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16444 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16445 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16446 vkStream->alloc((void**)&forUnmarshaling->pNext,
16447 goldfish_vk_extension_struct_size_with_stream_features(
16448 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16449 *(VkStructureType*)forUnmarshaling->pNext = extType;
16450 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16451 }
16452 vkStream->read((VkDeviceSize*)&forUnmarshaling->minImportedHostPointerAlignment,
16453 sizeof(VkDeviceSize));
16454 }
16455
16456 #endif
16457 #ifdef VK_EXT_vertex_attribute_divisor
marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forMarshaling)16458 void marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
16459 VulkanStream* vkStream, VkStructureType rootType,
16460 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling) {
16461 (void)rootType;
16462 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16463 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16464 rootType = forMarshaling->sType;
16465 }
16466 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16467 vkStream->write((uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
16468 }
16469
unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forUnmarshaling)16470 void unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
16471 VulkanStream* vkStream, VkStructureType rootType,
16472 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forUnmarshaling) {
16473 (void)rootType;
16474 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16475 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16476 rootType = forUnmarshaling->sType;
16477 }
16478 size_t pNext_size;
16479 pNext_size = vkStream->getBe32();
16480 forUnmarshaling->pNext = nullptr;
16481 if (pNext_size) {
16482 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16483 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16484 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16485 vkStream->alloc((void**)&forUnmarshaling->pNext,
16486 goldfish_vk_extension_struct_size_with_stream_features(
16487 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16488 *(VkStructureType*)forUnmarshaling->pNext = extType;
16489 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16490 }
16491 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
16492 }
16493
marshal_VkVertexInputBindingDivisorDescriptionEXT(VulkanStream * vkStream,VkStructureType rootType,const VkVertexInputBindingDivisorDescriptionEXT * forMarshaling)16494 void marshal_VkVertexInputBindingDivisorDescriptionEXT(
16495 VulkanStream* vkStream, VkStructureType rootType,
16496 const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling) {
16497 (void)rootType;
16498 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
16499 vkStream->write((uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
16500 }
16501
unmarshal_VkVertexInputBindingDivisorDescriptionEXT(VulkanStream * vkStream,VkStructureType rootType,VkVertexInputBindingDivisorDescriptionEXT * forUnmarshaling)16502 void unmarshal_VkVertexInputBindingDivisorDescriptionEXT(
16503 VulkanStream* vkStream, VkStructureType rootType,
16504 VkVertexInputBindingDivisorDescriptionEXT* forUnmarshaling) {
16505 (void)rootType;
16506 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
16507 vkStream->read((uint32_t*)&forUnmarshaling->divisor, sizeof(uint32_t));
16508 }
16509
marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfoEXT * forMarshaling)16510 void marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
16511 VulkanStream* vkStream, VkStructureType rootType,
16512 const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling) {
16513 (void)rootType;
16514 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16515 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16516 rootType = forMarshaling->sType;
16517 }
16518 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16519 vkStream->write((uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
16520 if (forMarshaling) {
16521 for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i) {
16522 marshal_VkVertexInputBindingDivisorDescriptionEXT(
16523 vkStream, rootType,
16524 (const VkVertexInputBindingDivisorDescriptionEXT*)(forMarshaling
16525 ->pVertexBindingDivisors +
16526 i));
16527 }
16528 }
16529 }
16530
unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPipelineVertexInputDivisorStateCreateInfoEXT * forUnmarshaling)16531 void unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
16532 VulkanStream* vkStream, VkStructureType rootType,
16533 VkPipelineVertexInputDivisorStateCreateInfoEXT* forUnmarshaling) {
16534 (void)rootType;
16535 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16536 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16537 rootType = forUnmarshaling->sType;
16538 }
16539 size_t pNext_size;
16540 pNext_size = vkStream->getBe32();
16541 forUnmarshaling->pNext = nullptr;
16542 if (pNext_size) {
16543 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16544 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16545 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16546 vkStream->alloc((void**)&forUnmarshaling->pNext,
16547 goldfish_vk_extension_struct_size_with_stream_features(
16548 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16549 *(VkStructureType*)forUnmarshaling->pNext = extType;
16550 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16551 }
16552 vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
16553 vkStream->alloc((void**)&forUnmarshaling->pVertexBindingDivisors,
16554 forUnmarshaling->vertexBindingDivisorCount *
16555 sizeof(const VkVertexInputBindingDivisorDescriptionEXT));
16556 if (forUnmarshaling) {
16557 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDivisorCount; ++i) {
16558 unmarshal_VkVertexInputBindingDivisorDescriptionEXT(
16559 vkStream, rootType,
16560 (VkVertexInputBindingDivisorDescriptionEXT*)(forUnmarshaling
16561 ->pVertexBindingDivisors +
16562 i));
16563 }
16564 }
16565 }
16566
marshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * forMarshaling)16567 void marshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
16568 VulkanStream* vkStream, VkStructureType rootType,
16569 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* forMarshaling) {
16570 (void)rootType;
16571 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16572 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16573 rootType = forMarshaling->sType;
16574 }
16575 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16576 vkStream->write((VkBool32*)&forMarshaling->vertexAttributeInstanceRateDivisor,
16577 sizeof(VkBool32));
16578 vkStream->write((VkBool32*)&forMarshaling->vertexAttributeInstanceRateZeroDivisor,
16579 sizeof(VkBool32));
16580 }
16581
unmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * forUnmarshaling)16582 void unmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
16583 VulkanStream* vkStream, VkStructureType rootType,
16584 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* forUnmarshaling) {
16585 (void)rootType;
16586 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16587 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16588 rootType = forUnmarshaling->sType;
16589 }
16590 size_t pNext_size;
16591 pNext_size = vkStream->getBe32();
16592 forUnmarshaling->pNext = nullptr;
16593 if (pNext_size) {
16594 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16595 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16596 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16597 vkStream->alloc((void**)&forUnmarshaling->pNext,
16598 goldfish_vk_extension_struct_size_with_stream_features(
16599 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16600 *(VkStructureType*)forUnmarshaling->pNext = extType;
16601 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16602 }
16603 vkStream->read((VkBool32*)&forUnmarshaling->vertexAttributeInstanceRateDivisor,
16604 sizeof(VkBool32));
16605 vkStream->read((VkBool32*)&forUnmarshaling->vertexAttributeInstanceRateZeroDivisor,
16606 sizeof(VkBool32));
16607 }
16608
16609 #endif
16610 #ifdef VK_EXT_fragment_density_map
marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forMarshaling)16611 void marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
16612 VulkanStream* vkStream, VkStructureType rootType,
16613 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forMarshaling) {
16614 (void)rootType;
16615 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16616 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16617 rootType = forMarshaling->sType;
16618 }
16619 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16620 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMap, sizeof(VkBool32));
16621 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
16622 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMapNonSubsampledImages,
16623 sizeof(VkBool32));
16624 }
16625
unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forUnmarshaling)16626 void unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
16627 VulkanStream* vkStream, VkStructureType rootType,
16628 VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forUnmarshaling) {
16629 (void)rootType;
16630 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16631 forUnmarshaling->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
16632 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16633 rootType = forUnmarshaling->sType;
16634 }
16635 size_t pNext_size;
16636 pNext_size = vkStream->getBe32();
16637 forUnmarshaling->pNext = nullptr;
16638 if (pNext_size) {
16639 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16640 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16641 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16642 vkStream->alloc((void**)&forUnmarshaling->pNext,
16643 goldfish_vk_extension_struct_size_with_stream_features(
16644 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16645 *(VkStructureType*)forUnmarshaling->pNext = extType;
16646 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16647 }
16648 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMap, sizeof(VkBool32));
16649 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
16650 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMapNonSubsampledImages,
16651 sizeof(VkBool32));
16652 }
16653
marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forMarshaling)16654 void marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
16655 VulkanStream* vkStream, VkStructureType rootType,
16656 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forMarshaling) {
16657 (void)rootType;
16658 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16659 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16660 rootType = forMarshaling->sType;
16661 }
16662 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16663 marshal_VkExtent2D(vkStream, rootType,
16664 (VkExtent2D*)(&forMarshaling->minFragmentDensityTexelSize));
16665 marshal_VkExtent2D(vkStream, rootType,
16666 (VkExtent2D*)(&forMarshaling->maxFragmentDensityTexelSize));
16667 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityInvocations, sizeof(VkBool32));
16668 }
16669
unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forUnmarshaling)16670 void unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
16671 VulkanStream* vkStream, VkStructureType rootType,
16672 VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forUnmarshaling) {
16673 (void)rootType;
16674 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16675 forUnmarshaling->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
16676 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16677 rootType = forUnmarshaling->sType;
16678 }
16679 size_t pNext_size;
16680 pNext_size = vkStream->getBe32();
16681 forUnmarshaling->pNext = nullptr;
16682 if (pNext_size) {
16683 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16684 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16685 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16686 vkStream->alloc((void**)&forUnmarshaling->pNext,
16687 goldfish_vk_extension_struct_size_with_stream_features(
16688 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16689 *(VkStructureType*)forUnmarshaling->pNext = extType;
16690 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16691 }
16692 unmarshal_VkExtent2D(vkStream, rootType,
16693 (VkExtent2D*)(&forUnmarshaling->minFragmentDensityTexelSize));
16694 unmarshal_VkExtent2D(vkStream, rootType,
16695 (VkExtent2D*)(&forUnmarshaling->maxFragmentDensityTexelSize));
16696 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityInvocations, sizeof(VkBool32));
16697 }
16698
marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * forMarshaling)16699 void marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
16700 VulkanStream* vkStream, VkStructureType rootType,
16701 const VkRenderPassFragmentDensityMapCreateInfoEXT* forMarshaling) {
16702 (void)rootType;
16703 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16704 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16705 rootType = forMarshaling->sType;
16706 }
16707 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16708 marshal_VkAttachmentReference(
16709 vkStream, rootType, (VkAttachmentReference*)(&forMarshaling->fragmentDensityMapAttachment));
16710 }
16711
unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkRenderPassFragmentDensityMapCreateInfoEXT * forUnmarshaling)16712 void unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
16713 VulkanStream* vkStream, VkStructureType rootType,
16714 VkRenderPassFragmentDensityMapCreateInfoEXT* forUnmarshaling) {
16715 (void)rootType;
16716 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16717 forUnmarshaling->sType = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
16718 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16719 rootType = forUnmarshaling->sType;
16720 }
16721 size_t pNext_size;
16722 pNext_size = vkStream->getBe32();
16723 forUnmarshaling->pNext = nullptr;
16724 if (pNext_size) {
16725 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16726 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16727 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16728 vkStream->alloc((void**)&forUnmarshaling->pNext,
16729 goldfish_vk_extension_struct_size_with_stream_features(
16730 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16731 *(VkStructureType*)forUnmarshaling->pNext = extType;
16732 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16733 }
16734 unmarshal_VkAttachmentReference(
16735 vkStream, rootType,
16736 (VkAttachmentReference*)(&forUnmarshaling->fragmentDensityMapAttachment));
16737 }
16738
16739 #endif
16740 #ifdef VK_EXT_validation_features
marshal_VkValidationFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkValidationFeaturesEXT * forMarshaling)16741 void marshal_VkValidationFeaturesEXT(VulkanStream* vkStream, VkStructureType rootType,
16742 const VkValidationFeaturesEXT* forMarshaling) {
16743 (void)rootType;
16744 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16745 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16746 rootType = forMarshaling->sType;
16747 }
16748 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16749 vkStream->write((uint32_t*)&forMarshaling->enabledValidationFeatureCount, sizeof(uint32_t));
16750 vkStream->write(
16751 (const VkValidationFeatureEnableEXT*)forMarshaling->pEnabledValidationFeatures,
16752 forMarshaling->enabledValidationFeatureCount * sizeof(const VkValidationFeatureEnableEXT));
16753 vkStream->write((uint32_t*)&forMarshaling->disabledValidationFeatureCount, sizeof(uint32_t));
16754 vkStream->write(
16755 (const VkValidationFeatureDisableEXT*)forMarshaling->pDisabledValidationFeatures,
16756 forMarshaling->disabledValidationFeatureCount *
16757 sizeof(const VkValidationFeatureDisableEXT));
16758 }
16759
unmarshal_VkValidationFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkValidationFeaturesEXT * forUnmarshaling)16760 void unmarshal_VkValidationFeaturesEXT(VulkanStream* vkStream, VkStructureType rootType,
16761 VkValidationFeaturesEXT* forUnmarshaling) {
16762 (void)rootType;
16763 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16764 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16765 rootType = forUnmarshaling->sType;
16766 }
16767 size_t pNext_size;
16768 pNext_size = vkStream->getBe32();
16769 forUnmarshaling->pNext = nullptr;
16770 if (pNext_size) {
16771 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16772 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16773 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16774 vkStream->alloc((void**)&forUnmarshaling->pNext,
16775 goldfish_vk_extension_struct_size_with_stream_features(
16776 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16777 *(VkStructureType*)forUnmarshaling->pNext = extType;
16778 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16779 }
16780 vkStream->read((uint32_t*)&forUnmarshaling->enabledValidationFeatureCount, sizeof(uint32_t));
16781 vkStream->alloc((void**)&forUnmarshaling->pEnabledValidationFeatures,
16782 forUnmarshaling->enabledValidationFeatureCount *
16783 sizeof(const VkValidationFeatureEnableEXT));
16784 vkStream->read((VkValidationFeatureEnableEXT*)forUnmarshaling->pEnabledValidationFeatures,
16785 forUnmarshaling->enabledValidationFeatureCount *
16786 sizeof(const VkValidationFeatureEnableEXT));
16787 vkStream->read((uint32_t*)&forUnmarshaling->disabledValidationFeatureCount, sizeof(uint32_t));
16788 vkStream->alloc((void**)&forUnmarshaling->pDisabledValidationFeatures,
16789 forUnmarshaling->disabledValidationFeatureCount *
16790 sizeof(const VkValidationFeatureDisableEXT));
16791 vkStream->read((VkValidationFeatureDisableEXT*)forUnmarshaling->pDisabledValidationFeatures,
16792 forUnmarshaling->disabledValidationFeatureCount *
16793 sizeof(const VkValidationFeatureDisableEXT));
16794 }
16795
16796 #endif
16797 #ifdef VK_EXT_provoking_vertex
marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * forMarshaling)16798 void marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
16799 VulkanStream* vkStream, VkStructureType rootType,
16800 const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling) {
16801 (void)rootType;
16802 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16803 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16804 rootType = forMarshaling->sType;
16805 }
16806 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16807 vkStream->write((VkBool32*)&forMarshaling->provokingVertexLast, sizeof(VkBool32));
16808 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
16809 sizeof(VkBool32));
16810 }
16811
unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProvokingVertexFeaturesEXT * forUnmarshaling)16812 void unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
16813 VulkanStream* vkStream, VkStructureType rootType,
16814 VkPhysicalDeviceProvokingVertexFeaturesEXT* forUnmarshaling) {
16815 (void)rootType;
16816 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16817 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16818 rootType = forUnmarshaling->sType;
16819 }
16820 size_t pNext_size;
16821 pNext_size = vkStream->getBe32();
16822 forUnmarshaling->pNext = nullptr;
16823 if (pNext_size) {
16824 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16825 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16826 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16827 vkStream->alloc((void**)&forUnmarshaling->pNext,
16828 goldfish_vk_extension_struct_size_with_stream_features(
16829 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16830 *(VkStructureType*)forUnmarshaling->pNext = extType;
16831 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16832 }
16833 vkStream->read((VkBool32*)&forUnmarshaling->provokingVertexLast, sizeof(VkBool32));
16834 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackPreservesProvokingVertex,
16835 sizeof(VkBool32));
16836 }
16837
marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * forMarshaling)16838 void marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
16839 VulkanStream* vkStream, VkStructureType rootType,
16840 const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling) {
16841 (void)rootType;
16842 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16843 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16844 rootType = forMarshaling->sType;
16845 }
16846 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16847 vkStream->write((VkBool32*)&forMarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
16848 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
16849 sizeof(VkBool32));
16850 }
16851
unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceProvokingVertexPropertiesEXT * forUnmarshaling)16852 void unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
16853 VulkanStream* vkStream, VkStructureType rootType,
16854 VkPhysicalDeviceProvokingVertexPropertiesEXT* forUnmarshaling) {
16855 (void)rootType;
16856 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16857 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16858 rootType = forUnmarshaling->sType;
16859 }
16860 size_t pNext_size;
16861 pNext_size = vkStream->getBe32();
16862 forUnmarshaling->pNext = nullptr;
16863 if (pNext_size) {
16864 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16865 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16866 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16867 vkStream->alloc((void**)&forUnmarshaling->pNext,
16868 goldfish_vk_extension_struct_size_with_stream_features(
16869 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16870 *(VkStructureType*)forUnmarshaling->pNext = extType;
16871 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16872 }
16873 vkStream->read((VkBool32*)&forUnmarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
16874 vkStream->read(
16875 (VkBool32*)&forUnmarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
16876 sizeof(VkBool32));
16877 }
16878
marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forMarshaling)16879 void marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
16880 VulkanStream* vkStream, VkStructureType rootType,
16881 const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling) {
16882 (void)rootType;
16883 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16884 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16885 rootType = forMarshaling->sType;
16886 }
16887 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16888 vkStream->write((VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
16889 sizeof(VkProvokingVertexModeEXT));
16890 }
16891
unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forUnmarshaling)16892 void unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
16893 VulkanStream* vkStream, VkStructureType rootType,
16894 VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forUnmarshaling) {
16895 (void)rootType;
16896 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16897 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16898 rootType = forUnmarshaling->sType;
16899 }
16900 size_t pNext_size;
16901 pNext_size = vkStream->getBe32();
16902 forUnmarshaling->pNext = nullptr;
16903 if (pNext_size) {
16904 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16905 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16906 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16907 vkStream->alloc((void**)&forUnmarshaling->pNext,
16908 goldfish_vk_extension_struct_size_with_stream_features(
16909 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16910 *(VkStructureType*)forUnmarshaling->pNext = extType;
16911 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16912 }
16913 vkStream->read((VkProvokingVertexModeEXT*)&forUnmarshaling->provokingVertexMode,
16914 sizeof(VkProvokingVertexModeEXT));
16915 }
16916
16917 #endif
16918 #ifdef VK_EXT_index_type_uint8
marshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * forMarshaling)16919 void marshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
16920 VulkanStream* vkStream, VkStructureType rootType,
16921 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forMarshaling) {
16922 (void)rootType;
16923 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16924 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16925 rootType = forMarshaling->sType;
16926 }
16927 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16928 vkStream->write((VkBool32*)&forMarshaling->indexTypeUint8, sizeof(VkBool32));
16929 }
16930
unmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceIndexTypeUint8FeaturesEXT * forUnmarshaling)16931 void unmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
16932 VulkanStream* vkStream, VkStructureType rootType,
16933 VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forUnmarshaling) {
16934 (void)rootType;
16935 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16936 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16937 rootType = forUnmarshaling->sType;
16938 }
16939 size_t pNext_size;
16940 pNext_size = vkStream->getBe32();
16941 forUnmarshaling->pNext = nullptr;
16942 if (pNext_size) {
16943 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16944 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16945 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16946 vkStream->alloc((void**)&forUnmarshaling->pNext,
16947 goldfish_vk_extension_struct_size_with_stream_features(
16948 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16949 *(VkStructureType*)forUnmarshaling->pNext = extType;
16950 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16951 }
16952 vkStream->read((VkBool32*)&forUnmarshaling->indexTypeUint8, sizeof(VkBool32));
16953 }
16954
16955 #endif
16956 #ifdef VK_EXT_extended_dynamic_state
marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forMarshaling)16957 void marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
16958 VulkanStream* vkStream, VkStructureType rootType,
16959 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling) {
16960 (void)rootType;
16961 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
16962 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16963 rootType = forMarshaling->sType;
16964 }
16965 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
16966 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState, sizeof(VkBool32));
16967 }
16968
unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forUnmarshaling)16969 void unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
16970 VulkanStream* vkStream, VkStructureType rootType,
16971 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forUnmarshaling) {
16972 (void)rootType;
16973 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
16974 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16975 rootType = forUnmarshaling->sType;
16976 }
16977 size_t pNext_size;
16978 pNext_size = vkStream->getBe32();
16979 forUnmarshaling->pNext = nullptr;
16980 if (pNext_size) {
16981 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
16982 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
16983 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
16984 vkStream->alloc((void**)&forUnmarshaling->pNext,
16985 goldfish_vk_extension_struct_size_with_stream_features(
16986 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
16987 *(VkStructureType*)forUnmarshaling->pNext = extType;
16988 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
16989 }
16990 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState, sizeof(VkBool32));
16991 }
16992
16993 #endif
16994 #ifdef VK_EXT_host_image_copy
marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeaturesEXT * forMarshaling)16995 void marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
16996 VulkanStream* vkStream, VkStructureType rootType,
16997 const VkPhysicalDeviceHostImageCopyFeaturesEXT* forMarshaling) {
16998 (void)rootType;
16999 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17000 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17001 rootType = forMarshaling->sType;
17002 }
17003 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17004 vkStream->write((VkBool32*)&forMarshaling->hostImageCopy, sizeof(VkBool32));
17005 }
17006
unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceHostImageCopyFeaturesEXT * forUnmarshaling)17007 void unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
17008 VulkanStream* vkStream, VkStructureType rootType,
17009 VkPhysicalDeviceHostImageCopyFeaturesEXT* forUnmarshaling) {
17010 (void)rootType;
17011 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17012 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17013 rootType = forUnmarshaling->sType;
17014 }
17015 size_t pNext_size;
17016 pNext_size = vkStream->getBe32();
17017 forUnmarshaling->pNext = nullptr;
17018 if (pNext_size) {
17019 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17020 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17021 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17022 vkStream->alloc((void**)&forUnmarshaling->pNext,
17023 goldfish_vk_extension_struct_size_with_stream_features(
17024 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17025 *(VkStructureType*)forUnmarshaling->pNext = extType;
17026 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17027 }
17028 vkStream->read((VkBool32*)&forUnmarshaling->hostImageCopy, sizeof(VkBool32));
17029 }
17030
marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyPropertiesEXT * forMarshaling)17031 void marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
17032 VulkanStream* vkStream, VkStructureType rootType,
17033 const VkPhysicalDeviceHostImageCopyPropertiesEXT* forMarshaling) {
17034 (void)rootType;
17035 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17036 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17037 rootType = forMarshaling->sType;
17038 }
17039 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17040 vkStream->write((uint32_t*)&forMarshaling->copySrcLayoutCount, sizeof(uint32_t));
17041 // WARNING PTR CHECK
17042 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
17043 vkStream->putBe64(cgen_var_0);
17044 if (forMarshaling->pCopySrcLayouts) {
17045 vkStream->write((VkImageLayout*)forMarshaling->pCopySrcLayouts,
17046 forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
17047 }
17048 vkStream->write((uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
17049 // WARNING PTR CHECK
17050 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
17051 vkStream->putBe64(cgen_var_1);
17052 if (forMarshaling->pCopyDstLayouts) {
17053 vkStream->write((VkImageLayout*)forMarshaling->pCopyDstLayouts,
17054 forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
17055 }
17056 vkStream->write((uint8_t*)forMarshaling->optimalTilingLayoutUUID,
17057 VK_UUID_SIZE * sizeof(uint8_t));
17058 vkStream->write((VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
17059 }
17060
unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceHostImageCopyPropertiesEXT * forUnmarshaling)17061 void unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
17062 VulkanStream* vkStream, VkStructureType rootType,
17063 VkPhysicalDeviceHostImageCopyPropertiesEXT* forUnmarshaling) {
17064 (void)rootType;
17065 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17066 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17067 rootType = forUnmarshaling->sType;
17068 }
17069 size_t pNext_size;
17070 pNext_size = vkStream->getBe32();
17071 forUnmarshaling->pNext = nullptr;
17072 if (pNext_size) {
17073 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17074 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17075 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17076 vkStream->alloc((void**)&forUnmarshaling->pNext,
17077 goldfish_vk_extension_struct_size_with_stream_features(
17078 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17079 *(VkStructureType*)forUnmarshaling->pNext = extType;
17080 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17081 }
17082 vkStream->read((uint32_t*)&forUnmarshaling->copySrcLayoutCount, sizeof(uint32_t));
17083 // WARNING PTR CHECK
17084 forUnmarshaling->pCopySrcLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
17085 if (forUnmarshaling->pCopySrcLayouts) {
17086 vkStream->alloc((void**)&forUnmarshaling->pCopySrcLayouts,
17087 forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
17088 vkStream->read((VkImageLayout*)forUnmarshaling->pCopySrcLayouts,
17089 forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
17090 }
17091 vkStream->read((uint32_t*)&forUnmarshaling->copyDstLayoutCount, sizeof(uint32_t));
17092 // WARNING PTR CHECK
17093 forUnmarshaling->pCopyDstLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
17094 if (forUnmarshaling->pCopyDstLayouts) {
17095 vkStream->alloc((void**)&forUnmarshaling->pCopyDstLayouts,
17096 forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
17097 vkStream->read((VkImageLayout*)forUnmarshaling->pCopyDstLayouts,
17098 forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
17099 }
17100 vkStream->read((uint8_t*)forUnmarshaling->optimalTilingLayoutUUID,
17101 VK_UUID_SIZE * sizeof(uint8_t));
17102 vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
17103 }
17104
marshal_VkMemoryToImageCopyEXT(VulkanStream * vkStream,VkStructureType rootType,const VkMemoryToImageCopyEXT * forMarshaling)17105 void marshal_VkMemoryToImageCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
17106 const VkMemoryToImageCopyEXT* forMarshaling) {
17107 (void)rootType;
17108 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17109 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17110 rootType = forMarshaling->sType;
17111 }
17112 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17113 vkStream->write((const void*)forMarshaling->pHostPointer, sizeof(const uint8_t));
17114 vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
17115 vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
17116 marshal_VkImageSubresourceLayers(vkStream, rootType,
17117 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
17118 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
17119 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
17120 }
17121
unmarshal_VkMemoryToImageCopyEXT(VulkanStream * vkStream,VkStructureType rootType,VkMemoryToImageCopyEXT * forUnmarshaling)17122 void unmarshal_VkMemoryToImageCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
17123 VkMemoryToImageCopyEXT* forUnmarshaling) {
17124 (void)rootType;
17125 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17126 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17127 rootType = forUnmarshaling->sType;
17128 }
17129 size_t pNext_size;
17130 pNext_size = vkStream->getBe32();
17131 forUnmarshaling->pNext = nullptr;
17132 if (pNext_size) {
17133 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17134 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17135 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17136 vkStream->alloc((void**)&forUnmarshaling->pNext,
17137 goldfish_vk_extension_struct_size_with_stream_features(
17138 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17139 *(VkStructureType*)forUnmarshaling->pNext = extType;
17140 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17141 }
17142 vkStream->alloc((void**)&forUnmarshaling->pHostPointer, sizeof(const uint8_t));
17143 vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(const uint8_t));
17144 vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
17145 vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, sizeof(uint32_t));
17146 unmarshal_VkImageSubresourceLayers(
17147 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
17148 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
17149 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
17150 }
17151
marshal_VkImageToMemoryCopyEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageToMemoryCopyEXT * forMarshaling)17152 void marshal_VkImageToMemoryCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
17153 const VkImageToMemoryCopyEXT* forMarshaling) {
17154 (void)rootType;
17155 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17156 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17157 rootType = forMarshaling->sType;
17158 }
17159 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17160 vkStream->write((void*)forMarshaling->pHostPointer, sizeof(uint8_t));
17161 vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
17162 vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
17163 marshal_VkImageSubresourceLayers(vkStream, rootType,
17164 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
17165 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
17166 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
17167 }
17168
unmarshal_VkImageToMemoryCopyEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageToMemoryCopyEXT * forUnmarshaling)17169 void unmarshal_VkImageToMemoryCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
17170 VkImageToMemoryCopyEXT* forUnmarshaling) {
17171 (void)rootType;
17172 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17173 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17174 rootType = forUnmarshaling->sType;
17175 }
17176 size_t pNext_size;
17177 pNext_size = vkStream->getBe32();
17178 forUnmarshaling->pNext = nullptr;
17179 if (pNext_size) {
17180 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17181 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17182 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17183 vkStream->alloc((void**)&forUnmarshaling->pNext,
17184 goldfish_vk_extension_struct_size_with_stream_features(
17185 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17186 *(VkStructureType*)forUnmarshaling->pNext = extType;
17187 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17188 }
17189 vkStream->alloc((void**)&forUnmarshaling->pHostPointer, sizeof(uint8_t));
17190 vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t));
17191 vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
17192 vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, sizeof(uint32_t));
17193 unmarshal_VkImageSubresourceLayers(
17194 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
17195 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
17196 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
17197 }
17198
marshal_VkCopyMemoryToImageInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkCopyMemoryToImageInfoEXT * forMarshaling)17199 void marshal_VkCopyMemoryToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17200 const VkCopyMemoryToImageInfoEXT* forMarshaling) {
17201 (void)rootType;
17202 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17203 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17204 rootType = forMarshaling->sType;
17205 }
17206 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17207 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
17208 sizeof(VkHostImageCopyFlagsEXT));
17209 uint64_t cgen_var_0;
17210 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_0, 1);
17211 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
17212 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
17213 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
17214 if (forMarshaling) {
17215 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
17216 marshal_VkMemoryToImageCopyEXT(
17217 vkStream, rootType, (const VkMemoryToImageCopyEXT*)(forMarshaling->pRegions + i));
17218 }
17219 }
17220 }
17221
unmarshal_VkCopyMemoryToImageInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkCopyMemoryToImageInfoEXT * forUnmarshaling)17222 void unmarshal_VkCopyMemoryToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17223 VkCopyMemoryToImageInfoEXT* forUnmarshaling) {
17224 (void)rootType;
17225 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17226 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17227 rootType = forUnmarshaling->sType;
17228 }
17229 size_t pNext_size;
17230 pNext_size = vkStream->getBe32();
17231 forUnmarshaling->pNext = nullptr;
17232 if (pNext_size) {
17233 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17234 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17235 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17236 vkStream->alloc((void**)&forUnmarshaling->pNext,
17237 goldfish_vk_extension_struct_size_with_stream_features(
17238 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17239 *(VkStructureType*)forUnmarshaling->pNext = extType;
17240 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17241 }
17242 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
17243 sizeof(VkHostImageCopyFlagsEXT));
17244 uint64_t cgen_var_0;
17245 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
17246 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
17247 (VkImage*)&forUnmarshaling->dstImage, 1);
17248 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
17249 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
17250 vkStream->alloc((void**)&forUnmarshaling->pRegions,
17251 forUnmarshaling->regionCount * sizeof(const VkMemoryToImageCopyEXT));
17252 if (forUnmarshaling) {
17253 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
17254 unmarshal_VkMemoryToImageCopyEXT(
17255 vkStream, rootType, (VkMemoryToImageCopyEXT*)(forUnmarshaling->pRegions + i));
17256 }
17257 }
17258 }
17259
marshal_VkCopyImageToMemoryInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkCopyImageToMemoryInfoEXT * forMarshaling)17260 void marshal_VkCopyImageToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17261 const VkCopyImageToMemoryInfoEXT* forMarshaling) {
17262 (void)rootType;
17263 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17264 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17265 rootType = forMarshaling->sType;
17266 }
17267 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17268 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
17269 sizeof(VkHostImageCopyFlagsEXT));
17270 uint64_t cgen_var_0;
17271 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
17272 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
17273 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
17274 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
17275 if (forMarshaling) {
17276 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
17277 marshal_VkImageToMemoryCopyEXT(
17278 vkStream, rootType, (const VkImageToMemoryCopyEXT*)(forMarshaling->pRegions + i));
17279 }
17280 }
17281 }
17282
unmarshal_VkCopyImageToMemoryInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkCopyImageToMemoryInfoEXT * forUnmarshaling)17283 void unmarshal_VkCopyImageToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17284 VkCopyImageToMemoryInfoEXT* forUnmarshaling) {
17285 (void)rootType;
17286 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17287 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17288 rootType = forUnmarshaling->sType;
17289 }
17290 size_t pNext_size;
17291 pNext_size = vkStream->getBe32();
17292 forUnmarshaling->pNext = nullptr;
17293 if (pNext_size) {
17294 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17295 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17296 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17297 vkStream->alloc((void**)&forUnmarshaling->pNext,
17298 goldfish_vk_extension_struct_size_with_stream_features(
17299 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17300 *(VkStructureType*)forUnmarshaling->pNext = extType;
17301 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17302 }
17303 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
17304 sizeof(VkHostImageCopyFlagsEXT));
17305 uint64_t cgen_var_0;
17306 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
17307 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
17308 (VkImage*)&forUnmarshaling->srcImage, 1);
17309 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
17310 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
17311 vkStream->alloc((void**)&forUnmarshaling->pRegions,
17312 forUnmarshaling->regionCount * sizeof(const VkImageToMemoryCopyEXT));
17313 if (forUnmarshaling) {
17314 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
17315 unmarshal_VkImageToMemoryCopyEXT(
17316 vkStream, rootType, (VkImageToMemoryCopyEXT*)(forUnmarshaling->pRegions + i));
17317 }
17318 }
17319 }
17320
marshal_VkCopyImageToImageInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkCopyImageToImageInfoEXT * forMarshaling)17321 void marshal_VkCopyImageToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17322 const VkCopyImageToImageInfoEXT* forMarshaling) {
17323 (void)rootType;
17324 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17325 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17326 rootType = forMarshaling->sType;
17327 }
17328 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17329 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
17330 sizeof(VkHostImageCopyFlagsEXT));
17331 uint64_t cgen_var_0;
17332 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
17333 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
17334 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
17335 uint64_t cgen_var_1;
17336 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
17337 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
17338 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
17339 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
17340 if (forMarshaling) {
17341 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
17342 marshal_VkImageCopy2(vkStream, rootType,
17343 (const VkImageCopy2*)(forMarshaling->pRegions + i));
17344 }
17345 }
17346 }
17347
unmarshal_VkCopyImageToImageInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkCopyImageToImageInfoEXT * forUnmarshaling)17348 void unmarshal_VkCopyImageToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17349 VkCopyImageToImageInfoEXT* forUnmarshaling) {
17350 (void)rootType;
17351 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17352 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17353 rootType = forUnmarshaling->sType;
17354 }
17355 size_t pNext_size;
17356 pNext_size = vkStream->getBe32();
17357 forUnmarshaling->pNext = nullptr;
17358 if (pNext_size) {
17359 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17360 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17361 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17362 vkStream->alloc((void**)&forUnmarshaling->pNext,
17363 goldfish_vk_extension_struct_size_with_stream_features(
17364 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17365 *(VkStructureType*)forUnmarshaling->pNext = extType;
17366 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17367 }
17368 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
17369 sizeof(VkHostImageCopyFlagsEXT));
17370 uint64_t cgen_var_0;
17371 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
17372 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
17373 (VkImage*)&forUnmarshaling->srcImage, 1);
17374 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
17375 uint64_t cgen_var_1;
17376 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
17377 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
17378 (VkImage*)&forUnmarshaling->dstImage, 1);
17379 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
17380 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
17381 vkStream->alloc((void**)&forUnmarshaling->pRegions,
17382 forUnmarshaling->regionCount * sizeof(const VkImageCopy2));
17383 if (forUnmarshaling) {
17384 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
17385 unmarshal_VkImageCopy2(vkStream, rootType,
17386 (VkImageCopy2*)(forUnmarshaling->pRegions + i));
17387 }
17388 }
17389 }
17390
marshal_VkHostImageLayoutTransitionInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkHostImageLayoutTransitionInfoEXT * forMarshaling)17391 void marshal_VkHostImageLayoutTransitionInfoEXT(
17392 VulkanStream* vkStream, VkStructureType rootType,
17393 const VkHostImageLayoutTransitionInfoEXT* forMarshaling) {
17394 (void)rootType;
17395 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17396 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17397 rootType = forMarshaling->sType;
17398 }
17399 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17400 uint64_t cgen_var_0;
17401 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
17402 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
17403 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
17404 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
17405 marshal_VkImageSubresourceRange(vkStream, rootType,
17406 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
17407 }
17408
unmarshal_VkHostImageLayoutTransitionInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkHostImageLayoutTransitionInfoEXT * forUnmarshaling)17409 void unmarshal_VkHostImageLayoutTransitionInfoEXT(
17410 VulkanStream* vkStream, VkStructureType rootType,
17411 VkHostImageLayoutTransitionInfoEXT* forUnmarshaling) {
17412 (void)rootType;
17413 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17414 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17415 rootType = forUnmarshaling->sType;
17416 }
17417 size_t pNext_size;
17418 pNext_size = vkStream->getBe32();
17419 forUnmarshaling->pNext = nullptr;
17420 if (pNext_size) {
17421 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17422 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17423 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17424 vkStream->alloc((void**)&forUnmarshaling->pNext,
17425 goldfish_vk_extension_struct_size_with_stream_features(
17426 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17427 *(VkStructureType*)forUnmarshaling->pNext = extType;
17428 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17429 }
17430 uint64_t cgen_var_0;
17431 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
17432 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
17433 (VkImage*)&forUnmarshaling->image, 1);
17434 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
17435 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
17436 unmarshal_VkImageSubresourceRange(
17437 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
17438 }
17439
marshal_VkSubresourceHostMemcpySizeEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSubresourceHostMemcpySizeEXT * forMarshaling)17440 void marshal_VkSubresourceHostMemcpySizeEXT(VulkanStream* vkStream, VkStructureType rootType,
17441 const VkSubresourceHostMemcpySizeEXT* forMarshaling) {
17442 (void)rootType;
17443 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17444 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17445 rootType = forMarshaling->sType;
17446 }
17447 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17448 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
17449 }
17450
unmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStream * vkStream,VkStructureType rootType,VkSubresourceHostMemcpySizeEXT * forUnmarshaling)17451 void unmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStream* vkStream, VkStructureType rootType,
17452 VkSubresourceHostMemcpySizeEXT* forUnmarshaling) {
17453 (void)rootType;
17454 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17455 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17456 rootType = forUnmarshaling->sType;
17457 }
17458 size_t pNext_size;
17459 pNext_size = vkStream->getBe32();
17460 forUnmarshaling->pNext = nullptr;
17461 if (pNext_size) {
17462 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17463 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17464 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17465 vkStream->alloc((void**)&forUnmarshaling->pNext,
17466 goldfish_vk_extension_struct_size_with_stream_features(
17467 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17468 *(VkStructureType*)forUnmarshaling->pNext = extType;
17469 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17470 }
17471 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
17472 }
17473
marshal_VkHostImageCopyDevicePerformanceQueryEXT(VulkanStream * vkStream,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQueryEXT * forMarshaling)17474 void marshal_VkHostImageCopyDevicePerformanceQueryEXT(
17475 VulkanStream* vkStream, VkStructureType rootType,
17476 const VkHostImageCopyDevicePerformanceQueryEXT* forMarshaling) {
17477 (void)rootType;
17478 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17479 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17480 rootType = forMarshaling->sType;
17481 }
17482 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17483 vkStream->write((VkBool32*)&forMarshaling->optimalDeviceAccess, sizeof(VkBool32));
17484 vkStream->write((VkBool32*)&forMarshaling->identicalMemoryLayout, sizeof(VkBool32));
17485 }
17486
unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(VulkanStream * vkStream,VkStructureType rootType,VkHostImageCopyDevicePerformanceQueryEXT * forUnmarshaling)17487 void unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
17488 VulkanStream* vkStream, VkStructureType rootType,
17489 VkHostImageCopyDevicePerformanceQueryEXT* forUnmarshaling) {
17490 (void)rootType;
17491 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17492 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17493 rootType = forUnmarshaling->sType;
17494 }
17495 size_t pNext_size;
17496 pNext_size = vkStream->getBe32();
17497 forUnmarshaling->pNext = nullptr;
17498 if (pNext_size) {
17499 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17500 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17501 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17502 vkStream->alloc((void**)&forUnmarshaling->pNext,
17503 goldfish_vk_extension_struct_size_with_stream_features(
17504 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17505 *(VkStructureType*)forUnmarshaling->pNext = extType;
17506 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17507 }
17508 vkStream->read((VkBool32*)&forUnmarshaling->optimalDeviceAccess, sizeof(VkBool32));
17509 vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryLayout, sizeof(VkBool32));
17510 }
17511
17512 #endif
17513 #ifdef VK_EXT_swapchain_maintenance1
marshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT * forMarshaling)17514 void marshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
17515 VulkanStream* vkStream, VkStructureType rootType,
17516 const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forMarshaling) {
17517 (void)rootType;
17518 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17519 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17520 rootType = forMarshaling->sType;
17521 }
17522 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17523 vkStream->write((VkBool32*)&forMarshaling->swapchainMaintenance1, sizeof(VkBool32));
17524 }
17525
unmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT * forUnmarshaling)17526 void unmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
17527 VulkanStream* vkStream, VkStructureType rootType,
17528 VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forUnmarshaling) {
17529 (void)rootType;
17530 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17531 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17532 rootType = forUnmarshaling->sType;
17533 }
17534 size_t pNext_size;
17535 pNext_size = vkStream->getBe32();
17536 forUnmarshaling->pNext = nullptr;
17537 if (pNext_size) {
17538 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17539 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17540 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17541 vkStream->alloc((void**)&forUnmarshaling->pNext,
17542 goldfish_vk_extension_struct_size_with_stream_features(
17543 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17544 *(VkStructureType*)forUnmarshaling->pNext = extType;
17545 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17546 }
17547 vkStream->read((VkBool32*)&forUnmarshaling->swapchainMaintenance1, sizeof(VkBool32));
17548 }
17549
marshal_VkSwapchainPresentFenceInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainPresentFenceInfoEXT * forMarshaling)17550 void marshal_VkSwapchainPresentFenceInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17551 const VkSwapchainPresentFenceInfoEXT* forMarshaling) {
17552 (void)rootType;
17553 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17554 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17555 rootType = forMarshaling->sType;
17556 }
17557 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17558 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
17559 if (forMarshaling->swapchainCount) {
17560 uint64_t* cgen_var_0;
17561 vkStream->alloc((void**)&cgen_var_0, forMarshaling->swapchainCount * 8);
17562 vkStream->handleMapping()->mapHandles_VkFence_u64(forMarshaling->pFences, cgen_var_0,
17563 forMarshaling->swapchainCount);
17564 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->swapchainCount * 8);
17565 }
17566 }
17567
unmarshal_VkSwapchainPresentFenceInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainPresentFenceInfoEXT * forUnmarshaling)17568 void unmarshal_VkSwapchainPresentFenceInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17569 VkSwapchainPresentFenceInfoEXT* forUnmarshaling) {
17570 (void)rootType;
17571 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17572 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17573 rootType = forUnmarshaling->sType;
17574 }
17575 size_t pNext_size;
17576 pNext_size = vkStream->getBe32();
17577 forUnmarshaling->pNext = nullptr;
17578 if (pNext_size) {
17579 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17580 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17581 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17582 vkStream->alloc((void**)&forUnmarshaling->pNext,
17583 goldfish_vk_extension_struct_size_with_stream_features(
17584 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17585 *(VkStructureType*)forUnmarshaling->pNext = extType;
17586 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17587 }
17588 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
17589 vkStream->alloc((void**)&forUnmarshaling->pFences,
17590 forUnmarshaling->swapchainCount * sizeof(const VkFence));
17591 if (forUnmarshaling->swapchainCount) {
17592 uint64_t* cgen_var_0;
17593 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->swapchainCount * 8);
17594 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->swapchainCount * 8);
17595 vkStream->handleMapping()->mapHandles_u64_VkFence(
17596 cgen_var_0, (VkFence*)forUnmarshaling->pFences, forUnmarshaling->swapchainCount);
17597 }
17598 }
17599
marshal_VkSwapchainPresentModesCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainPresentModesCreateInfoEXT * forMarshaling)17600 void marshal_VkSwapchainPresentModesCreateInfoEXT(
17601 VulkanStream* vkStream, VkStructureType rootType,
17602 const VkSwapchainPresentModesCreateInfoEXT* forMarshaling) {
17603 (void)rootType;
17604 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17605 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17606 rootType = forMarshaling->sType;
17607 }
17608 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17609 vkStream->write((uint32_t*)&forMarshaling->presentModeCount, sizeof(uint32_t));
17610 vkStream->write((const VkPresentModeKHR*)forMarshaling->pPresentModes,
17611 forMarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
17612 }
17613
unmarshal_VkSwapchainPresentModesCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainPresentModesCreateInfoEXT * forUnmarshaling)17614 void unmarshal_VkSwapchainPresentModesCreateInfoEXT(
17615 VulkanStream* vkStream, VkStructureType rootType,
17616 VkSwapchainPresentModesCreateInfoEXT* forUnmarshaling) {
17617 (void)rootType;
17618 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17619 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17620 rootType = forUnmarshaling->sType;
17621 }
17622 size_t pNext_size;
17623 pNext_size = vkStream->getBe32();
17624 forUnmarshaling->pNext = nullptr;
17625 if (pNext_size) {
17626 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17627 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17628 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17629 vkStream->alloc((void**)&forUnmarshaling->pNext,
17630 goldfish_vk_extension_struct_size_with_stream_features(
17631 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17632 *(VkStructureType*)forUnmarshaling->pNext = extType;
17633 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17634 }
17635 vkStream->read((uint32_t*)&forUnmarshaling->presentModeCount, sizeof(uint32_t));
17636 vkStream->alloc((void**)&forUnmarshaling->pPresentModes,
17637 forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
17638 vkStream->read((VkPresentModeKHR*)forUnmarshaling->pPresentModes,
17639 forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
17640 }
17641
marshal_VkSwapchainPresentModeInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainPresentModeInfoEXT * forMarshaling)17642 void marshal_VkSwapchainPresentModeInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17643 const VkSwapchainPresentModeInfoEXT* forMarshaling) {
17644 (void)rootType;
17645 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17646 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17647 rootType = forMarshaling->sType;
17648 }
17649 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17650 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
17651 vkStream->write((const VkPresentModeKHR*)forMarshaling->pPresentModes,
17652 forMarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
17653 }
17654
unmarshal_VkSwapchainPresentModeInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainPresentModeInfoEXT * forUnmarshaling)17655 void unmarshal_VkSwapchainPresentModeInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17656 VkSwapchainPresentModeInfoEXT* forUnmarshaling) {
17657 (void)rootType;
17658 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17659 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17660 rootType = forUnmarshaling->sType;
17661 }
17662 size_t pNext_size;
17663 pNext_size = vkStream->getBe32();
17664 forUnmarshaling->pNext = nullptr;
17665 if (pNext_size) {
17666 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17667 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17668 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17669 vkStream->alloc((void**)&forUnmarshaling->pNext,
17670 goldfish_vk_extension_struct_size_with_stream_features(
17671 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17672 *(VkStructureType*)forUnmarshaling->pNext = extType;
17673 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17674 }
17675 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
17676 vkStream->alloc((void**)&forUnmarshaling->pPresentModes,
17677 forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
17678 vkStream->read((VkPresentModeKHR*)forUnmarshaling->pPresentModes,
17679 forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
17680 }
17681
marshal_VkSwapchainPresentScalingCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSwapchainPresentScalingCreateInfoEXT * forMarshaling)17682 void marshal_VkSwapchainPresentScalingCreateInfoEXT(
17683 VulkanStream* vkStream, VkStructureType rootType,
17684 const VkSwapchainPresentScalingCreateInfoEXT* forMarshaling) {
17685 (void)rootType;
17686 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17687 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17688 rootType = forMarshaling->sType;
17689 }
17690 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17691 vkStream->write((VkPresentScalingFlagsEXT*)&forMarshaling->scalingBehavior,
17692 sizeof(VkPresentScalingFlagsEXT));
17693 vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityX,
17694 sizeof(VkPresentGravityFlagsEXT));
17695 vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityY,
17696 sizeof(VkPresentGravityFlagsEXT));
17697 }
17698
unmarshal_VkSwapchainPresentScalingCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkSwapchainPresentScalingCreateInfoEXT * forUnmarshaling)17699 void unmarshal_VkSwapchainPresentScalingCreateInfoEXT(
17700 VulkanStream* vkStream, VkStructureType rootType,
17701 VkSwapchainPresentScalingCreateInfoEXT* forUnmarshaling) {
17702 (void)rootType;
17703 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17704 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17705 rootType = forUnmarshaling->sType;
17706 }
17707 size_t pNext_size;
17708 pNext_size = vkStream->getBe32();
17709 forUnmarshaling->pNext = nullptr;
17710 if (pNext_size) {
17711 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17712 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17713 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17714 vkStream->alloc((void**)&forUnmarshaling->pNext,
17715 goldfish_vk_extension_struct_size_with_stream_features(
17716 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17717 *(VkStructureType*)forUnmarshaling->pNext = extType;
17718 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17719 }
17720 vkStream->read((VkPresentScalingFlagsEXT*)&forUnmarshaling->scalingBehavior,
17721 sizeof(VkPresentScalingFlagsEXT));
17722 vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityX,
17723 sizeof(VkPresentGravityFlagsEXT));
17724 vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityY,
17725 sizeof(VkPresentGravityFlagsEXT));
17726 }
17727
marshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkReleaseSwapchainImagesInfoEXT * forMarshaling)17728 void marshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17729 const VkReleaseSwapchainImagesInfoEXT* forMarshaling) {
17730 (void)rootType;
17731 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17732 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17733 rootType = forMarshaling->sType;
17734 }
17735 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17736 uint64_t cgen_var_0;
17737 vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_0,
17738 1);
17739 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
17740 vkStream->write((uint32_t*)&forMarshaling->imageIndexCount, sizeof(uint32_t));
17741 vkStream->write((const uint32_t*)forMarshaling->pImageIndices,
17742 forMarshaling->imageIndexCount * sizeof(const uint32_t));
17743 }
17744
unmarshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkReleaseSwapchainImagesInfoEXT * forUnmarshaling)17745 void unmarshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
17746 VkReleaseSwapchainImagesInfoEXT* forUnmarshaling) {
17747 (void)rootType;
17748 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17749 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17750 rootType = forUnmarshaling->sType;
17751 }
17752 size_t pNext_size;
17753 pNext_size = vkStream->getBe32();
17754 forUnmarshaling->pNext = nullptr;
17755 if (pNext_size) {
17756 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17757 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17758 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17759 vkStream->alloc((void**)&forUnmarshaling->pNext,
17760 goldfish_vk_extension_struct_size_with_stream_features(
17761 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17762 *(VkStructureType*)forUnmarshaling->pNext = extType;
17763 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17764 }
17765 uint64_t cgen_var_0;
17766 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
17767 vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
17768 &cgen_var_0, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
17769 vkStream->read((uint32_t*)&forUnmarshaling->imageIndexCount, sizeof(uint32_t));
17770 vkStream->alloc((void**)&forUnmarshaling->pImageIndices,
17771 forUnmarshaling->imageIndexCount * sizeof(const uint32_t));
17772 vkStream->read((uint32_t*)forUnmarshaling->pImageIndices,
17773 forUnmarshaling->imageIndexCount * sizeof(const uint32_t));
17774 }
17775
17776 #endif
17777 #ifdef VK_EXT_texel_buffer_alignment
marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forMarshaling)17778 void marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
17779 VulkanStream* vkStream, VkStructureType rootType,
17780 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling) {
17781 (void)rootType;
17782 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17783 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17784 rootType = forMarshaling->sType;
17785 }
17786 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17787 vkStream->write((VkBool32*)&forMarshaling->texelBufferAlignment, sizeof(VkBool32));
17788 }
17789
unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forUnmarshaling)17790 void unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
17791 VulkanStream* vkStream, VkStructureType rootType,
17792 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forUnmarshaling) {
17793 (void)rootType;
17794 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17795 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17796 rootType = forUnmarshaling->sType;
17797 }
17798 size_t pNext_size;
17799 pNext_size = vkStream->getBe32();
17800 forUnmarshaling->pNext = nullptr;
17801 if (pNext_size) {
17802 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17803 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17804 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17805 vkStream->alloc((void**)&forUnmarshaling->pNext,
17806 goldfish_vk_extension_struct_size_with_stream_features(
17807 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17808 *(VkStructureType*)forUnmarshaling->pNext = extType;
17809 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17810 }
17811 vkStream->read((VkBool32*)&forUnmarshaling->texelBufferAlignment, sizeof(VkBool32));
17812 }
17813
17814 #endif
17815 #ifdef VK_EXT_device_memory_report
marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forMarshaling)17816 void marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
17817 VulkanStream* vkStream, VkStructureType rootType,
17818 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling) {
17819 (void)rootType;
17820 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17821 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17822 rootType = forMarshaling->sType;
17823 }
17824 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17825 vkStream->write((VkBool32*)&forMarshaling->deviceMemoryReport, sizeof(VkBool32));
17826 }
17827
unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forUnmarshaling)17828 void unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
17829 VulkanStream* vkStream, VkStructureType rootType,
17830 VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forUnmarshaling) {
17831 (void)rootType;
17832 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17833 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17834 rootType = forUnmarshaling->sType;
17835 }
17836 size_t pNext_size;
17837 pNext_size = vkStream->getBe32();
17838 forUnmarshaling->pNext = nullptr;
17839 if (pNext_size) {
17840 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17841 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17842 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17843 vkStream->alloc((void**)&forUnmarshaling->pNext,
17844 goldfish_vk_extension_struct_size_with_stream_features(
17845 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17846 *(VkStructureType*)forUnmarshaling->pNext = extType;
17847 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17848 }
17849 vkStream->read((VkBool32*)&forUnmarshaling->deviceMemoryReport, sizeof(VkBool32));
17850 }
17851
marshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * forMarshaling)17852 void marshal_VkDeviceMemoryReportCallbackDataEXT(
17853 VulkanStream* vkStream, VkStructureType rootType,
17854 const VkDeviceMemoryReportCallbackDataEXT* forMarshaling) {
17855 (void)rootType;
17856 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17857 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17858 rootType = forMarshaling->sType;
17859 }
17860 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17861 vkStream->write((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
17862 sizeof(VkDeviceMemoryReportFlagsEXT));
17863 vkStream->write((VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
17864 sizeof(VkDeviceMemoryReportEventTypeEXT));
17865 vkStream->write((uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
17866 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
17867 vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
17868 vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
17869 vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
17870 }
17871
unmarshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStream * vkStream,VkStructureType rootType,VkDeviceMemoryReportCallbackDataEXT * forUnmarshaling)17872 void unmarshal_VkDeviceMemoryReportCallbackDataEXT(
17873 VulkanStream* vkStream, VkStructureType rootType,
17874 VkDeviceMemoryReportCallbackDataEXT* forUnmarshaling) {
17875 (void)rootType;
17876 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17877 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17878 rootType = forUnmarshaling->sType;
17879 }
17880 size_t pNext_size;
17881 pNext_size = vkStream->getBe32();
17882 forUnmarshaling->pNext = nullptr;
17883 if (pNext_size) {
17884 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17885 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17886 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17887 vkStream->alloc((void**)&forUnmarshaling->pNext,
17888 goldfish_vk_extension_struct_size_with_stream_features(
17889 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17890 *(VkStructureType*)forUnmarshaling->pNext = extType;
17891 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17892 }
17893 vkStream->read((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
17894 sizeof(VkDeviceMemoryReportFlagsEXT));
17895 vkStream->read((VkDeviceMemoryReportEventTypeEXT*)&forUnmarshaling->type,
17896 sizeof(VkDeviceMemoryReportEventTypeEXT));
17897 vkStream->read((uint64_t*)&forUnmarshaling->memoryObjectId, sizeof(uint64_t));
17898 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
17899 vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
17900 vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
17901 vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
17902 }
17903
marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * forMarshaling)17904 void marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
17905 VulkanStream* vkStream, VkStructureType rootType,
17906 const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling) {
17907 (void)rootType;
17908 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17909 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17910 rootType = forMarshaling->sType;
17911 }
17912 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17913 vkStream->write((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
17914 sizeof(VkDeviceMemoryReportFlagsEXT));
17915 uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
17916 vkStream->putBe64(cgen_var_0);
17917 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
17918 }
17919
unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkDeviceDeviceMemoryReportCreateInfoEXT * forUnmarshaling)17920 void unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
17921 VulkanStream* vkStream, VkStructureType rootType,
17922 VkDeviceDeviceMemoryReportCreateInfoEXT* forUnmarshaling) {
17923 (void)rootType;
17924 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17925 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17926 rootType = forUnmarshaling->sType;
17927 }
17928 size_t pNext_size;
17929 pNext_size = vkStream->getBe32();
17930 forUnmarshaling->pNext = nullptr;
17931 if (pNext_size) {
17932 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17933 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17934 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17935 vkStream->alloc((void**)&forUnmarshaling->pNext,
17936 goldfish_vk_extension_struct_size_with_stream_features(
17937 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17938 *(VkStructureType*)forUnmarshaling->pNext = extType;
17939 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17940 }
17941 vkStream->read((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
17942 sizeof(VkDeviceMemoryReportFlagsEXT));
17943 forUnmarshaling->pfnUserCallback = (PFN_vkDeviceMemoryReportCallbackEXT)vkStream->getBe64();
17944 vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
17945 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
17946 }
17947
17948 #endif
17949 #ifdef VK_EXT_robustness2
marshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * forMarshaling)17950 void marshal_VkPhysicalDeviceRobustness2FeaturesEXT(
17951 VulkanStream* vkStream, VkStructureType rootType,
17952 const VkPhysicalDeviceRobustness2FeaturesEXT* forMarshaling) {
17953 (void)rootType;
17954 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17955 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17956 rootType = forMarshaling->sType;
17957 }
17958 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17959 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess2, sizeof(VkBool32));
17960 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess2, sizeof(VkBool32));
17961 vkStream->write((VkBool32*)&forMarshaling->nullDescriptor, sizeof(VkBool32));
17962 }
17963
unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceRobustness2FeaturesEXT * forUnmarshaling)17964 void unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
17965 VulkanStream* vkStream, VkStructureType rootType,
17966 VkPhysicalDeviceRobustness2FeaturesEXT* forUnmarshaling) {
17967 (void)rootType;
17968 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
17969 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17970 rootType = forUnmarshaling->sType;
17971 }
17972 size_t pNext_size;
17973 pNext_size = vkStream->getBe32();
17974 forUnmarshaling->pNext = nullptr;
17975 if (pNext_size) {
17976 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
17977 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
17978 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
17979 vkStream->alloc((void**)&forUnmarshaling->pNext,
17980 goldfish_vk_extension_struct_size_with_stream_features(
17981 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
17982 *(VkStructureType*)forUnmarshaling->pNext = extType;
17983 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
17984 }
17985 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess2, sizeof(VkBool32));
17986 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess2, sizeof(VkBool32));
17987 vkStream->read((VkBool32*)&forUnmarshaling->nullDescriptor, sizeof(VkBool32));
17988 }
17989
marshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * forMarshaling)17990 void marshal_VkPhysicalDeviceRobustness2PropertiesEXT(
17991 VulkanStream* vkStream, VkStructureType rootType,
17992 const VkPhysicalDeviceRobustness2PropertiesEXT* forMarshaling) {
17993 (void)rootType;
17994 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
17995 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17996 rootType = forMarshaling->sType;
17997 }
17998 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
17999 vkStream->write((VkDeviceSize*)&forMarshaling->robustStorageBufferAccessSizeAlignment,
18000 sizeof(VkDeviceSize));
18001 vkStream->write((VkDeviceSize*)&forMarshaling->robustUniformBufferAccessSizeAlignment,
18002 sizeof(VkDeviceSize));
18003 }
18004
unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceRobustness2PropertiesEXT * forUnmarshaling)18005 void unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
18006 VulkanStream* vkStream, VkStructureType rootType,
18007 VkPhysicalDeviceRobustness2PropertiesEXT* forUnmarshaling) {
18008 (void)rootType;
18009 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18010 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18011 rootType = forUnmarshaling->sType;
18012 }
18013 size_t pNext_size;
18014 pNext_size = vkStream->getBe32();
18015 forUnmarshaling->pNext = nullptr;
18016 if (pNext_size) {
18017 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18018 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18019 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18020 vkStream->alloc((void**)&forUnmarshaling->pNext,
18021 goldfish_vk_extension_struct_size_with_stream_features(
18022 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18023 *(VkStructureType*)forUnmarshaling->pNext = extType;
18024 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18025 }
18026 vkStream->read((VkDeviceSize*)&forUnmarshaling->robustStorageBufferAccessSizeAlignment,
18027 sizeof(VkDeviceSize));
18028 vkStream->read((VkDeviceSize*)&forUnmarshaling->robustUniformBufferAccessSizeAlignment,
18029 sizeof(VkDeviceSize));
18030 }
18031
18032 #endif
18033 #ifdef VK_EXT_custom_border_color
marshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * forMarshaling)18034 void marshal_VkSamplerCustomBorderColorCreateInfoEXT(
18035 VulkanStream* vkStream, VkStructureType rootType,
18036 const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling) {
18037 (void)rootType;
18038 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18039 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18040 rootType = forMarshaling->sType;
18041 }
18042 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18043 marshal_VkClearColorValue(vkStream, rootType,
18044 (VkClearColorValue*)(&forMarshaling->customBorderColor));
18045 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
18046 }
18047
unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkSamplerCustomBorderColorCreateInfoEXT * forUnmarshaling)18048 void unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
18049 VulkanStream* vkStream, VkStructureType rootType,
18050 VkSamplerCustomBorderColorCreateInfoEXT* forUnmarshaling) {
18051 (void)rootType;
18052 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18053 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18054 rootType = forUnmarshaling->sType;
18055 }
18056 size_t pNext_size;
18057 pNext_size = vkStream->getBe32();
18058 forUnmarshaling->pNext = nullptr;
18059 if (pNext_size) {
18060 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18061 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18062 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18063 vkStream->alloc((void**)&forUnmarshaling->pNext,
18064 goldfish_vk_extension_struct_size_with_stream_features(
18065 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18066 *(VkStructureType*)forUnmarshaling->pNext = extType;
18067 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18068 }
18069 unmarshal_VkClearColorValue(vkStream, rootType,
18070 (VkClearColorValue*)(&forUnmarshaling->customBorderColor));
18071 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
18072 }
18073
marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * forMarshaling)18074 void marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
18075 VulkanStream* vkStream, VkStructureType rootType,
18076 const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling) {
18077 (void)rootType;
18078 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18079 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18080 rootType = forMarshaling->sType;
18081 }
18082 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18083 vkStream->write((uint32_t*)&forMarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
18084 }
18085
unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceCustomBorderColorPropertiesEXT * forUnmarshaling)18086 void unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
18087 VulkanStream* vkStream, VkStructureType rootType,
18088 VkPhysicalDeviceCustomBorderColorPropertiesEXT* forUnmarshaling) {
18089 (void)rootType;
18090 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18091 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18092 rootType = forUnmarshaling->sType;
18093 }
18094 size_t pNext_size;
18095 pNext_size = vkStream->getBe32();
18096 forUnmarshaling->pNext = nullptr;
18097 if (pNext_size) {
18098 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18099 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18100 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18101 vkStream->alloc((void**)&forUnmarshaling->pNext,
18102 goldfish_vk_extension_struct_size_with_stream_features(
18103 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18104 *(VkStructureType*)forUnmarshaling->pNext = extType;
18105 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18106 }
18107 vkStream->read((uint32_t*)&forUnmarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
18108 }
18109
marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * forMarshaling)18110 void marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
18111 VulkanStream* vkStream, VkStructureType rootType,
18112 const VkPhysicalDeviceCustomBorderColorFeaturesEXT* forMarshaling) {
18113 (void)rootType;
18114 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18115 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18116 rootType = forMarshaling->sType;
18117 }
18118 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18119 vkStream->write((VkBool32*)&forMarshaling->customBorderColors, sizeof(VkBool32));
18120 vkStream->write((VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
18121 }
18122
unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceCustomBorderColorFeaturesEXT * forUnmarshaling)18123 void unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
18124 VulkanStream* vkStream, VkStructureType rootType,
18125 VkPhysicalDeviceCustomBorderColorFeaturesEXT* forUnmarshaling) {
18126 (void)rootType;
18127 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18128 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18129 rootType = forUnmarshaling->sType;
18130 }
18131 size_t pNext_size;
18132 pNext_size = vkStream->getBe32();
18133 forUnmarshaling->pNext = nullptr;
18134 if (pNext_size) {
18135 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18136 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18137 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18138 vkStream->alloc((void**)&forUnmarshaling->pNext,
18139 goldfish_vk_extension_struct_size_with_stream_features(
18140 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18141 *(VkStructureType*)forUnmarshaling->pNext = extType;
18142 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18143 }
18144 vkStream->read((VkBool32*)&forUnmarshaling->customBorderColors, sizeof(VkBool32));
18145 vkStream->read((VkBool32*)&forUnmarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
18146 }
18147
18148 #endif
18149 #ifdef VK_EXT_graphics_pipeline_library
marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forMarshaling)18150 void marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
18151 VulkanStream* vkStream, VkStructureType rootType,
18152 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling) {
18153 (void)rootType;
18154 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18155 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18156 rootType = forMarshaling->sType;
18157 }
18158 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18159 vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
18160 }
18161
unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forUnmarshaling)18162 void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
18163 VulkanStream* vkStream, VkStructureType rootType,
18164 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forUnmarshaling) {
18165 (void)rootType;
18166 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18167 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18168 rootType = forUnmarshaling->sType;
18169 }
18170 size_t pNext_size;
18171 pNext_size = vkStream->getBe32();
18172 forUnmarshaling->pNext = nullptr;
18173 if (pNext_size) {
18174 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18175 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18176 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18177 vkStream->alloc((void**)&forUnmarshaling->pNext,
18178 goldfish_vk_extension_struct_size_with_stream_features(
18179 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18180 *(VkStructureType*)forUnmarshaling->pNext = extType;
18181 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18182 }
18183 vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
18184 }
18185
marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forMarshaling)18186 void marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
18187 VulkanStream* vkStream, VkStructureType rootType,
18188 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling) {
18189 (void)rootType;
18190 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18191 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18192 rootType = forMarshaling->sType;
18193 }
18194 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18195 vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking,
18196 sizeof(VkBool32));
18197 vkStream->write(
18198 (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
18199 sizeof(VkBool32));
18200 }
18201
unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forUnmarshaling)18202 void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
18203 VulkanStream* vkStream, VkStructureType rootType,
18204 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forUnmarshaling) {
18205 (void)rootType;
18206 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18207 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18208 rootType = forUnmarshaling->sType;
18209 }
18210 size_t pNext_size;
18211 pNext_size = vkStream->getBe32();
18212 forUnmarshaling->pNext = nullptr;
18213 if (pNext_size) {
18214 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18215 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18216 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18217 vkStream->alloc((void**)&forUnmarshaling->pNext,
18218 goldfish_vk_extension_struct_size_with_stream_features(
18219 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18220 *(VkStructureType*)forUnmarshaling->pNext = extType;
18221 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18222 }
18223 vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibraryFastLinking,
18224 sizeof(VkBool32));
18225 vkStream->read(
18226 (VkBool32*)&forUnmarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
18227 sizeof(VkBool32));
18228 }
18229
marshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * forMarshaling)18230 void marshal_VkGraphicsPipelineLibraryCreateInfoEXT(
18231 VulkanStream* vkStream, VkStructureType rootType,
18232 const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling) {
18233 (void)rootType;
18234 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18236 rootType = forMarshaling->sType;
18237 }
18238 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18239 vkStream->write((VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags,
18240 sizeof(VkGraphicsPipelineLibraryFlagsEXT));
18241 }
18242
unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkGraphicsPipelineLibraryCreateInfoEXT * forUnmarshaling)18243 void unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
18244 VulkanStream* vkStream, VkStructureType rootType,
18245 VkGraphicsPipelineLibraryCreateInfoEXT* forUnmarshaling) {
18246 (void)rootType;
18247 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18248 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18249 rootType = forUnmarshaling->sType;
18250 }
18251 size_t pNext_size;
18252 pNext_size = vkStream->getBe32();
18253 forUnmarshaling->pNext = nullptr;
18254 if (pNext_size) {
18255 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18256 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18257 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18258 vkStream->alloc((void**)&forUnmarshaling->pNext,
18259 goldfish_vk_extension_struct_size_with_stream_features(
18260 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18261 *(VkStructureType*)forUnmarshaling->pNext = extType;
18262 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18263 }
18264 vkStream->read((VkGraphicsPipelineLibraryFlagsEXT*)&forUnmarshaling->flags,
18265 sizeof(VkGraphicsPipelineLibraryFlagsEXT));
18266 }
18267
18268 #endif
18269 #ifdef VK_EXT_ycbcr_2plane_444_formats
marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forMarshaling)18270 void marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
18271 VulkanStream* vkStream, VkStructureType rootType,
18272 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forMarshaling) {
18273 (void)rootType;
18274 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18275 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18276 rootType = forMarshaling->sType;
18277 }
18278 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18279 vkStream->write((VkBool32*)&forMarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
18280 }
18281
unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forUnmarshaling)18282 void unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
18283 VulkanStream* vkStream, VkStructureType rootType,
18284 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forUnmarshaling) {
18285 (void)rootType;
18286 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18287 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18288 rootType = forUnmarshaling->sType;
18289 }
18290 size_t pNext_size;
18291 pNext_size = vkStream->getBe32();
18292 forUnmarshaling->pNext = nullptr;
18293 if (pNext_size) {
18294 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18295 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18296 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18297 vkStream->alloc((void**)&forUnmarshaling->pNext,
18298 goldfish_vk_extension_struct_size_with_stream_features(
18299 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18300 *(VkStructureType*)forUnmarshaling->pNext = extType;
18301 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18302 }
18303 vkStream->read((VkBool32*)&forUnmarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
18304 }
18305
18306 #endif
18307 #ifdef VK_EXT_image_compression_control
marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * forMarshaling)18308 void marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
18309 VulkanStream* vkStream, VkStructureType rootType,
18310 const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling) {
18311 (void)rootType;
18312 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18313 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18314 rootType = forMarshaling->sType;
18315 }
18316 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18317 vkStream->write((VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32));
18318 }
18319
unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImageCompressionControlFeaturesEXT * forUnmarshaling)18320 void unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
18321 VulkanStream* vkStream, VkStructureType rootType,
18322 VkPhysicalDeviceImageCompressionControlFeaturesEXT* forUnmarshaling) {
18323 (void)rootType;
18324 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18325 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18326 rootType = forUnmarshaling->sType;
18327 }
18328 size_t pNext_size;
18329 pNext_size = vkStream->getBe32();
18330 forUnmarshaling->pNext = nullptr;
18331 if (pNext_size) {
18332 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18333 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18334 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18335 vkStream->alloc((void**)&forUnmarshaling->pNext,
18336 goldfish_vk_extension_struct_size_with_stream_features(
18337 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18338 *(VkStructureType*)forUnmarshaling->pNext = extType;
18339 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18340 }
18341 vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControl, sizeof(VkBool32));
18342 }
18343
marshal_VkImageCompressionControlEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageCompressionControlEXT * forMarshaling)18344 void marshal_VkImageCompressionControlEXT(VulkanStream* vkStream, VkStructureType rootType,
18345 const VkImageCompressionControlEXT* forMarshaling) {
18346 (void)rootType;
18347 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18349 rootType = forMarshaling->sType;
18350 }
18351 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18352 vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->flags,
18353 sizeof(VkImageCompressionFlagsEXT));
18354 vkStream->write((uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t));
18355 // WARNING PTR CHECK
18356 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags;
18357 vkStream->putBe64(cgen_var_0);
18358 if (forMarshaling->pFixedRateFlags) {
18359 vkStream->write((VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags,
18360 forMarshaling->compressionControlPlaneCount *
18361 sizeof(VkImageCompressionFixedRateFlagsEXT));
18362 }
18363 }
18364
unmarshal_VkImageCompressionControlEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageCompressionControlEXT * forUnmarshaling)18365 void unmarshal_VkImageCompressionControlEXT(VulkanStream* vkStream, VkStructureType rootType,
18366 VkImageCompressionControlEXT* forUnmarshaling) {
18367 (void)rootType;
18368 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18369 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18370 rootType = forUnmarshaling->sType;
18371 }
18372 size_t pNext_size;
18373 pNext_size = vkStream->getBe32();
18374 forUnmarshaling->pNext = nullptr;
18375 if (pNext_size) {
18376 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18377 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18378 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18379 vkStream->alloc((void**)&forUnmarshaling->pNext,
18380 goldfish_vk_extension_struct_size_with_stream_features(
18381 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18382 *(VkStructureType*)forUnmarshaling->pNext = extType;
18383 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18384 }
18385 vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->flags,
18386 sizeof(VkImageCompressionFlagsEXT));
18387 vkStream->read((uint32_t*)&forUnmarshaling->compressionControlPlaneCount, sizeof(uint32_t));
18388 // WARNING PTR CHECK
18389 forUnmarshaling->pFixedRateFlags =
18390 (VkImageCompressionFixedRateFlagsEXT*)(uintptr_t)vkStream->getBe64();
18391 if (forUnmarshaling->pFixedRateFlags) {
18392 vkStream->alloc((void**)&forUnmarshaling->pFixedRateFlags,
18393 forUnmarshaling->compressionControlPlaneCount *
18394 sizeof(VkImageCompressionFixedRateFlagsEXT));
18395 vkStream->read((VkImageCompressionFixedRateFlagsEXT*)forUnmarshaling->pFixedRateFlags,
18396 forUnmarshaling->compressionControlPlaneCount *
18397 sizeof(VkImageCompressionFixedRateFlagsEXT));
18398 }
18399 }
18400
marshal_VkImageCompressionPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkImageCompressionPropertiesEXT * forMarshaling)18401 void marshal_VkImageCompressionPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType,
18402 const VkImageCompressionPropertiesEXT* forMarshaling) {
18403 (void)rootType;
18404 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18405 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18406 rootType = forMarshaling->sType;
18407 }
18408 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18409 vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags,
18410 sizeof(VkImageCompressionFlagsEXT));
18411 vkStream->write(
18412 (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags,
18413 sizeof(VkImageCompressionFixedRateFlagsEXT));
18414 }
18415
unmarshal_VkImageCompressionPropertiesEXT(VulkanStream * vkStream,VkStructureType rootType,VkImageCompressionPropertiesEXT * forUnmarshaling)18416 void unmarshal_VkImageCompressionPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType,
18417 VkImageCompressionPropertiesEXT* forUnmarshaling) {
18418 (void)rootType;
18419 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18420 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18421 rootType = forUnmarshaling->sType;
18422 }
18423 size_t pNext_size;
18424 pNext_size = vkStream->getBe32();
18425 forUnmarshaling->pNext = nullptr;
18426 if (pNext_size) {
18427 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18428 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18429 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18430 vkStream->alloc((void**)&forUnmarshaling->pNext,
18431 goldfish_vk_extension_struct_size_with_stream_features(
18432 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18433 *(VkStructureType*)forUnmarshaling->pNext = extType;
18434 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18435 }
18436 vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->imageCompressionFlags,
18437 sizeof(VkImageCompressionFlagsEXT));
18438 vkStream->read(
18439 (VkImageCompressionFixedRateFlagsEXT*)&forUnmarshaling->imageCompressionFixedRateFlags,
18440 sizeof(VkImageCompressionFixedRateFlagsEXT));
18441 }
18442
18443 #endif
18444 #ifdef VK_EXT_4444_formats
marshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * forMarshaling)18445 void marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
18446 VulkanStream* vkStream, VkStructureType rootType,
18447 const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling) {
18448 (void)rootType;
18449 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18450 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18451 rootType = forMarshaling->sType;
18452 }
18453 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18454 vkStream->write((VkBool32*)&forMarshaling->formatA4R4G4B4, sizeof(VkBool32));
18455 vkStream->write((VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
18456 }
18457
unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevice4444FormatsFeaturesEXT * forUnmarshaling)18458 void unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
18459 VulkanStream* vkStream, VkStructureType rootType,
18460 VkPhysicalDevice4444FormatsFeaturesEXT* forUnmarshaling) {
18461 (void)rootType;
18462 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18463 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18464 rootType = forUnmarshaling->sType;
18465 }
18466 size_t pNext_size;
18467 pNext_size = vkStream->getBe32();
18468 forUnmarshaling->pNext = nullptr;
18469 if (pNext_size) {
18470 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18471 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18472 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18473 vkStream->alloc((void**)&forUnmarshaling->pNext,
18474 goldfish_vk_extension_struct_size_with_stream_features(
18475 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18476 *(VkStructureType*)forUnmarshaling->pNext = extType;
18477 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18478 }
18479 vkStream->read((VkBool32*)&forUnmarshaling->formatA4R4G4B4, sizeof(VkBool32));
18480 vkStream->read((VkBool32*)&forUnmarshaling->formatA4B4G4R4, sizeof(VkBool32));
18481 }
18482
18483 #endif
18484 #ifdef VK_EXT_primitive_topology_list_restart
marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forMarshaling)18485 void marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
18486 VulkanStream* vkStream, VkStructureType rootType,
18487 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling) {
18488 (void)rootType;
18489 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18490 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18491 rootType = forMarshaling->sType;
18492 }
18493 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18494 vkStream->write((VkBool32*)&forMarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
18495 vkStream->write((VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
18496 }
18497
unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forUnmarshaling)18498 void unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
18499 VulkanStream* vkStream, VkStructureType rootType,
18500 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forUnmarshaling) {
18501 (void)rootType;
18502 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18503 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18504 rootType = forUnmarshaling->sType;
18505 }
18506 size_t pNext_size;
18507 pNext_size = vkStream->getBe32();
18508 forUnmarshaling->pNext = nullptr;
18509 if (pNext_size) {
18510 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18511 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18512 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18513 vkStream->alloc((void**)&forUnmarshaling->pNext,
18514 goldfish_vk_extension_struct_size_with_stream_features(
18515 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18516 *(VkStructureType*)forUnmarshaling->pNext = extType;
18517 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18518 }
18519 vkStream->read((VkBool32*)&forUnmarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
18520 vkStream->read((VkBool32*)&forUnmarshaling->primitiveTopologyPatchListRestart,
18521 sizeof(VkBool32));
18522 }
18523
18524 #endif
18525 #ifdef VK_EXT_extended_dynamic_state2
marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forMarshaling)18526 void marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
18527 VulkanStream* vkStream, VkStructureType rootType,
18528 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling) {
18529 (void)rootType;
18530 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18531 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18532 rootType = forMarshaling->sType;
18533 }
18534 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18535 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2, sizeof(VkBool32));
18536 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
18537 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
18538 sizeof(VkBool32));
18539 }
18540
unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forUnmarshaling)18541 void unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
18542 VulkanStream* vkStream, VkStructureType rootType,
18543 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forUnmarshaling) {
18544 (void)rootType;
18545 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18546 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18547 rootType = forUnmarshaling->sType;
18548 }
18549 size_t pNext_size;
18550 pNext_size = vkStream->getBe32();
18551 forUnmarshaling->pNext = nullptr;
18552 if (pNext_size) {
18553 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18554 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18555 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18556 vkStream->alloc((void**)&forUnmarshaling->pNext,
18557 goldfish_vk_extension_struct_size_with_stream_features(
18558 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18559 *(VkStructureType*)forUnmarshaling->pNext = extType;
18560 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18561 }
18562 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2, sizeof(VkBool32));
18563 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
18564 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2PatchControlPoints,
18565 sizeof(VkBool32));
18566 }
18567
18568 #endif
18569 #ifdef VK_EXT_color_write_enable
marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * forMarshaling)18570 void marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
18571 VulkanStream* vkStream, VkStructureType rootType,
18572 const VkPhysicalDeviceColorWriteEnableFeaturesEXT* forMarshaling) {
18573 (void)rootType;
18574 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18575 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18576 rootType = forMarshaling->sType;
18577 }
18578 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18579 vkStream->write((VkBool32*)&forMarshaling->colorWriteEnable, sizeof(VkBool32));
18580 }
18581
unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceColorWriteEnableFeaturesEXT * forUnmarshaling)18582 void unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
18583 VulkanStream* vkStream, VkStructureType rootType,
18584 VkPhysicalDeviceColorWriteEnableFeaturesEXT* forUnmarshaling) {
18585 (void)rootType;
18586 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18587 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18588 rootType = forUnmarshaling->sType;
18589 }
18590 size_t pNext_size;
18591 pNext_size = vkStream->getBe32();
18592 forUnmarshaling->pNext = nullptr;
18593 if (pNext_size) {
18594 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18595 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18596 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18597 vkStream->alloc((void**)&forUnmarshaling->pNext,
18598 goldfish_vk_extension_struct_size_with_stream_features(
18599 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18600 *(VkStructureType*)forUnmarshaling->pNext = extType;
18601 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18602 }
18603 vkStream->read((VkBool32*)&forUnmarshaling->colorWriteEnable, sizeof(VkBool32));
18604 }
18605
marshal_VkPipelineColorWriteCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * forMarshaling)18606 void marshal_VkPipelineColorWriteCreateInfoEXT(
18607 VulkanStream* vkStream, VkStructureType rootType,
18608 const VkPipelineColorWriteCreateInfoEXT* forMarshaling) {
18609 (void)rootType;
18610 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18611 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18612 rootType = forMarshaling->sType;
18613 }
18614 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18615 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
18616 vkStream->write((const VkBool32*)forMarshaling->pColorWriteEnables,
18617 forMarshaling->attachmentCount * sizeof(const VkBool32));
18618 }
18619
unmarshal_VkPipelineColorWriteCreateInfoEXT(VulkanStream * vkStream,VkStructureType rootType,VkPipelineColorWriteCreateInfoEXT * forUnmarshaling)18620 void unmarshal_VkPipelineColorWriteCreateInfoEXT(
18621 VulkanStream* vkStream, VkStructureType rootType,
18622 VkPipelineColorWriteCreateInfoEXT* forUnmarshaling) {
18623 (void)rootType;
18624 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18625 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18626 rootType = forUnmarshaling->sType;
18627 }
18628 size_t pNext_size;
18629 pNext_size = vkStream->getBe32();
18630 forUnmarshaling->pNext = nullptr;
18631 if (pNext_size) {
18632 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18633 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18634 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18635 vkStream->alloc((void**)&forUnmarshaling->pNext,
18636 goldfish_vk_extension_struct_size_with_stream_features(
18637 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18638 *(VkStructureType*)forUnmarshaling->pNext = extType;
18639 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18640 }
18641 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
18642 vkStream->alloc((void**)&forUnmarshaling->pColorWriteEnables,
18643 forUnmarshaling->attachmentCount * sizeof(const VkBool32));
18644 vkStream->read((VkBool32*)forUnmarshaling->pColorWriteEnables,
18645 forUnmarshaling->attachmentCount * sizeof(const VkBool32));
18646 }
18647
18648 #endif
18649 #ifdef VK_GOOGLE_gfxstream
marshal_VkImportColorBufferGOOGLE(VulkanStream * vkStream,VkStructureType rootType,const VkImportColorBufferGOOGLE * forMarshaling)18650 void marshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18651 const VkImportColorBufferGOOGLE* forMarshaling) {
18652 (void)rootType;
18653 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18654 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18655 rootType = forMarshaling->sType;
18656 }
18657 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18658 vkStream->write((uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
18659 }
18660
unmarshal_VkImportColorBufferGOOGLE(VulkanStream * vkStream,VkStructureType rootType,VkImportColorBufferGOOGLE * forUnmarshaling)18661 void unmarshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18662 VkImportColorBufferGOOGLE* forUnmarshaling) {
18663 (void)rootType;
18664 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18665 forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE;
18666 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18667 rootType = forUnmarshaling->sType;
18668 }
18669 size_t pNext_size;
18670 pNext_size = vkStream->getBe32();
18671 forUnmarshaling->pNext = nullptr;
18672 if (pNext_size) {
18673 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18674 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18675 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18676 vkStream->alloc((void**)&forUnmarshaling->pNext,
18677 goldfish_vk_extension_struct_size_with_stream_features(
18678 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18679 *(VkStructureType*)forUnmarshaling->pNext = extType;
18680 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18681 }
18682 vkStream->read((uint32_t*)&forUnmarshaling->colorBuffer, sizeof(uint32_t));
18683 }
18684
marshal_VkImportBufferGOOGLE(VulkanStream * vkStream,VkStructureType rootType,const VkImportBufferGOOGLE * forMarshaling)18685 void marshal_VkImportBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18686 const VkImportBufferGOOGLE* forMarshaling) {
18687 (void)rootType;
18688 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18689 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18690 rootType = forMarshaling->sType;
18691 }
18692 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18693 vkStream->write((uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
18694 }
18695
unmarshal_VkImportBufferGOOGLE(VulkanStream * vkStream,VkStructureType rootType,VkImportBufferGOOGLE * forUnmarshaling)18696 void unmarshal_VkImportBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18697 VkImportBufferGOOGLE* forUnmarshaling) {
18698 (void)rootType;
18699 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18700 forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE;
18701 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18702 rootType = forUnmarshaling->sType;
18703 }
18704 size_t pNext_size;
18705 pNext_size = vkStream->getBe32();
18706 forUnmarshaling->pNext = nullptr;
18707 if (pNext_size) {
18708 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18709 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18710 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18711 vkStream->alloc((void**)&forUnmarshaling->pNext,
18712 goldfish_vk_extension_struct_size_with_stream_features(
18713 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18714 *(VkStructureType*)forUnmarshaling->pNext = extType;
18715 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18716 }
18717 vkStream->read((uint32_t*)&forUnmarshaling->buffer, sizeof(uint32_t));
18718 }
18719
marshal_VkCreateBlobGOOGLE(VulkanStream * vkStream,VkStructureType rootType,const VkCreateBlobGOOGLE * forMarshaling)18720 void marshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18721 const VkCreateBlobGOOGLE* forMarshaling) {
18722 (void)rootType;
18723 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18724 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18725 rootType = forMarshaling->sType;
18726 }
18727 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18728 vkStream->write((uint32_t*)&forMarshaling->blobMem, sizeof(uint32_t));
18729 vkStream->write((uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
18730 vkStream->write((uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
18731 }
18732
unmarshal_VkCreateBlobGOOGLE(VulkanStream * vkStream,VkStructureType rootType,VkCreateBlobGOOGLE * forUnmarshaling)18733 void unmarshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
18734 VkCreateBlobGOOGLE* forUnmarshaling) {
18735 (void)rootType;
18736 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18737 forUnmarshaling->sType = VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE;
18738 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18739 rootType = forUnmarshaling->sType;
18740 }
18741 size_t pNext_size;
18742 pNext_size = vkStream->getBe32();
18743 forUnmarshaling->pNext = nullptr;
18744 if (pNext_size) {
18745 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18746 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18747 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18748 vkStream->alloc((void**)&forUnmarshaling->pNext,
18749 goldfish_vk_extension_struct_size_with_stream_features(
18750 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18751 *(VkStructureType*)forUnmarshaling->pNext = extType;
18752 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18753 }
18754 vkStream->read((uint32_t*)&forUnmarshaling->blobMem, sizeof(uint32_t));
18755 vkStream->read((uint32_t*)&forUnmarshaling->blobFlags, sizeof(uint32_t));
18756 vkStream->read((uint64_t*)&forUnmarshaling->blobId, sizeof(uint64_t));
18757 }
18758
18759 #endif
18760 #ifdef VK_EXT_image_compression_control_swapchain
marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forMarshaling)18761 void marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
18762 VulkanStream* vkStream, VkStructureType rootType,
18763 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling) {
18764 (void)rootType;
18765 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18766 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18767 rootType = forMarshaling->sType;
18768 }
18769 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18770 vkStream->write((VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
18771 }
18772
unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forUnmarshaling)18773 void unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
18774 VulkanStream* vkStream, VkStructureType rootType,
18775 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forUnmarshaling) {
18776 (void)rootType;
18777 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18778 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18779 rootType = forUnmarshaling->sType;
18780 }
18781 size_t pNext_size;
18782 pNext_size = vkStream->getBe32();
18783 forUnmarshaling->pNext = nullptr;
18784 if (pNext_size) {
18785 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18786 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18787 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18788 vkStream->alloc((void**)&forUnmarshaling->pNext,
18789 goldfish_vk_extension_struct_size_with_stream_features(
18790 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18791 *(VkStructureType*)forUnmarshaling->pNext = extType;
18792 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18793 }
18794 vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
18795 }
18796
18797 #endif
18798 #ifdef VK_KHR_ray_tracing_pipeline
marshal_VkRayTracingShaderGroupCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRayTracingShaderGroupCreateInfoKHR * forMarshaling)18799 void marshal_VkRayTracingShaderGroupCreateInfoKHR(
18800 VulkanStream* vkStream, VkStructureType rootType,
18801 const VkRayTracingShaderGroupCreateInfoKHR* forMarshaling) {
18802 (void)rootType;
18803 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18804 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18805 rootType = forMarshaling->sType;
18806 }
18807 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18808 vkStream->write((VkRayTracingShaderGroupTypeKHR*)&forMarshaling->type,
18809 sizeof(VkRayTracingShaderGroupTypeKHR));
18810 vkStream->write((uint32_t*)&forMarshaling->generalShader, sizeof(uint32_t));
18811 vkStream->write((uint32_t*)&forMarshaling->closestHitShader, sizeof(uint32_t));
18812 vkStream->write((uint32_t*)&forMarshaling->anyHitShader, sizeof(uint32_t));
18813 vkStream->write((uint32_t*)&forMarshaling->intersectionShader, sizeof(uint32_t));
18814 // WARNING PTR CHECK
18815 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pShaderGroupCaptureReplayHandle;
18816 vkStream->putBe64(cgen_var_0);
18817 if (forMarshaling->pShaderGroupCaptureReplayHandle) {
18818 vkStream->write((const void*)forMarshaling->pShaderGroupCaptureReplayHandle,
18819 sizeof(const uint8_t));
18820 }
18821 }
18822
unmarshal_VkRayTracingShaderGroupCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkRayTracingShaderGroupCreateInfoKHR * forUnmarshaling)18823 void unmarshal_VkRayTracingShaderGroupCreateInfoKHR(
18824 VulkanStream* vkStream, VkStructureType rootType,
18825 VkRayTracingShaderGroupCreateInfoKHR* forUnmarshaling) {
18826 (void)rootType;
18827 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18828 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18829 rootType = forUnmarshaling->sType;
18830 }
18831 size_t pNext_size;
18832 pNext_size = vkStream->getBe32();
18833 forUnmarshaling->pNext = nullptr;
18834 if (pNext_size) {
18835 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18836 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18837 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18838 vkStream->alloc((void**)&forUnmarshaling->pNext,
18839 goldfish_vk_extension_struct_size_with_stream_features(
18840 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18841 *(VkStructureType*)forUnmarshaling->pNext = extType;
18842 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18843 }
18844 vkStream->read((VkRayTracingShaderGroupTypeKHR*)&forUnmarshaling->type,
18845 sizeof(VkRayTracingShaderGroupTypeKHR));
18846 vkStream->read((uint32_t*)&forUnmarshaling->generalShader, sizeof(uint32_t));
18847 vkStream->read((uint32_t*)&forUnmarshaling->closestHitShader, sizeof(uint32_t));
18848 vkStream->read((uint32_t*)&forUnmarshaling->anyHitShader, sizeof(uint32_t));
18849 vkStream->read((uint32_t*)&forUnmarshaling->intersectionShader, sizeof(uint32_t));
18850 // WARNING PTR CHECK
18851 forUnmarshaling->pShaderGroupCaptureReplayHandle = (const void*)(uintptr_t)vkStream->getBe64();
18852 if (forUnmarshaling->pShaderGroupCaptureReplayHandle) {
18853 vkStream->alloc((void**)&forUnmarshaling->pShaderGroupCaptureReplayHandle,
18854 sizeof(const uint8_t));
18855 vkStream->read((void*)forUnmarshaling->pShaderGroupCaptureReplayHandle,
18856 sizeof(const uint8_t));
18857 }
18858 }
18859
marshal_VkRayTracingPipelineInterfaceCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRayTracingPipelineInterfaceCreateInfoKHR * forMarshaling)18860 void marshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
18861 VulkanStream* vkStream, VkStructureType rootType,
18862 const VkRayTracingPipelineInterfaceCreateInfoKHR* forMarshaling) {
18863 (void)rootType;
18864 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18865 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18866 rootType = forMarshaling->sType;
18867 }
18868 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18869 vkStream->write((uint32_t*)&forMarshaling->maxPipelineRayPayloadSize, sizeof(uint32_t));
18870 vkStream->write((uint32_t*)&forMarshaling->maxPipelineRayHitAttributeSize, sizeof(uint32_t));
18871 }
18872
unmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkRayTracingPipelineInterfaceCreateInfoKHR * forUnmarshaling)18873 void unmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
18874 VulkanStream* vkStream, VkStructureType rootType,
18875 VkRayTracingPipelineInterfaceCreateInfoKHR* forUnmarshaling) {
18876 (void)rootType;
18877 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18878 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18879 rootType = forUnmarshaling->sType;
18880 }
18881 size_t pNext_size;
18882 pNext_size = vkStream->getBe32();
18883 forUnmarshaling->pNext = nullptr;
18884 if (pNext_size) {
18885 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18886 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18887 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18888 vkStream->alloc((void**)&forUnmarshaling->pNext,
18889 goldfish_vk_extension_struct_size_with_stream_features(
18890 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18891 *(VkStructureType*)forUnmarshaling->pNext = extType;
18892 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18893 }
18894 vkStream->read((uint32_t*)&forUnmarshaling->maxPipelineRayPayloadSize, sizeof(uint32_t));
18895 vkStream->read((uint32_t*)&forUnmarshaling->maxPipelineRayHitAttributeSize, sizeof(uint32_t));
18896 }
18897
marshal_VkRayTracingPipelineCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,const VkRayTracingPipelineCreateInfoKHR * forMarshaling)18898 void marshal_VkRayTracingPipelineCreateInfoKHR(
18899 VulkanStream* vkStream, VkStructureType rootType,
18900 const VkRayTracingPipelineCreateInfoKHR* forMarshaling) {
18901 (void)rootType;
18902 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
18903 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18904 rootType = forMarshaling->sType;
18905 }
18906 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
18907 vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
18908 vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
18909 if (forMarshaling) {
18910 for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
18911 marshal_VkPipelineShaderStageCreateInfo(
18912 vkStream, rootType,
18913 (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i));
18914 }
18915 }
18916 vkStream->write((uint32_t*)&forMarshaling->groupCount, sizeof(uint32_t));
18917 if (forMarshaling) {
18918 for (uint32_t i = 0; i < (uint32_t)forMarshaling->groupCount; ++i) {
18919 marshal_VkRayTracingShaderGroupCreateInfoKHR(
18920 vkStream, rootType,
18921 (const VkRayTracingShaderGroupCreateInfoKHR*)(forMarshaling->pGroups + i));
18922 }
18923 }
18924 vkStream->write((uint32_t*)&forMarshaling->maxPipelineRayRecursionDepth, sizeof(uint32_t));
18925 // WARNING PTR CHECK
18926 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pLibraryInfo;
18927 vkStream->putBe64(cgen_var_0);
18928 if (forMarshaling->pLibraryInfo) {
18929 marshal_VkPipelineLibraryCreateInfoKHR(
18930 vkStream, rootType,
18931 (const VkPipelineLibraryCreateInfoKHR*)(forMarshaling->pLibraryInfo));
18932 }
18933 // WARNING PTR CHECK
18934 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pLibraryInterface;
18935 vkStream->putBe64(cgen_var_1);
18936 if (forMarshaling->pLibraryInterface) {
18937 marshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
18938 vkStream, rootType,
18939 (const VkRayTracingPipelineInterfaceCreateInfoKHR*)(forMarshaling->pLibraryInterface));
18940 }
18941 // WARNING PTR CHECK
18942 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
18943 vkStream->putBe64(cgen_var_2);
18944 if (forMarshaling->pDynamicState) {
18945 marshal_VkPipelineDynamicStateCreateInfo(
18946 vkStream, rootType,
18947 (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState));
18948 }
18949 uint64_t cgen_var_3;
18950 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_3,
18951 1);
18952 vkStream->write((uint64_t*)&cgen_var_3, 1 * 8);
18953 uint64_t cgen_var_4;
18954 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
18955 &cgen_var_4, 1);
18956 vkStream->write((uint64_t*)&cgen_var_4, 1 * 8);
18957 vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
18958 }
18959
unmarshal_VkRayTracingPipelineCreateInfoKHR(VulkanStream * vkStream,VkStructureType rootType,VkRayTracingPipelineCreateInfoKHR * forUnmarshaling)18960 void unmarshal_VkRayTracingPipelineCreateInfoKHR(
18961 VulkanStream* vkStream, VkStructureType rootType,
18962 VkRayTracingPipelineCreateInfoKHR* forUnmarshaling) {
18963 (void)rootType;
18964 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
18965 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
18966 rootType = forUnmarshaling->sType;
18967 }
18968 size_t pNext_size;
18969 pNext_size = vkStream->getBe32();
18970 forUnmarshaling->pNext = nullptr;
18971 if (pNext_size) {
18972 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
18973 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
18974 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
18975 vkStream->alloc((void**)&forUnmarshaling->pNext,
18976 goldfish_vk_extension_struct_size_with_stream_features(
18977 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
18978 *(VkStructureType*)forUnmarshaling->pNext = extType;
18979 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
18980 }
18981 vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
18982 vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t));
18983 vkStream->alloc((void**)&forUnmarshaling->pStages,
18984 forUnmarshaling->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
18985 if (forUnmarshaling) {
18986 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) {
18987 unmarshal_VkPipelineShaderStageCreateInfo(
18988 vkStream, rootType,
18989 (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i));
18990 }
18991 }
18992 vkStream->read((uint32_t*)&forUnmarshaling->groupCount, sizeof(uint32_t));
18993 vkStream->alloc(
18994 (void**)&forUnmarshaling->pGroups,
18995 forUnmarshaling->groupCount * sizeof(const VkRayTracingShaderGroupCreateInfoKHR));
18996 if (forUnmarshaling) {
18997 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->groupCount; ++i) {
18998 unmarshal_VkRayTracingShaderGroupCreateInfoKHR(
18999 vkStream, rootType,
19000 (VkRayTracingShaderGroupCreateInfoKHR*)(forUnmarshaling->pGroups + i));
19001 }
19002 }
19003 vkStream->read((uint32_t*)&forUnmarshaling->maxPipelineRayRecursionDepth, sizeof(uint32_t));
19004 // WARNING PTR CHECK
19005 forUnmarshaling->pLibraryInfo =
19006 (const VkPipelineLibraryCreateInfoKHR*)(uintptr_t)vkStream->getBe64();
19007 if (forUnmarshaling->pLibraryInfo) {
19008 vkStream->alloc((void**)&forUnmarshaling->pLibraryInfo,
19009 sizeof(const VkPipelineLibraryCreateInfoKHR));
19010 unmarshal_VkPipelineLibraryCreateInfoKHR(
19011 vkStream, rootType, (VkPipelineLibraryCreateInfoKHR*)(forUnmarshaling->pLibraryInfo));
19012 }
19013 // WARNING PTR CHECK
19014 forUnmarshaling->pLibraryInterface =
19015 (const VkRayTracingPipelineInterfaceCreateInfoKHR*)(uintptr_t)vkStream->getBe64();
19016 if (forUnmarshaling->pLibraryInterface) {
19017 vkStream->alloc((void**)&forUnmarshaling->pLibraryInterface,
19018 sizeof(const VkRayTracingPipelineInterfaceCreateInfoKHR));
19019 unmarshal_VkRayTracingPipelineInterfaceCreateInfoKHR(
19020 vkStream, rootType,
19021 (VkRayTracingPipelineInterfaceCreateInfoKHR*)(forUnmarshaling->pLibraryInterface));
19022 }
19023 // WARNING PTR CHECK
19024 forUnmarshaling->pDynamicState =
19025 (const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64();
19026 if (forUnmarshaling->pDynamicState) {
19027 vkStream->alloc((void**)&forUnmarshaling->pDynamicState,
19028 sizeof(const VkPipelineDynamicStateCreateInfo));
19029 unmarshal_VkPipelineDynamicStateCreateInfo(
19030 vkStream, rootType,
19031 (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState));
19032 }
19033 uint64_t cgen_var_3;
19034 vkStream->read((uint64_t*)&cgen_var_3, 1 * 8);
19035 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
19036 &cgen_var_3, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
19037 uint64_t cgen_var_4;
19038 vkStream->read((uint64_t*)&cgen_var_4, 1 * 8);
19039 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
19040 &cgen_var_4, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
19041 vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
19042 }
19043
marshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelineFeaturesKHR * forMarshaling)19044 void marshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
19045 VulkanStream* vkStream, VkStructureType rootType,
19046 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* forMarshaling) {
19047 (void)rootType;
19048 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19049 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19050 rootType = forMarshaling->sType;
19051 }
19052 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
19053 vkStream->write((VkBool32*)&forMarshaling->rayTracingPipeline, sizeof(VkBool32));
19054 vkStream->write((VkBool32*)&forMarshaling->rayTracingPipelineShaderGroupHandleCaptureReplay,
19055 sizeof(VkBool32));
19056 vkStream->write(
19057 (VkBool32*)&forMarshaling->rayTracingPipelineShaderGroupHandleCaptureReplayMixed,
19058 sizeof(VkBool32));
19059 vkStream->write((VkBool32*)&forMarshaling->rayTracingPipelineTraceRaysIndirect,
19060 sizeof(VkBool32));
19061 vkStream->write((VkBool32*)&forMarshaling->rayTraversalPrimitiveCulling, sizeof(VkBool32));
19062 }
19063
unmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceRayTracingPipelineFeaturesKHR * forUnmarshaling)19064 void unmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
19065 VulkanStream* vkStream, VkStructureType rootType,
19066 VkPhysicalDeviceRayTracingPipelineFeaturesKHR* forUnmarshaling) {
19067 (void)rootType;
19068 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
19069 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19070 rootType = forUnmarshaling->sType;
19071 }
19072 size_t pNext_size;
19073 pNext_size = vkStream->getBe32();
19074 forUnmarshaling->pNext = nullptr;
19075 if (pNext_size) {
19076 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
19077 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
19078 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
19079 vkStream->alloc((void**)&forUnmarshaling->pNext,
19080 goldfish_vk_extension_struct_size_with_stream_features(
19081 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
19082 *(VkStructureType*)forUnmarshaling->pNext = extType;
19083 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
19084 }
19085 vkStream->read((VkBool32*)&forUnmarshaling->rayTracingPipeline, sizeof(VkBool32));
19086 vkStream->read((VkBool32*)&forUnmarshaling->rayTracingPipelineShaderGroupHandleCaptureReplay,
19087 sizeof(VkBool32));
19088 vkStream->read(
19089 (VkBool32*)&forUnmarshaling->rayTracingPipelineShaderGroupHandleCaptureReplayMixed,
19090 sizeof(VkBool32));
19091 vkStream->read((VkBool32*)&forUnmarshaling->rayTracingPipelineTraceRaysIndirect,
19092 sizeof(VkBool32));
19093 vkStream->read((VkBool32*)&forUnmarshaling->rayTraversalPrimitiveCulling, sizeof(VkBool32));
19094 }
19095
marshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelinePropertiesKHR * forMarshaling)19096 void marshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
19097 VulkanStream* vkStream, VkStructureType rootType,
19098 const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* forMarshaling) {
19099 (void)rootType;
19100 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
19101 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19102 rootType = forMarshaling->sType;
19103 }
19104 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
19105 vkStream->write((uint32_t*)&forMarshaling->shaderGroupHandleSize, sizeof(uint32_t));
19106 vkStream->write((uint32_t*)&forMarshaling->maxRayRecursionDepth, sizeof(uint32_t));
19107 vkStream->write((uint32_t*)&forMarshaling->maxShaderGroupStride, sizeof(uint32_t));
19108 vkStream->write((uint32_t*)&forMarshaling->shaderGroupBaseAlignment, sizeof(uint32_t));
19109 vkStream->write((uint32_t*)&forMarshaling->shaderGroupHandleCaptureReplaySize,
19110 sizeof(uint32_t));
19111 vkStream->write((uint32_t*)&forMarshaling->maxRayDispatchInvocationCount, sizeof(uint32_t));
19112 vkStream->write((uint32_t*)&forMarshaling->shaderGroupHandleAlignment, sizeof(uint32_t));
19113 vkStream->write((uint32_t*)&forMarshaling->maxRayHitAttributeSize, sizeof(uint32_t));
19114 }
19115
unmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(VulkanStream * vkStream,VkStructureType rootType,VkPhysicalDeviceRayTracingPipelinePropertiesKHR * forUnmarshaling)19116 void unmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
19117 VulkanStream* vkStream, VkStructureType rootType,
19118 VkPhysicalDeviceRayTracingPipelinePropertiesKHR* forUnmarshaling) {
19119 (void)rootType;
19120 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
19121 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
19122 rootType = forUnmarshaling->sType;
19123 }
19124 size_t pNext_size;
19125 pNext_size = vkStream->getBe32();
19126 forUnmarshaling->pNext = nullptr;
19127 if (pNext_size) {
19128 vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
19129 vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType));
19130 VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
19131 vkStream->alloc((void**)&forUnmarshaling->pNext,
19132 goldfish_vk_extension_struct_size_with_stream_features(
19133 vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
19134 *(VkStructureType*)forUnmarshaling->pNext = extType;
19135 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
19136 }
19137 vkStream->read((uint32_t*)&forUnmarshaling->shaderGroupHandleSize, sizeof(uint32_t));
19138 vkStream->read((uint32_t*)&forUnmarshaling->maxRayRecursionDepth, sizeof(uint32_t));
19139 vkStream->read((uint32_t*)&forUnmarshaling->maxShaderGroupStride, sizeof(uint32_t));
19140 vkStream->read((uint32_t*)&forUnmarshaling->shaderGroupBaseAlignment, sizeof(uint32_t));
19141 vkStream->read((uint32_t*)&forUnmarshaling->shaderGroupHandleCaptureReplaySize,
19142 sizeof(uint32_t));
19143 vkStream->read((uint32_t*)&forUnmarshaling->maxRayDispatchInvocationCount, sizeof(uint32_t));
19144 vkStream->read((uint32_t*)&forUnmarshaling->shaderGroupHandleAlignment, sizeof(uint32_t));
19145 vkStream->read((uint32_t*)&forUnmarshaling->maxRayHitAttributeSize, sizeof(uint32_t));
19146 }
19147
marshal_VkStridedDeviceAddressRegionKHR(VulkanStream * vkStream,VkStructureType rootType,const VkStridedDeviceAddressRegionKHR * forMarshaling)19148 void marshal_VkStridedDeviceAddressRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
19149 const VkStridedDeviceAddressRegionKHR* forMarshaling) {
19150 (void)rootType;
19151 vkStream->write((VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress));
19152 vkStream->write((VkDeviceSize*)&forMarshaling->stride, sizeof(VkDeviceSize));
19153 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
19154 }
19155
unmarshal_VkStridedDeviceAddressRegionKHR(VulkanStream * vkStream,VkStructureType rootType,VkStridedDeviceAddressRegionKHR * forUnmarshaling)19156 void unmarshal_VkStridedDeviceAddressRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
19157 VkStridedDeviceAddressRegionKHR* forUnmarshaling) {
19158 (void)rootType;
19159 vkStream->read((VkDeviceAddress*)&forUnmarshaling->deviceAddress, sizeof(VkDeviceAddress));
19160 vkStream->read((VkDeviceSize*)&forUnmarshaling->stride, sizeof(VkDeviceSize));
19161 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
19162 }
19163
marshal_VkTraceRaysIndirectCommandKHR(VulkanStream * vkStream,VkStructureType rootType,const VkTraceRaysIndirectCommandKHR * forMarshaling)19164 void marshal_VkTraceRaysIndirectCommandKHR(VulkanStream* vkStream, VkStructureType rootType,
19165 const VkTraceRaysIndirectCommandKHR* forMarshaling) {
19166 (void)rootType;
19167 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
19168 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
19169 vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
19170 }
19171
unmarshal_VkTraceRaysIndirectCommandKHR(VulkanStream * vkStream,VkStructureType rootType,VkTraceRaysIndirectCommandKHR * forUnmarshaling)19172 void unmarshal_VkTraceRaysIndirectCommandKHR(VulkanStream* vkStream, VkStructureType rootType,
19173 VkTraceRaysIndirectCommandKHR* forUnmarshaling) {
19174 (void)rootType;
19175 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
19176 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
19177 vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t));
19178 }
19179
19180 #endif
marshal_extension_struct(VulkanStream * vkStream,VkStructureType rootType,const void * structExtension)19181 void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
19182 const void* structExtension) {
19183 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
19184 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
19185 vkStream->getFeatureBits(), rootType, structExtension);
19186 if (!currExtSize && structExtension) {
19187 // unknown struct extension; skip and call on its pNext field
19188 marshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
19189 return;
19190 } else {
19191 // known or null extension struct
19192 vkStream->putBe32(currExtSize);
19193 if (!currExtSize) {
19194 // exit if this was a null extension struct (size == 0 in this branch)
19195 return;
19196 }
19197 }
19198 vkStream->write(structExtension, sizeof(VkStructureType));
19199 if (!structExtension) {
19200 return;
19201 }
19202 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
19203 switch (structType) {
19204 #ifdef VK_VERSION_1_0
19205 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
19206 marshal_VkShaderModuleCreateInfo(
19207 vkStream, rootType,
19208 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension));
19209 break;
19210 }
19211 #endif
19212 #ifdef VK_VERSION_1_1
19213 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
19214 marshal_VkPhysicalDeviceSubgroupProperties(
19215 vkStream, rootType,
19216 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension));
19217 break;
19218 }
19219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
19220 marshal_VkPhysicalDevice16BitStorageFeatures(
19221 vkStream, rootType,
19222 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension));
19223 break;
19224 }
19225 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
19226 marshal_VkMemoryDedicatedRequirements(
19227 vkStream, rootType,
19228 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension));
19229 break;
19230 }
19231 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
19232 marshal_VkMemoryDedicatedAllocateInfo(
19233 vkStream, rootType,
19234 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension));
19235 break;
19236 }
19237 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
19238 marshal_VkMemoryAllocateFlagsInfo(
19239 vkStream, rootType,
19240 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension));
19241 break;
19242 }
19243 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
19244 marshal_VkDeviceGroupRenderPassBeginInfo(
19245 vkStream, rootType,
19246 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension));
19247 break;
19248 }
19249 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
19250 marshal_VkDeviceGroupCommandBufferBeginInfo(
19251 vkStream, rootType,
19252 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension));
19253 break;
19254 }
19255 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
19256 marshal_VkDeviceGroupSubmitInfo(
19257 vkStream, rootType,
19258 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension));
19259 break;
19260 }
19261 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
19262 marshal_VkDeviceGroupBindSparseInfo(
19263 vkStream, rootType,
19264 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension));
19265 break;
19266 }
19267 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
19268 marshal_VkBindBufferMemoryDeviceGroupInfo(
19269 vkStream, rootType,
19270 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension));
19271 break;
19272 }
19273 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
19274 marshal_VkBindImageMemoryDeviceGroupInfo(
19275 vkStream, rootType,
19276 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension));
19277 break;
19278 }
19279 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
19280 marshal_VkDeviceGroupDeviceCreateInfo(
19281 vkStream, rootType,
19282 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension));
19283 break;
19284 }
19285 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
19286 marshal_VkPhysicalDeviceFeatures2(
19287 vkStream, rootType,
19288 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension));
19289 break;
19290 }
19291 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
19292 marshal_VkPhysicalDevicePointClippingProperties(
19293 vkStream, rootType,
19294 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension));
19295 break;
19296 }
19297 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
19298 marshal_VkRenderPassInputAttachmentAspectCreateInfo(
19299 vkStream, rootType,
19300 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
19301 structExtension));
19302 break;
19303 }
19304 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
19305 marshal_VkImageViewUsageCreateInfo(
19306 vkStream, rootType,
19307 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension));
19308 break;
19309 }
19310 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
19311 marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
19312 vkStream, rootType,
19313 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
19314 structExtension));
19315 break;
19316 }
19317 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
19318 marshal_VkRenderPassMultiviewCreateInfo(
19319 vkStream, rootType,
19320 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension));
19321 break;
19322 }
19323 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
19324 marshal_VkPhysicalDeviceMultiviewFeatures(
19325 vkStream, rootType,
19326 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension));
19327 break;
19328 }
19329 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
19330 marshal_VkPhysicalDeviceMultiviewProperties(
19331 vkStream, rootType,
19332 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension));
19333 break;
19334 }
19335 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
19336 marshal_VkPhysicalDeviceVariablePointersFeatures(
19337 vkStream, rootType,
19338 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension));
19339 break;
19340 }
19341 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
19342 marshal_VkPhysicalDeviceProtectedMemoryFeatures(
19343 vkStream, rootType,
19344 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension));
19345 break;
19346 }
19347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
19348 marshal_VkPhysicalDeviceProtectedMemoryProperties(
19349 vkStream, rootType,
19350 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(
19351 structExtension));
19352 break;
19353 }
19354 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
19355 marshal_VkProtectedSubmitInfo(
19356 vkStream, rootType,
19357 reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension));
19358 break;
19359 }
19360 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
19361 marshal_VkSamplerYcbcrConversionInfo(
19362 vkStream, rootType,
19363 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension));
19364 break;
19365 }
19366 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
19367 marshal_VkBindImagePlaneMemoryInfo(
19368 vkStream, rootType,
19369 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension));
19370 break;
19371 }
19372 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
19373 marshal_VkImagePlaneMemoryRequirementsInfo(
19374 vkStream, rootType,
19375 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension));
19376 break;
19377 }
19378 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
19379 marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
19380 vkStream, rootType,
19381 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
19382 structExtension));
19383 break;
19384 }
19385 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
19386 marshal_VkSamplerYcbcrConversionImageFormatProperties(
19387 vkStream, rootType,
19388 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
19389 structExtension));
19390 break;
19391 }
19392 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
19393 marshal_VkPhysicalDeviceExternalImageFormatInfo(
19394 vkStream, rootType,
19395 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension));
19396 break;
19397 }
19398 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
19399 marshal_VkExternalImageFormatProperties(
19400 vkStream, rootType,
19401 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension));
19402 break;
19403 }
19404 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
19405 marshal_VkPhysicalDeviceIDProperties(
19406 vkStream, rootType,
19407 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension));
19408 break;
19409 }
19410 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
19411 marshal_VkExternalMemoryImageCreateInfo(
19412 vkStream, rootType,
19413 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension));
19414 break;
19415 }
19416 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
19417 marshal_VkExternalMemoryBufferCreateInfo(
19418 vkStream, rootType,
19419 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension));
19420 break;
19421 }
19422 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
19423 marshal_VkExportMemoryAllocateInfo(
19424 vkStream, rootType,
19425 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension));
19426 break;
19427 }
19428 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
19429 marshal_VkExportFenceCreateInfo(
19430 vkStream, rootType,
19431 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension));
19432 break;
19433 }
19434 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
19435 marshal_VkExportSemaphoreCreateInfo(
19436 vkStream, rootType,
19437 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension));
19438 break;
19439 }
19440 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
19441 marshal_VkPhysicalDeviceMaintenance3Properties(
19442 vkStream, rootType,
19443 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension));
19444 break;
19445 }
19446 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
19447 marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
19448 vkStream, rootType,
19449 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
19450 structExtension));
19451 break;
19452 }
19453 #endif
19454 #ifdef VK_VERSION_1_2
19455 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
19456 marshal_VkPhysicalDeviceVulkan11Features(
19457 vkStream, rootType,
19458 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension));
19459 break;
19460 }
19461 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
19462 marshal_VkPhysicalDeviceVulkan11Properties(
19463 vkStream, rootType,
19464 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension));
19465 break;
19466 }
19467 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
19468 marshal_VkPhysicalDeviceVulkan12Features(
19469 vkStream, rootType,
19470 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension));
19471 break;
19472 }
19473 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
19474 marshal_VkPhysicalDeviceVulkan12Properties(
19475 vkStream, rootType,
19476 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension));
19477 break;
19478 }
19479 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
19480 marshal_VkImageFormatListCreateInfo(
19481 vkStream, rootType,
19482 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension));
19483 break;
19484 }
19485 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
19486 marshal_VkPhysicalDevice8BitStorageFeatures(
19487 vkStream, rootType,
19488 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension));
19489 break;
19490 }
19491 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
19492 marshal_VkPhysicalDeviceDriverProperties(
19493 vkStream, rootType,
19494 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension));
19495 break;
19496 }
19497 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
19498 marshal_VkPhysicalDeviceShaderAtomicInt64Features(
19499 vkStream, rootType,
19500 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(
19501 structExtension));
19502 break;
19503 }
19504 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
19505 marshal_VkPhysicalDeviceShaderFloat16Int8Features(
19506 vkStream, rootType,
19507 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(
19508 structExtension));
19509 break;
19510 }
19511 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
19512 marshal_VkPhysicalDeviceFloatControlsProperties(
19513 vkStream, rootType,
19514 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension));
19515 break;
19516 }
19517 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
19518 marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
19519 vkStream, rootType,
19520 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
19521 structExtension));
19522 break;
19523 }
19524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
19525 marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
19526 vkStream, rootType,
19527 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
19528 structExtension));
19529 break;
19530 }
19531 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
19532 marshal_VkPhysicalDeviceDescriptorIndexingProperties(
19533 vkStream, rootType,
19534 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
19535 structExtension));
19536 break;
19537 }
19538 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
19539 marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
19540 vkStream, rootType,
19541 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
19542 structExtension));
19543 break;
19544 }
19545 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
19546 marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
19547 vkStream, rootType,
19548 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
19549 structExtension));
19550 break;
19551 }
19552 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
19553 marshal_VkSubpassDescriptionDepthStencilResolve(
19554 vkStream, rootType,
19555 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension));
19556 break;
19557 }
19558 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
19559 marshal_VkPhysicalDeviceDepthStencilResolveProperties(
19560 vkStream, rootType,
19561 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
19562 structExtension));
19563 break;
19564 }
19565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
19566 marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
19567 vkStream, rootType,
19568 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(
19569 structExtension));
19570 break;
19571 }
19572 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
19573 marshal_VkImageStencilUsageCreateInfo(
19574 vkStream, rootType,
19575 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension));
19576 break;
19577 }
19578 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
19579 marshal_VkSamplerReductionModeCreateInfo(
19580 vkStream, rootType,
19581 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension));
19582 break;
19583 }
19584 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
19585 marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
19586 vkStream, rootType,
19587 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
19588 structExtension));
19589 break;
19590 }
19591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
19592 marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
19593 vkStream, rootType,
19594 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(
19595 structExtension));
19596 break;
19597 }
19598 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
19599 marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
19600 vkStream, rootType,
19601 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
19602 structExtension));
19603 break;
19604 }
19605 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
19606 marshal_VkFramebufferAttachmentsCreateInfo(
19607 vkStream, rootType,
19608 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension));
19609 break;
19610 }
19611 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
19612 marshal_VkRenderPassAttachmentBeginInfo(
19613 vkStream, rootType,
19614 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension));
19615 break;
19616 }
19617 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
19618 marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
19619 vkStream, rootType,
19620 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
19621 structExtension));
19622 break;
19623 }
19624 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
19625 marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
19626 vkStream, rootType,
19627 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
19628 structExtension));
19629 break;
19630 }
19631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
19632 marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
19633 vkStream, rootType,
19634 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
19635 structExtension));
19636 break;
19637 }
19638 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
19639 marshal_VkAttachmentReferenceStencilLayout(
19640 vkStream, rootType,
19641 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension));
19642 break;
19643 }
19644 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
19645 marshal_VkAttachmentDescriptionStencilLayout(
19646 vkStream, rootType,
19647 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension));
19648 break;
19649 }
19650 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
19651 marshal_VkPhysicalDeviceHostQueryResetFeatures(
19652 vkStream, rootType,
19653 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension));
19654 break;
19655 }
19656 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
19657 marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
19658 vkStream, rootType,
19659 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(
19660 structExtension));
19661 break;
19662 }
19663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
19664 marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
19665 vkStream, rootType,
19666 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
19667 structExtension));
19668 break;
19669 }
19670 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
19671 marshal_VkSemaphoreTypeCreateInfo(
19672 vkStream, rootType,
19673 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension));
19674 break;
19675 }
19676 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
19677 marshal_VkTimelineSemaphoreSubmitInfo(
19678 vkStream, rootType,
19679 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension));
19680 break;
19681 }
19682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
19683 marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
19684 vkStream, rootType,
19685 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
19686 structExtension));
19687 break;
19688 }
19689 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
19690 marshal_VkBufferOpaqueCaptureAddressCreateInfo(
19691 vkStream, rootType,
19692 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension));
19693 break;
19694 }
19695 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
19696 marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
19697 vkStream, rootType,
19698 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension));
19699 break;
19700 }
19701 #endif
19702 #ifdef VK_VERSION_1_3
19703 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
19704 marshal_VkPhysicalDeviceVulkan13Features(
19705 vkStream, rootType,
19706 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension));
19707 break;
19708 }
19709 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
19710 marshal_VkPhysicalDeviceVulkan13Properties(
19711 vkStream, rootType,
19712 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension));
19713 break;
19714 }
19715 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
19716 marshal_VkPipelineCreationFeedbackCreateInfo(
19717 vkStream, rootType,
19718 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension));
19719 break;
19720 }
19721 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
19722 marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
19723 vkStream, rootType,
19724 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
19725 structExtension));
19726 break;
19727 }
19728 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
19729 marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
19730 vkStream, rootType,
19731 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
19732 structExtension));
19733 break;
19734 }
19735 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
19736 marshal_VkPhysicalDevicePrivateDataFeatures(
19737 vkStream, rootType,
19738 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension));
19739 break;
19740 }
19741 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
19742 marshal_VkDevicePrivateDataCreateInfo(
19743 vkStream, rootType,
19744 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension));
19745 break;
19746 }
19747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
19748 marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
19749 vkStream, rootType,
19750 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
19751 structExtension));
19752 break;
19753 }
19754 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
19755 marshal_VkMemoryBarrier2(vkStream, rootType,
19756 reinterpret_cast<const VkMemoryBarrier2*>(structExtension));
19757 break;
19758 }
19759 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
19760 marshal_VkPhysicalDeviceSynchronization2Features(
19761 vkStream, rootType,
19762 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension));
19763 break;
19764 }
19765 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
19766 marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
19767 vkStream, rootType,
19768 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
19769 structExtension));
19770 break;
19771 }
19772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
19773 marshal_VkPhysicalDeviceImageRobustnessFeatures(
19774 vkStream, rootType,
19775 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension));
19776 break;
19777 }
19778 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
19779 marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
19780 vkStream, rootType,
19781 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
19782 structExtension));
19783 break;
19784 }
19785 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
19786 marshal_VkPhysicalDeviceSubgroupSizeControlProperties(
19787 vkStream, rootType,
19788 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
19789 structExtension));
19790 break;
19791 }
19792 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
19793 marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
19794 vkStream, rootType,
19795 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
19796 structExtension));
19797 break;
19798 }
19799 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
19800 marshal_VkPhysicalDeviceInlineUniformBlockFeatures(
19801 vkStream, rootType,
19802 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
19803 structExtension));
19804 break;
19805 }
19806 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
19807 marshal_VkPhysicalDeviceInlineUniformBlockProperties(
19808 vkStream, rootType,
19809 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
19810 structExtension));
19811 break;
19812 }
19813 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
19814 marshal_VkWriteDescriptorSetInlineUniformBlock(
19815 vkStream, rootType,
19816 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension));
19817 break;
19818 }
19819 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
19820 marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
19821 vkStream, rootType,
19822 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
19823 structExtension));
19824 break;
19825 }
19826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
19827 marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
19828 vkStream, rootType,
19829 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
19830 structExtension));
19831 break;
19832 }
19833 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
19834 marshal_VkPipelineRenderingCreateInfo(
19835 vkStream, rootType,
19836 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension));
19837 break;
19838 }
19839 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
19840 marshal_VkPhysicalDeviceDynamicRenderingFeatures(
19841 vkStream, rootType,
19842 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension));
19843 break;
19844 }
19845 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
19846 marshal_VkCommandBufferInheritanceRenderingInfo(
19847 vkStream, rootType,
19848 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension));
19849 break;
19850 }
19851 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
19852 marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
19853 vkStream, rootType,
19854 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
19855 structExtension));
19856 break;
19857 }
19858 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
19859 marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
19860 vkStream, rootType,
19861 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
19862 structExtension));
19863 break;
19864 }
19865 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
19866 marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
19867 vkStream, rootType,
19868 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
19869 structExtension));
19870 break;
19871 }
19872 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
19873 marshal_VkFormatProperties3(
19874 vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension));
19875 break;
19876 }
19877 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
19878 marshal_VkPhysicalDeviceMaintenance4Features(
19879 vkStream, rootType,
19880 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension));
19881 break;
19882 }
19883 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
19884 marshal_VkPhysicalDeviceMaintenance4Properties(
19885 vkStream, rootType,
19886 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension));
19887 break;
19888 }
19889 #endif
19890 #ifdef VK_KHR_swapchain
19891 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
19892 marshal_VkImageSwapchainCreateInfoKHR(
19893 vkStream, rootType,
19894 reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension));
19895 break;
19896 }
19897 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
19898 marshal_VkBindImageMemorySwapchainInfoKHR(
19899 vkStream, rootType,
19900 reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension));
19901 break;
19902 }
19903 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
19904 marshal_VkDeviceGroupPresentInfoKHR(
19905 vkStream, rootType,
19906 reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension));
19907 break;
19908 }
19909 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
19910 marshal_VkDeviceGroupSwapchainCreateInfoKHR(
19911 vkStream, rootType,
19912 reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension));
19913 break;
19914 }
19915 #endif
19916 #ifdef VK_KHR_dynamic_rendering
19917 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
19918 marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
19919 vkStream, rootType,
19920 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
19921 structExtension));
19922 break;
19923 }
19924 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
19925 marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
19926 vkStream, rootType,
19927 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
19928 structExtension));
19929 break;
19930 }
19931 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
19932 marshal_VkAttachmentSampleCountInfoAMD(
19933 vkStream, rootType,
19934 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension));
19935 break;
19936 }
19937 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
19938 marshal_VkMultiviewPerViewAttributesInfoNVX(
19939 vkStream, rootType,
19940 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension));
19941 break;
19942 }
19943 #endif
19944 #ifdef VK_KHR_incremental_present
19945 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
19946 marshal_VkPresentRegionsKHR(
19947 vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension));
19948 break;
19949 }
19950 #endif
19951 #ifdef VK_KHR_pipeline_executable_properties
19952 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
19953 marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
19954 vkStream, rootType,
19955 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
19956 structExtension));
19957 break;
19958 }
19959 #endif
19960 #ifdef VK_KHR_pipeline_library
19961 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
19962 marshal_VkPipelineLibraryCreateInfoKHR(
19963 vkStream, rootType,
19964 reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(structExtension));
19965 break;
19966 }
19967 #endif
19968 #ifdef VK_KHR_synchronization2
19969 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
19970 marshal_VkQueueFamilyCheckpointProperties2NV(
19971 vkStream, rootType,
19972 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension));
19973 break;
19974 }
19975 #endif
19976 #ifdef VK_KHR_maintenance5
19977 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
19978 marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
19979 vkStream, rootType,
19980 reinterpret_cast<const VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension));
19981 break;
19982 }
19983 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
19984 marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
19985 vkStream, rootType,
19986 reinterpret_cast<const VkPhysicalDeviceMaintenance5PropertiesKHR*>(
19987 structExtension));
19988 break;
19989 }
19990 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
19991 marshal_VkPipelineCreateFlags2CreateInfoKHR(
19992 vkStream, rootType,
19993 reinterpret_cast<const VkPipelineCreateFlags2CreateInfoKHR*>(structExtension));
19994 break;
19995 }
19996 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
19997 marshal_VkBufferUsageFlags2CreateInfoKHR(
19998 vkStream, rootType,
19999 reinterpret_cast<const VkBufferUsageFlags2CreateInfoKHR*>(structExtension));
20000 break;
20001 }
20002 #endif
20003 #ifdef VK_KHR_line_rasterization
20004 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
20005 marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
20006 vkStream, rootType,
20007 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesKHR*>(
20008 structExtension));
20009 break;
20010 }
20011 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
20012 marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
20013 vkStream, rootType,
20014 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesKHR*>(
20015 structExtension));
20016 break;
20017 }
20018 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
20019 marshal_VkPipelineRasterizationLineStateCreateInfoKHR(
20020 vkStream, rootType,
20021 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoKHR*>(
20022 structExtension));
20023 break;
20024 }
20025 #endif
20026 #ifdef VK_ANDROID_native_buffer
20027 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
20028 marshal_VkNativeBufferANDROID(
20029 vkStream, rootType,
20030 reinterpret_cast<const VkNativeBufferANDROID*>(structExtension));
20031 break;
20032 }
20033 #endif
20034 #ifdef VK_EXT_debug_report
20035 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
20036 marshal_VkDebugReportCallbackCreateInfoEXT(
20037 vkStream, rootType,
20038 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension));
20039 break;
20040 }
20041 #endif
20042 #ifdef VK_EXT_transform_feedback
20043 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
20044 marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
20045 vkStream, rootType,
20046 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
20047 structExtension));
20048 break;
20049 }
20050 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
20051 marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
20052 vkStream, rootType,
20053 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
20054 structExtension));
20055 break;
20056 }
20057 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
20058 marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
20059 vkStream, rootType,
20060 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
20061 structExtension));
20062 break;
20063 }
20064 #endif
20065 #ifdef VK_EXT_depth_clip_enable
20066 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
20067 marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
20068 vkStream, rootType,
20069 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
20070 structExtension));
20071 break;
20072 }
20073 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
20074 marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
20075 vkStream, rootType,
20076 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
20077 structExtension));
20078 break;
20079 }
20080 #endif
20081 #ifdef VK_EXT_debug_utils
20082 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
20083 marshal_VkDebugUtilsObjectNameInfoEXT(
20084 vkStream, rootType,
20085 reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(structExtension));
20086 break;
20087 }
20088 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
20089 marshal_VkDebugUtilsMessengerCreateInfoEXT(
20090 vkStream, rootType,
20091 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension));
20092 break;
20093 }
20094 #endif
20095 #ifdef VK_EXT_image_drm_format_modifier
20096 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
20097 marshal_VkDrmFormatModifierPropertiesListEXT(
20098 vkStream, rootType,
20099 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension));
20100 break;
20101 }
20102 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
20103 marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
20104 vkStream, rootType,
20105 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
20106 structExtension));
20107 break;
20108 }
20109 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
20110 marshal_VkImageDrmFormatModifierListCreateInfoEXT(
20111 vkStream, rootType,
20112 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(
20113 structExtension));
20114 break;
20115 }
20116 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
20117 marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
20118 vkStream, rootType,
20119 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
20120 structExtension));
20121 break;
20122 }
20123 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
20124 marshal_VkDrmFormatModifierPropertiesList2EXT(
20125 vkStream, rootType,
20126 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension));
20127 break;
20128 }
20129 #endif
20130 #ifdef VK_EXT_external_memory_host
20131 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
20132 marshal_VkImportMemoryHostPointerInfoEXT(
20133 vkStream, rootType,
20134 reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension));
20135 break;
20136 }
20137 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
20138 marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
20139 vkStream, rootType,
20140 reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
20141 structExtension));
20142 break;
20143 }
20144 #endif
20145 #ifdef VK_EXT_vertex_attribute_divisor
20146 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
20147 marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
20148 vkStream, rootType,
20149 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
20150 structExtension));
20151 break;
20152 }
20153 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
20154 marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
20155 vkStream, rootType,
20156 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
20157 structExtension));
20158 break;
20159 }
20160 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
20161 marshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
20162 vkStream, rootType,
20163 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
20164 structExtension));
20165 break;
20166 }
20167 #endif
20168 #ifdef VK_EXT_fragment_density_map
20169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
20170 switch (rootType) {
20171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
20172 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
20173 vkStream, rootType,
20174 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
20175 structExtension));
20176 break;
20177 }
20178 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
20179 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
20180 vkStream, rootType,
20181 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
20182 structExtension));
20183 break;
20184 }
20185 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
20186 marshal_VkImportColorBufferGOOGLE(
20187 vkStream, rootType,
20188 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
20189 break;
20190 }
20191 default: {
20192 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
20193 vkStream, rootType,
20194 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
20195 structExtension));
20196 break;
20197 }
20198 }
20199 break;
20200 }
20201 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
20202 switch (rootType) {
20203 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
20204 marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
20205 vkStream, rootType,
20206 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
20207 structExtension));
20208 break;
20209 }
20210 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
20211 marshal_VkCreateBlobGOOGLE(
20212 vkStream, rootType,
20213 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension));
20214 break;
20215 }
20216 default: {
20217 marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
20218 vkStream, rootType,
20219 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
20220 structExtension));
20221 break;
20222 }
20223 }
20224 break;
20225 }
20226 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
20227 switch (rootType) {
20228 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
20229 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
20230 vkStream, rootType,
20231 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
20232 structExtension));
20233 break;
20234 }
20235 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
20236 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
20237 vkStream, rootType,
20238 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
20239 structExtension));
20240 break;
20241 }
20242 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
20243 marshal_VkImportBufferGOOGLE(
20244 vkStream, rootType,
20245 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
20246 break;
20247 }
20248 default: {
20249 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
20250 vkStream, rootType,
20251 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
20252 structExtension));
20253 break;
20254 }
20255 }
20256 break;
20257 }
20258 #endif
20259 #ifdef VK_EXT_validation_features
20260 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
20261 marshal_VkValidationFeaturesEXT(
20262 vkStream, rootType,
20263 reinterpret_cast<const VkValidationFeaturesEXT*>(structExtension));
20264 break;
20265 }
20266 #endif
20267 #ifdef VK_EXT_provoking_vertex
20268 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
20269 marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
20270 vkStream, rootType,
20271 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
20272 structExtension));
20273 break;
20274 }
20275 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
20276 marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
20277 vkStream, rootType,
20278 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
20279 structExtension));
20280 break;
20281 }
20282 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
20283 marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
20284 vkStream, rootType,
20285 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
20286 structExtension));
20287 break;
20288 }
20289 #endif
20290 #ifdef VK_EXT_index_type_uint8
20291 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
20292 marshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
20293 vkStream, rootType,
20294 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(
20295 structExtension));
20296 break;
20297 }
20298 #endif
20299 #ifdef VK_EXT_extended_dynamic_state
20300 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
20301 marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
20302 vkStream, rootType,
20303 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
20304 structExtension));
20305 break;
20306 }
20307 #endif
20308 #ifdef VK_EXT_host_image_copy
20309 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
20310 marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
20311 vkStream, rootType,
20312 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension));
20313 break;
20314 }
20315 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
20316 marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
20317 vkStream, rootType,
20318 reinterpret_cast<const VkPhysicalDeviceHostImageCopyPropertiesEXT*>(
20319 structExtension));
20320 break;
20321 }
20322 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
20323 marshal_VkSubresourceHostMemcpySizeEXT(
20324 vkStream, rootType,
20325 reinterpret_cast<const VkSubresourceHostMemcpySizeEXT*>(structExtension));
20326 break;
20327 }
20328 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
20329 marshal_VkHostImageCopyDevicePerformanceQueryEXT(
20330 vkStream, rootType,
20331 reinterpret_cast<const VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension));
20332 break;
20333 }
20334 #endif
20335 #ifdef VK_EXT_swapchain_maintenance1
20336 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
20337 marshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
20338 vkStream, rootType,
20339 reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(
20340 structExtension));
20341 break;
20342 }
20343 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
20344 marshal_VkSwapchainPresentFenceInfoEXT(
20345 vkStream, rootType,
20346 reinterpret_cast<const VkSwapchainPresentFenceInfoEXT*>(structExtension));
20347 break;
20348 }
20349 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
20350 marshal_VkSwapchainPresentModesCreateInfoEXT(
20351 vkStream, rootType,
20352 reinterpret_cast<const VkSwapchainPresentModesCreateInfoEXT*>(structExtension));
20353 break;
20354 }
20355 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
20356 marshal_VkSwapchainPresentModeInfoEXT(
20357 vkStream, rootType,
20358 reinterpret_cast<const VkSwapchainPresentModeInfoEXT*>(structExtension));
20359 break;
20360 }
20361 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
20362 marshal_VkSwapchainPresentScalingCreateInfoEXT(
20363 vkStream, rootType,
20364 reinterpret_cast<const VkSwapchainPresentScalingCreateInfoEXT*>(structExtension));
20365 break;
20366 }
20367 #endif
20368 #ifdef VK_EXT_texel_buffer_alignment
20369 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
20370 marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
20371 vkStream, rootType,
20372 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
20373 structExtension));
20374 break;
20375 }
20376 #endif
20377 #ifdef VK_EXT_device_memory_report
20378 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
20379 marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
20380 vkStream, rootType,
20381 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
20382 structExtension));
20383 break;
20384 }
20385 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
20386 marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
20387 vkStream, rootType,
20388 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension));
20389 break;
20390 }
20391 #endif
20392 #ifdef VK_EXT_robustness2
20393 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
20394 marshal_VkPhysicalDeviceRobustness2FeaturesEXT(
20395 vkStream, rootType,
20396 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension));
20397 break;
20398 }
20399 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
20400 marshal_VkPhysicalDeviceRobustness2PropertiesEXT(
20401 vkStream, rootType,
20402 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension));
20403 break;
20404 }
20405 #endif
20406 #ifdef VK_EXT_custom_border_color
20407 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
20408 marshal_VkSamplerCustomBorderColorCreateInfoEXT(
20409 vkStream, rootType,
20410 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension));
20411 break;
20412 }
20413 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
20414 marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
20415 vkStream, rootType,
20416 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
20417 structExtension));
20418 break;
20419 }
20420 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
20421 marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
20422 vkStream, rootType,
20423 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
20424 structExtension));
20425 break;
20426 }
20427 #endif
20428 #ifdef VK_EXT_graphics_pipeline_library
20429 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
20430 marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
20431 vkStream, rootType,
20432 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
20433 structExtension));
20434 break;
20435 }
20436 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
20437 marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
20438 vkStream, rootType,
20439 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
20440 structExtension));
20441 break;
20442 }
20443 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
20444 marshal_VkGraphicsPipelineLibraryCreateInfoEXT(
20445 vkStream, rootType,
20446 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension));
20447 break;
20448 }
20449 #endif
20450 #ifdef VK_EXT_ycbcr_2plane_444_formats
20451 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
20452 marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
20453 vkStream, rootType,
20454 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
20455 structExtension));
20456 break;
20457 }
20458 #endif
20459 #ifdef VK_EXT_image_compression_control
20460 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
20461 marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
20462 vkStream, rootType,
20463 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
20464 structExtension));
20465 break;
20466 }
20467 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
20468 marshal_VkImageCompressionControlEXT(
20469 vkStream, rootType,
20470 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension));
20471 break;
20472 }
20473 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
20474 marshal_VkImageCompressionPropertiesEXT(
20475 vkStream, rootType,
20476 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension));
20477 break;
20478 }
20479 #endif
20480 #ifdef VK_EXT_4444_formats
20481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
20482 marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
20483 vkStream, rootType,
20484 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension));
20485 break;
20486 }
20487 #endif
20488 #ifdef VK_EXT_primitive_topology_list_restart
20489 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
20490 marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
20491 vkStream, rootType,
20492 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
20493 structExtension));
20494 break;
20495 }
20496 #endif
20497 #ifdef VK_EXT_extended_dynamic_state2
20498 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
20499 marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
20500 vkStream, rootType,
20501 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
20502 structExtension));
20503 break;
20504 }
20505 #endif
20506 #ifdef VK_EXT_color_write_enable
20507 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
20508 marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
20509 vkStream, rootType,
20510 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
20511 structExtension));
20512 break;
20513 }
20514 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
20515 marshal_VkPipelineColorWriteCreateInfoEXT(
20516 vkStream, rootType,
20517 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension));
20518 break;
20519 }
20520 #endif
20521 #ifdef VK_GOOGLE_gfxstream
20522 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
20523 marshal_VkImportColorBufferGOOGLE(
20524 vkStream, rootType,
20525 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
20526 break;
20527 }
20528 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
20529 marshal_VkImportBufferGOOGLE(
20530 vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
20531 break;
20532 }
20533 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
20534 marshal_VkCreateBlobGOOGLE(
20535 vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension));
20536 break;
20537 }
20538 #endif
20539 #ifdef VK_EXT_image_compression_control_swapchain
20540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
20541 marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
20542 vkStream, rootType,
20543 reinterpret_cast<
20544 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
20545 structExtension));
20546 break;
20547 }
20548 #endif
20549 #ifdef VK_KHR_ray_tracing_pipeline
20550 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
20551 marshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
20552 vkStream, rootType,
20553 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
20554 structExtension));
20555 break;
20556 }
20557 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
20558 marshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
20559 vkStream, rootType,
20560 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
20561 structExtension));
20562 break;
20563 }
20564 #endif
20565 default: {
20566 // fatal; the switch is only taken if the extension struct is known
20567 fprintf(stderr, " %s, Unhandled Vulkan structure type %s [%d], aborting.\n", __func__,
20568 string_VkStructureType(VkStructureType(structType)), structType);
20569 abort();
20570 }
20571 }
20572 }
20573
unmarshal_extension_struct(VulkanStream * vkStream,VkStructureType rootType,void * structExtension_out)20574 void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
20575 void* structExtension_out) {
20576 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension_out);
20577 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
20578 vkStream->getFeatureBits(), rootType, structExtension_out);
20579 if (!currExtSize && structExtension_out) {
20580 // unknown struct extension; skip and call on its pNext field
20581 unmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
20582 return;
20583 } else {
20584 // known or null extension struct
20585 if (!currExtSize) {
20586 // exit if this was a null extension struct (size == 0 in this branch)
20587 return;
20588 }
20589 }
20590 if (!structExtension_out) {
20591 return;
20592 }
20593 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
20594 switch (structType) {
20595 #ifdef VK_VERSION_1_0
20596 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
20597 unmarshal_VkShaderModuleCreateInfo(
20598 vkStream, rootType,
20599 reinterpret_cast<VkShaderModuleCreateInfo*>(structExtension_out));
20600 break;
20601 }
20602 #endif
20603 #ifdef VK_VERSION_1_1
20604 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
20605 unmarshal_VkPhysicalDeviceSubgroupProperties(
20606 vkStream, rootType,
20607 reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
20608 break;
20609 }
20610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
20611 unmarshal_VkPhysicalDevice16BitStorageFeatures(
20612 vkStream, rootType,
20613 reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
20614 break;
20615 }
20616 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
20617 unmarshal_VkMemoryDedicatedRequirements(
20618 vkStream, rootType,
20619 reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
20620 break;
20621 }
20622 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
20623 unmarshal_VkMemoryDedicatedAllocateInfo(
20624 vkStream, rootType,
20625 reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
20626 break;
20627 }
20628 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
20629 unmarshal_VkMemoryAllocateFlagsInfo(
20630 vkStream, rootType,
20631 reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
20632 break;
20633 }
20634 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
20635 unmarshal_VkDeviceGroupRenderPassBeginInfo(
20636 vkStream, rootType,
20637 reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
20638 break;
20639 }
20640 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
20641 unmarshal_VkDeviceGroupCommandBufferBeginInfo(
20642 vkStream, rootType,
20643 reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
20644 break;
20645 }
20646 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
20647 unmarshal_VkDeviceGroupSubmitInfo(
20648 vkStream, rootType,
20649 reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
20650 break;
20651 }
20652 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
20653 unmarshal_VkDeviceGroupBindSparseInfo(
20654 vkStream, rootType,
20655 reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
20656 break;
20657 }
20658 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
20659 unmarshal_VkBindBufferMemoryDeviceGroupInfo(
20660 vkStream, rootType,
20661 reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
20662 break;
20663 }
20664 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
20665 unmarshal_VkBindImageMemoryDeviceGroupInfo(
20666 vkStream, rootType,
20667 reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
20668 break;
20669 }
20670 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
20671 unmarshal_VkDeviceGroupDeviceCreateInfo(
20672 vkStream, rootType,
20673 reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
20674 break;
20675 }
20676 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
20677 unmarshal_VkPhysicalDeviceFeatures2(
20678 vkStream, rootType,
20679 reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
20680 break;
20681 }
20682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
20683 unmarshal_VkPhysicalDevicePointClippingProperties(
20684 vkStream, rootType,
20685 reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
20686 break;
20687 }
20688 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
20689 unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
20690 vkStream, rootType,
20691 reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(
20692 structExtension_out));
20693 break;
20694 }
20695 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
20696 unmarshal_VkImageViewUsageCreateInfo(
20697 vkStream, rootType,
20698 reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
20699 break;
20700 }
20701 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
20702 unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
20703 vkStream, rootType,
20704 reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(
20705 structExtension_out));
20706 break;
20707 }
20708 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
20709 unmarshal_VkRenderPassMultiviewCreateInfo(
20710 vkStream, rootType,
20711 reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
20712 break;
20713 }
20714 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
20715 unmarshal_VkPhysicalDeviceMultiviewFeatures(
20716 vkStream, rootType,
20717 reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
20718 break;
20719 }
20720 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
20721 unmarshal_VkPhysicalDeviceMultiviewProperties(
20722 vkStream, rootType,
20723 reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
20724 break;
20725 }
20726 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
20727 unmarshal_VkPhysicalDeviceVariablePointersFeatures(
20728 vkStream, rootType,
20729 reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(structExtension_out));
20730 break;
20731 }
20732 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
20733 unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
20734 vkStream, rootType,
20735 reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
20736 break;
20737 }
20738 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
20739 unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
20740 vkStream, rootType,
20741 reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
20742 break;
20743 }
20744 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
20745 unmarshal_VkProtectedSubmitInfo(
20746 vkStream, rootType, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
20747 break;
20748 }
20749 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
20750 unmarshal_VkSamplerYcbcrConversionInfo(
20751 vkStream, rootType,
20752 reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
20753 break;
20754 }
20755 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
20756 unmarshal_VkBindImagePlaneMemoryInfo(
20757 vkStream, rootType,
20758 reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
20759 break;
20760 }
20761 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
20762 unmarshal_VkImagePlaneMemoryRequirementsInfo(
20763 vkStream, rootType,
20764 reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
20765 break;
20766 }
20767 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
20768 unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
20769 vkStream, rootType,
20770 reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
20771 structExtension_out));
20772 break;
20773 }
20774 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
20775 unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
20776 vkStream, rootType,
20777 reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(
20778 structExtension_out));
20779 break;
20780 }
20781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
20782 unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
20783 vkStream, rootType,
20784 reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
20785 break;
20786 }
20787 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
20788 unmarshal_VkExternalImageFormatProperties(
20789 vkStream, rootType,
20790 reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
20791 break;
20792 }
20793 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
20794 unmarshal_VkPhysicalDeviceIDProperties(
20795 vkStream, rootType,
20796 reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
20797 break;
20798 }
20799 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
20800 unmarshal_VkExternalMemoryImageCreateInfo(
20801 vkStream, rootType,
20802 reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
20803 break;
20804 }
20805 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
20806 unmarshal_VkExternalMemoryBufferCreateInfo(
20807 vkStream, rootType,
20808 reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
20809 break;
20810 }
20811 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
20812 unmarshal_VkExportMemoryAllocateInfo(
20813 vkStream, rootType,
20814 reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
20815 break;
20816 }
20817 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
20818 unmarshal_VkExportFenceCreateInfo(
20819 vkStream, rootType,
20820 reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
20821 break;
20822 }
20823 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
20824 unmarshal_VkExportSemaphoreCreateInfo(
20825 vkStream, rootType,
20826 reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
20827 break;
20828 }
20829 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
20830 unmarshal_VkPhysicalDeviceMaintenance3Properties(
20831 vkStream, rootType,
20832 reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
20833 break;
20834 }
20835 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
20836 unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
20837 vkStream, rootType,
20838 reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures*>(
20839 structExtension_out));
20840 break;
20841 }
20842 #endif
20843 #ifdef VK_VERSION_1_2
20844 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
20845 unmarshal_VkPhysicalDeviceVulkan11Features(
20846 vkStream, rootType,
20847 reinterpret_cast<VkPhysicalDeviceVulkan11Features*>(structExtension_out));
20848 break;
20849 }
20850 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
20851 unmarshal_VkPhysicalDeviceVulkan11Properties(
20852 vkStream, rootType,
20853 reinterpret_cast<VkPhysicalDeviceVulkan11Properties*>(structExtension_out));
20854 break;
20855 }
20856 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
20857 unmarshal_VkPhysicalDeviceVulkan12Features(
20858 vkStream, rootType,
20859 reinterpret_cast<VkPhysicalDeviceVulkan12Features*>(structExtension_out));
20860 break;
20861 }
20862 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
20863 unmarshal_VkPhysicalDeviceVulkan12Properties(
20864 vkStream, rootType,
20865 reinterpret_cast<VkPhysicalDeviceVulkan12Properties*>(structExtension_out));
20866 break;
20867 }
20868 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
20869 unmarshal_VkImageFormatListCreateInfo(
20870 vkStream, rootType,
20871 reinterpret_cast<VkImageFormatListCreateInfo*>(structExtension_out));
20872 break;
20873 }
20874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
20875 unmarshal_VkPhysicalDevice8BitStorageFeatures(
20876 vkStream, rootType,
20877 reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(structExtension_out));
20878 break;
20879 }
20880 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
20881 unmarshal_VkPhysicalDeviceDriverProperties(
20882 vkStream, rootType,
20883 reinterpret_cast<VkPhysicalDeviceDriverProperties*>(structExtension_out));
20884 break;
20885 }
20886 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
20887 unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
20888 vkStream, rootType,
20889 reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension_out));
20890 break;
20891 }
20892 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
20893 unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
20894 vkStream, rootType,
20895 reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
20896 break;
20897 }
20898 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
20899 unmarshal_VkPhysicalDeviceFloatControlsProperties(
20900 vkStream, rootType,
20901 reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(structExtension_out));
20902 break;
20903 }
20904 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
20905 unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
20906 vkStream, rootType,
20907 reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
20908 structExtension_out));
20909 break;
20910 }
20911 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
20912 unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
20913 vkStream, rootType,
20914 reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(structExtension_out));
20915 break;
20916 }
20917 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
20918 unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
20919 vkStream, rootType,
20920 reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(
20921 structExtension_out));
20922 break;
20923 }
20924 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
20925 unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
20926 vkStream, rootType,
20927 reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
20928 structExtension_out));
20929 break;
20930 }
20931 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
20932 unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
20933 vkStream, rootType,
20934 reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
20935 structExtension_out));
20936 break;
20937 }
20938 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
20939 unmarshal_VkSubpassDescriptionDepthStencilResolve(
20940 vkStream, rootType,
20941 reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(structExtension_out));
20942 break;
20943 }
20944 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
20945 unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
20946 vkStream, rootType,
20947 reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(
20948 structExtension_out));
20949 break;
20950 }
20951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
20952 unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
20953 vkStream, rootType,
20954 reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension_out));
20955 break;
20956 }
20957 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
20958 unmarshal_VkImageStencilUsageCreateInfo(
20959 vkStream, rootType,
20960 reinterpret_cast<VkImageStencilUsageCreateInfo*>(structExtension_out));
20961 break;
20962 }
20963 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
20964 unmarshal_VkSamplerReductionModeCreateInfo(
20965 vkStream, rootType,
20966 reinterpret_cast<VkSamplerReductionModeCreateInfo*>(structExtension_out));
20967 break;
20968 }
20969 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
20970 unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
20971 vkStream, rootType,
20972 reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
20973 structExtension_out));
20974 break;
20975 }
20976 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
20977 unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
20978 vkStream, rootType,
20979 reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension_out));
20980 break;
20981 }
20982 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
20983 unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
20984 vkStream, rootType,
20985 reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(
20986 structExtension_out));
20987 break;
20988 }
20989 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
20990 unmarshal_VkFramebufferAttachmentsCreateInfo(
20991 vkStream, rootType,
20992 reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(structExtension_out));
20993 break;
20994 }
20995 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
20996 unmarshal_VkRenderPassAttachmentBeginInfo(
20997 vkStream, rootType,
20998 reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(structExtension_out));
20999 break;
21000 }
21001 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
21002 unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
21003 vkStream, rootType,
21004 reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
21005 structExtension_out));
21006 break;
21007 }
21008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
21009 unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
21010 vkStream, rootType,
21011 reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
21012 structExtension_out));
21013 break;
21014 }
21015 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
21016 unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
21017 vkStream, rootType,
21018 reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
21019 structExtension_out));
21020 break;
21021 }
21022 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
21023 unmarshal_VkAttachmentReferenceStencilLayout(
21024 vkStream, rootType,
21025 reinterpret_cast<VkAttachmentReferenceStencilLayout*>(structExtension_out));
21026 break;
21027 }
21028 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
21029 unmarshal_VkAttachmentDescriptionStencilLayout(
21030 vkStream, rootType,
21031 reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(structExtension_out));
21032 break;
21033 }
21034 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
21035 unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
21036 vkStream, rootType,
21037 reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures*>(structExtension_out));
21038 break;
21039 }
21040 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
21041 unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
21042 vkStream, rootType,
21043 reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension_out));
21044 break;
21045 }
21046 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
21047 unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
21048 vkStream, rootType,
21049 reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties*>(
21050 structExtension_out));
21051 break;
21052 }
21053 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
21054 unmarshal_VkSemaphoreTypeCreateInfo(
21055 vkStream, rootType,
21056 reinterpret_cast<VkSemaphoreTypeCreateInfo*>(structExtension_out));
21057 break;
21058 }
21059 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
21060 unmarshal_VkTimelineSemaphoreSubmitInfo(
21061 vkStream, rootType,
21062 reinterpret_cast<VkTimelineSemaphoreSubmitInfo*>(structExtension_out));
21063 break;
21064 }
21065 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
21066 unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
21067 vkStream, rootType,
21068 reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures*>(
21069 structExtension_out));
21070 break;
21071 }
21072 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
21073 unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
21074 vkStream, rootType,
21075 reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension_out));
21076 break;
21077 }
21078 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
21079 unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
21080 vkStream, rootType,
21081 reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension_out));
21082 break;
21083 }
21084 #endif
21085 #ifdef VK_VERSION_1_3
21086 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
21087 unmarshal_VkPhysicalDeviceVulkan13Features(
21088 vkStream, rootType,
21089 reinterpret_cast<VkPhysicalDeviceVulkan13Features*>(structExtension_out));
21090 break;
21091 }
21092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
21093 unmarshal_VkPhysicalDeviceVulkan13Properties(
21094 vkStream, rootType,
21095 reinterpret_cast<VkPhysicalDeviceVulkan13Properties*>(structExtension_out));
21096 break;
21097 }
21098 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
21099 unmarshal_VkPipelineCreationFeedbackCreateInfo(
21100 vkStream, rootType,
21101 reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(structExtension_out));
21102 break;
21103 }
21104 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
21105 unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
21106 vkStream, rootType,
21107 reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
21108 structExtension_out));
21109 break;
21110 }
21111 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
21112 unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
21113 vkStream, rootType,
21114 reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
21115 structExtension_out));
21116 break;
21117 }
21118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
21119 unmarshal_VkPhysicalDevicePrivateDataFeatures(
21120 vkStream, rootType,
21121 reinterpret_cast<VkPhysicalDevicePrivateDataFeatures*>(structExtension_out));
21122 break;
21123 }
21124 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
21125 unmarshal_VkDevicePrivateDataCreateInfo(
21126 vkStream, rootType,
21127 reinterpret_cast<VkDevicePrivateDataCreateInfo*>(structExtension_out));
21128 break;
21129 }
21130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
21131 unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
21132 vkStream, rootType,
21133 reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
21134 structExtension_out));
21135 break;
21136 }
21137 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
21138 unmarshal_VkMemoryBarrier2(vkStream, rootType,
21139 reinterpret_cast<VkMemoryBarrier2*>(structExtension_out));
21140 break;
21141 }
21142 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
21143 unmarshal_VkPhysicalDeviceSynchronization2Features(
21144 vkStream, rootType,
21145 reinterpret_cast<VkPhysicalDeviceSynchronization2Features*>(structExtension_out));
21146 break;
21147 }
21148 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
21149 unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
21150 vkStream, rootType,
21151 reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
21152 structExtension_out));
21153 break;
21154 }
21155 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
21156 unmarshal_VkPhysicalDeviceImageRobustnessFeatures(
21157 vkStream, rootType,
21158 reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(structExtension_out));
21159 break;
21160 }
21161 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
21162 unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
21163 vkStream, rootType,
21164 reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeatures*>(
21165 structExtension_out));
21166 break;
21167 }
21168 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
21169 unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
21170 vkStream, rootType,
21171 reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlProperties*>(
21172 structExtension_out));
21173 break;
21174 }
21175 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
21176 unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
21177 vkStream, rootType,
21178 reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
21179 structExtension_out));
21180 break;
21181 }
21182 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
21183 unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
21184 vkStream, rootType,
21185 reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeatures*>(structExtension_out));
21186 break;
21187 }
21188 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
21189 unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
21190 vkStream, rootType,
21191 reinterpret_cast<VkPhysicalDeviceInlineUniformBlockProperties*>(
21192 structExtension_out));
21193 break;
21194 }
21195 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
21196 unmarshal_VkWriteDescriptorSetInlineUniformBlock(
21197 vkStream, rootType,
21198 reinterpret_cast<VkWriteDescriptorSetInlineUniformBlock*>(structExtension_out));
21199 break;
21200 }
21201 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
21202 unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
21203 vkStream, rootType,
21204 reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo*>(
21205 structExtension_out));
21206 break;
21207 }
21208 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
21209 unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
21210 vkStream, rootType,
21211 reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
21212 structExtension_out));
21213 break;
21214 }
21215 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
21216 unmarshal_VkPipelineRenderingCreateInfo(
21217 vkStream, rootType,
21218 reinterpret_cast<VkPipelineRenderingCreateInfo*>(structExtension_out));
21219 break;
21220 }
21221 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
21222 unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
21223 vkStream, rootType,
21224 reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension_out));
21225 break;
21226 }
21227 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
21228 unmarshal_VkCommandBufferInheritanceRenderingInfo(
21229 vkStream, rootType,
21230 reinterpret_cast<VkCommandBufferInheritanceRenderingInfo*>(structExtension_out));
21231 break;
21232 }
21233 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
21234 unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
21235 vkStream, rootType,
21236 reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
21237 structExtension_out));
21238 break;
21239 }
21240 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
21241 unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
21242 vkStream, rootType,
21243 reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>(
21244 structExtension_out));
21245 break;
21246 }
21247 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
21248 unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
21249 vkStream, rootType,
21250 reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>(
21251 structExtension_out));
21252 break;
21253 }
21254 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
21255 unmarshal_VkFormatProperties3(
21256 vkStream, rootType, reinterpret_cast<VkFormatProperties3*>(structExtension_out));
21257 break;
21258 }
21259 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
21260 unmarshal_VkPhysicalDeviceMaintenance4Features(
21261 vkStream, rootType,
21262 reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(structExtension_out));
21263 break;
21264 }
21265 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
21266 unmarshal_VkPhysicalDeviceMaintenance4Properties(
21267 vkStream, rootType,
21268 reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(structExtension_out));
21269 break;
21270 }
21271 #endif
21272 #ifdef VK_KHR_swapchain
21273 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
21274 unmarshal_VkImageSwapchainCreateInfoKHR(
21275 vkStream, rootType,
21276 reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
21277 break;
21278 }
21279 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
21280 unmarshal_VkBindImageMemorySwapchainInfoKHR(
21281 vkStream, rootType,
21282 reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
21283 break;
21284 }
21285 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
21286 unmarshal_VkDeviceGroupPresentInfoKHR(
21287 vkStream, rootType,
21288 reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
21289 break;
21290 }
21291 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
21292 unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
21293 vkStream, rootType,
21294 reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
21295 break;
21296 }
21297 #endif
21298 #ifdef VK_KHR_dynamic_rendering
21299 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
21300 unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
21301 vkStream, rootType,
21302 reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
21303 structExtension_out));
21304 break;
21305 }
21306 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
21307 unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
21308 vkStream, rootType,
21309 reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
21310 structExtension_out));
21311 break;
21312 }
21313 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
21314 unmarshal_VkAttachmentSampleCountInfoAMD(
21315 vkStream, rootType,
21316 reinterpret_cast<VkAttachmentSampleCountInfoAMD*>(structExtension_out));
21317 break;
21318 }
21319 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
21320 unmarshal_VkMultiviewPerViewAttributesInfoNVX(
21321 vkStream, rootType,
21322 reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX*>(structExtension_out));
21323 break;
21324 }
21325 #endif
21326 #ifdef VK_KHR_incremental_present
21327 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
21328 unmarshal_VkPresentRegionsKHR(
21329 vkStream, rootType, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
21330 break;
21331 }
21332 #endif
21333 #ifdef VK_KHR_pipeline_executable_properties
21334 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
21335 unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
21336 vkStream, rootType,
21337 reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
21338 structExtension_out));
21339 break;
21340 }
21341 #endif
21342 #ifdef VK_KHR_pipeline_library
21343 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
21344 unmarshal_VkPipelineLibraryCreateInfoKHR(
21345 vkStream, rootType,
21346 reinterpret_cast<VkPipelineLibraryCreateInfoKHR*>(structExtension_out));
21347 break;
21348 }
21349 #endif
21350 #ifdef VK_KHR_synchronization2
21351 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
21352 unmarshal_VkQueueFamilyCheckpointProperties2NV(
21353 vkStream, rootType,
21354 reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out));
21355 break;
21356 }
21357 #endif
21358 #ifdef VK_KHR_maintenance5
21359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
21360 unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
21361 vkStream, rootType,
21362 reinterpret_cast<VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension_out));
21363 break;
21364 }
21365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
21366 unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
21367 vkStream, rootType,
21368 reinterpret_cast<VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension_out));
21369 break;
21370 }
21371 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
21372 unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
21373 vkStream, rootType,
21374 reinterpret_cast<VkPipelineCreateFlags2CreateInfoKHR*>(structExtension_out));
21375 break;
21376 }
21377 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
21378 unmarshal_VkBufferUsageFlags2CreateInfoKHR(
21379 vkStream, rootType,
21380 reinterpret_cast<VkBufferUsageFlags2CreateInfoKHR*>(structExtension_out));
21381 break;
21382 }
21383 #endif
21384 #ifdef VK_KHR_line_rasterization
21385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
21386 unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
21387 vkStream, rootType,
21388 reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesKHR*>(
21389 structExtension_out));
21390 break;
21391 }
21392 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
21393 unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
21394 vkStream, rootType,
21395 reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesKHR*>(
21396 structExtension_out));
21397 break;
21398 }
21399 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
21400 unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(
21401 vkStream, rootType,
21402 reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoKHR*>(
21403 structExtension_out));
21404 break;
21405 }
21406 #endif
21407 #ifdef VK_ANDROID_native_buffer
21408 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
21409 unmarshal_VkNativeBufferANDROID(
21410 vkStream, rootType, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
21411 break;
21412 }
21413 #endif
21414 #ifdef VK_EXT_debug_report
21415 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
21416 unmarshal_VkDebugReportCallbackCreateInfoEXT(
21417 vkStream, rootType,
21418 reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
21419 break;
21420 }
21421 #endif
21422 #ifdef VK_EXT_transform_feedback
21423 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
21424 unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
21425 vkStream, rootType,
21426 reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
21427 structExtension_out));
21428 break;
21429 }
21430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
21431 unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
21432 vkStream, rootType,
21433 reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
21434 structExtension_out));
21435 break;
21436 }
21437 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
21438 unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
21439 vkStream, rootType,
21440 reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT*>(
21441 structExtension_out));
21442 break;
21443 }
21444 #endif
21445 #ifdef VK_EXT_depth_clip_enable
21446 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
21447 unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
21448 vkStream, rootType,
21449 reinterpret_cast<VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(structExtension_out));
21450 break;
21451 }
21452 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
21453 unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
21454 vkStream, rootType,
21455 reinterpret_cast<VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
21456 structExtension_out));
21457 break;
21458 }
21459 #endif
21460 #ifdef VK_EXT_debug_utils
21461 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
21462 unmarshal_VkDebugUtilsObjectNameInfoEXT(
21463 vkStream, rootType,
21464 reinterpret_cast<VkDebugUtilsObjectNameInfoEXT*>(structExtension_out));
21465 break;
21466 }
21467 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
21468 unmarshal_VkDebugUtilsMessengerCreateInfoEXT(
21469 vkStream, rootType,
21470 reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
21471 break;
21472 }
21473 #endif
21474 #ifdef VK_EXT_image_drm_format_modifier
21475 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
21476 unmarshal_VkDrmFormatModifierPropertiesListEXT(
21477 vkStream, rootType,
21478 reinterpret_cast<VkDrmFormatModifierPropertiesListEXT*>(structExtension_out));
21479 break;
21480 }
21481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
21482 unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
21483 vkStream, rootType,
21484 reinterpret_cast<VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
21485 structExtension_out));
21486 break;
21487 }
21488 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
21489 unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
21490 vkStream, rootType,
21491 reinterpret_cast<VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension_out));
21492 break;
21493 }
21494 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
21495 unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
21496 vkStream, rootType,
21497 reinterpret_cast<VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
21498 structExtension_out));
21499 break;
21500 }
21501 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
21502 unmarshal_VkDrmFormatModifierPropertiesList2EXT(
21503 vkStream, rootType,
21504 reinterpret_cast<VkDrmFormatModifierPropertiesList2EXT*>(structExtension_out));
21505 break;
21506 }
21507 #endif
21508 #ifdef VK_EXT_external_memory_host
21509 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
21510 unmarshal_VkImportMemoryHostPointerInfoEXT(
21511 vkStream, rootType,
21512 reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
21513 break;
21514 }
21515 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
21516 unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
21517 vkStream, rootType,
21518 reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
21519 structExtension_out));
21520 break;
21521 }
21522 #endif
21523 #ifdef VK_EXT_vertex_attribute_divisor
21524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
21525 unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
21526 vkStream, rootType,
21527 reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
21528 structExtension_out));
21529 break;
21530 }
21531 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
21532 unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
21533 vkStream, rootType,
21534 reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
21535 structExtension_out));
21536 break;
21537 }
21538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
21539 unmarshal_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
21540 vkStream, rootType,
21541 reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
21542 structExtension_out));
21543 break;
21544 }
21545 #endif
21546 #ifdef VK_EXT_fragment_density_map
21547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
21548 switch (rootType) {
21549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
21550 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
21551 vkStream, rootType,
21552 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
21553 structExtension_out));
21554 break;
21555 }
21556 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
21557 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
21558 vkStream, rootType,
21559 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
21560 structExtension_out));
21561 break;
21562 }
21563 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
21564 unmarshal_VkImportColorBufferGOOGLE(
21565 vkStream, rootType,
21566 reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
21567 break;
21568 }
21569 default: {
21570 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
21571 vkStream, rootType,
21572 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
21573 structExtension_out));
21574 break;
21575 }
21576 }
21577 break;
21578 }
21579 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
21580 switch (rootType) {
21581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
21582 unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
21583 vkStream, rootType,
21584 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
21585 structExtension_out));
21586 break;
21587 }
21588 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
21589 unmarshal_VkCreateBlobGOOGLE(
21590 vkStream, rootType,
21591 reinterpret_cast<VkCreateBlobGOOGLE*>(structExtension_out));
21592 break;
21593 }
21594 default: {
21595 unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
21596 vkStream, rootType,
21597 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
21598 structExtension_out));
21599 break;
21600 }
21601 }
21602 break;
21603 }
21604 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
21605 switch (rootType) {
21606 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
21607 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
21608 vkStream, rootType,
21609 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
21610 structExtension_out));
21611 break;
21612 }
21613 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
21614 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
21615 vkStream, rootType,
21616 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
21617 structExtension_out));
21618 break;
21619 }
21620 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
21621 unmarshal_VkImportBufferGOOGLE(
21622 vkStream, rootType,
21623 reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
21624 break;
21625 }
21626 default: {
21627 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
21628 vkStream, rootType,
21629 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
21630 structExtension_out));
21631 break;
21632 }
21633 }
21634 break;
21635 }
21636 #endif
21637 #ifdef VK_EXT_validation_features
21638 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
21639 unmarshal_VkValidationFeaturesEXT(
21640 vkStream, rootType,
21641 reinterpret_cast<VkValidationFeaturesEXT*>(structExtension_out));
21642 break;
21643 }
21644 #endif
21645 #ifdef VK_EXT_provoking_vertex
21646 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
21647 unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
21648 vkStream, rootType,
21649 reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(structExtension_out));
21650 break;
21651 }
21652 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
21653 unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
21654 vkStream, rootType,
21655 reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
21656 structExtension_out));
21657 break;
21658 }
21659 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
21660 unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
21661 vkStream, rootType,
21662 reinterpret_cast<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
21663 structExtension_out));
21664 break;
21665 }
21666 #endif
21667 #ifdef VK_EXT_index_type_uint8
21668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
21669 unmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
21670 vkStream, rootType,
21671 reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension_out));
21672 break;
21673 }
21674 #endif
21675 #ifdef VK_EXT_extended_dynamic_state
21676 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
21677 unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
21678 vkStream, rootType,
21679 reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
21680 structExtension_out));
21681 break;
21682 }
21683 #endif
21684 #ifdef VK_EXT_host_image_copy
21685 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
21686 unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
21687 vkStream, rootType,
21688 reinterpret_cast<VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension_out));
21689 break;
21690 }
21691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
21692 unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
21693 vkStream, rootType,
21694 reinterpret_cast<VkPhysicalDeviceHostImageCopyPropertiesEXT*>(structExtension_out));
21695 break;
21696 }
21697 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
21698 unmarshal_VkSubresourceHostMemcpySizeEXT(
21699 vkStream, rootType,
21700 reinterpret_cast<VkSubresourceHostMemcpySizeEXT*>(structExtension_out));
21701 break;
21702 }
21703 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
21704 unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
21705 vkStream, rootType,
21706 reinterpret_cast<VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension_out));
21707 break;
21708 }
21709 #endif
21710 #ifdef VK_EXT_swapchain_maintenance1
21711 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
21712 unmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
21713 vkStream, rootType,
21714 reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(
21715 structExtension_out));
21716 break;
21717 }
21718 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
21719 unmarshal_VkSwapchainPresentFenceInfoEXT(
21720 vkStream, rootType,
21721 reinterpret_cast<VkSwapchainPresentFenceInfoEXT*>(structExtension_out));
21722 break;
21723 }
21724 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
21725 unmarshal_VkSwapchainPresentModesCreateInfoEXT(
21726 vkStream, rootType,
21727 reinterpret_cast<VkSwapchainPresentModesCreateInfoEXT*>(structExtension_out));
21728 break;
21729 }
21730 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
21731 unmarshal_VkSwapchainPresentModeInfoEXT(
21732 vkStream, rootType,
21733 reinterpret_cast<VkSwapchainPresentModeInfoEXT*>(structExtension_out));
21734 break;
21735 }
21736 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
21737 unmarshal_VkSwapchainPresentScalingCreateInfoEXT(
21738 vkStream, rootType,
21739 reinterpret_cast<VkSwapchainPresentScalingCreateInfoEXT*>(structExtension_out));
21740 break;
21741 }
21742 #endif
21743 #ifdef VK_EXT_texel_buffer_alignment
21744 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
21745 unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
21746 vkStream, rootType,
21747 reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
21748 structExtension_out));
21749 break;
21750 }
21751 #endif
21752 #ifdef VK_EXT_device_memory_report
21753 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
21754 unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
21755 vkStream, rootType,
21756 reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
21757 structExtension_out));
21758 break;
21759 }
21760 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
21761 unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
21762 vkStream, rootType,
21763 reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension_out));
21764 break;
21765 }
21766 #endif
21767 #ifdef VK_EXT_robustness2
21768 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
21769 unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
21770 vkStream, rootType,
21771 reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension_out));
21772 break;
21773 }
21774 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
21775 unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
21776 vkStream, rootType,
21777 reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension_out));
21778 break;
21779 }
21780 #endif
21781 #ifdef VK_EXT_custom_border_color
21782 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
21783 unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
21784 vkStream, rootType,
21785 reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension_out));
21786 break;
21787 }
21788 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
21789 unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
21790 vkStream, rootType,
21791 reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
21792 structExtension_out));
21793 break;
21794 }
21795 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
21796 unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
21797 vkStream, rootType,
21798 reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
21799 structExtension_out));
21800 break;
21801 }
21802 #endif
21803 #ifdef VK_EXT_graphics_pipeline_library
21804 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
21805 unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
21806 vkStream, rootType,
21807 reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
21808 structExtension_out));
21809 break;
21810 }
21811 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
21812 unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
21813 vkStream, rootType,
21814 reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
21815 structExtension_out));
21816 break;
21817 }
21818 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
21819 unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
21820 vkStream, rootType,
21821 reinterpret_cast<VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension_out));
21822 break;
21823 }
21824 #endif
21825 #ifdef VK_EXT_ycbcr_2plane_444_formats
21826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
21827 unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
21828 vkStream, rootType,
21829 reinterpret_cast<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
21830 structExtension_out));
21831 break;
21832 }
21833 #endif
21834 #ifdef VK_EXT_image_compression_control
21835 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
21836 unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
21837 vkStream, rootType,
21838 reinterpret_cast<VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
21839 structExtension_out));
21840 break;
21841 }
21842 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
21843 unmarshal_VkImageCompressionControlEXT(
21844 vkStream, rootType,
21845 reinterpret_cast<VkImageCompressionControlEXT*>(structExtension_out));
21846 break;
21847 }
21848 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
21849 unmarshal_VkImageCompressionPropertiesEXT(
21850 vkStream, rootType,
21851 reinterpret_cast<VkImageCompressionPropertiesEXT*>(structExtension_out));
21852 break;
21853 }
21854 #endif
21855 #ifdef VK_EXT_4444_formats
21856 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
21857 unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
21858 vkStream, rootType,
21859 reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension_out));
21860 break;
21861 }
21862 #endif
21863 #ifdef VK_EXT_primitive_topology_list_restart
21864 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
21865 unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
21866 vkStream, rootType,
21867 reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
21868 structExtension_out));
21869 break;
21870 }
21871 #endif
21872 #ifdef VK_EXT_extended_dynamic_state2
21873 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
21874 unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
21875 vkStream, rootType,
21876 reinterpret_cast<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
21877 structExtension_out));
21878 break;
21879 }
21880 #endif
21881 #ifdef VK_EXT_color_write_enable
21882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
21883 unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
21884 vkStream, rootType,
21885 reinterpret_cast<VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
21886 structExtension_out));
21887 break;
21888 }
21889 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
21890 unmarshal_VkPipelineColorWriteCreateInfoEXT(
21891 vkStream, rootType,
21892 reinterpret_cast<VkPipelineColorWriteCreateInfoEXT*>(structExtension_out));
21893 break;
21894 }
21895 #endif
21896 #ifdef VK_GOOGLE_gfxstream
21897 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
21898 unmarshal_VkImportColorBufferGOOGLE(
21899 vkStream, rootType,
21900 reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
21901 break;
21902 }
21903 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
21904 unmarshal_VkImportBufferGOOGLE(
21905 vkStream, rootType, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
21906 break;
21907 }
21908 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
21909 unmarshal_VkCreateBlobGOOGLE(
21910 vkStream, rootType, reinterpret_cast<VkCreateBlobGOOGLE*>(structExtension_out));
21911 break;
21912 }
21913 #endif
21914 #ifdef VK_EXT_image_compression_control_swapchain
21915 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
21916 unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
21917 vkStream, rootType,
21918 reinterpret_cast<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
21919 structExtension_out));
21920 break;
21921 }
21922 #endif
21923 #ifdef VK_KHR_ray_tracing_pipeline
21924 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
21925 unmarshal_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
21926 vkStream, rootType,
21927 reinterpret_cast<VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
21928 structExtension_out));
21929 break;
21930 }
21931 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
21932 unmarshal_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
21933 vkStream, rootType,
21934 reinterpret_cast<VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
21935 structExtension_out));
21936 break;
21937 }
21938 #endif
21939 default: {
21940 // fatal; the switch is only taken if the extension struct is known
21941 fprintf(stderr, " %s, Unhandled Vulkan structure type %s [%d], aborting.\n", __func__,
21942 string_VkStructureType(VkStructureType(structType)), structType);
21943 abort();
21944 }
21945 }
21946 }
21947
api_opcode_to_string(const uint32_t opcode)21948 const char* api_opcode_to_string(const uint32_t opcode) {
21949 switch (opcode) {
21950 #ifdef VK_VERSION_1_0
21951 case OP_vkCreateInstance: {
21952 return "OP_vkCreateInstance";
21953 }
21954 case OP_vkDestroyInstance: {
21955 return "OP_vkDestroyInstance";
21956 }
21957 case OP_vkEnumeratePhysicalDevices: {
21958 return "OP_vkEnumeratePhysicalDevices";
21959 }
21960 case OP_vkGetPhysicalDeviceFeatures: {
21961 return "OP_vkGetPhysicalDeviceFeatures";
21962 }
21963 case OP_vkGetPhysicalDeviceFormatProperties: {
21964 return "OP_vkGetPhysicalDeviceFormatProperties";
21965 }
21966 case OP_vkGetPhysicalDeviceImageFormatProperties: {
21967 return "OP_vkGetPhysicalDeviceImageFormatProperties";
21968 }
21969 case OP_vkGetPhysicalDeviceProperties: {
21970 return "OP_vkGetPhysicalDeviceProperties";
21971 }
21972 case OP_vkGetPhysicalDeviceQueueFamilyProperties: {
21973 return "OP_vkGetPhysicalDeviceQueueFamilyProperties";
21974 }
21975 case OP_vkGetPhysicalDeviceMemoryProperties: {
21976 return "OP_vkGetPhysicalDeviceMemoryProperties";
21977 }
21978 case OP_vkGetInstanceProcAddr: {
21979 return "OP_vkGetInstanceProcAddr";
21980 }
21981 case OP_vkGetDeviceProcAddr: {
21982 return "OP_vkGetDeviceProcAddr";
21983 }
21984 case OP_vkCreateDevice: {
21985 return "OP_vkCreateDevice";
21986 }
21987 case OP_vkDestroyDevice: {
21988 return "OP_vkDestroyDevice";
21989 }
21990 case OP_vkEnumerateInstanceExtensionProperties: {
21991 return "OP_vkEnumerateInstanceExtensionProperties";
21992 }
21993 case OP_vkEnumerateDeviceExtensionProperties: {
21994 return "OP_vkEnumerateDeviceExtensionProperties";
21995 }
21996 case OP_vkEnumerateInstanceLayerProperties: {
21997 return "OP_vkEnumerateInstanceLayerProperties";
21998 }
21999 case OP_vkEnumerateDeviceLayerProperties: {
22000 return "OP_vkEnumerateDeviceLayerProperties";
22001 }
22002 case OP_vkGetDeviceQueue: {
22003 return "OP_vkGetDeviceQueue";
22004 }
22005 case OP_vkQueueSubmit: {
22006 return "OP_vkQueueSubmit";
22007 }
22008 case OP_vkQueueWaitIdle: {
22009 return "OP_vkQueueWaitIdle";
22010 }
22011 case OP_vkDeviceWaitIdle: {
22012 return "OP_vkDeviceWaitIdle";
22013 }
22014 case OP_vkAllocateMemory: {
22015 return "OP_vkAllocateMemory";
22016 }
22017 case OP_vkFreeMemory: {
22018 return "OP_vkFreeMemory";
22019 }
22020 case OP_vkMapMemory: {
22021 return "OP_vkMapMemory";
22022 }
22023 case OP_vkUnmapMemory: {
22024 return "OP_vkUnmapMemory";
22025 }
22026 case OP_vkFlushMappedMemoryRanges: {
22027 return "OP_vkFlushMappedMemoryRanges";
22028 }
22029 case OP_vkInvalidateMappedMemoryRanges: {
22030 return "OP_vkInvalidateMappedMemoryRanges";
22031 }
22032 case OP_vkGetDeviceMemoryCommitment: {
22033 return "OP_vkGetDeviceMemoryCommitment";
22034 }
22035 case OP_vkBindBufferMemory: {
22036 return "OP_vkBindBufferMemory";
22037 }
22038 case OP_vkBindImageMemory: {
22039 return "OP_vkBindImageMemory";
22040 }
22041 case OP_vkGetBufferMemoryRequirements: {
22042 return "OP_vkGetBufferMemoryRequirements";
22043 }
22044 case OP_vkGetImageMemoryRequirements: {
22045 return "OP_vkGetImageMemoryRequirements";
22046 }
22047 case OP_vkGetImageSparseMemoryRequirements: {
22048 return "OP_vkGetImageSparseMemoryRequirements";
22049 }
22050 case OP_vkGetPhysicalDeviceSparseImageFormatProperties: {
22051 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties";
22052 }
22053 case OP_vkQueueBindSparse: {
22054 return "OP_vkQueueBindSparse";
22055 }
22056 case OP_vkCreateFence: {
22057 return "OP_vkCreateFence";
22058 }
22059 case OP_vkDestroyFence: {
22060 return "OP_vkDestroyFence";
22061 }
22062 case OP_vkResetFences: {
22063 return "OP_vkResetFences";
22064 }
22065 case OP_vkGetFenceStatus: {
22066 return "OP_vkGetFenceStatus";
22067 }
22068 case OP_vkWaitForFences: {
22069 return "OP_vkWaitForFences";
22070 }
22071 case OP_vkCreateSemaphore: {
22072 return "OP_vkCreateSemaphore";
22073 }
22074 case OP_vkDestroySemaphore: {
22075 return "OP_vkDestroySemaphore";
22076 }
22077 case OP_vkCreateEvent: {
22078 return "OP_vkCreateEvent";
22079 }
22080 case OP_vkDestroyEvent: {
22081 return "OP_vkDestroyEvent";
22082 }
22083 case OP_vkGetEventStatus: {
22084 return "OP_vkGetEventStatus";
22085 }
22086 case OP_vkSetEvent: {
22087 return "OP_vkSetEvent";
22088 }
22089 case OP_vkResetEvent: {
22090 return "OP_vkResetEvent";
22091 }
22092 case OP_vkCreateQueryPool: {
22093 return "OP_vkCreateQueryPool";
22094 }
22095 case OP_vkDestroyQueryPool: {
22096 return "OP_vkDestroyQueryPool";
22097 }
22098 case OP_vkGetQueryPoolResults: {
22099 return "OP_vkGetQueryPoolResults";
22100 }
22101 case OP_vkCreateBuffer: {
22102 return "OP_vkCreateBuffer";
22103 }
22104 case OP_vkDestroyBuffer: {
22105 return "OP_vkDestroyBuffer";
22106 }
22107 case OP_vkCreateBufferView: {
22108 return "OP_vkCreateBufferView";
22109 }
22110 case OP_vkDestroyBufferView: {
22111 return "OP_vkDestroyBufferView";
22112 }
22113 case OP_vkCreateImage: {
22114 return "OP_vkCreateImage";
22115 }
22116 case OP_vkDestroyImage: {
22117 return "OP_vkDestroyImage";
22118 }
22119 case OP_vkGetImageSubresourceLayout: {
22120 return "OP_vkGetImageSubresourceLayout";
22121 }
22122 case OP_vkCreateImageView: {
22123 return "OP_vkCreateImageView";
22124 }
22125 case OP_vkDestroyImageView: {
22126 return "OP_vkDestroyImageView";
22127 }
22128 case OP_vkCreateShaderModule: {
22129 return "OP_vkCreateShaderModule";
22130 }
22131 case OP_vkDestroyShaderModule: {
22132 return "OP_vkDestroyShaderModule";
22133 }
22134 case OP_vkCreatePipelineCache: {
22135 return "OP_vkCreatePipelineCache";
22136 }
22137 case OP_vkDestroyPipelineCache: {
22138 return "OP_vkDestroyPipelineCache";
22139 }
22140 case OP_vkGetPipelineCacheData: {
22141 return "OP_vkGetPipelineCacheData";
22142 }
22143 case OP_vkMergePipelineCaches: {
22144 return "OP_vkMergePipelineCaches";
22145 }
22146 case OP_vkCreateGraphicsPipelines: {
22147 return "OP_vkCreateGraphicsPipelines";
22148 }
22149 case OP_vkCreateComputePipelines: {
22150 return "OP_vkCreateComputePipelines";
22151 }
22152 case OP_vkDestroyPipeline: {
22153 return "OP_vkDestroyPipeline";
22154 }
22155 case OP_vkCreatePipelineLayout: {
22156 return "OP_vkCreatePipelineLayout";
22157 }
22158 case OP_vkDestroyPipelineLayout: {
22159 return "OP_vkDestroyPipelineLayout";
22160 }
22161 case OP_vkCreateSampler: {
22162 return "OP_vkCreateSampler";
22163 }
22164 case OP_vkDestroySampler: {
22165 return "OP_vkDestroySampler";
22166 }
22167 case OP_vkCreateDescriptorSetLayout: {
22168 return "OP_vkCreateDescriptorSetLayout";
22169 }
22170 case OP_vkDestroyDescriptorSetLayout: {
22171 return "OP_vkDestroyDescriptorSetLayout";
22172 }
22173 case OP_vkCreateDescriptorPool: {
22174 return "OP_vkCreateDescriptorPool";
22175 }
22176 case OP_vkDestroyDescriptorPool: {
22177 return "OP_vkDestroyDescriptorPool";
22178 }
22179 case OP_vkResetDescriptorPool: {
22180 return "OP_vkResetDescriptorPool";
22181 }
22182 case OP_vkAllocateDescriptorSets: {
22183 return "OP_vkAllocateDescriptorSets";
22184 }
22185 case OP_vkFreeDescriptorSets: {
22186 return "OP_vkFreeDescriptorSets";
22187 }
22188 case OP_vkUpdateDescriptorSets: {
22189 return "OP_vkUpdateDescriptorSets";
22190 }
22191 case OP_vkCreateFramebuffer: {
22192 return "OP_vkCreateFramebuffer";
22193 }
22194 case OP_vkDestroyFramebuffer: {
22195 return "OP_vkDestroyFramebuffer";
22196 }
22197 case OP_vkCreateRenderPass: {
22198 return "OP_vkCreateRenderPass";
22199 }
22200 case OP_vkDestroyRenderPass: {
22201 return "OP_vkDestroyRenderPass";
22202 }
22203 case OP_vkGetRenderAreaGranularity: {
22204 return "OP_vkGetRenderAreaGranularity";
22205 }
22206 case OP_vkCreateCommandPool: {
22207 return "OP_vkCreateCommandPool";
22208 }
22209 case OP_vkDestroyCommandPool: {
22210 return "OP_vkDestroyCommandPool";
22211 }
22212 case OP_vkResetCommandPool: {
22213 return "OP_vkResetCommandPool";
22214 }
22215 case OP_vkAllocateCommandBuffers: {
22216 return "OP_vkAllocateCommandBuffers";
22217 }
22218 case OP_vkFreeCommandBuffers: {
22219 return "OP_vkFreeCommandBuffers";
22220 }
22221 case OP_vkBeginCommandBuffer: {
22222 return "OP_vkBeginCommandBuffer";
22223 }
22224 case OP_vkEndCommandBuffer: {
22225 return "OP_vkEndCommandBuffer";
22226 }
22227 case OP_vkResetCommandBuffer: {
22228 return "OP_vkResetCommandBuffer";
22229 }
22230 case OP_vkCmdBindPipeline: {
22231 return "OP_vkCmdBindPipeline";
22232 }
22233 case OP_vkCmdSetViewport: {
22234 return "OP_vkCmdSetViewport";
22235 }
22236 case OP_vkCmdSetScissor: {
22237 return "OP_vkCmdSetScissor";
22238 }
22239 case OP_vkCmdSetLineWidth: {
22240 return "OP_vkCmdSetLineWidth";
22241 }
22242 case OP_vkCmdSetDepthBias: {
22243 return "OP_vkCmdSetDepthBias";
22244 }
22245 case OP_vkCmdSetBlendConstants: {
22246 return "OP_vkCmdSetBlendConstants";
22247 }
22248 case OP_vkCmdSetDepthBounds: {
22249 return "OP_vkCmdSetDepthBounds";
22250 }
22251 case OP_vkCmdSetStencilCompareMask: {
22252 return "OP_vkCmdSetStencilCompareMask";
22253 }
22254 case OP_vkCmdSetStencilWriteMask: {
22255 return "OP_vkCmdSetStencilWriteMask";
22256 }
22257 case OP_vkCmdSetStencilReference: {
22258 return "OP_vkCmdSetStencilReference";
22259 }
22260 case OP_vkCmdBindDescriptorSets: {
22261 return "OP_vkCmdBindDescriptorSets";
22262 }
22263 case OP_vkCmdBindIndexBuffer: {
22264 return "OP_vkCmdBindIndexBuffer";
22265 }
22266 case OP_vkCmdBindVertexBuffers: {
22267 return "OP_vkCmdBindVertexBuffers";
22268 }
22269 case OP_vkCmdDraw: {
22270 return "OP_vkCmdDraw";
22271 }
22272 case OP_vkCmdDrawIndexed: {
22273 return "OP_vkCmdDrawIndexed";
22274 }
22275 case OP_vkCmdDrawIndirect: {
22276 return "OP_vkCmdDrawIndirect";
22277 }
22278 case OP_vkCmdDrawIndexedIndirect: {
22279 return "OP_vkCmdDrawIndexedIndirect";
22280 }
22281 case OP_vkCmdDispatch: {
22282 return "OP_vkCmdDispatch";
22283 }
22284 case OP_vkCmdDispatchIndirect: {
22285 return "OP_vkCmdDispatchIndirect";
22286 }
22287 case OP_vkCmdCopyBuffer: {
22288 return "OP_vkCmdCopyBuffer";
22289 }
22290 case OP_vkCmdCopyImage: {
22291 return "OP_vkCmdCopyImage";
22292 }
22293 case OP_vkCmdBlitImage: {
22294 return "OP_vkCmdBlitImage";
22295 }
22296 case OP_vkCmdCopyBufferToImage: {
22297 return "OP_vkCmdCopyBufferToImage";
22298 }
22299 case OP_vkCmdCopyImageToBuffer: {
22300 return "OP_vkCmdCopyImageToBuffer";
22301 }
22302 case OP_vkCmdUpdateBuffer: {
22303 return "OP_vkCmdUpdateBuffer";
22304 }
22305 case OP_vkCmdFillBuffer: {
22306 return "OP_vkCmdFillBuffer";
22307 }
22308 case OP_vkCmdClearColorImage: {
22309 return "OP_vkCmdClearColorImage";
22310 }
22311 case OP_vkCmdClearDepthStencilImage: {
22312 return "OP_vkCmdClearDepthStencilImage";
22313 }
22314 case OP_vkCmdClearAttachments: {
22315 return "OP_vkCmdClearAttachments";
22316 }
22317 case OP_vkCmdResolveImage: {
22318 return "OP_vkCmdResolveImage";
22319 }
22320 case OP_vkCmdSetEvent: {
22321 return "OP_vkCmdSetEvent";
22322 }
22323 case OP_vkCmdResetEvent: {
22324 return "OP_vkCmdResetEvent";
22325 }
22326 case OP_vkCmdWaitEvents: {
22327 return "OP_vkCmdWaitEvents";
22328 }
22329 case OP_vkCmdPipelineBarrier: {
22330 return "OP_vkCmdPipelineBarrier";
22331 }
22332 case OP_vkCmdBeginQuery: {
22333 return "OP_vkCmdBeginQuery";
22334 }
22335 case OP_vkCmdEndQuery: {
22336 return "OP_vkCmdEndQuery";
22337 }
22338 case OP_vkCmdResetQueryPool: {
22339 return "OP_vkCmdResetQueryPool";
22340 }
22341 case OP_vkCmdWriteTimestamp: {
22342 return "OP_vkCmdWriteTimestamp";
22343 }
22344 case OP_vkCmdCopyQueryPoolResults: {
22345 return "OP_vkCmdCopyQueryPoolResults";
22346 }
22347 case OP_vkCmdPushConstants: {
22348 return "OP_vkCmdPushConstants";
22349 }
22350 case OP_vkCmdBeginRenderPass: {
22351 return "OP_vkCmdBeginRenderPass";
22352 }
22353 case OP_vkCmdNextSubpass: {
22354 return "OP_vkCmdNextSubpass";
22355 }
22356 case OP_vkCmdEndRenderPass: {
22357 return "OP_vkCmdEndRenderPass";
22358 }
22359 case OP_vkCmdExecuteCommands: {
22360 return "OP_vkCmdExecuteCommands";
22361 }
22362 #endif
22363 #ifdef VK_VERSION_1_1
22364 case OP_vkEnumerateInstanceVersion: {
22365 return "OP_vkEnumerateInstanceVersion";
22366 }
22367 case OP_vkBindBufferMemory2: {
22368 return "OP_vkBindBufferMemory2";
22369 }
22370 case OP_vkBindImageMemory2: {
22371 return "OP_vkBindImageMemory2";
22372 }
22373 case OP_vkGetDeviceGroupPeerMemoryFeatures: {
22374 return "OP_vkGetDeviceGroupPeerMemoryFeatures";
22375 }
22376 case OP_vkCmdSetDeviceMask: {
22377 return "OP_vkCmdSetDeviceMask";
22378 }
22379 case OP_vkCmdDispatchBase: {
22380 return "OP_vkCmdDispatchBase";
22381 }
22382 case OP_vkEnumeratePhysicalDeviceGroups: {
22383 return "OP_vkEnumeratePhysicalDeviceGroups";
22384 }
22385 case OP_vkGetImageMemoryRequirements2: {
22386 return "OP_vkGetImageMemoryRequirements2";
22387 }
22388 case OP_vkGetBufferMemoryRequirements2: {
22389 return "OP_vkGetBufferMemoryRequirements2";
22390 }
22391 case OP_vkGetImageSparseMemoryRequirements2: {
22392 return "OP_vkGetImageSparseMemoryRequirements2";
22393 }
22394 case OP_vkGetPhysicalDeviceFeatures2: {
22395 return "OP_vkGetPhysicalDeviceFeatures2";
22396 }
22397 case OP_vkGetPhysicalDeviceProperties2: {
22398 return "OP_vkGetPhysicalDeviceProperties2";
22399 }
22400 case OP_vkGetPhysicalDeviceFormatProperties2: {
22401 return "OP_vkGetPhysicalDeviceFormatProperties2";
22402 }
22403 case OP_vkGetPhysicalDeviceImageFormatProperties2: {
22404 return "OP_vkGetPhysicalDeviceImageFormatProperties2";
22405 }
22406 case OP_vkGetPhysicalDeviceQueueFamilyProperties2: {
22407 return "OP_vkGetPhysicalDeviceQueueFamilyProperties2";
22408 }
22409 case OP_vkGetPhysicalDeviceMemoryProperties2: {
22410 return "OP_vkGetPhysicalDeviceMemoryProperties2";
22411 }
22412 case OP_vkGetPhysicalDeviceSparseImageFormatProperties2: {
22413 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2";
22414 }
22415 case OP_vkTrimCommandPool: {
22416 return "OP_vkTrimCommandPool";
22417 }
22418 case OP_vkGetDeviceQueue2: {
22419 return "OP_vkGetDeviceQueue2";
22420 }
22421 case OP_vkCreateSamplerYcbcrConversion: {
22422 return "OP_vkCreateSamplerYcbcrConversion";
22423 }
22424 case OP_vkDestroySamplerYcbcrConversion: {
22425 return "OP_vkDestroySamplerYcbcrConversion";
22426 }
22427 case OP_vkCreateDescriptorUpdateTemplate: {
22428 return "OP_vkCreateDescriptorUpdateTemplate";
22429 }
22430 case OP_vkDestroyDescriptorUpdateTemplate: {
22431 return "OP_vkDestroyDescriptorUpdateTemplate";
22432 }
22433 case OP_vkUpdateDescriptorSetWithTemplate: {
22434 return "OP_vkUpdateDescriptorSetWithTemplate";
22435 }
22436 case OP_vkGetPhysicalDeviceExternalBufferProperties: {
22437 return "OP_vkGetPhysicalDeviceExternalBufferProperties";
22438 }
22439 case OP_vkGetPhysicalDeviceExternalFenceProperties: {
22440 return "OP_vkGetPhysicalDeviceExternalFenceProperties";
22441 }
22442 case OP_vkGetPhysicalDeviceExternalSemaphoreProperties: {
22443 return "OP_vkGetPhysicalDeviceExternalSemaphoreProperties";
22444 }
22445 case OP_vkGetDescriptorSetLayoutSupport: {
22446 return "OP_vkGetDescriptorSetLayoutSupport";
22447 }
22448 #endif
22449 #ifdef VK_KHR_swapchain
22450 case OP_vkCreateSwapchainKHR: {
22451 return "OP_vkCreateSwapchainKHR";
22452 }
22453 case OP_vkDestroySwapchainKHR: {
22454 return "OP_vkDestroySwapchainKHR";
22455 }
22456 case OP_vkGetSwapchainImagesKHR: {
22457 return "OP_vkGetSwapchainImagesKHR";
22458 }
22459 case OP_vkAcquireNextImageKHR: {
22460 return "OP_vkAcquireNextImageKHR";
22461 }
22462 case OP_vkQueuePresentKHR: {
22463 return "OP_vkQueuePresentKHR";
22464 }
22465 case OP_vkGetDeviceGroupPresentCapabilitiesKHR: {
22466 return "OP_vkGetDeviceGroupPresentCapabilitiesKHR";
22467 }
22468 case OP_vkGetDeviceGroupSurfacePresentModesKHR: {
22469 return "OP_vkGetDeviceGroupSurfacePresentModesKHR";
22470 }
22471 case OP_vkGetPhysicalDevicePresentRectanglesKHR: {
22472 return "OP_vkGetPhysicalDevicePresentRectanglesKHR";
22473 }
22474 case OP_vkAcquireNextImage2KHR: {
22475 return "OP_vkAcquireNextImage2KHR";
22476 }
22477 #endif
22478 #ifdef VK_KHR_get_physical_device_properties2
22479 case OP_vkGetPhysicalDeviceFeatures2KHR: {
22480 return "OP_vkGetPhysicalDeviceFeatures2KHR";
22481 }
22482 case OP_vkGetPhysicalDeviceProperties2KHR: {
22483 return "OP_vkGetPhysicalDeviceProperties2KHR";
22484 }
22485 case OP_vkGetPhysicalDeviceFormatProperties2KHR: {
22486 return "OP_vkGetPhysicalDeviceFormatProperties2KHR";
22487 }
22488 case OP_vkGetPhysicalDeviceImageFormatProperties2KHR: {
22489 return "OP_vkGetPhysicalDeviceImageFormatProperties2KHR";
22490 }
22491 case OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR: {
22492 return "OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR";
22493 }
22494 case OP_vkGetPhysicalDeviceMemoryProperties2KHR: {
22495 return "OP_vkGetPhysicalDeviceMemoryProperties2KHR";
22496 }
22497 case OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR: {
22498 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR";
22499 }
22500 #endif
22501 #ifdef VK_KHR_maintenance1
22502 case OP_vkTrimCommandPoolKHR: {
22503 return "OP_vkTrimCommandPoolKHR";
22504 }
22505 #endif
22506 #ifdef VK_KHR_external_memory_capabilities
22507 case OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR: {
22508 return "OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR";
22509 }
22510 #endif
22511 #ifdef VK_KHR_external_semaphore_capabilities
22512 case OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR: {
22513 return "OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR";
22514 }
22515 #endif
22516 #ifdef VK_KHR_external_semaphore_fd
22517 case OP_vkImportSemaphoreFdKHR: {
22518 return "OP_vkImportSemaphoreFdKHR";
22519 }
22520 case OP_vkGetSemaphoreFdKHR: {
22521 return "OP_vkGetSemaphoreFdKHR";
22522 }
22523 #endif
22524 #ifdef VK_KHR_descriptor_update_template
22525 case OP_vkCreateDescriptorUpdateTemplateKHR: {
22526 return "OP_vkCreateDescriptorUpdateTemplateKHR";
22527 }
22528 case OP_vkDestroyDescriptorUpdateTemplateKHR: {
22529 return "OP_vkDestroyDescriptorUpdateTemplateKHR";
22530 }
22531 case OP_vkUpdateDescriptorSetWithTemplateKHR: {
22532 return "OP_vkUpdateDescriptorSetWithTemplateKHR";
22533 }
22534 #endif
22535 #ifdef VK_KHR_create_renderpass2
22536 case OP_vkCreateRenderPass2KHR: {
22537 return "OP_vkCreateRenderPass2KHR";
22538 }
22539 case OP_vkCmdBeginRenderPass2KHR: {
22540 return "OP_vkCmdBeginRenderPass2KHR";
22541 }
22542 case OP_vkCmdNextSubpass2KHR: {
22543 return "OP_vkCmdNextSubpass2KHR";
22544 }
22545 case OP_vkCmdEndRenderPass2KHR: {
22546 return "OP_vkCmdEndRenderPass2KHR";
22547 }
22548 #endif
22549 #ifdef VK_KHR_external_fence_capabilities
22550 case OP_vkGetPhysicalDeviceExternalFencePropertiesKHR: {
22551 return "OP_vkGetPhysicalDeviceExternalFencePropertiesKHR";
22552 }
22553 #endif
22554 #ifdef VK_KHR_external_fence_fd
22555 case OP_vkImportFenceFdKHR: {
22556 return "OP_vkImportFenceFdKHR";
22557 }
22558 case OP_vkGetFenceFdKHR: {
22559 return "OP_vkGetFenceFdKHR";
22560 }
22561 #endif
22562 #ifdef VK_KHR_get_memory_requirements2
22563 case OP_vkGetImageMemoryRequirements2KHR: {
22564 return "OP_vkGetImageMemoryRequirements2KHR";
22565 }
22566 case OP_vkGetBufferMemoryRequirements2KHR: {
22567 return "OP_vkGetBufferMemoryRequirements2KHR";
22568 }
22569 case OP_vkGetImageSparseMemoryRequirements2KHR: {
22570 return "OP_vkGetImageSparseMemoryRequirements2KHR";
22571 }
22572 #endif
22573 #ifdef VK_KHR_sampler_ycbcr_conversion
22574 case OP_vkCreateSamplerYcbcrConversionKHR: {
22575 return "OP_vkCreateSamplerYcbcrConversionKHR";
22576 }
22577 case OP_vkDestroySamplerYcbcrConversionKHR: {
22578 return "OP_vkDestroySamplerYcbcrConversionKHR";
22579 }
22580 #endif
22581 #ifdef VK_KHR_bind_memory2
22582 case OP_vkBindBufferMemory2KHR: {
22583 return "OP_vkBindBufferMemory2KHR";
22584 }
22585 case OP_vkBindImageMemory2KHR: {
22586 return "OP_vkBindImageMemory2KHR";
22587 }
22588 #endif
22589 #ifdef VK_KHR_maintenance3
22590 case OP_vkGetDescriptorSetLayoutSupportKHR: {
22591 return "OP_vkGetDescriptorSetLayoutSupportKHR";
22592 }
22593 #endif
22594 #ifdef VK_ANDROID_native_buffer
22595 case OP_vkGetSwapchainGrallocUsageANDROID: {
22596 return "OP_vkGetSwapchainGrallocUsageANDROID";
22597 }
22598 case OP_vkAcquireImageANDROID: {
22599 return "OP_vkAcquireImageANDROID";
22600 }
22601 case OP_vkQueueSignalReleaseImageANDROID: {
22602 return "OP_vkQueueSignalReleaseImageANDROID";
22603 }
22604 #endif
22605 #ifdef VK_EXT_debug_report
22606 case OP_vkCreateDebugReportCallbackEXT: {
22607 return "OP_vkCreateDebugReportCallbackEXT";
22608 }
22609 case OP_vkDestroyDebugReportCallbackEXT: {
22610 return "OP_vkDestroyDebugReportCallbackEXT";
22611 }
22612 case OP_vkDebugReportMessageEXT: {
22613 return "OP_vkDebugReportMessageEXT";
22614 }
22615 #endif
22616 #ifdef VK_EXT_debug_utils
22617 case OP_vkSetDebugUtilsObjectNameEXT: {
22618 return "OP_vkSetDebugUtilsObjectNameEXT";
22619 }
22620 case OP_vkSetDebugUtilsObjectTagEXT: {
22621 return "OP_vkSetDebugUtilsObjectTagEXT";
22622 }
22623 case OP_vkQueueBeginDebugUtilsLabelEXT: {
22624 return "OP_vkQueueBeginDebugUtilsLabelEXT";
22625 }
22626 case OP_vkQueueEndDebugUtilsLabelEXT: {
22627 return "OP_vkQueueEndDebugUtilsLabelEXT";
22628 }
22629 case OP_vkQueueInsertDebugUtilsLabelEXT: {
22630 return "OP_vkQueueInsertDebugUtilsLabelEXT";
22631 }
22632 case OP_vkCmdBeginDebugUtilsLabelEXT: {
22633 return "OP_vkCmdBeginDebugUtilsLabelEXT";
22634 }
22635 case OP_vkCmdEndDebugUtilsLabelEXT: {
22636 return "OP_vkCmdEndDebugUtilsLabelEXT";
22637 }
22638 case OP_vkCmdInsertDebugUtilsLabelEXT: {
22639 return "OP_vkCmdInsertDebugUtilsLabelEXT";
22640 }
22641 case OP_vkCreateDebugUtilsMessengerEXT: {
22642 return "OP_vkCreateDebugUtilsMessengerEXT";
22643 }
22644 case OP_vkDestroyDebugUtilsMessengerEXT: {
22645 return "OP_vkDestroyDebugUtilsMessengerEXT";
22646 }
22647 case OP_vkSubmitDebugUtilsMessageEXT: {
22648 return "OP_vkSubmitDebugUtilsMessageEXT";
22649 }
22650 #endif
22651 #ifdef VK_EXT_external_memory_host
22652 case OP_vkGetMemoryHostPointerPropertiesEXT: {
22653 return "OP_vkGetMemoryHostPointerPropertiesEXT";
22654 }
22655 #endif
22656 #ifdef VK_GOOGLE_gfxstream
22657 case OP_vkMapMemoryIntoAddressSpaceGOOGLE: {
22658 return "OP_vkMapMemoryIntoAddressSpaceGOOGLE";
22659 }
22660 case OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE: {
22661 return "OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE";
22662 }
22663 case OP_vkBeginCommandBufferAsyncGOOGLE: {
22664 return "OP_vkBeginCommandBufferAsyncGOOGLE";
22665 }
22666 case OP_vkEndCommandBufferAsyncGOOGLE: {
22667 return "OP_vkEndCommandBufferAsyncGOOGLE";
22668 }
22669 case OP_vkResetCommandBufferAsyncGOOGLE: {
22670 return "OP_vkResetCommandBufferAsyncGOOGLE";
22671 }
22672 case OP_vkCommandBufferHostSyncGOOGLE: {
22673 return "OP_vkCommandBufferHostSyncGOOGLE";
22674 }
22675 case OP_vkCreateImageWithRequirementsGOOGLE: {
22676 return "OP_vkCreateImageWithRequirementsGOOGLE";
22677 }
22678 case OP_vkCreateBufferWithRequirementsGOOGLE: {
22679 return "OP_vkCreateBufferWithRequirementsGOOGLE";
22680 }
22681 case OP_vkGetMemoryHostAddressInfoGOOGLE: {
22682 return "OP_vkGetMemoryHostAddressInfoGOOGLE";
22683 }
22684 case OP_vkFreeMemorySyncGOOGLE: {
22685 return "OP_vkFreeMemorySyncGOOGLE";
22686 }
22687 case OP_vkQueueHostSyncGOOGLE: {
22688 return "OP_vkQueueHostSyncGOOGLE";
22689 }
22690 case OP_vkQueueSubmitAsyncGOOGLE: {
22691 return "OP_vkQueueSubmitAsyncGOOGLE";
22692 }
22693 case OP_vkQueueWaitIdleAsyncGOOGLE: {
22694 return "OP_vkQueueWaitIdleAsyncGOOGLE";
22695 }
22696 case OP_vkQueueBindSparseAsyncGOOGLE: {
22697 return "OP_vkQueueBindSparseAsyncGOOGLE";
22698 }
22699 case OP_vkGetLinearImageLayoutGOOGLE: {
22700 return "OP_vkGetLinearImageLayoutGOOGLE";
22701 }
22702 case OP_vkQueueFlushCommandsGOOGLE: {
22703 return "OP_vkQueueFlushCommandsGOOGLE";
22704 }
22705 case OP_vkGetBlobGOOGLE: {
22706 return "OP_vkGetBlobGOOGLE";
22707 }
22708 case OP_vkGetSemaphoreGOOGLE: {
22709 return "OP_vkGetSemaphoreGOOGLE";
22710 }
22711 #endif
22712 #ifdef VK_KHR_dynamic_rendering
22713 case OP_vkCmdEndRenderingKHR: {
22714 return "OP_vkCmdEndRenderingKHR";
22715 }
22716 #endif
22717 #ifdef VK_KHR_synchronization2
22718 case OP_vkCmdPipelineBarrier2KHR: {
22719 return "OP_vkCmdPipelineBarrier2KHR";
22720 }
22721 #endif
22722 #ifdef VK_KHR_maintenance4
22723 case OP_vkGetDeviceBufferMemoryRequirementsKHR: {
22724 return "OP_vkGetDeviceBufferMemoryRequirementsKHR";
22725 }
22726 #endif
22727 #ifdef VK_EXT_color_write_enable
22728 case OP_vkCmdSetColorWriteEnableEXT: {
22729 return "OP_vkCmdSetColorWriteEnableEXT";
22730 }
22731 #endif
22732 #ifdef VK_KHR_maintenance5
22733 case OP_vkCmdBindIndexBuffer2KHR: {
22734 return "OP_vkCmdBindIndexBuffer2KHR";
22735 }
22736 #endif
22737 #ifdef VK_EXT_extended_dynamic_state
22738 case OP_vkCmdSetScissorWithCountEXT: {
22739 return "OP_vkCmdSetScissorWithCountEXT";
22740 }
22741 #endif
22742 #ifdef VK_EXT_host_image_copy
22743 case OP_vkCopyImageToMemoryEXT: {
22744 return "OP_vkCopyImageToMemoryEXT";
22745 }
22746 #endif
22747 #ifdef VK_KHR_ray_tracing_pipeline
22748 case OP_vkGetRayTracingShaderGroupStackSizeKHR: {
22749 return "OP_vkGetRayTracingShaderGroupStackSizeKHR";
22750 }
22751 #endif
22752 #ifdef VK_EXT_extended_dynamic_state2
22753 case OP_vkCmdSetPatchControlPointsEXT: {
22754 return "OP_vkCmdSetPatchControlPointsEXT";
22755 }
22756 #endif
22757 #ifdef VK_EXT_private_data
22758 case OP_vkDestroyPrivateDataSlotEXT: {
22759 return "OP_vkDestroyPrivateDataSlotEXT";
22760 }
22761 #endif
22762 #ifdef VK_VERSION_1_3
22763 case OP_vkCmdSetDepthTestEnable: {
22764 return "OP_vkCmdSetDepthTestEnable";
22765 }
22766 #endif
22767 #ifdef VK_KHR_ray_tracing_pipeline
22768 case OP_vkCmdTraceRaysIndirectKHR: {
22769 return "OP_vkCmdTraceRaysIndirectKHR";
22770 }
22771 #endif
22772 #ifdef VK_EXT_extended_dynamic_state
22773 case OP_vkCmdSetFrontFaceEXT: {
22774 return "OP_vkCmdSetFrontFaceEXT";
22775 }
22776 #endif
22777 #ifdef VK_GOOGLE_gfxstream
22778 case OP_vkCollectDescriptorPoolIdsGOOGLE: {
22779 return "OP_vkCollectDescriptorPoolIdsGOOGLE";
22780 }
22781 #endif
22782 #ifdef VK_KHR_ray_tracing_pipeline
22783 case OP_vkCmdTraceRaysKHR: {
22784 return "OP_vkCmdTraceRaysKHR";
22785 }
22786 #endif
22787 #ifdef VK_VERSION_1_3
22788 case OP_vkCmdCopyImageToBuffer2: {
22789 return "OP_vkCmdCopyImageToBuffer2";
22790 }
22791 #endif
22792 #ifdef VK_EXT_extended_dynamic_state
22793 case OP_vkCmdSetDepthWriteEnableEXT: {
22794 return "OP_vkCmdSetDepthWriteEnableEXT";
22795 }
22796 #endif
22797 #ifdef VK_EXT_host_image_copy
22798 case OP_vkCopyMemoryToImageEXT: {
22799 return "OP_vkCopyMemoryToImageEXT";
22800 }
22801 #endif
22802 #ifdef VK_KHR_buffer_device_address
22803 case OP_vkGetBufferDeviceAddressKHR: {
22804 return "OP_vkGetBufferDeviceAddressKHR";
22805 }
22806 #endif
22807 #ifdef VK_VERSION_1_3
22808 case OP_vkCmdSetDepthBoundsTestEnable: {
22809 return "OP_vkCmdSetDepthBoundsTestEnable";
22810 }
22811 #endif
22812 #ifdef VK_KHR_line_rasterization
22813 case OP_vkCmdSetLineStippleKHR: {
22814 return "OP_vkCmdSetLineStippleKHR";
22815 }
22816 #endif
22817 #ifdef VK_VERSION_1_3
22818 case OP_vkCmdSetScissorWithCount: {
22819 return "OP_vkCmdSetScissorWithCount";
22820 }
22821 case OP_vkCmdEndRendering: {
22822 return "OP_vkCmdEndRendering";
22823 }
22824 #endif
22825 #ifdef VK_VERSION_1_2
22826 case OP_vkCmdEndRenderPass2: {
22827 return "OP_vkCmdEndRenderPass2";
22828 }
22829 #endif
22830 #ifdef VK_KHR_ray_tracing_pipeline
22831 case OP_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR: {
22832 return "OP_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR";
22833 }
22834 #endif
22835 #ifdef VK_VERSION_1_2
22836 case OP_vkGetBufferDeviceAddress: {
22837 return "OP_vkGetBufferDeviceAddress";
22838 }
22839 #endif
22840 #ifdef VK_VERSION_1_3
22841 case OP_vkCmdSetFrontFace: {
22842 return "OP_vkCmdSetFrontFace";
22843 }
22844 #endif
22845 #ifdef VK_EXT_extended_dynamic_state
22846 case OP_vkCmdSetDepthBoundsTestEnableEXT: {
22847 return "OP_vkCmdSetDepthBoundsTestEnableEXT";
22848 }
22849 #endif
22850 #ifdef VK_EXT_host_image_copy
22851 case OP_vkCopyImageToImageEXT: {
22852 return "OP_vkCopyImageToImageEXT";
22853 }
22854 #endif
22855 #ifdef VK_VERSION_1_3
22856 case OP_vkDestroyPrivateDataSlot: {
22857 return "OP_vkDestroyPrivateDataSlot";
22858 }
22859 case OP_vkCmdSetCullMode: {
22860 return "OP_vkCmdSetCullMode";
22861 }
22862 #endif
22863 #ifdef VK_KHR_synchronization2
22864 case OP_vkCmdWriteBufferMarker2AMD: {
22865 return "OP_vkCmdWriteBufferMarker2AMD";
22866 }
22867 #endif
22868 #ifdef VK_VERSION_1_2
22869 case OP_vkWaitSemaphores: {
22870 return "OP_vkWaitSemaphores";
22871 }
22872 #endif
22873 #ifdef VK_EXT_private_data
22874 case OP_vkSetPrivateDataEXT: {
22875 return "OP_vkSetPrivateDataEXT";
22876 }
22877 #endif
22878 #ifdef VK_KHR_copy_commands2
22879 case OP_vkCmdCopyImage2KHR: {
22880 return "OP_vkCmdCopyImage2KHR";
22881 }
22882 #endif
22883 #ifdef VK_VERSION_1_2
22884 case OP_vkGetBufferOpaqueCaptureAddress: {
22885 return "OP_vkGetBufferOpaqueCaptureAddress";
22886 }
22887 #endif
22888 #ifdef VK_VERSION_1_3
22889 case OP_vkCmdSetPrimitiveRestartEnable: {
22890 return "OP_vkCmdSetPrimitiveRestartEnable";
22891 }
22892 #endif
22893 #ifdef VK_EXT_swapchain_maintenance1
22894 case OP_vkReleaseSwapchainImagesEXT: {
22895 return "OP_vkReleaseSwapchainImagesEXT";
22896 }
22897 #endif
22898 #ifdef VK_VERSION_1_3
22899 case OP_vkCmdSetEvent2: {
22900 return "OP_vkCmdSetEvent2";
22901 }
22902 case OP_vkGetDeviceImageSparseMemoryRequirements: {
22903 return "OP_vkGetDeviceImageSparseMemoryRequirements";
22904 }
22905 #endif
22906 #ifdef VK_EXT_extended_dynamic_state
22907 case OP_vkCmdSetDepthTestEnableEXT: {
22908 return "OP_vkCmdSetDepthTestEnableEXT";
22909 }
22910 #endif
22911 #ifdef VK_VERSION_1_2
22912 case OP_vkCmdBeginRenderPass2: {
22913 return "OP_vkCmdBeginRenderPass2";
22914 }
22915 #endif
22916 #ifdef VK_VERSION_1_3
22917 case OP_vkCmdSetStencilOp: {
22918 return "OP_vkCmdSetStencilOp";
22919 }
22920 #endif
22921 #ifdef VK_EXT_private_data
22922 case OP_vkCreatePrivateDataSlotEXT: {
22923 return "OP_vkCreatePrivateDataSlotEXT";
22924 }
22925 #endif
22926 #ifdef VK_VERSION_1_3
22927 case OP_vkCmdCopyBuffer2: {
22928 return "OP_vkCmdCopyBuffer2";
22929 }
22930 case OP_vkGetPrivateData: {
22931 return "OP_vkGetPrivateData";
22932 }
22933 #endif
22934 #ifdef VK_KHR_maintenance5
22935 case OP_vkGetRenderingAreaGranularityKHR: {
22936 return "OP_vkGetRenderingAreaGranularityKHR";
22937 }
22938 #endif
22939 #ifdef VK_VERSION_1_3
22940 case OP_vkCmdSetDepthWriteEnable: {
22941 return "OP_vkCmdSetDepthWriteEnable";
22942 }
22943 case OP_vkSetPrivateData: {
22944 return "OP_vkSetPrivateData";
22945 }
22946 #endif
22947 #ifdef VK_EXT_host_image_copy
22948 case OP_vkTransitionImageLayoutEXT: {
22949 return "OP_vkTransitionImageLayoutEXT";
22950 }
22951 #endif
22952 #ifdef VK_KHR_maintenance4
22953 case OP_vkGetDeviceImageMemoryRequirementsKHR: {
22954 return "OP_vkGetDeviceImageMemoryRequirementsKHR";
22955 }
22956 #endif
22957 #ifdef VK_KHR_maintenance5
22958 case OP_vkGetImageSubresourceLayout2KHR: {
22959 return "OP_vkGetImageSubresourceLayout2KHR";
22960 }
22961 #endif
22962 #ifdef VK_EXT_extended_dynamic_state
22963 case OP_vkCmdBindVertexBuffers2EXT: {
22964 return "OP_vkCmdBindVertexBuffers2EXT";
22965 }
22966 #endif
22967 #ifdef VK_GOOGLE_gfxstream
22968 case OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE: {
22969 return "OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE";
22970 }
22971 #endif
22972 #ifdef VK_VERSION_1_3
22973 case OP_vkCmdWaitEvents2: {
22974 return "OP_vkCmdWaitEvents2";
22975 }
22976 #endif
22977 #ifdef VK_GOOGLE_gfxstream
22978 case OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE: {
22979 return "OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE";
22980 }
22981 #endif
22982 #ifdef VK_VERSION_1_2
22983 case OP_vkCmdNextSubpass2: {
22984 return "OP_vkCmdNextSubpass2";
22985 }
22986 #endif
22987 #ifdef VK_KHR_synchronization2
22988 case OP_vkCmdWaitEvents2KHR: {
22989 return "OP_vkCmdWaitEvents2KHR";
22990 }
22991 #endif
22992 #ifdef VK_VERSION_1_2
22993 case OP_vkCmdDrawIndexedIndirectCount: {
22994 return "OP_vkCmdDrawIndexedIndirectCount";
22995 }
22996 #endif
22997 #ifdef VK_EXT_extended_dynamic_state2
22998 case OP_vkCmdSetRasterizerDiscardEnableEXT: {
22999 return "OP_vkCmdSetRasterizerDiscardEnableEXT";
23000 }
23001 #endif
23002 #ifdef VK_VERSION_1_3
23003 case OP_vkCmdSetDepthCompareOp: {
23004 return "OP_vkCmdSetDepthCompareOp";
23005 }
23006 case OP_vkCmdWriteTimestamp2: {
23007 return "OP_vkCmdWriteTimestamp2";
23008 }
23009 case OP_vkCmdCopyImage2: {
23010 return "OP_vkCmdCopyImage2";
23011 }
23012 #endif
23013 #ifdef VK_KHR_ray_tracing_pipeline
23014 case OP_vkCreateRayTracingPipelinesKHR: {
23015 return "OP_vkCreateRayTracingPipelinesKHR";
23016 }
23017 #endif
23018 #ifdef VK_EXT_extended_dynamic_state
23019 case OP_vkCmdSetDepthCompareOpEXT: {
23020 return "OP_vkCmdSetDepthCompareOpEXT";
23021 }
23022 #endif
23023 #ifdef VK_KHR_copy_commands2
23024 case OP_vkCmdCopyBuffer2KHR: {
23025 return "OP_vkCmdCopyBuffer2KHR";
23026 }
23027 case OP_vkCmdCopyBufferToImage2KHR: {
23028 return "OP_vkCmdCopyBufferToImage2KHR";
23029 }
23030 #endif
23031 #ifdef VK_EXT_image_drm_format_modifier
23032 case OP_vkGetImageDrmFormatModifierPropertiesEXT: {
23033 return "OP_vkGetImageDrmFormatModifierPropertiesEXT";
23034 }
23035 #endif
23036 #ifdef VK_VERSION_1_2
23037 case OP_vkResetQueryPool: {
23038 return "OP_vkResetQueryPool";
23039 }
23040 #endif
23041 #ifdef VK_KHR_copy_commands2
23042 case OP_vkCmdCopyImageToBuffer2KHR: {
23043 return "OP_vkCmdCopyImageToBuffer2KHR";
23044 }
23045 #endif
23046 #ifdef VK_KHR_synchronization2
23047 case OP_vkCmdWriteTimestamp2KHR: {
23048 return "OP_vkCmdWriteTimestamp2KHR";
23049 }
23050 #endif
23051 #ifdef VK_KHR_maintenance5
23052 case OP_vkGetDeviceImageSubresourceLayoutKHR: {
23053 return "OP_vkGetDeviceImageSubresourceLayoutKHR";
23054 }
23055 #endif
23056 #ifdef VK_KHR_copy_commands2
23057 case OP_vkCmdResolveImage2KHR: {
23058 return "OP_vkCmdResolveImage2KHR";
23059 }
23060 #endif
23061 #ifdef VK_EXT_extended_dynamic_state
23062 case OP_vkCmdSetViewportWithCountEXT: {
23063 return "OP_vkCmdSetViewportWithCountEXT";
23064 }
23065 #endif
23066 #ifdef VK_VERSION_1_3
23067 case OP_vkCmdBindVertexBuffers2: {
23068 return "OP_vkCmdBindVertexBuffers2";
23069 }
23070 #endif
23071 #ifdef VK_EXT_extended_dynamic_state2
23072 case OP_vkCmdSetDepthBiasEnableEXT: {
23073 return "OP_vkCmdSetDepthBiasEnableEXT";
23074 }
23075 #endif
23076 #ifdef VK_KHR_copy_commands2
23077 case OP_vkCmdBlitImage2KHR: {
23078 return "OP_vkCmdBlitImage2KHR";
23079 }
23080 #endif
23081 #ifdef VK_KHR_ray_tracing_pipeline
23082 case OP_vkCmdSetRayTracingPipelineStackSizeKHR: {
23083 return "OP_vkCmdSetRayTracingPipelineStackSizeKHR";
23084 }
23085 #endif
23086 #ifdef VK_VERSION_1_2
23087 case OP_vkGetDeviceMemoryOpaqueCaptureAddress: {
23088 return "OP_vkGetDeviceMemoryOpaqueCaptureAddress";
23089 }
23090 #endif
23091 #ifdef VK_EXT_extended_dynamic_state
23092 case OP_vkCmdSetPrimitiveTopologyEXT: {
23093 return "OP_vkCmdSetPrimitiveTopologyEXT";
23094 }
23095 #endif
23096 #ifdef VK_VERSION_1_3
23097 case OP_vkCreatePrivateDataSlot: {
23098 return "OP_vkCreatePrivateDataSlot";
23099 }
23100 case OP_vkCmdSetPrimitiveTopology: {
23101 return "OP_vkCmdSetPrimitiveTopology";
23102 }
23103 #endif
23104 #ifdef VK_EXT_line_rasterization
23105 case OP_vkCmdSetLineStippleEXT: {
23106 return "OP_vkCmdSetLineStippleEXT";
23107 }
23108 #endif
23109 #ifdef VK_EXT_extended_dynamic_state
23110 case OP_vkCmdSetCullModeEXT: {
23111 return "OP_vkCmdSetCullModeEXT";
23112 }
23113 #endif
23114 #ifdef VK_VERSION_1_2
23115 case OP_vkGetSemaphoreCounterValue: {
23116 return "OP_vkGetSemaphoreCounterValue";
23117 }
23118 #endif
23119 #ifdef VK_VERSION_1_3
23120 case OP_vkCmdSetDepthBiasEnable: {
23121 return "OP_vkCmdSetDepthBiasEnable";
23122 }
23123 case OP_vkCmdSetViewportWithCount: {
23124 return "OP_vkCmdSetViewportWithCount";
23125 }
23126 #endif
23127 #ifdef VK_EXT_extended_dynamic_state2
23128 case OP_vkCmdSetLogicOpEXT: {
23129 return "OP_vkCmdSetLogicOpEXT";
23130 }
23131 #endif
23132 #ifdef VK_EXT_transform_feedback
23133 case OP_vkCmdBindTransformFeedbackBuffersEXT: {
23134 return "OP_vkCmdBindTransformFeedbackBuffersEXT";
23135 }
23136 #endif
23137 #ifdef VK_GOOGLE_gfxstream
23138 case OP_vkQueueCommitDescriptorSetUpdatesGOOGLE: {
23139 return "OP_vkQueueCommitDescriptorSetUpdatesGOOGLE";
23140 }
23141 #endif
23142 #ifdef VK_VERSION_1_3
23143 case OP_vkCmdCopyBufferToImage2: {
23144 return "OP_vkCmdCopyBufferToImage2";
23145 }
23146 #endif
23147 #ifdef VK_KHR_pipeline_executable_properties
23148 case OP_vkGetPipelineExecutablePropertiesKHR: {
23149 return "OP_vkGetPipelineExecutablePropertiesKHR";
23150 }
23151 #endif
23152 #ifdef VK_KHR_synchronization2
23153 case OP_vkCmdSetEvent2KHR: {
23154 return "OP_vkCmdSetEvent2KHR";
23155 }
23156 #endif
23157 #ifdef VK_VERSION_1_2
23158 case OP_vkSignalSemaphore: {
23159 return "OP_vkSignalSemaphore";
23160 }
23161 #endif
23162 #ifdef VK_KHR_pipeline_executable_properties
23163 case OP_vkGetPipelineExecutableStatisticsKHR: {
23164 return "OP_vkGetPipelineExecutableStatisticsKHR";
23165 }
23166 #endif
23167 #ifdef VK_VERSION_1_3
23168 case OP_vkCmdResetEvent2: {
23169 return "OP_vkCmdResetEvent2";
23170 }
23171 #endif
23172 #ifdef VK_EXT_transform_feedback
23173 case OP_vkCmdEndTransformFeedbackEXT: {
23174 return "OP_vkCmdEndTransformFeedbackEXT";
23175 }
23176 #endif
23177 #ifdef VK_KHR_pipeline_executable_properties
23178 case OP_vkGetPipelineExecutableInternalRepresentationsKHR: {
23179 return "OP_vkGetPipelineExecutableInternalRepresentationsKHR";
23180 }
23181 #endif
23182 #ifdef VK_VERSION_1_3
23183 case OP_vkCmdBlitImage2: {
23184 return "OP_vkCmdBlitImage2";
23185 }
23186 case OP_vkQueueSubmit2: {
23187 return "OP_vkQueueSubmit2";
23188 }
23189 #endif
23190 #ifdef VK_KHR_maintenance4
23191 case OP_vkGetDeviceImageSparseMemoryRequirementsKHR: {
23192 return "OP_vkGetDeviceImageSparseMemoryRequirementsKHR";
23193 }
23194 #endif
23195 #ifdef VK_EXT_transform_feedback
23196 case OP_vkCmdBeginQueryIndexedEXT: {
23197 return "OP_vkCmdBeginQueryIndexedEXT";
23198 }
23199 #endif
23200 #ifdef VK_VERSION_1_3
23201 case OP_vkCmdSetRasterizerDiscardEnable: {
23202 return "OP_vkCmdSetRasterizerDiscardEnable";
23203 }
23204 #endif
23205 #ifdef VK_EXT_extended_dynamic_state
23206 case OP_vkCmdSetStencilOpEXT: {
23207 return "OP_vkCmdSetStencilOpEXT";
23208 }
23209 #endif
23210 #ifdef VK_VERSION_1_2
23211 case OP_vkCreateRenderPass2: {
23212 return "OP_vkCreateRenderPass2";
23213 }
23214 #endif
23215 #ifdef VK_EXT_transform_feedback
23216 case OP_vkCmdEndQueryIndexedEXT: {
23217 return "OP_vkCmdEndQueryIndexedEXT";
23218 }
23219 #endif
23220 #ifdef VK_EXT_tooling_info
23221 case OP_vkGetPhysicalDeviceToolPropertiesEXT: {
23222 return "OP_vkGetPhysicalDeviceToolPropertiesEXT";
23223 }
23224 #endif
23225 #ifdef VK_GOOGLE_gfxstream
23226 case OP_vkGetLinearImageLayout2GOOGLE: {
23227 return "OP_vkGetLinearImageLayout2GOOGLE";
23228 }
23229 #endif
23230 #ifdef VK_VERSION_1_3
23231 case OP_vkCmdResolveImage2: {
23232 return "OP_vkCmdResolveImage2";
23233 }
23234 case OP_vkGetDeviceImageMemoryRequirements: {
23235 return "OP_vkGetDeviceImageMemoryRequirements";
23236 }
23237 #endif
23238 #ifdef VK_VERSION_1_2
23239 case OP_vkCmdDrawIndirectCount: {
23240 return "OP_vkCmdDrawIndirectCount";
23241 }
23242 #endif
23243 #ifdef VK_KHR_synchronization2
23244 case OP_vkCmdResetEvent2KHR: {
23245 return "OP_vkCmdResetEvent2KHR";
23246 }
23247 #endif
23248 #ifdef VK_EXT_transform_feedback
23249 case OP_vkCmdDrawIndirectByteCountEXT: {
23250 return "OP_vkCmdDrawIndirectByteCountEXT";
23251 }
23252 #endif
23253 #ifdef VK_KHR_buffer_device_address
23254 case OP_vkGetBufferOpaqueCaptureAddressKHR: {
23255 return "OP_vkGetBufferOpaqueCaptureAddressKHR";
23256 }
23257 #endif
23258 #ifdef VK_EXT_extended_dynamic_state
23259 case OP_vkCmdSetStencilTestEnableEXT: {
23260 return "OP_vkCmdSetStencilTestEnableEXT";
23261 }
23262 #endif
23263 #ifdef VK_VERSION_1_3
23264 case OP_vkCmdSetStencilTestEnable: {
23265 return "OP_vkCmdSetStencilTestEnable";
23266 }
23267 case OP_vkGetPhysicalDeviceToolProperties: {
23268 return "OP_vkGetPhysicalDeviceToolProperties";
23269 }
23270 #endif
23271 #ifdef VK_ANDROID_native_buffer
23272 case OP_vkGetSwapchainGrallocUsage2ANDROID: {
23273 return "OP_vkGetSwapchainGrallocUsage2ANDROID";
23274 }
23275 #endif
23276 #ifdef VK_GOOGLE_gfxstream
23277 case OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE: {
23278 return "OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE";
23279 }
23280 #endif
23281 #ifdef VK_EXT_private_data
23282 case OP_vkGetPrivateDataEXT: {
23283 return "OP_vkGetPrivateDataEXT";
23284 }
23285 #endif
23286 #ifdef VK_KHR_synchronization2
23287 case OP_vkGetQueueCheckpointData2NV: {
23288 return "OP_vkGetQueueCheckpointData2NV";
23289 }
23290 #endif
23291 #ifdef VK_GOOGLE_gfxstream
23292 case OP_vkQueueSubmitAsync2GOOGLE: {
23293 return "OP_vkQueueSubmitAsync2GOOGLE";
23294 }
23295 #endif
23296 #ifdef VK_KHR_synchronization2
23297 case OP_vkQueueSubmit2KHR: {
23298 return "OP_vkQueueSubmit2KHR";
23299 }
23300 #endif
23301 #ifdef VK_VERSION_1_3
23302 case OP_vkGetDeviceBufferMemoryRequirements: {
23303 return "OP_vkGetDeviceBufferMemoryRequirements";
23304 }
23305 #endif
23306 #ifdef VK_EXT_transform_feedback
23307 case OP_vkCmdBeginTransformFeedbackEXT: {
23308 return "OP_vkCmdBeginTransformFeedbackEXT";
23309 }
23310 #endif
23311 #ifdef VK_VERSION_1_3
23312 case OP_vkCmdBeginRendering: {
23313 return "OP_vkCmdBeginRendering";
23314 }
23315 #endif
23316 #ifdef VK_KHR_buffer_device_address
23317 case OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR: {
23318 return "OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR";
23319 }
23320 #endif
23321 #ifdef VK_EXT_host_image_copy
23322 case OP_vkGetImageSubresourceLayout2EXT: {
23323 return "OP_vkGetImageSubresourceLayout2EXT";
23324 }
23325 #endif
23326 #ifdef VK_VERSION_1_3
23327 case OP_vkCmdPipelineBarrier2: {
23328 return "OP_vkCmdPipelineBarrier2";
23329 }
23330 #endif
23331 #ifdef VK_KHR_dynamic_rendering
23332 case OP_vkCmdBeginRenderingKHR: {
23333 return "OP_vkCmdBeginRenderingKHR";
23334 }
23335 #endif
23336 #ifdef VK_EXT_extended_dynamic_state2
23337 case OP_vkCmdSetPrimitiveRestartEnableEXT: {
23338 return "OP_vkCmdSetPrimitiveRestartEnableEXT";
23339 }
23340 #endif
23341 default: {
23342 return "OP_UNKNOWN_API_CALL";
23343 }
23344 }
23345 }
23346
23347 } // namespace vk
23348 } // namespace gfxstream
23349