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_guest
17 //
18 // (impl) generated by scripts/genvk.py -registry ../../vulkan/registry/vk.xml -registryGfxstream
19 // xml/vk_gfxstream.xml cereal -o /tmp/
20 //
21 // Please do not modify directly;
22 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
23 // or directly from Python by defining:
24 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
25 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
26 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
27 //
28 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
29 // $CEREAL_OUTPUT_DIR
30 //
31
32 #include "goldfish_vk_marshaling_guest.h"
33
34 #include <cstring>
35
36 #include "goldfish_vk_extension_structs_guest.h"
37 #include "goldfish_vk_private_defs.h"
38
39 namespace gfxstream {
40 namespace vk {
41
42 void marshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
43 const void* structExtension);
44
45 void unmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
46 void* structExtension_out);
47
48 #ifdef VK_VERSION_1_0
marshal_VkExtent2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent2D * forMarshaling)49 void marshal_VkExtent2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
50 const VkExtent2D* forMarshaling) {
51 (void)rootType;
52 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
53 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
54 }
55
unmarshal_VkExtent2D(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExtent2D * forUnmarshaling)56 void unmarshal_VkExtent2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
57 VkExtent2D* forUnmarshaling) {
58 (void)rootType;
59 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
60 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
61 }
62
marshal_VkExtent3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtent3D * forMarshaling)63 void marshal_VkExtent3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
64 const VkExtent3D* forMarshaling) {
65 (void)rootType;
66 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
67 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
68 vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
69 }
70
unmarshal_VkExtent3D(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExtent3D * forUnmarshaling)71 void unmarshal_VkExtent3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
72 VkExtent3D* forUnmarshaling) {
73 (void)rootType;
74 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
75 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
76 vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t));
77 }
78
marshal_VkOffset2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset2D * forMarshaling)79 void marshal_VkOffset2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
80 const VkOffset2D* forMarshaling) {
81 (void)rootType;
82 vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
83 vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
84 }
85
unmarshal_VkOffset2D(VulkanStreamGuest * vkStream,VkStructureType rootType,VkOffset2D * forUnmarshaling)86 void unmarshal_VkOffset2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
87 VkOffset2D* forUnmarshaling) {
88 (void)rootType;
89 vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
90 vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
91 }
92
marshal_VkOffset3D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkOffset3D * forMarshaling)93 void marshal_VkOffset3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
94 const VkOffset3D* forMarshaling) {
95 (void)rootType;
96 vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
97 vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
98 vkStream->write((int32_t*)&forMarshaling->z, sizeof(int32_t));
99 }
100
unmarshal_VkOffset3D(VulkanStreamGuest * vkStream,VkStructureType rootType,VkOffset3D * forUnmarshaling)101 void unmarshal_VkOffset3D(VulkanStreamGuest* vkStream, VkStructureType rootType,
102 VkOffset3D* forUnmarshaling) {
103 (void)rootType;
104 vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
105 vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
106 vkStream->read((int32_t*)&forUnmarshaling->z, sizeof(int32_t));
107 }
108
marshal_VkRect2D(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRect2D * forMarshaling)109 void marshal_VkRect2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
110 const VkRect2D* forMarshaling) {
111 (void)rootType;
112 marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
113 marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
114 }
115
unmarshal_VkRect2D(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRect2D * forUnmarshaling)116 void unmarshal_VkRect2D(VulkanStreamGuest* vkStream, VkStructureType rootType,
117 VkRect2D* forUnmarshaling) {
118 (void)rootType;
119 unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
120 unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
121 }
122
marshal_VkBaseInStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseInStructure * forMarshaling)123 void marshal_VkBaseInStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
124 const VkBaseInStructure* forMarshaling) {
125 (void)rootType;
126 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
127 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
128 rootType = forMarshaling->sType;
129 }
130 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
131 }
132
unmarshal_VkBaseInStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBaseInStructure * forUnmarshaling)133 void unmarshal_VkBaseInStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
134 VkBaseInStructure* forUnmarshaling) {
135 (void)rootType;
136 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
137 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
138 rootType = forUnmarshaling->sType;
139 }
140 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
141 }
142
marshal_VkBaseOutStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBaseOutStructure * forMarshaling)143 void marshal_VkBaseOutStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
144 const VkBaseOutStructure* forMarshaling) {
145 (void)rootType;
146 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
147 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
148 rootType = forMarshaling->sType;
149 }
150 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
151 }
152
unmarshal_VkBaseOutStructure(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBaseOutStructure * forUnmarshaling)153 void unmarshal_VkBaseOutStructure(VulkanStreamGuest* vkStream, VkStructureType rootType,
154 VkBaseOutStructure* forUnmarshaling) {
155 (void)rootType;
156 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
157 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
158 rootType = forUnmarshaling->sType;
159 }
160 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
161 }
162
marshal_VkBufferMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier * forMarshaling)163 void marshal_VkBufferMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
164 const VkBufferMemoryBarrier* forMarshaling) {
165 (void)rootType;
166 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
167 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
168 rootType = forMarshaling->sType;
169 }
170 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
171 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
172 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
173 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
174 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
175 uint64_t cgen_var_0;
176 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
177 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
178 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
179 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
180 }
181
unmarshal_VkBufferMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferMemoryBarrier * forUnmarshaling)182 void unmarshal_VkBufferMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
183 VkBufferMemoryBarrier* forUnmarshaling) {
184 (void)rootType;
185 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
186 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
187 rootType = forUnmarshaling->sType;
188 }
189 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
190 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
191 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
192 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
193 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
194 uint64_t cgen_var_0;
195 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
196 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
197 (VkBuffer*)&forUnmarshaling->buffer, 1);
198 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
199 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
200 }
201
marshal_VkDispatchIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDispatchIndirectCommand * forMarshaling)202 void marshal_VkDispatchIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
203 const VkDispatchIndirectCommand* forMarshaling) {
204 (void)rootType;
205 vkStream->write((uint32_t*)&forMarshaling->x, sizeof(uint32_t));
206 vkStream->write((uint32_t*)&forMarshaling->y, sizeof(uint32_t));
207 vkStream->write((uint32_t*)&forMarshaling->z, sizeof(uint32_t));
208 }
209
unmarshal_VkDispatchIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDispatchIndirectCommand * forUnmarshaling)210 void unmarshal_VkDispatchIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
211 VkDispatchIndirectCommand* forUnmarshaling) {
212 (void)rootType;
213 vkStream->read((uint32_t*)&forUnmarshaling->x, sizeof(uint32_t));
214 vkStream->read((uint32_t*)&forUnmarshaling->y, sizeof(uint32_t));
215 vkStream->read((uint32_t*)&forUnmarshaling->z, sizeof(uint32_t));
216 }
217
marshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndexedIndirectCommand * forMarshaling)218 void marshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
219 const VkDrawIndexedIndirectCommand* forMarshaling) {
220 (void)rootType;
221 vkStream->write((uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
222 vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
223 vkStream->write((uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
224 vkStream->write((int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
225 vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
226 }
227
unmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrawIndexedIndirectCommand * forUnmarshaling)228 void unmarshal_VkDrawIndexedIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
229 VkDrawIndexedIndirectCommand* forUnmarshaling) {
230 (void)rootType;
231 vkStream->read((uint32_t*)&forUnmarshaling->indexCount, sizeof(uint32_t));
232 vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
233 vkStream->read((uint32_t*)&forUnmarshaling->firstIndex, sizeof(uint32_t));
234 vkStream->read((int32_t*)&forUnmarshaling->vertexOffset, sizeof(int32_t));
235 vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
236 }
237
marshal_VkDrawIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrawIndirectCommand * forMarshaling)238 void marshal_VkDrawIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
239 const VkDrawIndirectCommand* forMarshaling) {
240 (void)rootType;
241 vkStream->write((uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
242 vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
243 vkStream->write((uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
244 vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
245 }
246
unmarshal_VkDrawIndirectCommand(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrawIndirectCommand * forUnmarshaling)247 void unmarshal_VkDrawIndirectCommand(VulkanStreamGuest* vkStream, VkStructureType rootType,
248 VkDrawIndirectCommand* forUnmarshaling) {
249 (void)rootType;
250 vkStream->read((uint32_t*)&forUnmarshaling->vertexCount, sizeof(uint32_t));
251 vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
252 vkStream->read((uint32_t*)&forUnmarshaling->firstVertex, sizeof(uint32_t));
253 vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
254 }
255
marshal_VkImageSubresourceRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceRange * forMarshaling)256 void marshal_VkImageSubresourceRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
257 const VkImageSubresourceRange* forMarshaling) {
258 (void)rootType;
259 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
260 vkStream->write((uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
261 vkStream->write((uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
262 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
263 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
264 }
265
unmarshal_VkImageSubresourceRange(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageSubresourceRange * forUnmarshaling)266 void unmarshal_VkImageSubresourceRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
267 VkImageSubresourceRange* forUnmarshaling) {
268 (void)rootType;
269 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
270 vkStream->read((uint32_t*)&forUnmarshaling->baseMipLevel, sizeof(uint32_t));
271 vkStream->read((uint32_t*)&forUnmarshaling->levelCount, sizeof(uint32_t));
272 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
273 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
274 }
275
marshal_VkImageMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier * forMarshaling)276 void marshal_VkImageMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
277 const VkImageMemoryBarrier* forMarshaling) {
278 (void)rootType;
279 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
280 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
281 rootType = forMarshaling->sType;
282 }
283 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
284 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
285 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
286 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
287 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
288 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
289 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
290 uint64_t cgen_var_0;
291 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
292 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
293 marshal_VkImageSubresourceRange(vkStream, rootType,
294 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
295 }
296
unmarshal_VkImageMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageMemoryBarrier * forUnmarshaling)297 void unmarshal_VkImageMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
298 VkImageMemoryBarrier* forUnmarshaling) {
299 (void)rootType;
300 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
301 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
302 rootType = forUnmarshaling->sType;
303 }
304 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
305 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
306 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
307 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
308 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
309 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
310 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
311 uint64_t cgen_var_0;
312 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
313 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
314 (VkImage*)&forUnmarshaling->image, 1);
315 unmarshal_VkImageSubresourceRange(
316 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
317 }
318
marshal_VkMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier * forMarshaling)319 void marshal_VkMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
320 const VkMemoryBarrier* forMarshaling) {
321 (void)rootType;
322 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
323 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
324 rootType = forMarshaling->sType;
325 }
326 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
327 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
328 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
329 }
330
unmarshal_VkMemoryBarrier(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryBarrier * forUnmarshaling)331 void unmarshal_VkMemoryBarrier(VulkanStreamGuest* vkStream, VkStructureType rootType,
332 VkMemoryBarrier* forUnmarshaling) {
333 (void)rootType;
334 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
335 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
336 rootType = forUnmarshaling->sType;
337 }
338 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
339 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
340 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
341 }
342
marshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheHeaderVersionOne * forMarshaling)343 void marshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest* vkStream, VkStructureType rootType,
344 const VkPipelineCacheHeaderVersionOne* forMarshaling) {
345 (void)rootType;
346 vkStream->write((uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
347 vkStream->write((VkPipelineCacheHeaderVersion*)&forMarshaling->headerVersion,
348 sizeof(VkPipelineCacheHeaderVersion));
349 vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
350 vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
351 vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
352 }
353
unmarshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineCacheHeaderVersionOne * forUnmarshaling)354 void unmarshal_VkPipelineCacheHeaderVersionOne(VulkanStreamGuest* vkStream,
355 VkStructureType rootType,
356 VkPipelineCacheHeaderVersionOne* forUnmarshaling) {
357 (void)rootType;
358 vkStream->read((uint32_t*)&forUnmarshaling->headerSize, sizeof(uint32_t));
359 vkStream->read((VkPipelineCacheHeaderVersion*)&forUnmarshaling->headerVersion,
360 sizeof(VkPipelineCacheHeaderVersion));
361 vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
362 vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
363 vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
364 }
365
marshal_VkAllocationCallbacks(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAllocationCallbacks * forMarshaling)366 void marshal_VkAllocationCallbacks(VulkanStreamGuest* vkStream, VkStructureType rootType,
367 const VkAllocationCallbacks* forMarshaling) {
368 (void)rootType;
369 // WARNING PTR CHECK
370 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
371 vkStream->putBe64(cgen_var_0);
372 if (forMarshaling->pUserData) {
373 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
374 }
375 uint64_t cgen_var_1 = (uint64_t)forMarshaling->pfnAllocation;
376 vkStream->putBe64(cgen_var_1);
377 uint64_t cgen_var_2 = (uint64_t)forMarshaling->pfnReallocation;
378 vkStream->putBe64(cgen_var_2);
379 uint64_t cgen_var_3 = (uint64_t)forMarshaling->pfnFree;
380 vkStream->putBe64(cgen_var_3);
381 uint64_t cgen_var_4 = (uint64_t)forMarshaling->pfnInternalAllocation;
382 vkStream->putBe64(cgen_var_4);
383 uint64_t cgen_var_5 = (uint64_t)forMarshaling->pfnInternalFree;
384 vkStream->putBe64(cgen_var_5);
385 }
386
unmarshal_VkAllocationCallbacks(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAllocationCallbacks * forUnmarshaling)387 void unmarshal_VkAllocationCallbacks(VulkanStreamGuest* vkStream, VkStructureType rootType,
388 VkAllocationCallbacks* forUnmarshaling) {
389 (void)rootType;
390 // WARNING PTR CHECK
391 void* check_pUserData;
392 check_pUserData = (void*)(uintptr_t)vkStream->getBe64();
393 if (forUnmarshaling->pUserData) {
394 if (!(check_pUserData)) {
395 fprintf(stderr,
396 "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n");
397 }
398 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
399 }
400 forUnmarshaling->pfnAllocation = (PFN_vkAllocationFunction)vkStream->getBe64();
401 forUnmarshaling->pfnReallocation = (PFN_vkReallocationFunction)vkStream->getBe64();
402 forUnmarshaling->pfnFree = (PFN_vkFreeFunction)vkStream->getBe64();
403 forUnmarshaling->pfnInternalAllocation =
404 (PFN_vkInternalAllocationNotification)vkStream->getBe64();
405 forUnmarshaling->pfnInternalFree = (PFN_vkInternalFreeNotification)vkStream->getBe64();
406 }
407
marshal_VkApplicationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkApplicationInfo * forMarshaling)408 void marshal_VkApplicationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
409 const VkApplicationInfo* forMarshaling) {
410 (void)rootType;
411 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
412 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
413 rootType = forMarshaling->sType;
414 }
415 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
416 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
417 // WARNING PTR CHECK
418 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
419 vkStream->putBe64(cgen_var_0);
420 if (forMarshaling->pApplicationName) {
421 vkStream->putString(forMarshaling->pApplicationName);
422 }
423 } else {
424 vkStream->putString(forMarshaling->pApplicationName);
425 }
426 vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
427 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
428 // WARNING PTR CHECK
429 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
430 vkStream->putBe64(cgen_var_0);
431 if (forMarshaling->pEngineName) {
432 vkStream->putString(forMarshaling->pEngineName);
433 }
434 } else {
435 vkStream->putString(forMarshaling->pEngineName);
436 }
437 vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
438 vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
439 }
440
unmarshal_VkApplicationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkApplicationInfo * forUnmarshaling)441 void unmarshal_VkApplicationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
442 VkApplicationInfo* forUnmarshaling) {
443 (void)rootType;
444 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
445 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
446 rootType = forUnmarshaling->sType;
447 }
448 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
449 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
450 // WARNING PTR CHECK
451 const char* check_pApplicationName;
452 check_pApplicationName = (const char*)(uintptr_t)vkStream->getBe64();
453 if (forUnmarshaling->pApplicationName) {
454 if (!(check_pApplicationName)) {
455 fprintf(stderr,
456 "fatal: forUnmarshaling->pApplicationName inconsistent between guest and "
457 "host\n");
458 }
459 vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
460 }
461 } else {
462 vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
463 }
464 vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t));
465 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
466 // WARNING PTR CHECK
467 const char* check_pEngineName;
468 check_pEngineName = (const char*)(uintptr_t)vkStream->getBe64();
469 if (forUnmarshaling->pEngineName) {
470 if (!(check_pEngineName)) {
471 fprintf(
472 stderr,
473 "fatal: forUnmarshaling->pEngineName inconsistent between guest and host\n");
474 }
475 vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
476 }
477 } else {
478 vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
479 }
480 vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t));
481 vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
482 }
483
marshal_VkFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties * forMarshaling)484 void marshal_VkFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
485 const VkFormatProperties* forMarshaling) {
486 (void)rootType;
487 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures,
488 sizeof(VkFormatFeatureFlags));
489 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures,
490 sizeof(VkFormatFeatureFlags));
491 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->bufferFeatures,
492 sizeof(VkFormatFeatureFlags));
493 }
494
unmarshal_VkFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFormatProperties * forUnmarshaling)495 void unmarshal_VkFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
496 VkFormatProperties* forUnmarshaling) {
497 (void)rootType;
498 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures,
499 sizeof(VkFormatFeatureFlags));
500 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures,
501 sizeof(VkFormatFeatureFlags));
502 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures,
503 sizeof(VkFormatFeatureFlags));
504 }
505
marshal_VkImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties * forMarshaling)506 void marshal_VkImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
507 const VkImageFormatProperties* forMarshaling) {
508 (void)rootType;
509 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->maxExtent));
510 vkStream->write((uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
511 vkStream->write((uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
512 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
513 vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
514 }
515
unmarshal_VkImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageFormatProperties * forUnmarshaling)516 void unmarshal_VkImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
517 VkImageFormatProperties* forUnmarshaling) {
518 (void)rootType;
519 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->maxExtent));
520 vkStream->read((uint32_t*)&forUnmarshaling->maxMipLevels, sizeof(uint32_t));
521 vkStream->read((uint32_t*)&forUnmarshaling->maxArrayLayers, sizeof(uint32_t));
522 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, sizeof(VkSampleCountFlags));
523 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceSize, sizeof(VkDeviceSize));
524 }
525
marshal_VkInstanceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInstanceCreateInfo * forMarshaling)526 void marshal_VkInstanceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
527 const VkInstanceCreateInfo* forMarshaling) {
528 (void)rootType;
529 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
530 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
531 rootType = forMarshaling->sType;
532 }
533 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
534 vkStream->write((VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
535 // WARNING PTR CHECK
536 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
537 vkStream->putBe64(cgen_var_0);
538 if (forMarshaling->pApplicationInfo) {
539 marshal_VkApplicationInfo(vkStream, rootType,
540 (const VkApplicationInfo*)(forMarshaling->pApplicationInfo));
541 }
542 vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
543 saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
544 vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
545 saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
546 forMarshaling->enabledExtensionCount);
547 }
548
unmarshal_VkInstanceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkInstanceCreateInfo * forUnmarshaling)549 void unmarshal_VkInstanceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
550 VkInstanceCreateInfo* forUnmarshaling) {
551 (void)rootType;
552 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
553 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
554 rootType = forUnmarshaling->sType;
555 }
556 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
557 vkStream->read((VkInstanceCreateFlags*)&forUnmarshaling->flags, sizeof(VkInstanceCreateFlags));
558 // WARNING PTR CHECK
559 const VkApplicationInfo* check_pApplicationInfo;
560 check_pApplicationInfo = (const VkApplicationInfo*)(uintptr_t)vkStream->getBe64();
561 if (forUnmarshaling->pApplicationInfo) {
562 if (!(check_pApplicationInfo)) {
563 fprintf(
564 stderr,
565 "fatal: forUnmarshaling->pApplicationInfo inconsistent between guest and host\n");
566 }
567 unmarshal_VkApplicationInfo(vkStream, rootType,
568 (VkApplicationInfo*)(forUnmarshaling->pApplicationInfo));
569 }
570 vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
571 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
572 vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
573 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
574 }
575
marshal_VkMemoryHeap(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryHeap * forMarshaling)576 void marshal_VkMemoryHeap(VulkanStreamGuest* vkStream, VkStructureType rootType,
577 const VkMemoryHeap* forMarshaling) {
578 (void)rootType;
579 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
580 vkStream->write((VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
581 }
582
unmarshal_VkMemoryHeap(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryHeap * forUnmarshaling)583 void unmarshal_VkMemoryHeap(VulkanStreamGuest* vkStream, VkStructureType rootType,
584 VkMemoryHeap* forUnmarshaling) {
585 (void)rootType;
586 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
587 vkStream->read((VkMemoryHeapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryHeapFlags));
588 }
589
marshal_VkMemoryType(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryType * forMarshaling)590 void marshal_VkMemoryType(VulkanStreamGuest* vkStream, VkStructureType rootType,
591 const VkMemoryType* forMarshaling) {
592 (void)rootType;
593 vkStream->write((VkMemoryPropertyFlags*)&forMarshaling->propertyFlags,
594 sizeof(VkMemoryPropertyFlags));
595 vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
596 }
597
unmarshal_VkMemoryType(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryType * forUnmarshaling)598 void unmarshal_VkMemoryType(VulkanStreamGuest* vkStream, VkStructureType rootType,
599 VkMemoryType* forUnmarshaling) {
600 (void)rootType;
601 vkStream->read((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags,
602 sizeof(VkMemoryPropertyFlags));
603 vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
604 }
605
marshal_VkPhysicalDeviceFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures * forMarshaling)606 void marshal_VkPhysicalDeviceFeatures(VulkanStreamGuest* vkStream, VkStructureType rootType,
607 const VkPhysicalDeviceFeatures* forMarshaling) {
608 (void)rootType;
609 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
610 vkStream->write((VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
611 vkStream->write((VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
612 vkStream->write((VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
613 vkStream->write((VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
614 vkStream->write((VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
615 vkStream->write((VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
616 vkStream->write((VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
617 vkStream->write((VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
618 vkStream->write((VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
619 vkStream->write((VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
620 vkStream->write((VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
621 vkStream->write((VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
622 vkStream->write((VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
623 vkStream->write((VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
624 vkStream->write((VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
625 vkStream->write((VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
626 vkStream->write((VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
627 vkStream->write((VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
628 vkStream->write((VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
629 vkStream->write((VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
630 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
631 vkStream->write((VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
632 vkStream->write((VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
633 vkStream->write((VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
634 vkStream->write((VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
635 vkStream->write((VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
636 vkStream->write((VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize,
637 sizeof(VkBool32));
638 vkStream->write((VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
639 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
640 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
641 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat,
642 sizeof(VkBool32));
643 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat,
644 sizeof(VkBool32));
645 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing,
646 sizeof(VkBool32));
647 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing,
648 sizeof(VkBool32));
649 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing,
650 sizeof(VkBool32));
651 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing,
652 sizeof(VkBool32));
653 vkStream->write((VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
654 vkStream->write((VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
655 vkStream->write((VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
656 vkStream->write((VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
657 vkStream->write((VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
658 vkStream->write((VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
659 vkStream->write((VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
660 vkStream->write((VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
661 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
662 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
663 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
664 vkStream->write((VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
665 vkStream->write((VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
666 vkStream->write((VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
667 vkStream->write((VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
668 vkStream->write((VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
669 vkStream->write((VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
670 vkStream->write((VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
671 }
672
unmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceFeatures * forUnmarshaling)673 void unmarshal_VkPhysicalDeviceFeatures(VulkanStreamGuest* vkStream, VkStructureType rootType,
674 VkPhysicalDeviceFeatures* forUnmarshaling) {
675 (void)rootType;
676 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess, sizeof(VkBool32));
677 vkStream->read((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, sizeof(VkBool32));
678 vkStream->read((VkBool32*)&forUnmarshaling->imageCubeArray, sizeof(VkBool32));
679 vkStream->read((VkBool32*)&forUnmarshaling->independentBlend, sizeof(VkBool32));
680 vkStream->read((VkBool32*)&forUnmarshaling->geometryShader, sizeof(VkBool32));
681 vkStream->read((VkBool32*)&forUnmarshaling->tessellationShader, sizeof(VkBool32));
682 vkStream->read((VkBool32*)&forUnmarshaling->sampleRateShading, sizeof(VkBool32));
683 vkStream->read((VkBool32*)&forUnmarshaling->dualSrcBlend, sizeof(VkBool32));
684 vkStream->read((VkBool32*)&forUnmarshaling->logicOp, sizeof(VkBool32));
685 vkStream->read((VkBool32*)&forUnmarshaling->multiDrawIndirect, sizeof(VkBool32));
686 vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
687 vkStream->read((VkBool32*)&forUnmarshaling->depthClamp, sizeof(VkBool32));
688 vkStream->read((VkBool32*)&forUnmarshaling->depthBiasClamp, sizeof(VkBool32));
689 vkStream->read((VkBool32*)&forUnmarshaling->fillModeNonSolid, sizeof(VkBool32));
690 vkStream->read((VkBool32*)&forUnmarshaling->depthBounds, sizeof(VkBool32));
691 vkStream->read((VkBool32*)&forUnmarshaling->wideLines, sizeof(VkBool32));
692 vkStream->read((VkBool32*)&forUnmarshaling->largePoints, sizeof(VkBool32));
693 vkStream->read((VkBool32*)&forUnmarshaling->alphaToOne, sizeof(VkBool32));
694 vkStream->read((VkBool32*)&forUnmarshaling->multiViewport, sizeof(VkBool32));
695 vkStream->read((VkBool32*)&forUnmarshaling->samplerAnisotropy, sizeof(VkBool32));
696 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionETC2, sizeof(VkBool32));
697 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
698 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionBC, sizeof(VkBool32));
699 vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, sizeof(VkBool32));
700 vkStream->read((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
701 vkStream->read((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
702 vkStream->read((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
703 vkStream->read((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize,
704 sizeof(VkBool32));
705 vkStream->read((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, sizeof(VkBool32));
706 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats,
707 sizeof(VkBool32));
708 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
709 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat,
710 sizeof(VkBool32));
711 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat,
712 sizeof(VkBool32));
713 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing,
714 sizeof(VkBool32));
715 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing,
716 sizeof(VkBool32));
717 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing,
718 sizeof(VkBool32));
719 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing,
720 sizeof(VkBool32));
721 vkStream->read((VkBool32*)&forUnmarshaling->shaderClipDistance, sizeof(VkBool32));
722 vkStream->read((VkBool32*)&forUnmarshaling->shaderCullDistance, sizeof(VkBool32));
723 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat64, sizeof(VkBool32));
724 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt64, sizeof(VkBool32));
725 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt16, sizeof(VkBool32));
726 vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceResidency, sizeof(VkBool32));
727 vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceMinLod, sizeof(VkBool32));
728 vkStream->read((VkBool32*)&forUnmarshaling->sparseBinding, sizeof(VkBool32));
729 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, sizeof(VkBool32));
730 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, sizeof(VkBool32));
731 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, sizeof(VkBool32));
732 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency2Samples, sizeof(VkBool32));
733 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency4Samples, sizeof(VkBool32));
734 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency8Samples, sizeof(VkBool32));
735 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency16Samples, sizeof(VkBool32));
736 vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyAliased, sizeof(VkBool32));
737 vkStream->read((VkBool32*)&forUnmarshaling->variableMultisampleRate, sizeof(VkBool32));
738 vkStream->read((VkBool32*)&forUnmarshaling->inheritedQueries, sizeof(VkBool32));
739 }
740
marshal_VkPhysicalDeviceLimits(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLimits * forMarshaling)741 void marshal_VkPhysicalDeviceLimits(VulkanStreamGuest* vkStream, VkStructureType rootType,
742 const VkPhysicalDeviceLimits* forMarshaling) {
743 (void)rootType;
744 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
745 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
746 vkStream->write((uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
747 vkStream->write((uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
748 vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
749 vkStream->write((uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
750 vkStream->write((uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
751 vkStream->write((uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
752 vkStream->write((uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
753 vkStream->write((uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
754 vkStream->write((uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
755 vkStream->write((VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
756 vkStream->write((VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
757 vkStream->write((uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
758 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
759 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers,
760 sizeof(uint32_t));
761 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers,
762 sizeof(uint32_t));
763 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages,
764 sizeof(uint32_t));
765 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages,
766 sizeof(uint32_t));
767 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments,
768 sizeof(uint32_t));
769 vkStream->write((uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
770 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
771 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
772 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic,
773 sizeof(uint32_t));
774 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
775 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic,
776 sizeof(uint32_t));
777 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
778 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
779 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
780 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
781 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
782 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
783 vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
784 vkStream->write((uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
785 vkStream->write((uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
786 vkStream->write((uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
787 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents,
788 sizeof(uint32_t));
789 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents,
790 sizeof(uint32_t));
791 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents,
792 sizeof(uint32_t));
793 vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents,
794 sizeof(uint32_t));
795 vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents,
796 sizeof(uint32_t));
797 vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents,
798 sizeof(uint32_t));
799 vkStream->write((uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
800 vkStream->write((uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
801 vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
802 vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
803 vkStream->write((uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
804 vkStream->write((uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
805 vkStream->write((uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
806 vkStream->write((uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
807 vkStream->write((uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources,
808 sizeof(uint32_t));
809 vkStream->write((uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
810 vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
811 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
812 vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
813 vkStream->write((uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
814 vkStream->write((uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
815 vkStream->write((uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
816 vkStream->write((uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
817 vkStream->write((uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
818 vkStream->write((float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
819 vkStream->write((float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
820 vkStream->write((uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
821 vkStream->write((uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
822 vkStream->write((float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
823 vkStream->write((uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
824 uint64_t cgen_var_0 = (uint64_t)forMarshaling->minMemoryMapAlignment;
825 vkStream->putBe64(cgen_var_0);
826 vkStream->write((VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment,
827 sizeof(VkDeviceSize));
828 vkStream->write((VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment,
829 sizeof(VkDeviceSize));
830 vkStream->write((VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment,
831 sizeof(VkDeviceSize));
832 vkStream->write((int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
833 vkStream->write((uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
834 vkStream->write((int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
835 vkStream->write((uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
836 vkStream->write((float*)&forMarshaling->minInterpolationOffset, sizeof(float));
837 vkStream->write((float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
838 vkStream->write((uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
839 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
840 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
841 vkStream->write((uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
842 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts,
843 sizeof(VkSampleCountFlags));
844 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts,
845 sizeof(VkSampleCountFlags));
846 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts,
847 sizeof(VkSampleCountFlags));
848 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts,
849 sizeof(VkSampleCountFlags));
850 vkStream->write((uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
851 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts,
852 sizeof(VkSampleCountFlags));
853 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts,
854 sizeof(VkSampleCountFlags));
855 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts,
856 sizeof(VkSampleCountFlags));
857 vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts,
858 sizeof(VkSampleCountFlags));
859 vkStream->write((VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts,
860 sizeof(VkSampleCountFlags));
861 vkStream->write((uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
862 vkStream->write((VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
863 vkStream->write((float*)&forMarshaling->timestampPeriod, sizeof(float));
864 vkStream->write((uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
865 vkStream->write((uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
866 vkStream->write((uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
867 vkStream->write((uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
868 vkStream->write((float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
869 vkStream->write((float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
870 vkStream->write((float*)&forMarshaling->pointSizeGranularity, sizeof(float));
871 vkStream->write((float*)&forMarshaling->lineWidthGranularity, sizeof(float));
872 vkStream->write((VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
873 vkStream->write((VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
874 vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment,
875 sizeof(VkDeviceSize));
876 vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment,
877 sizeof(VkDeviceSize));
878 vkStream->write((VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
879 }
880
unmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceLimits * forUnmarshaling)881 void unmarshal_VkPhysicalDeviceLimits(VulkanStreamGuest* vkStream, VkStructureType rootType,
882 VkPhysicalDeviceLimits* forUnmarshaling) {
883 (void)rootType;
884 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension1D, sizeof(uint32_t));
885 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension2D, sizeof(uint32_t));
886 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension3D, sizeof(uint32_t));
887 vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimensionCube, sizeof(uint32_t));
888 vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
889 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelBufferElements, sizeof(uint32_t));
890 vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBufferRange, sizeof(uint32_t));
891 vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBufferRange, sizeof(uint32_t));
892 vkStream->read((uint32_t*)&forUnmarshaling->maxPushConstantsSize, sizeof(uint32_t));
893 vkStream->read((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
894 vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
895 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
896 vkStream->read((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
897 vkStream->read((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
898 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
899 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers,
900 sizeof(uint32_t));
901 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers,
902 sizeof(uint32_t));
903 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages,
904 sizeof(uint32_t));
905 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages,
906 sizeof(uint32_t));
907 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments,
908 sizeof(uint32_t));
909 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageResources, sizeof(uint32_t));
910 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
911 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
912 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic,
913 sizeof(uint32_t));
914 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
915 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic,
916 sizeof(uint32_t));
917 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
918 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
919 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
920 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, sizeof(uint32_t));
921 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindings, sizeof(uint32_t));
922 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
923 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
924 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, sizeof(uint32_t));
925 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
926 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, sizeof(uint32_t));
927 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents,
928 sizeof(uint32_t));
929 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents,
930 sizeof(uint32_t));
931 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents,
932 sizeof(uint32_t));
933 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents,
934 sizeof(uint32_t));
935 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents,
936 sizeof(uint32_t));
937 vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents,
938 sizeof(uint32_t));
939 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
940 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, sizeof(uint32_t));
941 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
942 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
943 vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
944 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, sizeof(uint32_t));
945 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
946 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
947 vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources,
948 sizeof(uint32_t));
949 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
950 vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
951 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
952 vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
953 vkStream->read((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, sizeof(uint32_t));
954 vkStream->read((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, sizeof(uint32_t));
955 vkStream->read((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, sizeof(uint32_t));
956 vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
957 vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, sizeof(uint32_t));
958 vkStream->read((float*)&forUnmarshaling->maxSamplerLodBias, sizeof(float));
959 vkStream->read((float*)&forUnmarshaling->maxSamplerAnisotropy, sizeof(float));
960 vkStream->read((uint32_t*)&forUnmarshaling->maxViewports, sizeof(uint32_t));
961 vkStream->read((uint32_t*)forUnmarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
962 vkStream->read((float*)forUnmarshaling->viewportBoundsRange, 2 * sizeof(float));
963 vkStream->read((uint32_t*)&forUnmarshaling->viewportSubPixelBits, sizeof(uint32_t));
964 forUnmarshaling->minMemoryMapAlignment = (size_t)vkStream->getBe64();
965 vkStream->read((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment,
966 sizeof(VkDeviceSize));
967 vkStream->read((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment,
968 sizeof(VkDeviceSize));
969 vkStream->read((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment,
970 sizeof(VkDeviceSize));
971 vkStream->read((int32_t*)&forUnmarshaling->minTexelOffset, sizeof(int32_t));
972 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelOffset, sizeof(uint32_t));
973 vkStream->read((int32_t*)&forUnmarshaling->minTexelGatherOffset, sizeof(int32_t));
974 vkStream->read((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, sizeof(uint32_t));
975 vkStream->read((float*)&forUnmarshaling->minInterpolationOffset, sizeof(float));
976 vkStream->read((float*)&forUnmarshaling->maxInterpolationOffset, sizeof(float));
977 vkStream->read((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
978 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferWidth, sizeof(uint32_t));
979 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferHeight, sizeof(uint32_t));
980 vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferLayers, sizeof(uint32_t));
981 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts,
982 sizeof(VkSampleCountFlags));
983 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts,
984 sizeof(VkSampleCountFlags));
985 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts,
986 sizeof(VkSampleCountFlags));
987 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts,
988 sizeof(VkSampleCountFlags));
989 vkStream->read((uint32_t*)&forUnmarshaling->maxColorAttachments, sizeof(uint32_t));
990 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts,
991 sizeof(VkSampleCountFlags));
992 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts,
993 sizeof(VkSampleCountFlags));
994 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts,
995 sizeof(VkSampleCountFlags));
996 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts,
997 sizeof(VkSampleCountFlags));
998 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts,
999 sizeof(VkSampleCountFlags));
1000 vkStream->read((uint32_t*)&forUnmarshaling->maxSampleMaskWords, sizeof(uint32_t));
1001 vkStream->read((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
1002 vkStream->read((float*)&forUnmarshaling->timestampPeriod, sizeof(float));
1003 vkStream->read((uint32_t*)&forUnmarshaling->maxClipDistances, sizeof(uint32_t));
1004 vkStream->read((uint32_t*)&forUnmarshaling->maxCullDistances, sizeof(uint32_t));
1005 vkStream->read((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
1006 vkStream->read((uint32_t*)&forUnmarshaling->discreteQueuePriorities, sizeof(uint32_t));
1007 vkStream->read((float*)forUnmarshaling->pointSizeRange, 2 * sizeof(float));
1008 vkStream->read((float*)forUnmarshaling->lineWidthRange, 2 * sizeof(float));
1009 vkStream->read((float*)&forUnmarshaling->pointSizeGranularity, sizeof(float));
1010 vkStream->read((float*)&forUnmarshaling->lineWidthGranularity, sizeof(float));
1011 vkStream->read((VkBool32*)&forUnmarshaling->strictLines, sizeof(VkBool32));
1012 vkStream->read((VkBool32*)&forUnmarshaling->standardSampleLocations, sizeof(VkBool32));
1013 vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment,
1014 sizeof(VkDeviceSize));
1015 vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment,
1016 sizeof(VkDeviceSize));
1017 vkStream->read((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
1018 }
1019
marshal_VkPhysicalDeviceMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties * forMarshaling)1020 void marshal_VkPhysicalDeviceMemoryProperties(
1021 VulkanStreamGuest* vkStream, VkStructureType rootType,
1022 const VkPhysicalDeviceMemoryProperties* forMarshaling) {
1023 (void)rootType;
1024 vkStream->write((uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
1025 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
1026 marshal_VkMemoryType(vkStream, rootType, (VkMemoryType*)(forMarshaling->memoryTypes + i));
1027 }
1028 vkStream->write((uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
1029 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
1030 marshal_VkMemoryHeap(vkStream, rootType, (VkMemoryHeap*)(forMarshaling->memoryHeaps + i));
1031 }
1032 }
1033
unmarshal_VkPhysicalDeviceMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMemoryProperties * forUnmarshaling)1034 void unmarshal_VkPhysicalDeviceMemoryProperties(VulkanStreamGuest* vkStream,
1035 VkStructureType rootType,
1036 VkPhysicalDeviceMemoryProperties* forUnmarshaling) {
1037 (void)rootType;
1038 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeCount, sizeof(uint32_t));
1039 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
1040 unmarshal_VkMemoryType(vkStream, rootType,
1041 (VkMemoryType*)(forUnmarshaling->memoryTypes + i));
1042 }
1043 vkStream->read((uint32_t*)&forUnmarshaling->memoryHeapCount, sizeof(uint32_t));
1044 for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
1045 unmarshal_VkMemoryHeap(vkStream, rootType,
1046 (VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i));
1047 }
1048 }
1049
marshal_VkPhysicalDeviceSparseProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseProperties * forMarshaling)1050 void marshal_VkPhysicalDeviceSparseProperties(
1051 VulkanStreamGuest* vkStream, VkStructureType rootType,
1052 const VkPhysicalDeviceSparseProperties* forMarshaling) {
1053 (void)rootType;
1054 vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
1055 vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape,
1056 sizeof(VkBool32));
1057 vkStream->write((VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
1058 vkStream->write((VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
1059 vkStream->write((VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
1060 }
1061
unmarshal_VkPhysicalDeviceSparseProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSparseProperties * forUnmarshaling)1062 void unmarshal_VkPhysicalDeviceSparseProperties(VulkanStreamGuest* vkStream,
1063 VkStructureType rootType,
1064 VkPhysicalDeviceSparseProperties* forUnmarshaling) {
1065 (void)rootType;
1066 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
1067 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape,
1068 sizeof(VkBool32));
1069 vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
1070 vkStream->read((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, sizeof(VkBool32));
1071 vkStream->read((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, sizeof(VkBool32));
1072 }
1073
marshal_VkPhysicalDeviceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties * forMarshaling)1074 void marshal_VkPhysicalDeviceProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1075 const VkPhysicalDeviceProperties* forMarshaling) {
1076 (void)rootType;
1077 vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
1078 vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
1079 vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
1080 vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
1081 vkStream->write((VkPhysicalDeviceType*)&forMarshaling->deviceType,
1082 sizeof(VkPhysicalDeviceType));
1083 vkStream->write((char*)forMarshaling->deviceName,
1084 VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
1085 vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
1086 marshal_VkPhysicalDeviceLimits(vkStream, rootType,
1087 (VkPhysicalDeviceLimits*)(&forMarshaling->limits));
1088 marshal_VkPhysicalDeviceSparseProperties(
1089 vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties));
1090 }
1091
unmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProperties * forUnmarshaling)1092 void unmarshal_VkPhysicalDeviceProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1093 VkPhysicalDeviceProperties* forUnmarshaling) {
1094 (void)rootType;
1095 vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
1096 vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t));
1097 vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
1098 vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
1099 vkStream->read((VkPhysicalDeviceType*)&forUnmarshaling->deviceType,
1100 sizeof(VkPhysicalDeviceType));
1101 vkStream->read((char*)forUnmarshaling->deviceName,
1102 VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
1103 vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
1104 unmarshal_VkPhysicalDeviceLimits(vkStream, rootType,
1105 (VkPhysicalDeviceLimits*)(&forUnmarshaling->limits));
1106 unmarshal_VkPhysicalDeviceSparseProperties(
1107 vkStream, rootType,
1108 (VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties));
1109 }
1110
marshal_VkQueueFamilyProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties * forMarshaling)1111 void marshal_VkQueueFamilyProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1112 const VkQueueFamilyProperties* forMarshaling) {
1113 (void)rootType;
1114 vkStream->write((VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
1115 vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
1116 vkStream->write((uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
1117 marshal_VkExtent3D(vkStream, rootType,
1118 (VkExtent3D*)(&forMarshaling->minImageTransferGranularity));
1119 }
1120
unmarshal_VkQueueFamilyProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkQueueFamilyProperties * forUnmarshaling)1121 void unmarshal_VkQueueFamilyProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1122 VkQueueFamilyProperties* forUnmarshaling) {
1123 (void)rootType;
1124 vkStream->read((VkQueueFlags*)&forUnmarshaling->queueFlags, sizeof(VkQueueFlags));
1125 vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
1126 vkStream->read((uint32_t*)&forUnmarshaling->timestampValidBits, sizeof(uint32_t));
1127 unmarshal_VkExtent3D(vkStream, rootType,
1128 (VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity));
1129 }
1130
marshal_VkDeviceQueueCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueCreateInfo * forMarshaling)1131 void marshal_VkDeviceQueueCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1132 const VkDeviceQueueCreateInfo* forMarshaling) {
1133 (void)rootType;
1134 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1135 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1136 rootType = forMarshaling->sType;
1137 }
1138 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1139 vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
1140 sizeof(VkDeviceQueueCreateFlags));
1141 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
1142 vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
1143 vkStream->write((const float*)forMarshaling->pQueuePriorities,
1144 forMarshaling->queueCount * sizeof(const float));
1145 }
1146
unmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceQueueCreateInfo * forUnmarshaling)1147 void unmarshal_VkDeviceQueueCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1148 VkDeviceQueueCreateInfo* forUnmarshaling) {
1149 (void)rootType;
1150 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1151 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1152 rootType = forUnmarshaling->sType;
1153 }
1154 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1155 vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
1156 sizeof(VkDeviceQueueCreateFlags));
1157 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
1158 vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
1159 vkStream->read((float*)forUnmarshaling->pQueuePriorities,
1160 forUnmarshaling->queueCount * sizeof(const float));
1161 }
1162
marshal_VkDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceCreateInfo * forMarshaling)1163 void marshal_VkDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1164 const VkDeviceCreateInfo* forMarshaling) {
1165 (void)rootType;
1166 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1167 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1168 rootType = forMarshaling->sType;
1169 }
1170 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1171 vkStream->write((VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
1172 vkStream->write((uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
1173 if (forMarshaling) {
1174 for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) {
1175 marshal_VkDeviceQueueCreateInfo(
1176 vkStream, rootType,
1177 (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i));
1178 }
1179 }
1180 vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
1181 saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
1182 vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
1183 saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
1184 forMarshaling->enabledExtensionCount);
1185 // WARNING PTR CHECK
1186 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
1187 vkStream->putBe64(cgen_var_0);
1188 if (forMarshaling->pEnabledFeatures) {
1189 marshal_VkPhysicalDeviceFeatures(
1190 vkStream, rootType, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures));
1191 }
1192 }
1193
unmarshal_VkDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceCreateInfo * forUnmarshaling)1194 void unmarshal_VkDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1195 VkDeviceCreateInfo* forUnmarshaling) {
1196 (void)rootType;
1197 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1198 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1199 rootType = forUnmarshaling->sType;
1200 }
1201 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1202 vkStream->read((VkDeviceCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceCreateFlags));
1203 vkStream->read((uint32_t*)&forUnmarshaling->queueCreateInfoCount, sizeof(uint32_t));
1204 if (forUnmarshaling) {
1205 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i) {
1206 unmarshal_VkDeviceQueueCreateInfo(
1207 vkStream, rootType,
1208 (VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i));
1209 }
1210 }
1211 vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
1212 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
1213 vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
1214 vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
1215 // WARNING PTR CHECK
1216 const VkPhysicalDeviceFeatures* check_pEnabledFeatures;
1217 check_pEnabledFeatures = (const VkPhysicalDeviceFeatures*)(uintptr_t)vkStream->getBe64();
1218 if (forUnmarshaling->pEnabledFeatures) {
1219 if (!(check_pEnabledFeatures)) {
1220 fprintf(
1221 stderr,
1222 "fatal: forUnmarshaling->pEnabledFeatures inconsistent between guest and host\n");
1223 }
1224 unmarshal_VkPhysicalDeviceFeatures(
1225 vkStream, rootType, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures));
1226 }
1227 }
1228
marshal_VkExtensionProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExtensionProperties * forMarshaling)1229 void marshal_VkExtensionProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1230 const VkExtensionProperties* forMarshaling) {
1231 (void)rootType;
1232 vkStream->write((char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1233 vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1234 }
1235
unmarshal_VkExtensionProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExtensionProperties * forUnmarshaling)1236 void unmarshal_VkExtensionProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1237 VkExtensionProperties* forUnmarshaling) {
1238 (void)rootType;
1239 vkStream->read((char*)forUnmarshaling->extensionName,
1240 VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1241 vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
1242 }
1243
marshal_VkLayerProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkLayerProperties * forMarshaling)1244 void marshal_VkLayerProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1245 const VkLayerProperties* forMarshaling) {
1246 (void)rootType;
1247 vkStream->write((char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1248 vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
1249 vkStream->write((uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
1250 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1251 }
1252
unmarshal_VkLayerProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkLayerProperties * forUnmarshaling)1253 void unmarshal_VkLayerProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1254 VkLayerProperties* forUnmarshaling) {
1255 (void)rootType;
1256 vkStream->read((char*)forUnmarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
1257 vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
1258 vkStream->read((uint32_t*)&forUnmarshaling->implementationVersion, sizeof(uint32_t));
1259 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
1260 }
1261
marshal_VkSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo * forMarshaling)1262 void marshal_VkSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1263 const VkSubmitInfo* forMarshaling) {
1264 (void)rootType;
1265 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1266 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1267 rootType = forMarshaling->sType;
1268 }
1269 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1270 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1271 if (forMarshaling->waitSemaphoreCount) {
1272 uint64_t* cgen_var_0;
1273 vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1274 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1275 forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
1276 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1277 }
1278 vkStream->write((const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask,
1279 forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1280 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
1281 if (forMarshaling->commandBufferCount) {
1282 uint64_t* cgen_var_1;
1283 vkStream->alloc((void**)&cgen_var_1, forMarshaling->commandBufferCount * 8);
1284 vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(
1285 forMarshaling->pCommandBuffers, cgen_var_1, forMarshaling->commandBufferCount);
1286 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->commandBufferCount * 8);
1287 }
1288 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1289 if (forMarshaling->signalSemaphoreCount) {
1290 uint64_t* cgen_var_2;
1291 vkStream->alloc((void**)&cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
1292 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1293 forMarshaling->pSignalSemaphores, cgen_var_2, forMarshaling->signalSemaphoreCount);
1294 vkStream->write((uint64_t*)cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
1295 }
1296 }
1297
unmarshal_VkSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubmitInfo * forUnmarshaling)1298 void unmarshal_VkSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1299 VkSubmitInfo* forUnmarshaling) {
1300 (void)rootType;
1301 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1302 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1303 rootType = forUnmarshaling->sType;
1304 }
1305 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1306 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
1307 if (forUnmarshaling->waitSemaphoreCount) {
1308 uint64_t* cgen_var_0;
1309 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1310 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1311 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1312 cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
1313 forUnmarshaling->waitSemaphoreCount);
1314 }
1315 vkStream->read((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask,
1316 forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
1317 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
1318 if (forUnmarshaling->commandBufferCount) {
1319 uint64_t* cgen_var_1;
1320 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->commandBufferCount * 8);
1321 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->commandBufferCount * 8);
1322 vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(
1323 cgen_var_1, (VkCommandBuffer*)forUnmarshaling->pCommandBuffers,
1324 forUnmarshaling->commandBufferCount);
1325 }
1326 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
1327 if (forUnmarshaling->signalSemaphoreCount) {
1328 uint64_t* cgen_var_2;
1329 vkStream->alloc((void**)&cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
1330 vkStream->read((uint64_t*)cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
1331 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1332 cgen_var_2, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
1333 forUnmarshaling->signalSemaphoreCount);
1334 }
1335 }
1336
marshal_VkMappedMemoryRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMappedMemoryRange * forMarshaling)1337 void marshal_VkMappedMemoryRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
1338 const VkMappedMemoryRange* forMarshaling) {
1339 (void)rootType;
1340 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1341 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1342 rootType = forMarshaling->sType;
1343 }
1344 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1345 uint64_t cgen_var_0;
1346 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1347 1);
1348 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1349 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1350 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1351 }
1352
unmarshal_VkMappedMemoryRange(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMappedMemoryRange * forUnmarshaling)1353 void unmarshal_VkMappedMemoryRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
1354 VkMappedMemoryRange* forUnmarshaling) {
1355 (void)rootType;
1356 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1357 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1358 rootType = forUnmarshaling->sType;
1359 }
1360 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1361 uint64_t cgen_var_0;
1362 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1363 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1364 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1365 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
1366 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1367 }
1368
marshal_VkMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateInfo * forMarshaling)1369 void marshal_VkMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1370 const VkMemoryAllocateInfo* forMarshaling) {
1371 (void)rootType;
1372 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1373 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1374 rootType = forMarshaling->sType;
1375 }
1376 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1377 vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
1378 vkStream->write((uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
1379 }
1380
unmarshal_VkMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryAllocateInfo * forUnmarshaling)1381 void unmarshal_VkMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1382 VkMemoryAllocateInfo* forUnmarshaling) {
1383 (void)rootType;
1384 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1385 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1386 rootType = forUnmarshaling->sType;
1387 }
1388 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1389 vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize));
1390 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeIndex, sizeof(uint32_t));
1391 }
1392
marshal_VkMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements * forMarshaling)1393 void marshal_VkMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
1394 const VkMemoryRequirements* forMarshaling) {
1395 (void)rootType;
1396 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1397 vkStream->write((VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
1398 vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
1399 }
1400
unmarshal_VkMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryRequirements * forUnmarshaling)1401 void unmarshal_VkMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
1402 VkMemoryRequirements* forUnmarshaling) {
1403 (void)rootType;
1404 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1405 vkStream->read((VkDeviceSize*)&forUnmarshaling->alignment, sizeof(VkDeviceSize));
1406 vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
1407 }
1408
marshal_VkSparseMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseMemoryBind * forMarshaling)1409 void marshal_VkSparseMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1410 const VkSparseMemoryBind* forMarshaling) {
1411 (void)rootType;
1412 vkStream->write((VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
1413 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1414 uint64_t cgen_var_0;
1415 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1416 1);
1417 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1418 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1419 vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
1420 sizeof(VkSparseMemoryBindFlags));
1421 }
1422
unmarshal_VkSparseMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseMemoryBind * forUnmarshaling)1423 void unmarshal_VkSparseMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1424 VkSparseMemoryBind* forUnmarshaling) {
1425 (void)rootType;
1426 vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceOffset, sizeof(VkDeviceSize));
1427 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1428 uint64_t cgen_var_0;
1429 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1430 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1431 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1432 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
1433 vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
1434 sizeof(VkSparseMemoryBindFlags));
1435 }
1436
marshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseBufferMemoryBindInfo * forMarshaling)1437 void marshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1438 const VkSparseBufferMemoryBindInfo* forMarshaling) {
1439 (void)rootType;
1440 uint64_t cgen_var_0;
1441 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
1442 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1443 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1444 if (forMarshaling) {
1445 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1446 marshal_VkSparseMemoryBind(vkStream, rootType,
1447 (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
1448 }
1449 }
1450 }
1451
unmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseBufferMemoryBindInfo * forUnmarshaling)1452 void unmarshal_VkSparseBufferMemoryBindInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1453 VkSparseBufferMemoryBindInfo* forUnmarshaling) {
1454 (void)rootType;
1455 uint64_t cgen_var_0;
1456 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1457 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
1458 (VkBuffer*)&forUnmarshaling->buffer, 1);
1459 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1460 if (forUnmarshaling) {
1461 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1462 unmarshal_VkSparseMemoryBind(vkStream, rootType,
1463 (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
1464 }
1465 }
1466 }
1467
marshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageOpaqueMemoryBindInfo * forMarshaling)1468 void marshal_VkSparseImageOpaqueMemoryBindInfo(
1469 VulkanStreamGuest* vkStream, VkStructureType rootType,
1470 const VkSparseImageOpaqueMemoryBindInfo* forMarshaling) {
1471 (void)rootType;
1472 uint64_t cgen_var_0;
1473 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
1474 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1475 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1476 if (forMarshaling) {
1477 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1478 marshal_VkSparseMemoryBind(vkStream, rootType,
1479 (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
1480 }
1481 }
1482 }
1483
unmarshal_VkSparseImageOpaqueMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageOpaqueMemoryBindInfo * forUnmarshaling)1484 void unmarshal_VkSparseImageOpaqueMemoryBindInfo(
1485 VulkanStreamGuest* vkStream, VkStructureType rootType,
1486 VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling) {
1487 (void)rootType;
1488 uint64_t cgen_var_0;
1489 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1490 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
1491 (VkImage*)&forUnmarshaling->image, 1);
1492 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1493 if (forUnmarshaling) {
1494 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1495 unmarshal_VkSparseMemoryBind(vkStream, rootType,
1496 (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
1497 }
1498 }
1499 }
1500
marshal_VkImageSubresource(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource * forMarshaling)1501 void marshal_VkImageSubresource(VulkanStreamGuest* vkStream, VkStructureType rootType,
1502 const VkImageSubresource* forMarshaling) {
1503 (void)rootType;
1504 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1505 vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
1506 vkStream->write((uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
1507 }
1508
unmarshal_VkImageSubresource(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageSubresource * forUnmarshaling)1509 void unmarshal_VkImageSubresource(VulkanStreamGuest* vkStream, VkStructureType rootType,
1510 VkImageSubresource* forUnmarshaling) {
1511 (void)rootType;
1512 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
1513 vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
1514 vkStream->read((uint32_t*)&forUnmarshaling->arrayLayer, sizeof(uint32_t));
1515 }
1516
marshal_VkSparseImageMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBind * forMarshaling)1517 void marshal_VkSparseImageMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1518 const VkSparseImageMemoryBind* forMarshaling) {
1519 (void)rootType;
1520 marshal_VkImageSubresource(vkStream, rootType,
1521 (VkImageSubresource*)(&forMarshaling->subresource));
1522 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->offset));
1523 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
1524 uint64_t cgen_var_0;
1525 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
1526 1);
1527 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1528 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
1529 vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
1530 sizeof(VkSparseMemoryBindFlags));
1531 }
1532
unmarshal_VkSparseImageMemoryBind(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageMemoryBind * forUnmarshaling)1533 void unmarshal_VkSparseImageMemoryBind(VulkanStreamGuest* vkStream, VkStructureType rootType,
1534 VkSparseImageMemoryBind* forUnmarshaling) {
1535 (void)rootType;
1536 unmarshal_VkImageSubresource(vkStream, rootType,
1537 (VkImageSubresource*)(&forUnmarshaling->subresource));
1538 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->offset));
1539 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
1540 uint64_t cgen_var_0;
1541 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1542 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
1543 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
1544 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
1545 vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
1546 sizeof(VkSparseMemoryBindFlags));
1547 }
1548
marshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryBindInfo * forMarshaling)1549 void marshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1550 const VkSparseImageMemoryBindInfo* forMarshaling) {
1551 (void)rootType;
1552 uint64_t cgen_var_0;
1553 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
1554 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1555 vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
1556 if (forMarshaling) {
1557 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
1558 marshal_VkSparseImageMemoryBind(
1559 vkStream, rootType, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i));
1560 }
1561 }
1562 }
1563
unmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageMemoryBindInfo * forUnmarshaling)1564 void unmarshal_VkSparseImageMemoryBindInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1565 VkSparseImageMemoryBindInfo* forUnmarshaling) {
1566 (void)rootType;
1567 uint64_t cgen_var_0;
1568 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1569 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
1570 (VkImage*)&forUnmarshaling->image, 1);
1571 vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
1572 if (forUnmarshaling) {
1573 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
1574 unmarshal_VkSparseImageMemoryBind(
1575 vkStream, rootType, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i));
1576 }
1577 }
1578 }
1579
marshal_VkBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindSparseInfo * forMarshaling)1580 void marshal_VkBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1581 const VkBindSparseInfo* forMarshaling) {
1582 (void)rootType;
1583 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1584 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1585 rootType = forMarshaling->sType;
1586 }
1587 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1588 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
1589 if (forMarshaling->waitSemaphoreCount) {
1590 uint64_t* cgen_var_0;
1591 vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1592 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1593 forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
1594 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
1595 }
1596 vkStream->write((uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
1597 if (forMarshaling) {
1598 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) {
1599 marshal_VkSparseBufferMemoryBindInfo(
1600 vkStream, rootType,
1601 (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i));
1602 }
1603 }
1604 vkStream->write((uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1605 if (forMarshaling) {
1606 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) {
1607 marshal_VkSparseImageOpaqueMemoryBindInfo(
1608 vkStream, rootType,
1609 (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i));
1610 }
1611 }
1612 vkStream->write((uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
1613 if (forMarshaling) {
1614 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) {
1615 marshal_VkSparseImageMemoryBindInfo(
1616 vkStream, rootType,
1617 (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i));
1618 }
1619 }
1620 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
1621 if (forMarshaling->signalSemaphoreCount) {
1622 uint64_t* cgen_var_1;
1623 vkStream->alloc((void**)&cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
1624 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
1625 forMarshaling->pSignalSemaphores, cgen_var_1, forMarshaling->signalSemaphoreCount);
1626 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
1627 }
1628 }
1629
unmarshal_VkBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindSparseInfo * forUnmarshaling)1630 void unmarshal_VkBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1631 VkBindSparseInfo* forUnmarshaling) {
1632 (void)rootType;
1633 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1634 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1635 rootType = forUnmarshaling->sType;
1636 }
1637 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1638 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
1639 if (forUnmarshaling->waitSemaphoreCount) {
1640 uint64_t* cgen_var_0;
1641 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1642 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
1643 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1644 cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
1645 forUnmarshaling->waitSemaphoreCount);
1646 }
1647 vkStream->read((uint32_t*)&forUnmarshaling->bufferBindCount, sizeof(uint32_t));
1648 if (forUnmarshaling) {
1649 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i) {
1650 unmarshal_VkSparseBufferMemoryBindInfo(
1651 vkStream, rootType,
1652 (VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i));
1653 }
1654 }
1655 vkStream->read((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, sizeof(uint32_t));
1656 if (forUnmarshaling) {
1657 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i) {
1658 unmarshal_VkSparseImageOpaqueMemoryBindInfo(
1659 vkStream, rootType,
1660 (VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i));
1661 }
1662 }
1663 vkStream->read((uint32_t*)&forUnmarshaling->imageBindCount, sizeof(uint32_t));
1664 if (forUnmarshaling) {
1665 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i) {
1666 unmarshal_VkSparseImageMemoryBindInfo(
1667 vkStream, rootType,
1668 (VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i));
1669 }
1670 }
1671 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
1672 if (forUnmarshaling->signalSemaphoreCount) {
1673 uint64_t* cgen_var_1;
1674 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
1675 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
1676 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
1677 cgen_var_1, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
1678 forUnmarshaling->signalSemaphoreCount);
1679 }
1680 }
1681
marshal_VkSparseImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties * forMarshaling)1682 void marshal_VkSparseImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1683 const VkSparseImageFormatProperties* forMarshaling) {
1684 (void)rootType;
1685 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
1686 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageGranularity));
1687 vkStream->write((VkSparseImageFormatFlags*)&forMarshaling->flags,
1688 sizeof(VkSparseImageFormatFlags));
1689 }
1690
unmarshal_VkSparseImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageFormatProperties * forUnmarshaling)1691 void unmarshal_VkSparseImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
1692 VkSparseImageFormatProperties* forUnmarshaling) {
1693 (void)rootType;
1694 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
1695 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageGranularity));
1696 vkStream->read((VkSparseImageFormatFlags*)&forUnmarshaling->flags,
1697 sizeof(VkSparseImageFormatFlags));
1698 }
1699
marshal_VkSparseImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements * forMarshaling)1700 void marshal_VkSparseImageMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
1701 const VkSparseImageMemoryRequirements* forMarshaling) {
1702 (void)rootType;
1703 marshal_VkSparseImageFormatProperties(
1704 vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties));
1705 vkStream->write((uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1706 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1707 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1708 vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1709 }
1710
unmarshal_VkSparseImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageMemoryRequirements * forUnmarshaling)1711 void unmarshal_VkSparseImageMemoryRequirements(VulkanStreamGuest* vkStream,
1712 VkStructureType rootType,
1713 VkSparseImageMemoryRequirements* forUnmarshaling) {
1714 (void)rootType;
1715 unmarshal_VkSparseImageFormatProperties(
1716 vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties));
1717 vkStream->read((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, sizeof(uint32_t));
1718 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, sizeof(VkDeviceSize));
1719 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
1720 vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, sizeof(VkDeviceSize));
1721 }
1722
marshal_VkFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceCreateInfo * forMarshaling)1723 void marshal_VkFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1724 const VkFenceCreateInfo* forMarshaling) {
1725 (void)rootType;
1726 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1727 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1728 rootType = forMarshaling->sType;
1729 }
1730 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1731 vkStream->write((VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
1732 }
1733
unmarshal_VkFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFenceCreateInfo * forUnmarshaling)1734 void unmarshal_VkFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1735 VkFenceCreateInfo* forUnmarshaling) {
1736 (void)rootType;
1737 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1738 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1739 rootType = forUnmarshaling->sType;
1740 }
1741 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1742 vkStream->read((VkFenceCreateFlags*)&forUnmarshaling->flags, sizeof(VkFenceCreateFlags));
1743 }
1744
marshal_VkSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreCreateInfo * forMarshaling)1745 void marshal_VkSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1746 const VkSemaphoreCreateInfo* forMarshaling) {
1747 (void)rootType;
1748 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1749 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1750 rootType = forMarshaling->sType;
1751 }
1752 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1753 vkStream->write((VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
1754 }
1755
unmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreCreateInfo * forUnmarshaling)1756 void unmarshal_VkSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1757 VkSemaphoreCreateInfo* forUnmarshaling) {
1758 (void)rootType;
1759 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1760 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1761 rootType = forUnmarshaling->sType;
1762 }
1763 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1764 vkStream->read((VkSemaphoreCreateFlags*)&forUnmarshaling->flags,
1765 sizeof(VkSemaphoreCreateFlags));
1766 }
1767
marshal_VkEventCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkEventCreateInfo * forMarshaling)1768 void marshal_VkEventCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1769 const VkEventCreateInfo* forMarshaling) {
1770 (void)rootType;
1771 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1772 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1773 rootType = forMarshaling->sType;
1774 }
1775 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1776 vkStream->write((VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
1777 }
1778
unmarshal_VkEventCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkEventCreateInfo * forUnmarshaling)1779 void unmarshal_VkEventCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1780 VkEventCreateInfo* forUnmarshaling) {
1781 (void)rootType;
1782 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1783 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1784 rootType = forUnmarshaling->sType;
1785 }
1786 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1787 vkStream->read((VkEventCreateFlags*)&forUnmarshaling->flags, sizeof(VkEventCreateFlags));
1788 }
1789
marshal_VkQueryPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueryPoolCreateInfo * forMarshaling)1790 void marshal_VkQueryPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1791 const VkQueryPoolCreateInfo* forMarshaling) {
1792 (void)rootType;
1793 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1794 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1795 rootType = forMarshaling->sType;
1796 }
1797 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1798 vkStream->write((VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
1799 vkStream->write((VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
1800 vkStream->write((uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
1801 vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
1802 sizeof(VkQueryPipelineStatisticFlags));
1803 }
1804
unmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkQueryPoolCreateInfo * forUnmarshaling)1805 void unmarshal_VkQueryPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1806 VkQueryPoolCreateInfo* forUnmarshaling) {
1807 (void)rootType;
1808 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1809 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1810 rootType = forUnmarshaling->sType;
1811 }
1812 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1813 vkStream->read((VkQueryPoolCreateFlags*)&forUnmarshaling->flags,
1814 sizeof(VkQueryPoolCreateFlags));
1815 vkStream->read((VkQueryType*)&forUnmarshaling->queryType, sizeof(VkQueryType));
1816 vkStream->read((uint32_t*)&forUnmarshaling->queryCount, sizeof(uint32_t));
1817 vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
1818 sizeof(VkQueryPipelineStatisticFlags));
1819 }
1820
marshal_VkBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCreateInfo * forMarshaling)1821 void marshal_VkBufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1822 const VkBufferCreateInfo* forMarshaling) {
1823 (void)rootType;
1824 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1825 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1826 rootType = forMarshaling->sType;
1827 }
1828 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1829 vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
1830 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1831 vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
1832 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1833 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1834 // WARNING PTR CHECK
1835 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1836 vkStream->putBe64(cgen_var_0);
1837 if (forMarshaling->pQueueFamilyIndices) {
1838 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
1839 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1840 }
1841 }
1842
unmarshal_VkBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferCreateInfo * forUnmarshaling)1843 void unmarshal_VkBufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1844 VkBufferCreateInfo* forUnmarshaling) {
1845 (void)rootType;
1846 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1847 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1848 rootType = forUnmarshaling->sType;
1849 }
1850 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1851 vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
1852 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1853 vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
1854 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
1855 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1856 // WARNING PTR CHECK
1857 const uint32_t* check_pQueueFamilyIndices;
1858 check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
1859 if (forUnmarshaling->pQueueFamilyIndices) {
1860 if (!(check_pQueueFamilyIndices)) {
1861 fprintf(stderr,
1862 "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and "
1863 "host\n");
1864 }
1865 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
1866 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1867 }
1868 }
1869
marshal_VkBufferViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferViewCreateInfo * forMarshaling)1870 void marshal_VkBufferViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1871 const VkBufferViewCreateInfo* forMarshaling) {
1872 (void)rootType;
1873 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1874 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1875 rootType = forMarshaling->sType;
1876 }
1877 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1878 vkStream->write((VkBufferViewCreateFlags*)&forMarshaling->flags,
1879 sizeof(VkBufferViewCreateFlags));
1880 uint64_t cgen_var_0;
1881 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
1882 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
1883 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1884 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1885 vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
1886 }
1887
unmarshal_VkBufferViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferViewCreateInfo * forUnmarshaling)1888 void unmarshal_VkBufferViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1889 VkBufferViewCreateInfo* forUnmarshaling) {
1890 (void)rootType;
1891 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1893 rootType = forUnmarshaling->sType;
1894 }
1895 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1896 vkStream->read((VkBufferViewCreateFlags*)&forUnmarshaling->flags,
1897 sizeof(VkBufferViewCreateFlags));
1898 uint64_t cgen_var_0;
1899 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
1900 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
1901 (VkBuffer*)&forUnmarshaling->buffer, 1);
1902 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
1903 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
1904 vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
1905 }
1906
marshal_VkImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCreateInfo * forMarshaling)1907 void marshal_VkImageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1908 const VkImageCreateInfo* forMarshaling) {
1909 (void)rootType;
1910 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
1911 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1912 rootType = forMarshaling->sType;
1913 }
1914 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
1915 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
1916 vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
1917 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
1918 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
1919 vkStream->write((uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
1920 vkStream->write((uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
1921 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
1922 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
1923 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
1924 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
1925 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1926 // WARNING PTR CHECK
1927 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
1928 vkStream->putBe64(cgen_var_0);
1929 if (forMarshaling->pQueueFamilyIndices) {
1930 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
1931 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1932 }
1933 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
1934 }
1935
unmarshal_VkImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageCreateInfo * forUnmarshaling)1936 void unmarshal_VkImageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
1937 VkImageCreateInfo* forUnmarshaling) {
1938 (void)rootType;
1939 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
1940 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1941 rootType = forUnmarshaling->sType;
1942 }
1943 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
1944 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
1945 vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType));
1946 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
1947 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
1948 vkStream->read((uint32_t*)&forUnmarshaling->mipLevels, sizeof(uint32_t));
1949 vkStream->read((uint32_t*)&forUnmarshaling->arrayLayers, sizeof(uint32_t));
1950 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
1951 sizeof(VkSampleCountFlagBits));
1952 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
1953 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
1954 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
1955 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
1956 // WARNING PTR CHECK
1957 const uint32_t* check_pQueueFamilyIndices;
1958 check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
1959 if (forUnmarshaling->pQueueFamilyIndices) {
1960 if (!(check_pQueueFamilyIndices)) {
1961 fprintf(stderr,
1962 "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and "
1963 "host\n");
1964 }
1965 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
1966 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
1967 }
1968 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
1969 }
1970
marshal_VkSubresourceLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout * forMarshaling)1971 void marshal_VkSubresourceLayout(VulkanStreamGuest* vkStream, VkStructureType rootType,
1972 const VkSubresourceLayout* forMarshaling) {
1973 (void)rootType;
1974 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
1975 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
1976 vkStream->write((VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
1977 vkStream->write((VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
1978 vkStream->write((VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
1979 }
1980
unmarshal_VkSubresourceLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubresourceLayout * forUnmarshaling)1981 void unmarshal_VkSubresourceLayout(VulkanStreamGuest* vkStream, VkStructureType rootType,
1982 VkSubresourceLayout* forUnmarshaling) {
1983 (void)rootType;
1984 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
1985 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
1986 vkStream->read((VkDeviceSize*)&forUnmarshaling->rowPitch, sizeof(VkDeviceSize));
1987 vkStream->read((VkDeviceSize*)&forUnmarshaling->arrayPitch, sizeof(VkDeviceSize));
1988 vkStream->read((VkDeviceSize*)&forUnmarshaling->depthPitch, sizeof(VkDeviceSize));
1989 }
1990
marshal_VkComponentMapping(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComponentMapping * forMarshaling)1991 void marshal_VkComponentMapping(VulkanStreamGuest* vkStream, VkStructureType rootType,
1992 const VkComponentMapping* forMarshaling) {
1993 (void)rootType;
1994 vkStream->write((VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
1995 vkStream->write((VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
1996 vkStream->write((VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
1997 vkStream->write((VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
1998 }
1999
unmarshal_VkComponentMapping(VulkanStreamGuest * vkStream,VkStructureType rootType,VkComponentMapping * forUnmarshaling)2000 void unmarshal_VkComponentMapping(VulkanStreamGuest* vkStream, VkStructureType rootType,
2001 VkComponentMapping* forUnmarshaling) {
2002 (void)rootType;
2003 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->r, sizeof(VkComponentSwizzle));
2004 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->g, sizeof(VkComponentSwizzle));
2005 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->b, sizeof(VkComponentSwizzle));
2006 vkStream->read((VkComponentSwizzle*)&forUnmarshaling->a, sizeof(VkComponentSwizzle));
2007 }
2008
marshal_VkImageViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewCreateInfo * forMarshaling)2009 void marshal_VkImageViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2010 const VkImageViewCreateInfo* forMarshaling) {
2011 (void)rootType;
2012 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2013 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2014 rootType = forMarshaling->sType;
2015 }
2016 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2017 vkStream->write((VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
2018 uint64_t cgen_var_0;
2019 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
2020 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2021 vkStream->write((VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
2022 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2023 marshal_VkComponentMapping(vkStream, rootType,
2024 (VkComponentMapping*)(&forMarshaling->components));
2025 marshal_VkImageSubresourceRange(vkStream, rootType,
2026 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
2027 }
2028
unmarshal_VkImageViewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageViewCreateInfo * forUnmarshaling)2029 void unmarshal_VkImageViewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2030 VkImageViewCreateInfo* forUnmarshaling) {
2031 (void)rootType;
2032 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2033 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2034 rootType = forUnmarshaling->sType;
2035 }
2036 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2037 vkStream->read((VkImageViewCreateFlags*)&forUnmarshaling->flags,
2038 sizeof(VkImageViewCreateFlags));
2039 uint64_t cgen_var_0;
2040 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2041 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
2042 (VkImage*)&forUnmarshaling->image, 1);
2043 vkStream->read((VkImageViewType*)&forUnmarshaling->viewType, sizeof(VkImageViewType));
2044 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2045 unmarshal_VkComponentMapping(vkStream, rootType,
2046 (VkComponentMapping*)(&forUnmarshaling->components));
2047 unmarshal_VkImageSubresourceRange(
2048 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
2049 }
2050
marshal_VkShaderModuleCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkShaderModuleCreateInfo * forMarshaling)2051 void marshal_VkShaderModuleCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2052 const VkShaderModuleCreateInfo* forMarshaling) {
2053 (void)rootType;
2054 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2055 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2056 rootType = forMarshaling->sType;
2057 }
2058 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2059 vkStream->write((VkShaderModuleCreateFlags*)&forMarshaling->flags,
2060 sizeof(VkShaderModuleCreateFlags));
2061 uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
2062 vkStream->putBe64(cgen_var_0);
2063 vkStream->write((const uint32_t*)forMarshaling->pCode,
2064 (forMarshaling->codeSize / 4) * sizeof(const uint32_t));
2065 }
2066
unmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkShaderModuleCreateInfo * forUnmarshaling)2067 void unmarshal_VkShaderModuleCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2068 VkShaderModuleCreateInfo* forUnmarshaling) {
2069 (void)rootType;
2070 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2071 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2072 rootType = forUnmarshaling->sType;
2073 }
2074 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2075 vkStream->read((VkShaderModuleCreateFlags*)&forUnmarshaling->flags,
2076 sizeof(VkShaderModuleCreateFlags));
2077 forUnmarshaling->codeSize = (size_t)vkStream->getBe64();
2078 vkStream->read((uint32_t*)forUnmarshaling->pCode,
2079 (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
2080 }
2081
marshal_VkPipelineCacheCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCacheCreateInfo * forMarshaling)2082 void marshal_VkPipelineCacheCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2083 const VkPipelineCacheCreateInfo* forMarshaling) {
2084 (void)rootType;
2085 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2086 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2087 rootType = forMarshaling->sType;
2088 }
2089 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2090 vkStream->write((VkPipelineCacheCreateFlags*)&forMarshaling->flags,
2091 sizeof(VkPipelineCacheCreateFlags));
2092 uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
2093 vkStream->putBe64(cgen_var_0);
2094 vkStream->write((const void*)forMarshaling->pInitialData,
2095 forMarshaling->initialDataSize * sizeof(const uint8_t));
2096 }
2097
unmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineCacheCreateInfo * forUnmarshaling)2098 void unmarshal_VkPipelineCacheCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2099 VkPipelineCacheCreateInfo* forUnmarshaling) {
2100 (void)rootType;
2101 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2102 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2103 rootType = forUnmarshaling->sType;
2104 }
2105 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2106 vkStream->read((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags,
2107 sizeof(VkPipelineCacheCreateFlags));
2108 forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64();
2109 vkStream->read((void*)forUnmarshaling->pInitialData,
2110 forUnmarshaling->initialDataSize * sizeof(const uint8_t));
2111 }
2112
marshal_VkSpecializationMapEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationMapEntry * forMarshaling)2113 void marshal_VkSpecializationMapEntry(VulkanStreamGuest* vkStream, VkStructureType rootType,
2114 const VkSpecializationMapEntry* forMarshaling) {
2115 (void)rootType;
2116 vkStream->write((uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
2117 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2118 uint64_t cgen_var_0 = (uint64_t)forMarshaling->size;
2119 vkStream->putBe64(cgen_var_0);
2120 }
2121
unmarshal_VkSpecializationMapEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSpecializationMapEntry * forUnmarshaling)2122 void unmarshal_VkSpecializationMapEntry(VulkanStreamGuest* vkStream, VkStructureType rootType,
2123 VkSpecializationMapEntry* forUnmarshaling) {
2124 (void)rootType;
2125 vkStream->read((uint32_t*)&forUnmarshaling->constantID, sizeof(uint32_t));
2126 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
2127 forUnmarshaling->size = (size_t)vkStream->getBe64();
2128 }
2129
marshal_VkSpecializationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSpecializationInfo * forMarshaling)2130 void marshal_VkSpecializationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2131 const VkSpecializationInfo* forMarshaling) {
2132 (void)rootType;
2133 vkStream->write((uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
2134 if (forMarshaling) {
2135 for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) {
2136 marshal_VkSpecializationMapEntry(
2137 vkStream, rootType,
2138 (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i));
2139 }
2140 }
2141 uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
2142 vkStream->putBe64(cgen_var_0);
2143 vkStream->write((const void*)forMarshaling->pData,
2144 forMarshaling->dataSize * sizeof(const uint8_t));
2145 }
2146
unmarshal_VkSpecializationInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSpecializationInfo * forUnmarshaling)2147 void unmarshal_VkSpecializationInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2148 VkSpecializationInfo* forUnmarshaling) {
2149 (void)rootType;
2150 vkStream->read((uint32_t*)&forUnmarshaling->mapEntryCount, sizeof(uint32_t));
2151 if (forUnmarshaling) {
2152 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i) {
2153 unmarshal_VkSpecializationMapEntry(
2154 vkStream, rootType, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i));
2155 }
2156 }
2157 forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
2158 vkStream->read((void*)forUnmarshaling->pData,
2159 forUnmarshaling->dataSize * sizeof(const uint8_t));
2160 }
2161
marshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageCreateInfo * forMarshaling)2162 void marshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2163 const VkPipelineShaderStageCreateInfo* forMarshaling) {
2164 (void)rootType;
2165 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2166 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2167 rootType = forMarshaling->sType;
2168 }
2169 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2170 vkStream->write((VkPipelineShaderStageCreateFlags*)&forMarshaling->flags,
2171 sizeof(VkPipelineShaderStageCreateFlags));
2172 vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
2173 uint64_t cgen_var_0;
2174 vkStream->handleMapping()->mapHandles_VkShaderModule_u64(&forMarshaling->module, &cgen_var_0,
2175 1);
2176 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2177 vkStream->putString(forMarshaling->pName);
2178 // WARNING PTR CHECK
2179 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
2180 vkStream->putBe64(cgen_var_1);
2181 if (forMarshaling->pSpecializationInfo) {
2182 marshal_VkSpecializationInfo(
2183 vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo));
2184 }
2185 }
2186
unmarshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineShaderStageCreateInfo * forUnmarshaling)2187 void unmarshal_VkPipelineShaderStageCreateInfo(VulkanStreamGuest* vkStream,
2188 VkStructureType rootType,
2189 VkPipelineShaderStageCreateInfo* forUnmarshaling) {
2190 (void)rootType;
2191 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2192 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2193 rootType = forUnmarshaling->sType;
2194 }
2195 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2196 vkStream->read((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags,
2197 sizeof(VkPipelineShaderStageCreateFlags));
2198 vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits));
2199 uint64_t cgen_var_0;
2200 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2201 vkStream->handleMapping()->mapHandles_u64_VkShaderModule(
2202 &cgen_var_0, (VkShaderModule*)&forUnmarshaling->module, 1);
2203 vkStream->loadStringInPlace((char**)&forUnmarshaling->pName);
2204 // WARNING PTR CHECK
2205 const VkSpecializationInfo* check_pSpecializationInfo;
2206 check_pSpecializationInfo = (const VkSpecializationInfo*)(uintptr_t)vkStream->getBe64();
2207 if (forUnmarshaling->pSpecializationInfo) {
2208 if (!(check_pSpecializationInfo)) {
2209 fprintf(stderr,
2210 "fatal: forUnmarshaling->pSpecializationInfo inconsistent between guest and "
2211 "host\n");
2212 }
2213 unmarshal_VkSpecializationInfo(
2214 vkStream, rootType, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo));
2215 }
2216 }
2217
marshal_VkComputePipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkComputePipelineCreateInfo * forMarshaling)2218 void marshal_VkComputePipelineCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2219 const VkComputePipelineCreateInfo* forMarshaling) {
2220 (void)rootType;
2221 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2222 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2223 rootType = forMarshaling->sType;
2224 }
2225 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2226 vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
2227 marshal_VkPipelineShaderStageCreateInfo(
2228 vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage));
2229 uint64_t cgen_var_0;
2230 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_0,
2231 1);
2232 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
2233 uint64_t cgen_var_1;
2234 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
2235 &cgen_var_1, 1);
2236 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
2237 vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
2238 }
2239
unmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkComputePipelineCreateInfo * forUnmarshaling)2240 void unmarshal_VkComputePipelineCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2241 VkComputePipelineCreateInfo* forUnmarshaling) {
2242 (void)rootType;
2243 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2244 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2245 rootType = forUnmarshaling->sType;
2246 }
2247 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2248 vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
2249 unmarshal_VkPipelineShaderStageCreateInfo(
2250 vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage));
2251 uint64_t cgen_var_0;
2252 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
2253 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
2254 &cgen_var_0, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
2255 uint64_t cgen_var_1;
2256 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
2257 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
2258 &cgen_var_1, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
2259 vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
2260 }
2261
marshal_VkVertexInputBindingDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputBindingDescription * forMarshaling)2262 void marshal_VkVertexInputBindingDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
2263 const VkVertexInputBindingDescription* forMarshaling) {
2264 (void)rootType;
2265 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2266 vkStream->write((uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
2267 vkStream->write((VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
2268 }
2269
unmarshal_VkVertexInputBindingDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,VkVertexInputBindingDescription * forUnmarshaling)2270 void unmarshal_VkVertexInputBindingDescription(VulkanStreamGuest* vkStream,
2271 VkStructureType rootType,
2272 VkVertexInputBindingDescription* forUnmarshaling) {
2273 (void)rootType;
2274 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
2275 vkStream->read((uint32_t*)&forUnmarshaling->stride, sizeof(uint32_t));
2276 vkStream->read((VkVertexInputRate*)&forUnmarshaling->inputRate, sizeof(VkVertexInputRate));
2277 }
2278
marshal_VkVertexInputAttributeDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkVertexInputAttributeDescription * forMarshaling)2279 void marshal_VkVertexInputAttributeDescription(
2280 VulkanStreamGuest* vkStream, VkStructureType rootType,
2281 const VkVertexInputAttributeDescription* forMarshaling) {
2282 (void)rootType;
2283 vkStream->write((uint32_t*)&forMarshaling->location, sizeof(uint32_t));
2284 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
2285 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
2286 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
2287 }
2288
unmarshal_VkVertexInputAttributeDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,VkVertexInputAttributeDescription * forUnmarshaling)2289 void unmarshal_VkVertexInputAttributeDescription(
2290 VulkanStreamGuest* vkStream, VkStructureType rootType,
2291 VkVertexInputAttributeDescription* forUnmarshaling) {
2292 (void)rootType;
2293 vkStream->read((uint32_t*)&forUnmarshaling->location, sizeof(uint32_t));
2294 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
2295 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
2296 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
2297 }
2298
marshal_VkPipelineVertexInputStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineVertexInputStateCreateInfo * forMarshaling)2299 void marshal_VkPipelineVertexInputStateCreateInfo(
2300 VulkanStreamGuest* vkStream, VkStructureType rootType,
2301 const VkPipelineVertexInputStateCreateInfo* forMarshaling) {
2302 (void)rootType;
2303 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2304 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2305 rootType = forMarshaling->sType;
2306 }
2307 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2308 vkStream->write((VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags,
2309 sizeof(VkPipelineVertexInputStateCreateFlags));
2310 vkStream->write((uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
2311 if (forMarshaling) {
2312 for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) {
2313 marshal_VkVertexInputBindingDescription(
2314 vkStream, rootType,
2315 (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions +
2316 i));
2317 }
2318 }
2319 vkStream->write((uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
2320 if (forMarshaling) {
2321 for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) {
2322 marshal_VkVertexInputAttributeDescription(
2323 vkStream, rootType,
2324 (const VkVertexInputAttributeDescription*)(forMarshaling
2325 ->pVertexAttributeDescriptions +
2326 i));
2327 }
2328 }
2329 }
2330
unmarshal_VkPipelineVertexInputStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineVertexInputStateCreateInfo * forUnmarshaling)2331 void unmarshal_VkPipelineVertexInputStateCreateInfo(
2332 VulkanStreamGuest* vkStream, VkStructureType rootType,
2333 VkPipelineVertexInputStateCreateInfo* forUnmarshaling) {
2334 (void)rootType;
2335 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2336 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2337 rootType = forUnmarshaling->sType;
2338 }
2339 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2340 vkStream->read((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags,
2341 sizeof(VkPipelineVertexInputStateCreateFlags));
2342 vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
2343 if (forUnmarshaling) {
2344 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i) {
2345 unmarshal_VkVertexInputBindingDescription(
2346 vkStream, rootType,
2347 (VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions +
2348 i));
2349 }
2350 }
2351 vkStream->read((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
2352 if (forUnmarshaling) {
2353 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i) {
2354 unmarshal_VkVertexInputAttributeDescription(
2355 vkStream, rootType,
2356 (VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions +
2357 i));
2358 }
2359 }
2360 }
2361
marshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInputAssemblyStateCreateInfo * forMarshaling)2362 void marshal_VkPipelineInputAssemblyStateCreateInfo(
2363 VulkanStreamGuest* vkStream, VkStructureType rootType,
2364 const VkPipelineInputAssemblyStateCreateInfo* forMarshaling) {
2365 (void)rootType;
2366 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2367 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2368 rootType = forMarshaling->sType;
2369 }
2370 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2371 vkStream->write((VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags,
2372 sizeof(VkPipelineInputAssemblyStateCreateFlags));
2373 vkStream->write((VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
2374 vkStream->write((VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
2375 }
2376
unmarshal_VkPipelineInputAssemblyStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineInputAssemblyStateCreateInfo * forUnmarshaling)2377 void unmarshal_VkPipelineInputAssemblyStateCreateInfo(
2378 VulkanStreamGuest* vkStream, VkStructureType rootType,
2379 VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling) {
2380 (void)rootType;
2381 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2382 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2383 rootType = forUnmarshaling->sType;
2384 }
2385 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2386 vkStream->read((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags,
2387 sizeof(VkPipelineInputAssemblyStateCreateFlags));
2388 vkStream->read((VkPrimitiveTopology*)&forUnmarshaling->topology, sizeof(VkPrimitiveTopology));
2389 vkStream->read((VkBool32*)&forUnmarshaling->primitiveRestartEnable, sizeof(VkBool32));
2390 }
2391
marshal_VkPipelineTessellationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationStateCreateInfo * forMarshaling)2392 void marshal_VkPipelineTessellationStateCreateInfo(
2393 VulkanStreamGuest* vkStream, VkStructureType rootType,
2394 const VkPipelineTessellationStateCreateInfo* forMarshaling) {
2395 (void)rootType;
2396 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2397 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2398 rootType = forMarshaling->sType;
2399 }
2400 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2401 vkStream->write((VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags,
2402 sizeof(VkPipelineTessellationStateCreateFlags));
2403 vkStream->write((uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
2404 }
2405
unmarshal_VkPipelineTessellationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineTessellationStateCreateInfo * forUnmarshaling)2406 void unmarshal_VkPipelineTessellationStateCreateInfo(
2407 VulkanStreamGuest* vkStream, VkStructureType rootType,
2408 VkPipelineTessellationStateCreateInfo* forUnmarshaling) {
2409 (void)rootType;
2410 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2411 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2412 rootType = forUnmarshaling->sType;
2413 }
2414 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2415 vkStream->read((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags,
2416 sizeof(VkPipelineTessellationStateCreateFlags));
2417 vkStream->read((uint32_t*)&forUnmarshaling->patchControlPoints, sizeof(uint32_t));
2418 }
2419
marshal_VkViewport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkViewport * forMarshaling)2420 void marshal_VkViewport(VulkanStreamGuest* vkStream, VkStructureType rootType,
2421 const VkViewport* forMarshaling) {
2422 (void)rootType;
2423 vkStream->write((float*)&forMarshaling->x, sizeof(float));
2424 vkStream->write((float*)&forMarshaling->y, sizeof(float));
2425 vkStream->write((float*)&forMarshaling->width, sizeof(float));
2426 vkStream->write((float*)&forMarshaling->height, sizeof(float));
2427 vkStream->write((float*)&forMarshaling->minDepth, sizeof(float));
2428 vkStream->write((float*)&forMarshaling->maxDepth, sizeof(float));
2429 }
2430
unmarshal_VkViewport(VulkanStreamGuest * vkStream,VkStructureType rootType,VkViewport * forUnmarshaling)2431 void unmarshal_VkViewport(VulkanStreamGuest* vkStream, VkStructureType rootType,
2432 VkViewport* forUnmarshaling) {
2433 (void)rootType;
2434 vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
2435 vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
2436 vkStream->read((float*)&forUnmarshaling->width, sizeof(float));
2437 vkStream->read((float*)&forUnmarshaling->height, sizeof(float));
2438 vkStream->read((float*)&forUnmarshaling->minDepth, sizeof(float));
2439 vkStream->read((float*)&forUnmarshaling->maxDepth, sizeof(float));
2440 }
2441
marshal_VkPipelineViewportStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineViewportStateCreateInfo * forMarshaling)2442 void marshal_VkPipelineViewportStateCreateInfo(
2443 VulkanStreamGuest* vkStream, VkStructureType rootType,
2444 const VkPipelineViewportStateCreateInfo* forMarshaling) {
2445 (void)rootType;
2446 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2447 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2448 rootType = forMarshaling->sType;
2449 }
2450 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2451 vkStream->write((VkPipelineViewportStateCreateFlags*)&forMarshaling->flags,
2452 sizeof(VkPipelineViewportStateCreateFlags));
2453 vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
2454 // WARNING PTR CHECK
2455 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
2456 vkStream->putBe64(cgen_var_0);
2457 if (forMarshaling->pViewports) {
2458 if (forMarshaling) {
2459 for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
2460 marshal_VkViewport(vkStream, rootType,
2461 (const VkViewport*)(forMarshaling->pViewports + i));
2462 }
2463 }
2464 }
2465 vkStream->write((uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
2466 // WARNING PTR CHECK
2467 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
2468 vkStream->putBe64(cgen_var_1);
2469 if (forMarshaling->pScissors) {
2470 if (forMarshaling) {
2471 for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) {
2472 marshal_VkRect2D(vkStream, rootType,
2473 (const VkRect2D*)(forMarshaling->pScissors + i));
2474 }
2475 }
2476 }
2477 }
2478
unmarshal_VkPipelineViewportStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineViewportStateCreateInfo * forUnmarshaling)2479 void unmarshal_VkPipelineViewportStateCreateInfo(
2480 VulkanStreamGuest* vkStream, VkStructureType rootType,
2481 VkPipelineViewportStateCreateInfo* forUnmarshaling) {
2482 (void)rootType;
2483 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2484 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2485 rootType = forUnmarshaling->sType;
2486 }
2487 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2488 vkStream->read((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags,
2489 sizeof(VkPipelineViewportStateCreateFlags));
2490 vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
2491 // WARNING PTR CHECK
2492 const VkViewport* check_pViewports;
2493 check_pViewports = (const VkViewport*)(uintptr_t)vkStream->getBe64();
2494 if (forUnmarshaling->pViewports) {
2495 if (!(check_pViewports)) {
2496 fprintf(stderr,
2497 "fatal: forUnmarshaling->pViewports inconsistent between guest and host\n");
2498 }
2499 if (forUnmarshaling) {
2500 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) {
2501 unmarshal_VkViewport(vkStream, rootType,
2502 (VkViewport*)(forUnmarshaling->pViewports + i));
2503 }
2504 }
2505 }
2506 vkStream->read((uint32_t*)&forUnmarshaling->scissorCount, sizeof(uint32_t));
2507 // WARNING PTR CHECK
2508 const VkRect2D* check_pScissors;
2509 check_pScissors = (const VkRect2D*)(uintptr_t)vkStream->getBe64();
2510 if (forUnmarshaling->pScissors) {
2511 if (!(check_pScissors)) {
2512 fprintf(stderr,
2513 "fatal: forUnmarshaling->pScissors inconsistent between guest and host\n");
2514 }
2515 if (forUnmarshaling) {
2516 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i) {
2517 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(forUnmarshaling->pScissors + i));
2518 }
2519 }
2520 }
2521 }
2522
marshal_VkPipelineRasterizationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateCreateInfo * forMarshaling)2523 void marshal_VkPipelineRasterizationStateCreateInfo(
2524 VulkanStreamGuest* vkStream, VkStructureType rootType,
2525 const VkPipelineRasterizationStateCreateInfo* forMarshaling) {
2526 (void)rootType;
2527 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2528 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2529 rootType = forMarshaling->sType;
2530 }
2531 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2532 vkStream->write((VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags,
2533 sizeof(VkPipelineRasterizationStateCreateFlags));
2534 vkStream->write((VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
2535 vkStream->write((VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
2536 vkStream->write((VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
2537 vkStream->write((VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
2538 vkStream->write((VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
2539 vkStream->write((VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
2540 vkStream->write((float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
2541 vkStream->write((float*)&forMarshaling->depthBiasClamp, sizeof(float));
2542 vkStream->write((float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
2543 vkStream->write((float*)&forMarshaling->lineWidth, sizeof(float));
2544 }
2545
unmarshal_VkPipelineRasterizationStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRasterizationStateCreateInfo * forUnmarshaling)2546 void unmarshal_VkPipelineRasterizationStateCreateInfo(
2547 VulkanStreamGuest* vkStream, VkStructureType rootType,
2548 VkPipelineRasterizationStateCreateInfo* forUnmarshaling) {
2549 (void)rootType;
2550 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2551 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2552 rootType = forUnmarshaling->sType;
2553 }
2554 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2555 vkStream->read((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags,
2556 sizeof(VkPipelineRasterizationStateCreateFlags));
2557 vkStream->read((VkBool32*)&forUnmarshaling->depthClampEnable, sizeof(VkBool32));
2558 vkStream->read((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
2559 vkStream->read((VkPolygonMode*)&forUnmarshaling->polygonMode, sizeof(VkPolygonMode));
2560 vkStream->read((VkCullModeFlags*)&forUnmarshaling->cullMode, sizeof(VkCullModeFlags));
2561 vkStream->read((VkFrontFace*)&forUnmarshaling->frontFace, sizeof(VkFrontFace));
2562 vkStream->read((VkBool32*)&forUnmarshaling->depthBiasEnable, sizeof(VkBool32));
2563 vkStream->read((float*)&forUnmarshaling->depthBiasConstantFactor, sizeof(float));
2564 vkStream->read((float*)&forUnmarshaling->depthBiasClamp, sizeof(float));
2565 vkStream->read((float*)&forUnmarshaling->depthBiasSlopeFactor, sizeof(float));
2566 vkStream->read((float*)&forUnmarshaling->lineWidth, sizeof(float));
2567 }
2568
marshal_VkPipelineMultisampleStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineMultisampleStateCreateInfo * forMarshaling)2569 void marshal_VkPipelineMultisampleStateCreateInfo(
2570 VulkanStreamGuest* vkStream, VkStructureType rootType,
2571 const VkPipelineMultisampleStateCreateInfo* forMarshaling) {
2572 (void)rootType;
2573 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2574 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2575 rootType = forMarshaling->sType;
2576 }
2577 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2578 vkStream->write((VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags,
2579 sizeof(VkPipelineMultisampleStateCreateFlags));
2580 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
2581 sizeof(VkSampleCountFlagBits));
2582 vkStream->write((VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
2583 vkStream->write((float*)&forMarshaling->minSampleShading, sizeof(float));
2584 // WARNING PTR CHECK
2585 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
2586 vkStream->putBe64(cgen_var_0);
2587 if (forMarshaling->pSampleMask) {
2588 vkStream->write(
2589 (const VkSampleMask*)forMarshaling->pSampleMask,
2590 (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
2591 }
2592 vkStream->write((VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
2593 vkStream->write((VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
2594 }
2595
unmarshal_VkPipelineMultisampleStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineMultisampleStateCreateInfo * forUnmarshaling)2596 void unmarshal_VkPipelineMultisampleStateCreateInfo(
2597 VulkanStreamGuest* vkStream, VkStructureType rootType,
2598 VkPipelineMultisampleStateCreateInfo* forUnmarshaling) {
2599 (void)rootType;
2600 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2601 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2602 rootType = forUnmarshaling->sType;
2603 }
2604 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2605 vkStream->read((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags,
2606 sizeof(VkPipelineMultisampleStateCreateFlags));
2607 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples,
2608 sizeof(VkSampleCountFlagBits));
2609 vkStream->read((VkBool32*)&forUnmarshaling->sampleShadingEnable, sizeof(VkBool32));
2610 vkStream->read((float*)&forUnmarshaling->minSampleShading, sizeof(float));
2611 // WARNING PTR CHECK
2612 const VkSampleMask* check_pSampleMask;
2613 check_pSampleMask = (const VkSampleMask*)(uintptr_t)vkStream->getBe64();
2614 if (forUnmarshaling->pSampleMask) {
2615 if (!(check_pSampleMask)) {
2616 fprintf(stderr,
2617 "fatal: forUnmarshaling->pSampleMask inconsistent between guest and host\n");
2618 }
2619 vkStream->read(
2620 (VkSampleMask*)forUnmarshaling->pSampleMask,
2621 (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
2622 }
2623 vkStream->read((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, sizeof(VkBool32));
2624 vkStream->read((VkBool32*)&forUnmarshaling->alphaToOneEnable, sizeof(VkBool32));
2625 }
2626
marshal_VkStencilOpState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkStencilOpState * forMarshaling)2627 void marshal_VkStencilOpState(VulkanStreamGuest* vkStream, VkStructureType rootType,
2628 const VkStencilOpState* forMarshaling) {
2629 (void)rootType;
2630 vkStream->write((VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
2631 vkStream->write((VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
2632 vkStream->write((VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
2633 vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
2634 vkStream->write((uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
2635 vkStream->write((uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
2636 vkStream->write((uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
2637 }
2638
unmarshal_VkStencilOpState(VulkanStreamGuest * vkStream,VkStructureType rootType,VkStencilOpState * forUnmarshaling)2639 void unmarshal_VkStencilOpState(VulkanStreamGuest* vkStream, VkStructureType rootType,
2640 VkStencilOpState* forUnmarshaling) {
2641 (void)rootType;
2642 vkStream->read((VkStencilOp*)&forUnmarshaling->failOp, sizeof(VkStencilOp));
2643 vkStream->read((VkStencilOp*)&forUnmarshaling->passOp, sizeof(VkStencilOp));
2644 vkStream->read((VkStencilOp*)&forUnmarshaling->depthFailOp, sizeof(VkStencilOp));
2645 vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
2646 vkStream->read((uint32_t*)&forUnmarshaling->compareMask, sizeof(uint32_t));
2647 vkStream->read((uint32_t*)&forUnmarshaling->writeMask, sizeof(uint32_t));
2648 vkStream->read((uint32_t*)&forUnmarshaling->reference, sizeof(uint32_t));
2649 }
2650
marshal_VkPipelineDepthStencilStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDepthStencilStateCreateInfo * forMarshaling)2651 void marshal_VkPipelineDepthStencilStateCreateInfo(
2652 VulkanStreamGuest* vkStream, VkStructureType rootType,
2653 const VkPipelineDepthStencilStateCreateInfo* forMarshaling) {
2654 (void)rootType;
2655 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2656 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2657 rootType = forMarshaling->sType;
2658 }
2659 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2660 vkStream->write((VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags,
2661 sizeof(VkPipelineDepthStencilStateCreateFlags));
2662 vkStream->write((VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
2663 vkStream->write((VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
2664 vkStream->write((VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
2665 vkStream->write((VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
2666 vkStream->write((VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
2667 marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->front));
2668 marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->back));
2669 vkStream->write((float*)&forMarshaling->minDepthBounds, sizeof(float));
2670 vkStream->write((float*)&forMarshaling->maxDepthBounds, sizeof(float));
2671 }
2672
unmarshal_VkPipelineDepthStencilStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineDepthStencilStateCreateInfo * forUnmarshaling)2673 void unmarshal_VkPipelineDepthStencilStateCreateInfo(
2674 VulkanStreamGuest* vkStream, VkStructureType rootType,
2675 VkPipelineDepthStencilStateCreateInfo* forUnmarshaling) {
2676 (void)rootType;
2677 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2678 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2679 rootType = forUnmarshaling->sType;
2680 }
2681 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2682 vkStream->read((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags,
2683 sizeof(VkPipelineDepthStencilStateCreateFlags));
2684 vkStream->read((VkBool32*)&forUnmarshaling->depthTestEnable, sizeof(VkBool32));
2685 vkStream->read((VkBool32*)&forUnmarshaling->depthWriteEnable, sizeof(VkBool32));
2686 vkStream->read((VkCompareOp*)&forUnmarshaling->depthCompareOp, sizeof(VkCompareOp));
2687 vkStream->read((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, sizeof(VkBool32));
2688 vkStream->read((VkBool32*)&forUnmarshaling->stencilTestEnable, sizeof(VkBool32));
2689 unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->front));
2690 unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->back));
2691 vkStream->read((float*)&forUnmarshaling->minDepthBounds, sizeof(float));
2692 vkStream->read((float*)&forUnmarshaling->maxDepthBounds, sizeof(float));
2693 }
2694
marshal_VkPipelineColorBlendAttachmentState(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendAttachmentState * forMarshaling)2695 void marshal_VkPipelineColorBlendAttachmentState(
2696 VulkanStreamGuest* vkStream, VkStructureType rootType,
2697 const VkPipelineColorBlendAttachmentState* forMarshaling) {
2698 (void)rootType;
2699 vkStream->write((VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
2700 vkStream->write((VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
2701 vkStream->write((VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
2702 vkStream->write((VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
2703 vkStream->write((VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
2704 vkStream->write((VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
2705 vkStream->write((VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
2706 vkStream->write((VkColorComponentFlags*)&forMarshaling->colorWriteMask,
2707 sizeof(VkColorComponentFlags));
2708 }
2709
unmarshal_VkPipelineColorBlendAttachmentState(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineColorBlendAttachmentState * forUnmarshaling)2710 void unmarshal_VkPipelineColorBlendAttachmentState(
2711 VulkanStreamGuest* vkStream, VkStructureType rootType,
2712 VkPipelineColorBlendAttachmentState* forUnmarshaling) {
2713 (void)rootType;
2714 vkStream->read((VkBool32*)&forUnmarshaling->blendEnable, sizeof(VkBool32));
2715 vkStream->read((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
2716 vkStream->read((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
2717 vkStream->read((VkBlendOp*)&forUnmarshaling->colorBlendOp, sizeof(VkBlendOp));
2718 vkStream->read((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
2719 vkStream->read((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
2720 vkStream->read((VkBlendOp*)&forUnmarshaling->alphaBlendOp, sizeof(VkBlendOp));
2721 vkStream->read((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask,
2722 sizeof(VkColorComponentFlags));
2723 }
2724
marshal_VkPipelineColorBlendStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorBlendStateCreateInfo * forMarshaling)2725 void marshal_VkPipelineColorBlendStateCreateInfo(
2726 VulkanStreamGuest* vkStream, VkStructureType rootType,
2727 const VkPipelineColorBlendStateCreateInfo* forMarshaling) {
2728 (void)rootType;
2729 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2730 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2731 rootType = forMarshaling->sType;
2732 }
2733 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2734 vkStream->write((VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags,
2735 sizeof(VkPipelineColorBlendStateCreateFlags));
2736 vkStream->write((VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
2737 vkStream->write((VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
2738 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
2739 if (forMarshaling) {
2740 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
2741 marshal_VkPipelineColorBlendAttachmentState(
2742 vkStream, rootType,
2743 (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i));
2744 }
2745 }
2746 vkStream->write((float*)forMarshaling->blendConstants, 4 * sizeof(float));
2747 }
2748
unmarshal_VkPipelineColorBlendStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineColorBlendStateCreateInfo * forUnmarshaling)2749 void unmarshal_VkPipelineColorBlendStateCreateInfo(
2750 VulkanStreamGuest* vkStream, VkStructureType rootType,
2751 VkPipelineColorBlendStateCreateInfo* forUnmarshaling) {
2752 (void)rootType;
2753 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2754 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2755 rootType = forUnmarshaling->sType;
2756 }
2757 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2758 vkStream->read((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags,
2759 sizeof(VkPipelineColorBlendStateCreateFlags));
2760 vkStream->read((VkBool32*)&forUnmarshaling->logicOpEnable, sizeof(VkBool32));
2761 vkStream->read((VkLogicOp*)&forUnmarshaling->logicOp, sizeof(VkLogicOp));
2762 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
2763 if (forUnmarshaling) {
2764 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
2765 unmarshal_VkPipelineColorBlendAttachmentState(
2766 vkStream, rootType,
2767 (VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i));
2768 }
2769 }
2770 vkStream->read((float*)forUnmarshaling->blendConstants, 4 * sizeof(float));
2771 }
2772
marshal_VkPipelineDynamicStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineDynamicStateCreateInfo * forMarshaling)2773 void marshal_VkPipelineDynamicStateCreateInfo(
2774 VulkanStreamGuest* vkStream, VkStructureType rootType,
2775 const VkPipelineDynamicStateCreateInfo* forMarshaling) {
2776 (void)rootType;
2777 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2778 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2779 rootType = forMarshaling->sType;
2780 }
2781 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2782 vkStream->write((VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags,
2783 sizeof(VkPipelineDynamicStateCreateFlags));
2784 vkStream->write((uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
2785 vkStream->write((const VkDynamicState*)forMarshaling->pDynamicStates,
2786 forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
2787 }
2788
unmarshal_VkPipelineDynamicStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineDynamicStateCreateInfo * forUnmarshaling)2789 void unmarshal_VkPipelineDynamicStateCreateInfo(VulkanStreamGuest* vkStream,
2790 VkStructureType rootType,
2791 VkPipelineDynamicStateCreateInfo* forUnmarshaling) {
2792 (void)rootType;
2793 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2794 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2795 rootType = forUnmarshaling->sType;
2796 }
2797 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2798 vkStream->read((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags,
2799 sizeof(VkPipelineDynamicStateCreateFlags));
2800 vkStream->read((uint32_t*)&forUnmarshaling->dynamicStateCount, sizeof(uint32_t));
2801 vkStream->read((VkDynamicState*)forUnmarshaling->pDynamicStates,
2802 forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
2803 }
2804
marshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineCreateInfo * forMarshaling)2805 void marshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2806 const VkGraphicsPipelineCreateInfo* forMarshaling) {
2807 (void)rootType;
2808 uint32_t hasRasterization = 1;
2809 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2810 hasRasterization =
2811 ((((0 == forMarshaling->pRasterizationState))
2812 ? (0)
2813 : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))) ||
2814 (((0 == forMarshaling->pDynamicState))
2815 ? (0)
2816 : (arrayany((*(forMarshaling->pDynamicState)).pDynamicStates, 0,
2817 (*(forMarshaling->pDynamicState)).dynamicStateCount,
2818 [](VkDynamicState s) {
2819 return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
2820 }))));
2821 uint32_t cgen_var_0 = (uint32_t)hasRasterization;
2822 vkStream->putBe32(cgen_var_0);
2823 }
2824 uint32_t hasTessellation = 1;
2825 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2826 hasTessellation =
2827 arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount,
2828 [](VkPipelineShaderStageCreateInfo s) {
2829 return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
2830 (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
2831 });
2832 uint32_t cgen_var_0 = (uint32_t)hasTessellation;
2833 vkStream->putBe32(cgen_var_0);
2834 }
2835 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
2836 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2837 rootType = forMarshaling->sType;
2838 }
2839 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
2840 vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
2841 vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
2842 if (forMarshaling) {
2843 for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
2844 marshal_VkPipelineShaderStageCreateInfo(
2845 vkStream, rootType,
2846 (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i));
2847 }
2848 }
2849 // WARNING PTR CHECK
2850 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2851 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
2852 vkStream->putBe64(cgen_var_0);
2853 }
2854 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2855 forMarshaling->pVertexInputState)) {
2856 marshal_VkPipelineVertexInputStateCreateInfo(
2857 vkStream, rootType,
2858 (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState));
2859 }
2860 // WARNING PTR CHECK
2861 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2862 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
2863 vkStream->putBe64(cgen_var_0);
2864 }
2865 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2866 forMarshaling->pInputAssemblyState)) {
2867 marshal_VkPipelineInputAssemblyStateCreateInfo(
2868 vkStream, rootType,
2869 (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState));
2870 }
2871 // WARNING PTR CHECK
2872 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
2873 vkStream->putBe64(cgen_var_0);
2874 if (forMarshaling->pTessellationState) {
2875 if (hasTessellation) {
2876 marshal_VkPipelineTessellationStateCreateInfo(
2877 vkStream, rootType,
2878 (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState));
2879 }
2880 }
2881 // WARNING PTR CHECK
2882 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
2883 vkStream->putBe64(cgen_var_1);
2884 if (forMarshaling->pViewportState) {
2885 if (hasRasterization) {
2886 marshal_VkPipelineViewportStateCreateInfo(
2887 vkStream, rootType,
2888 (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState));
2889 }
2890 }
2891 // WARNING PTR CHECK
2892 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2893 uint64_t cgen_var_1_0 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
2894 vkStream->putBe64(cgen_var_1_0);
2895 }
2896 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2897 forMarshaling->pRasterizationState)) {
2898 marshal_VkPipelineRasterizationStateCreateInfo(
2899 vkStream, rootType,
2900 (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState));
2901 }
2902 // WARNING PTR CHECK
2903 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
2904 vkStream->putBe64(cgen_var_2);
2905 if (forMarshaling->pMultisampleState) {
2906 if (hasRasterization) {
2907 marshal_VkPipelineMultisampleStateCreateInfo(
2908 vkStream, rootType,
2909 (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState));
2910 }
2911 }
2912 // WARNING PTR CHECK
2913 uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
2914 vkStream->putBe64(cgen_var_3);
2915 if (forMarshaling->pDepthStencilState) {
2916 if (hasRasterization) {
2917 marshal_VkPipelineDepthStencilStateCreateInfo(
2918 vkStream, rootType,
2919 (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState));
2920 }
2921 }
2922 // WARNING PTR CHECK
2923 uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
2924 vkStream->putBe64(cgen_var_4);
2925 if (forMarshaling->pColorBlendState) {
2926 if (hasRasterization) {
2927 marshal_VkPipelineColorBlendStateCreateInfo(
2928 vkStream, rootType,
2929 (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState));
2930 }
2931 }
2932 // WARNING PTR CHECK
2933 uint64_t cgen_var_5 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
2934 vkStream->putBe64(cgen_var_5);
2935 if (forMarshaling->pDynamicState) {
2936 marshal_VkPipelineDynamicStateCreateInfo(
2937 vkStream, rootType,
2938 (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState));
2939 }
2940 uint64_t cgen_var_6;
2941 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_6,
2942 1);
2943 vkStream->write((uint64_t*)&cgen_var_6, 1 * 8);
2944 uint64_t cgen_var_7;
2945 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_7,
2946 1);
2947 vkStream->write((uint64_t*)&cgen_var_7, 1 * 8);
2948 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
2949 uint64_t cgen_var_8;
2950 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
2951 &cgen_var_8, 1);
2952 vkStream->write((uint64_t*)&cgen_var_8, 1 * 8);
2953 vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
2954 }
2955
unmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkGraphicsPipelineCreateInfo * forUnmarshaling)2956 void unmarshal_VkGraphicsPipelineCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
2957 VkGraphicsPipelineCreateInfo* forUnmarshaling) {
2958 (void)rootType;
2959 uint32_t hasRasterization = 1;
2960 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2961 hasRasterization = (const uint32_t)vkStream->getBe32();
2962 }
2963 uint32_t hasTessellation = 1;
2964 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2965 hasTessellation = (const uint32_t)vkStream->getBe32();
2966 }
2967 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
2968 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2969 rootType = forUnmarshaling->sType;
2970 }
2971 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
2972 vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
2973 vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t));
2974 if (forUnmarshaling) {
2975 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) {
2976 unmarshal_VkPipelineShaderStageCreateInfo(
2977 vkStream, rootType,
2978 (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i));
2979 }
2980 }
2981 // WARNING PTR CHECK
2982 const VkPipelineVertexInputStateCreateInfo* check_pVertexInputState;
2983 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2984 check_pVertexInputState =
2985 (const VkPipelineVertexInputStateCreateInfo*)(uintptr_t)vkStream->getBe64();
2986 }
2987 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2988 forUnmarshaling->pVertexInputState)) {
2989 unmarshal_VkPipelineVertexInputStateCreateInfo(
2990 vkStream, rootType,
2991 (VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState));
2992 }
2993 // WARNING PTR CHECK
2994 const VkPipelineInputAssemblyStateCreateInfo* check_pInputAssemblyState;
2995 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
2996 check_pInputAssemblyState =
2997 (const VkPipelineInputAssemblyStateCreateInfo*)(uintptr_t)vkStream->getBe64();
2998 }
2999 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3000 forUnmarshaling->pInputAssemblyState)) {
3001 unmarshal_VkPipelineInputAssemblyStateCreateInfo(
3002 vkStream, rootType,
3003 (VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState));
3004 }
3005 // WARNING PTR CHECK
3006 const VkPipelineTessellationStateCreateInfo* check_pTessellationState;
3007 check_pTessellationState =
3008 (const VkPipelineTessellationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3009 if (forUnmarshaling->pTessellationState) {
3010 if (!(check_pTessellationState)) {
3011 fprintf(
3012 stderr,
3013 "fatal: forUnmarshaling->pTessellationState inconsistent between guest and host\n");
3014 }
3015 if (hasTessellation) {
3016 unmarshal_VkPipelineTessellationStateCreateInfo(
3017 vkStream, rootType,
3018 (VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState));
3019 } else {
3020 forUnmarshaling->pTessellationState = 0;
3021 }
3022 }
3023 // WARNING PTR CHECK
3024 const VkPipelineViewportStateCreateInfo* check_pViewportState;
3025 check_pViewportState = (const VkPipelineViewportStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3026 if (forUnmarshaling->pViewportState) {
3027 if (!(check_pViewportState)) {
3028 fprintf(stderr,
3029 "fatal: forUnmarshaling->pViewportState inconsistent between guest and host\n");
3030 }
3031 if (hasRasterization) {
3032 unmarshal_VkPipelineViewportStateCreateInfo(
3033 vkStream, rootType,
3034 (VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState));
3035 } else {
3036 forUnmarshaling->pViewportState = 0;
3037 }
3038 }
3039 // WARNING PTR CHECK
3040 const VkPipelineRasterizationStateCreateInfo* check_pRasterizationState;
3041 if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
3042 check_pRasterizationState =
3043 (const VkPipelineRasterizationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3044 }
3045 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3046 forUnmarshaling->pRasterizationState)) {
3047 unmarshal_VkPipelineRasterizationStateCreateInfo(
3048 vkStream, rootType,
3049 (VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState));
3050 }
3051 // WARNING PTR CHECK
3052 const VkPipelineMultisampleStateCreateInfo* check_pMultisampleState;
3053 check_pMultisampleState =
3054 (const VkPipelineMultisampleStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3055 if (forUnmarshaling->pMultisampleState) {
3056 if (!(check_pMultisampleState)) {
3057 fprintf(
3058 stderr,
3059 "fatal: forUnmarshaling->pMultisampleState inconsistent between guest and host\n");
3060 }
3061 if (hasRasterization) {
3062 unmarshal_VkPipelineMultisampleStateCreateInfo(
3063 vkStream, rootType,
3064 (VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState));
3065 } else {
3066 forUnmarshaling->pMultisampleState = 0;
3067 }
3068 }
3069 // WARNING PTR CHECK
3070 const VkPipelineDepthStencilStateCreateInfo* check_pDepthStencilState;
3071 check_pDepthStencilState =
3072 (const VkPipelineDepthStencilStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3073 if (forUnmarshaling->pDepthStencilState) {
3074 if (!(check_pDepthStencilState)) {
3075 fprintf(
3076 stderr,
3077 "fatal: forUnmarshaling->pDepthStencilState inconsistent between guest and host\n");
3078 }
3079 if (hasRasterization) {
3080 unmarshal_VkPipelineDepthStencilStateCreateInfo(
3081 vkStream, rootType,
3082 (VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState));
3083 } else {
3084 forUnmarshaling->pDepthStencilState = 0;
3085 }
3086 }
3087 // WARNING PTR CHECK
3088 const VkPipelineColorBlendStateCreateInfo* check_pColorBlendState;
3089 check_pColorBlendState =
3090 (const VkPipelineColorBlendStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3091 if (forUnmarshaling->pColorBlendState) {
3092 if (!(check_pColorBlendState)) {
3093 fprintf(
3094 stderr,
3095 "fatal: forUnmarshaling->pColorBlendState inconsistent between guest and host\n");
3096 }
3097 if (hasRasterization) {
3098 unmarshal_VkPipelineColorBlendStateCreateInfo(
3099 vkStream, rootType,
3100 (VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState));
3101 } else {
3102 forUnmarshaling->pColorBlendState = 0;
3103 }
3104 }
3105 // WARNING PTR CHECK
3106 const VkPipelineDynamicStateCreateInfo* check_pDynamicState;
3107 check_pDynamicState = (const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64();
3108 if (forUnmarshaling->pDynamicState) {
3109 if (!(check_pDynamicState)) {
3110 fprintf(stderr,
3111 "fatal: forUnmarshaling->pDynamicState inconsistent between guest and host\n");
3112 }
3113 unmarshal_VkPipelineDynamicStateCreateInfo(
3114 vkStream, rootType,
3115 (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState));
3116 }
3117 uint64_t cgen_var_6;
3118 vkStream->read((uint64_t*)&cgen_var_6, 1 * 8);
3119 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
3120 &cgen_var_6, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
3121 uint64_t cgen_var_7;
3122 vkStream->read((uint64_t*)&cgen_var_7, 1 * 8);
3123 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
3124 &cgen_var_7, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
3125 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
3126 uint64_t cgen_var_8;
3127 vkStream->read((uint64_t*)&cgen_var_8, 1 * 8);
3128 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
3129 &cgen_var_8, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
3130 vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
3131 }
3132
marshal_VkPushConstantRange(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPushConstantRange * forMarshaling)3133 void marshal_VkPushConstantRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
3134 const VkPushConstantRange* forMarshaling) {
3135 (void)rootType;
3136 vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
3137 vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
3138 vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t));
3139 }
3140
unmarshal_VkPushConstantRange(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPushConstantRange * forUnmarshaling)3141 void unmarshal_VkPushConstantRange(VulkanStreamGuest* vkStream, VkStructureType rootType,
3142 VkPushConstantRange* forUnmarshaling) {
3143 (void)rootType;
3144 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
3145 vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
3146 vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t));
3147 }
3148
marshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineLayoutCreateInfo * forMarshaling)3149 void marshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3150 const VkPipelineLayoutCreateInfo* forMarshaling) {
3151 (void)rootType;
3152 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3153 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3154 rootType = forMarshaling->sType;
3155 }
3156 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3157 vkStream->write((VkPipelineLayoutCreateFlags*)&forMarshaling->flags,
3158 sizeof(VkPipelineLayoutCreateFlags));
3159 vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
3160 if (forMarshaling->setLayoutCount) {
3161 uint64_t* cgen_var_0;
3162 vkStream->alloc((void**)&cgen_var_0, forMarshaling->setLayoutCount * 8);
3163 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
3164 forMarshaling->pSetLayouts, cgen_var_0, forMarshaling->setLayoutCount);
3165 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->setLayoutCount * 8);
3166 }
3167 vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
3168 if (forMarshaling) {
3169 for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
3170 marshal_VkPushConstantRange(
3171 vkStream, rootType,
3172 (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i));
3173 }
3174 }
3175 }
3176
unmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineLayoutCreateInfo * forUnmarshaling)3177 void unmarshal_VkPipelineLayoutCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3178 VkPipelineLayoutCreateInfo* forUnmarshaling) {
3179 (void)rootType;
3180 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3181 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3182 rootType = forUnmarshaling->sType;
3183 }
3184 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3185 vkStream->read((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags,
3186 sizeof(VkPipelineLayoutCreateFlags));
3187 vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t));
3188 if (forUnmarshaling->setLayoutCount) {
3189 uint64_t* cgen_var_0;
3190 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->setLayoutCount * 8);
3191 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->setLayoutCount * 8);
3192 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
3193 cgen_var_0, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
3194 forUnmarshaling->setLayoutCount);
3195 }
3196 vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t));
3197 if (forUnmarshaling) {
3198 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i) {
3199 unmarshal_VkPushConstantRange(
3200 vkStream, rootType,
3201 (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i));
3202 }
3203 }
3204 }
3205
marshal_VkSamplerCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCreateInfo * forMarshaling)3206 void marshal_VkSamplerCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3207 const VkSamplerCreateInfo* forMarshaling) {
3208 (void)rootType;
3209 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3210 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3211 rootType = forMarshaling->sType;
3212 }
3213 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3214 vkStream->write((VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
3215 vkStream->write((VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
3216 vkStream->write((VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
3217 vkStream->write((VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
3218 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeU,
3219 sizeof(VkSamplerAddressMode));
3220 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeV,
3221 sizeof(VkSamplerAddressMode));
3222 vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeW,
3223 sizeof(VkSamplerAddressMode));
3224 vkStream->write((float*)&forMarshaling->mipLodBias, sizeof(float));
3225 vkStream->write((VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
3226 vkStream->write((float*)&forMarshaling->maxAnisotropy, sizeof(float));
3227 vkStream->write((VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
3228 vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
3229 vkStream->write((float*)&forMarshaling->minLod, sizeof(float));
3230 vkStream->write((float*)&forMarshaling->maxLod, sizeof(float));
3231 vkStream->write((VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
3232 vkStream->write((VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
3233 }
3234
unmarshal_VkSamplerCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerCreateInfo * forUnmarshaling)3235 void unmarshal_VkSamplerCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3236 VkSamplerCreateInfo* forUnmarshaling) {
3237 (void)rootType;
3238 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3239 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3240 rootType = forUnmarshaling->sType;
3241 }
3242 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3243 vkStream->read((VkSamplerCreateFlags*)&forUnmarshaling->flags, sizeof(VkSamplerCreateFlags));
3244 vkStream->read((VkFilter*)&forUnmarshaling->magFilter, sizeof(VkFilter));
3245 vkStream->read((VkFilter*)&forUnmarshaling->minFilter, sizeof(VkFilter));
3246 vkStream->read((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
3247 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeU,
3248 sizeof(VkSamplerAddressMode));
3249 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeV,
3250 sizeof(VkSamplerAddressMode));
3251 vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeW,
3252 sizeof(VkSamplerAddressMode));
3253 vkStream->read((float*)&forUnmarshaling->mipLodBias, sizeof(float));
3254 vkStream->read((VkBool32*)&forUnmarshaling->anisotropyEnable, sizeof(VkBool32));
3255 vkStream->read((float*)&forUnmarshaling->maxAnisotropy, sizeof(float));
3256 vkStream->read((VkBool32*)&forUnmarshaling->compareEnable, sizeof(VkBool32));
3257 vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
3258 vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float));
3259 vkStream->read((float*)&forUnmarshaling->maxLod, sizeof(float));
3260 vkStream->read((VkBorderColor*)&forUnmarshaling->borderColor, sizeof(VkBorderColor));
3261 vkStream->read((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, sizeof(VkBool32));
3262 }
3263
marshal_VkCopyDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyDescriptorSet * forMarshaling)3264 void marshal_VkCopyDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
3265 const VkCopyDescriptorSet* forMarshaling) {
3266 (void)rootType;
3267 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3268 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3269 rootType = forMarshaling->sType;
3270 }
3271 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3272 uint64_t cgen_var_0;
3273 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->srcSet, &cgen_var_0,
3274 1);
3275 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3276 vkStream->write((uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
3277 vkStream->write((uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
3278 uint64_t cgen_var_1;
3279 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_1,
3280 1);
3281 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
3282 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
3283 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
3284 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3285 }
3286
unmarshal_VkCopyDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyDescriptorSet * forUnmarshaling)3287 void unmarshal_VkCopyDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
3288 VkCopyDescriptorSet* forUnmarshaling) {
3289 (void)rootType;
3290 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3291 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3292 rootType = forUnmarshaling->sType;
3293 }
3294 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3295 uint64_t cgen_var_0;
3296 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3297 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
3298 &cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->srcSet, 1);
3299 vkStream->read((uint32_t*)&forUnmarshaling->srcBinding, sizeof(uint32_t));
3300 vkStream->read((uint32_t*)&forUnmarshaling->srcArrayElement, sizeof(uint32_t));
3301 uint64_t cgen_var_1;
3302 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
3303 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
3304 &cgen_var_1, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
3305 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
3306 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
3307 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3308 }
3309
marshal_VkDescriptorBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorBufferInfo * forMarshaling)3310 void marshal_VkDescriptorBufferInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3311 const VkDescriptorBufferInfo* forMarshaling) {
3312 (void)rootType;
3313 uint64_t cgen_var_0;
3314 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
3315 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3316 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
3317 vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
3318 }
3319
unmarshal_VkDescriptorBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorBufferInfo * forUnmarshaling)3320 void unmarshal_VkDescriptorBufferInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3321 VkDescriptorBufferInfo* forUnmarshaling) {
3322 (void)rootType;
3323 uint64_t cgen_var_0;
3324 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3325 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
3326 (VkBuffer*)&forUnmarshaling->buffer, 1);
3327 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
3328 vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
3329 }
3330
marshal_VkDescriptorImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorImageInfo * forMarshaling)3331 void marshal_VkDescriptorImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3332 const VkDescriptorImageInfo* forMarshaling) {
3333 (void)rootType;
3334 uint64_t cgen_var_0;
3335 vkStream->handleMapping()->mapHandles_VkSampler_u64(&forMarshaling->sampler, &cgen_var_0, 1);
3336 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3337 uint64_t cgen_var_1;
3338 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_1,
3339 1);
3340 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
3341 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
3342 }
3343
unmarshal_VkDescriptorImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorImageInfo * forUnmarshaling)3344 void unmarshal_VkDescriptorImageInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3345 VkDescriptorImageInfo* forUnmarshaling) {
3346 (void)rootType;
3347 uint64_t cgen_var_0;
3348 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3349 vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_0,
3350 (VkSampler*)&forUnmarshaling->sampler, 1);
3351 uint64_t cgen_var_1;
3352 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
3353 vkStream->handleMapping()->mapHandles_u64_VkImageView(
3354 &cgen_var_1, (VkImageView*)&forUnmarshaling->imageView, 1);
3355 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
3356 }
3357
marshal_VkDescriptorPoolSize(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolSize * forMarshaling)3358 void marshal_VkDescriptorPoolSize(VulkanStreamGuest* vkStream, VkStructureType rootType,
3359 const VkDescriptorPoolSize* forMarshaling) {
3360 (void)rootType;
3361 vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
3362 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3363 }
3364
unmarshal_VkDescriptorPoolSize(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorPoolSize * forUnmarshaling)3365 void unmarshal_VkDescriptorPoolSize(VulkanStreamGuest* vkStream, VkStructureType rootType,
3366 VkDescriptorPoolSize* forUnmarshaling) {
3367 (void)rootType;
3368 vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType));
3369 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3370 }
3371
marshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolCreateInfo * forMarshaling)3372 void marshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3373 const VkDescriptorPoolCreateInfo* forMarshaling) {
3374 (void)rootType;
3375 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3376 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3377 rootType = forMarshaling->sType;
3378 }
3379 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3380 vkStream->write((VkDescriptorPoolCreateFlags*)&forMarshaling->flags,
3381 sizeof(VkDescriptorPoolCreateFlags));
3382 vkStream->write((uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
3383 vkStream->write((uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
3384 if (forMarshaling) {
3385 for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) {
3386 marshal_VkDescriptorPoolSize(
3387 vkStream, rootType, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i));
3388 }
3389 }
3390 }
3391
unmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorPoolCreateInfo * forUnmarshaling)3392 void unmarshal_VkDescriptorPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3393 VkDescriptorPoolCreateInfo* forUnmarshaling) {
3394 (void)rootType;
3395 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3396 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3397 rootType = forUnmarshaling->sType;
3398 }
3399 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3400 vkStream->read((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags,
3401 sizeof(VkDescriptorPoolCreateFlags));
3402 vkStream->read((uint32_t*)&forUnmarshaling->maxSets, sizeof(uint32_t));
3403 vkStream->read((uint32_t*)&forUnmarshaling->poolSizeCount, sizeof(uint32_t));
3404 if (forUnmarshaling) {
3405 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i) {
3406 unmarshal_VkDescriptorPoolSize(
3407 vkStream, rootType, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i));
3408 }
3409 }
3410 }
3411
marshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetAllocateInfo * forMarshaling)3412 void marshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3413 const VkDescriptorSetAllocateInfo* forMarshaling) {
3414 (void)rootType;
3415 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3416 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3417 rootType = forMarshaling->sType;
3418 }
3419 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3420 uint64_t cgen_var_0;
3421 vkStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&forMarshaling->descriptorPool,
3422 &cgen_var_0, 1);
3423 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3424 vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
3425 if (forMarshaling->descriptorSetCount) {
3426 uint64_t* cgen_var_1;
3427 vkStream->alloc((void**)&cgen_var_1, forMarshaling->descriptorSetCount * 8);
3428 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
3429 forMarshaling->pSetLayouts, cgen_var_1, forMarshaling->descriptorSetCount);
3430 vkStream->write((uint64_t*)cgen_var_1, forMarshaling->descriptorSetCount * 8);
3431 }
3432 }
3433
unmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetAllocateInfo * forUnmarshaling)3434 void unmarshal_VkDescriptorSetAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3435 VkDescriptorSetAllocateInfo* forUnmarshaling) {
3436 (void)rootType;
3437 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3438 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3439 rootType = forUnmarshaling->sType;
3440 }
3441 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3442 uint64_t cgen_var_0;
3443 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3444 vkStream->handleMapping()->mapHandles_u64_VkDescriptorPool(
3445 &cgen_var_0, (VkDescriptorPool*)&forUnmarshaling->descriptorPool, 1);
3446 vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
3447 if (forUnmarshaling->descriptorSetCount) {
3448 uint64_t* cgen_var_1;
3449 vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
3450 vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
3451 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
3452 cgen_var_1, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
3453 forUnmarshaling->descriptorSetCount);
3454 }
3455 }
3456
marshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBinding * forMarshaling)3457 void marshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest* vkStream, VkStructureType rootType,
3458 const VkDescriptorSetLayoutBinding* forMarshaling) {
3459 (void)rootType;
3460 vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
3461 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
3462 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3463 vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
3464 // WARNING PTR CHECK
3465 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
3466 vkStream->putBe64(cgen_var_0);
3467 if (forMarshaling->pImmutableSamplers) {
3468 if (forMarshaling->descriptorCount) {
3469 uint64_t* cgen_var_0_0;
3470 vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->descriptorCount * 8);
3471 vkStream->handleMapping()->mapHandles_VkSampler_u64(
3472 forMarshaling->pImmutableSamplers, cgen_var_0_0, forMarshaling->descriptorCount);
3473 vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->descriptorCount * 8);
3474 }
3475 }
3476 }
3477
unmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetLayoutBinding * forUnmarshaling)3478 void unmarshal_VkDescriptorSetLayoutBinding(VulkanStreamGuest* vkStream, VkStructureType rootType,
3479 VkDescriptorSetLayoutBinding* forUnmarshaling) {
3480 (void)rootType;
3481 vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
3482 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
3483 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3484 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
3485 // WARNING PTR CHECK
3486 const VkSampler* check_pImmutableSamplers;
3487 check_pImmutableSamplers = (const VkSampler*)(uintptr_t)vkStream->getBe64();
3488 if (forUnmarshaling->pImmutableSamplers) {
3489 if (!(check_pImmutableSamplers)) {
3490 fprintf(
3491 stderr,
3492 "fatal: forUnmarshaling->pImmutableSamplers inconsistent between guest and host\n");
3493 }
3494 if (forUnmarshaling->descriptorCount) {
3495 uint64_t* cgen_var_0_0;
3496 vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
3497 vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
3498 vkStream->handleMapping()->mapHandles_u64_VkSampler(
3499 cgen_var_0_0, (VkSampler*)forUnmarshaling->pImmutableSamplers,
3500 forUnmarshaling->descriptorCount);
3501 }
3502 }
3503 }
3504
marshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * forMarshaling)3505 void marshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3506 const VkDescriptorSetLayoutCreateInfo* forMarshaling) {
3507 (void)rootType;
3508 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3509 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3510 rootType = forMarshaling->sType;
3511 }
3512 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3513 vkStream->write((VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags,
3514 sizeof(VkDescriptorSetLayoutCreateFlags));
3515 vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
3516 if (forMarshaling) {
3517 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) {
3518 marshal_VkDescriptorSetLayoutBinding(
3519 vkStream, rootType,
3520 (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i));
3521 }
3522 }
3523 }
3524
unmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetLayoutCreateInfo * forUnmarshaling)3525 void unmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStreamGuest* vkStream,
3526 VkStructureType rootType,
3527 VkDescriptorSetLayoutCreateInfo* forUnmarshaling) {
3528 (void)rootType;
3529 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3530 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3531 rootType = forUnmarshaling->sType;
3532 }
3533 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3534 vkStream->read((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags,
3535 sizeof(VkDescriptorSetLayoutCreateFlags));
3536 vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
3537 if (forUnmarshaling) {
3538 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i) {
3539 unmarshal_VkDescriptorSetLayoutBinding(
3540 vkStream, rootType,
3541 (VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i));
3542 }
3543 }
3544 }
3545
marshal_VkWriteDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSet * forMarshaling)3546 void marshal_VkWriteDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
3547 const VkWriteDescriptorSet* forMarshaling) {
3548 (void)rootType;
3549 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3550 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3551 rootType = forMarshaling->sType;
3552 }
3553 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3554 uint64_t cgen_var_0;
3555 vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_0,
3556 1);
3557 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3558 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
3559 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
3560 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
3561 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
3562 // WARNING PTR CHECK
3563 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
3564 vkStream->putBe64(cgen_var_1);
3565 if (forMarshaling->pImageInfo) {
3566 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3567 ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) ||
3568 (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) ||
3569 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) ||
3570 (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) ||
3571 (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) {
3572 if (forMarshaling) {
3573 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
3574 marshal_VkDescriptorImageInfo(
3575 vkStream, rootType,
3576 (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i));
3577 }
3578 }
3579 }
3580 }
3581 // WARNING PTR CHECK
3582 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
3583 vkStream->putBe64(cgen_var_2);
3584 if (forMarshaling->pBufferInfo) {
3585 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3586 ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) ||
3587 (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) ||
3588 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) ||
3589 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) {
3590 if (forMarshaling) {
3591 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
3592 marshal_VkDescriptorBufferInfo(
3593 vkStream, rootType,
3594 (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i));
3595 }
3596 }
3597 }
3598 }
3599 // WARNING PTR CHECK
3600 uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
3601 vkStream->putBe64(cgen_var_3);
3602 if (forMarshaling->pTexelBufferView) {
3603 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3604 ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) ||
3605 (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) {
3606 if (forMarshaling->descriptorCount) {
3607 uint64_t* cgen_var_3_0;
3608 vkStream->alloc((void**)&cgen_var_3_0, forMarshaling->descriptorCount * 8);
3609 vkStream->handleMapping()->mapHandles_VkBufferView_u64(
3610 forMarshaling->pTexelBufferView, cgen_var_3_0, forMarshaling->descriptorCount);
3611 vkStream->write((uint64_t*)cgen_var_3_0, forMarshaling->descriptorCount * 8);
3612 }
3613 }
3614 }
3615 }
3616
unmarshal_VkWriteDescriptorSet(VulkanStreamGuest * vkStream,VkStructureType rootType,VkWriteDescriptorSet * forUnmarshaling)3617 void unmarshal_VkWriteDescriptorSet(VulkanStreamGuest* vkStream, VkStructureType rootType,
3618 VkWriteDescriptorSet* forUnmarshaling) {
3619 (void)rootType;
3620 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3621 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3622 rootType = forUnmarshaling->sType;
3623 }
3624 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3625 uint64_t cgen_var_0;
3626 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3627 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
3628 &cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
3629 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
3630 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
3631 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
3632 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
3633 // WARNING PTR CHECK
3634 const VkDescriptorImageInfo* check_pImageInfo;
3635 check_pImageInfo = (const VkDescriptorImageInfo*)(uintptr_t)vkStream->getBe64();
3636 if (forUnmarshaling->pImageInfo) {
3637 if (!(check_pImageInfo)) {
3638 fprintf(stderr,
3639 "fatal: forUnmarshaling->pImageInfo inconsistent between guest and host\n");
3640 }
3641 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3642 ((VK_DESCRIPTOR_TYPE_SAMPLER == forUnmarshaling->descriptorType) ||
3643 (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forUnmarshaling->descriptorType) ||
3644 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forUnmarshaling->descriptorType) ||
3645 (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forUnmarshaling->descriptorType) ||
3646 (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forUnmarshaling->descriptorType)))) {
3647 if (forUnmarshaling) {
3648 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
3649 unmarshal_VkDescriptorImageInfo(
3650 vkStream, rootType,
3651 (VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i));
3652 }
3653 }
3654 } else {
3655 forUnmarshaling->pImageInfo = 0;
3656 }
3657 }
3658 // WARNING PTR CHECK
3659 const VkDescriptorBufferInfo* check_pBufferInfo;
3660 check_pBufferInfo = (const VkDescriptorBufferInfo*)(uintptr_t)vkStream->getBe64();
3661 if (forUnmarshaling->pBufferInfo) {
3662 if (!(check_pBufferInfo)) {
3663 fprintf(stderr,
3664 "fatal: forUnmarshaling->pBufferInfo inconsistent between guest and host\n");
3665 }
3666 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3667 ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forUnmarshaling->descriptorType) ||
3668 (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forUnmarshaling->descriptorType) ||
3669 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forUnmarshaling->descriptorType) ||
3670 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forUnmarshaling->descriptorType)))) {
3671 if (forUnmarshaling) {
3672 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
3673 unmarshal_VkDescriptorBufferInfo(
3674 vkStream, rootType,
3675 (VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i));
3676 }
3677 }
3678 } else {
3679 forUnmarshaling->pBufferInfo = 0;
3680 }
3681 }
3682 // WARNING PTR CHECK
3683 const VkBufferView* check_pTexelBufferView;
3684 check_pTexelBufferView = (const VkBufferView*)(uintptr_t)vkStream->getBe64();
3685 if (forUnmarshaling->pTexelBufferView) {
3686 if (!(check_pTexelBufferView)) {
3687 fprintf(
3688 stderr,
3689 "fatal: forUnmarshaling->pTexelBufferView inconsistent between guest and host\n");
3690 }
3691 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3692 ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forUnmarshaling->descriptorType) ||
3693 (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forUnmarshaling->descriptorType)))) {
3694 if (forUnmarshaling->descriptorCount) {
3695 uint64_t* cgen_var_3_0;
3696 vkStream->alloc((void**)&cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
3697 vkStream->read((uint64_t*)cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
3698 vkStream->handleMapping()->mapHandles_u64_VkBufferView(
3699 cgen_var_3_0, (VkBufferView*)forUnmarshaling->pTexelBufferView,
3700 forUnmarshaling->descriptorCount);
3701 }
3702 } else {
3703 forUnmarshaling->pTexelBufferView = 0;
3704 }
3705 }
3706 }
3707
marshal_VkAttachmentDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription * forMarshaling)3708 void marshal_VkAttachmentDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
3709 const VkAttachmentDescription* forMarshaling) {
3710 (void)rootType;
3711 vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
3712 sizeof(VkAttachmentDescriptionFlags));
3713 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
3714 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
3715 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
3716 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
3717 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
3718 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
3719 sizeof(VkAttachmentStoreOp));
3720 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
3721 vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
3722 }
3723
unmarshal_VkAttachmentDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentDescription * forUnmarshaling)3724 void unmarshal_VkAttachmentDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
3725 VkAttachmentDescription* forUnmarshaling) {
3726 (void)rootType;
3727 vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
3728 sizeof(VkAttachmentDescriptionFlags));
3729 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
3730 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
3731 sizeof(VkSampleCountFlagBits));
3732 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
3733 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
3734 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
3735 sizeof(VkAttachmentLoadOp));
3736 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
3737 sizeof(VkAttachmentStoreOp));
3738 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
3739 vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
3740 }
3741
marshal_VkAttachmentReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference * forMarshaling)3742 void marshal_VkAttachmentReference(VulkanStreamGuest* vkStream, VkStructureType rootType,
3743 const VkAttachmentReference* forMarshaling) {
3744 (void)rootType;
3745 vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
3746 vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
3747 }
3748
unmarshal_VkAttachmentReference(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentReference * forUnmarshaling)3749 void unmarshal_VkAttachmentReference(VulkanStreamGuest* vkStream, VkStructureType rootType,
3750 VkAttachmentReference* forUnmarshaling) {
3751 (void)rootType;
3752 vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
3753 vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
3754 }
3755
marshal_VkFramebufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferCreateInfo * forMarshaling)3756 void marshal_VkFramebufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3757 const VkFramebufferCreateInfo* forMarshaling) {
3758 (void)rootType;
3759 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3760 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3761 rootType = forMarshaling->sType;
3762 }
3763 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3764 vkStream->write((VkFramebufferCreateFlags*)&forMarshaling->flags,
3765 sizeof(VkFramebufferCreateFlags));
3766 uint64_t cgen_var_0;
3767 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
3768 1);
3769 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
3770 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
3771 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3772 (((forMarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
3773 if (forMarshaling->attachmentCount) {
3774 uint64_t* cgen_var_0_0;
3775 vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->attachmentCount * 8);
3776 vkStream->handleMapping()->mapHandles_VkImageView_u64(
3777 forMarshaling->pAttachments, cgen_var_0_0, forMarshaling->attachmentCount);
3778 vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->attachmentCount * 8);
3779 }
3780 }
3781 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
3782 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
3783 vkStream->write((uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
3784 }
3785
unmarshal_VkFramebufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFramebufferCreateInfo * forUnmarshaling)3786 void unmarshal_VkFramebufferCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3787 VkFramebufferCreateInfo* forUnmarshaling) {
3788 (void)rootType;
3789 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3790 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3791 rootType = forUnmarshaling->sType;
3792 }
3793 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3794 vkStream->read((VkFramebufferCreateFlags*)&forUnmarshaling->flags,
3795 sizeof(VkFramebufferCreateFlags));
3796 uint64_t cgen_var_0;
3797 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
3798 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
3799 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
3800 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
3801 if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
3802 (((forUnmarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
3803 if (forUnmarshaling->attachmentCount) {
3804 uint64_t* cgen_var_0_0;
3805 vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
3806 vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
3807 vkStream->handleMapping()->mapHandles_u64_VkImageView(
3808 cgen_var_0_0, (VkImageView*)forUnmarshaling->pAttachments,
3809 forUnmarshaling->attachmentCount);
3810 }
3811 } else {
3812 forUnmarshaling->pAttachments = 0;
3813 }
3814 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
3815 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
3816 vkStream->read((uint32_t*)&forUnmarshaling->layers, sizeof(uint32_t));
3817 }
3818
marshal_VkSubpassDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription * forMarshaling)3819 void marshal_VkSubpassDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
3820 const VkSubpassDescription* forMarshaling) {
3821 (void)rootType;
3822 vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags,
3823 sizeof(VkSubpassDescriptionFlags));
3824 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
3825 sizeof(VkPipelineBindPoint));
3826 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
3827 if (forMarshaling) {
3828 for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
3829 marshal_VkAttachmentReference(
3830 vkStream, rootType,
3831 (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i));
3832 }
3833 }
3834 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
3835 if (forMarshaling) {
3836 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
3837 marshal_VkAttachmentReference(
3838 vkStream, rootType,
3839 (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i));
3840 }
3841 }
3842 // WARNING PTR CHECK
3843 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
3844 vkStream->putBe64(cgen_var_0);
3845 if (forMarshaling->pResolveAttachments) {
3846 if (forMarshaling) {
3847 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
3848 marshal_VkAttachmentReference(
3849 vkStream, rootType,
3850 (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i));
3851 }
3852 }
3853 }
3854 // WARNING PTR CHECK
3855 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
3856 vkStream->putBe64(cgen_var_1);
3857 if (forMarshaling->pDepthStencilAttachment) {
3858 marshal_VkAttachmentReference(
3859 vkStream, rootType,
3860 (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment));
3861 }
3862 vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
3863 vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
3864 forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
3865 }
3866
unmarshal_VkSubpassDescription(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassDescription * forUnmarshaling)3867 void unmarshal_VkSubpassDescription(VulkanStreamGuest* vkStream, VkStructureType rootType,
3868 VkSubpassDescription* forUnmarshaling) {
3869 (void)rootType;
3870 vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
3871 sizeof(VkSubpassDescriptionFlags));
3872 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
3873 sizeof(VkPipelineBindPoint));
3874 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
3875 if (forUnmarshaling) {
3876 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
3877 unmarshal_VkAttachmentReference(
3878 vkStream, rootType,
3879 (VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i));
3880 }
3881 }
3882 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
3883 if (forUnmarshaling) {
3884 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
3885 unmarshal_VkAttachmentReference(
3886 vkStream, rootType,
3887 (VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i));
3888 }
3889 }
3890 // WARNING PTR CHECK
3891 const VkAttachmentReference* check_pResolveAttachments;
3892 check_pResolveAttachments = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
3893 if (forUnmarshaling->pResolveAttachments) {
3894 if (!(check_pResolveAttachments)) {
3895 fprintf(stderr,
3896 "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and "
3897 "host\n");
3898 }
3899 if (forUnmarshaling) {
3900 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
3901 unmarshal_VkAttachmentReference(
3902 vkStream, rootType,
3903 (VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i));
3904 }
3905 }
3906 }
3907 // WARNING PTR CHECK
3908 const VkAttachmentReference* check_pDepthStencilAttachment;
3909 check_pDepthStencilAttachment = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
3910 if (forUnmarshaling->pDepthStencilAttachment) {
3911 if (!(check_pDepthStencilAttachment)) {
3912 fprintf(stderr,
3913 "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest "
3914 "and host\n");
3915 }
3916 unmarshal_VkAttachmentReference(
3917 vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment));
3918 }
3919 vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
3920 vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
3921 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
3922 }
3923
marshal_VkSubpassDependency(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency * forMarshaling)3924 void marshal_VkSubpassDependency(VulkanStreamGuest* vkStream, VkStructureType rootType,
3925 const VkSubpassDependency* forMarshaling) {
3926 (void)rootType;
3927 vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
3928 vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
3929 vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
3930 sizeof(VkPipelineStageFlags));
3931 vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
3932 sizeof(VkPipelineStageFlags));
3933 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
3934 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
3935 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
3936 }
3937
unmarshal_VkSubpassDependency(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassDependency * forUnmarshaling)3938 void unmarshal_VkSubpassDependency(VulkanStreamGuest* vkStream, VkStructureType rootType,
3939 VkSubpassDependency* forUnmarshaling) {
3940 (void)rootType;
3941 vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
3942 vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
3943 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
3944 sizeof(VkPipelineStageFlags));
3945 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
3946 sizeof(VkPipelineStageFlags));
3947 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
3948 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
3949 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
3950 sizeof(VkDependencyFlags));
3951 }
3952
marshal_VkRenderPassCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo * forMarshaling)3953 void marshal_VkRenderPassCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3954 const VkRenderPassCreateInfo* forMarshaling) {
3955 (void)rootType;
3956 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
3957 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3958 rootType = forMarshaling->sType;
3959 }
3960 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
3961 vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags,
3962 sizeof(VkRenderPassCreateFlags));
3963 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
3964 if (forMarshaling) {
3965 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
3966 marshal_VkAttachmentDescription(
3967 vkStream, rootType,
3968 (const VkAttachmentDescription*)(forMarshaling->pAttachments + i));
3969 }
3970 }
3971 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
3972 if (forMarshaling) {
3973 for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
3974 marshal_VkSubpassDescription(
3975 vkStream, rootType, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i));
3976 }
3977 }
3978 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
3979 if (forMarshaling) {
3980 for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
3981 marshal_VkSubpassDependency(
3982 vkStream, rootType, (const VkSubpassDependency*)(forMarshaling->pDependencies + i));
3983 }
3984 }
3985 }
3986
unmarshal_VkRenderPassCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassCreateInfo * forUnmarshaling)3987 void unmarshal_VkRenderPassCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
3988 VkRenderPassCreateInfo* forUnmarshaling) {
3989 (void)rootType;
3990 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
3991 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3992 rootType = forUnmarshaling->sType;
3993 }
3994 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
3995 vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
3996 sizeof(VkRenderPassCreateFlags));
3997 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
3998 if (forUnmarshaling) {
3999 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
4000 unmarshal_VkAttachmentDescription(
4001 vkStream, rootType, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i));
4002 }
4003 }
4004 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
4005 if (forUnmarshaling) {
4006 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
4007 unmarshal_VkSubpassDescription(
4008 vkStream, rootType, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i));
4009 }
4010 }
4011 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
4012 if (forUnmarshaling) {
4013 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
4014 unmarshal_VkSubpassDependency(
4015 vkStream, rootType, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i));
4016 }
4017 }
4018 }
4019
marshal_VkCommandPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandPoolCreateInfo * forMarshaling)4020 void marshal_VkCommandPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4021 const VkCommandPoolCreateInfo* forMarshaling) {
4022 (void)rootType;
4023 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4024 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4025 rootType = forMarshaling->sType;
4026 }
4027 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4028 vkStream->write((VkCommandPoolCreateFlags*)&forMarshaling->flags,
4029 sizeof(VkCommandPoolCreateFlags));
4030 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
4031 }
4032
unmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandPoolCreateInfo * forUnmarshaling)4033 void unmarshal_VkCommandPoolCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4034 VkCommandPoolCreateInfo* forUnmarshaling) {
4035 (void)rootType;
4036 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4037 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4038 rootType = forUnmarshaling->sType;
4039 }
4040 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4041 vkStream->read((VkCommandPoolCreateFlags*)&forUnmarshaling->flags,
4042 sizeof(VkCommandPoolCreateFlags));
4043 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
4044 }
4045
marshal_VkCommandBufferAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferAllocateInfo * forMarshaling)4046 void marshal_VkCommandBufferAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4047 const VkCommandBufferAllocateInfo* forMarshaling) {
4048 (void)rootType;
4049 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4050 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4051 rootType = forMarshaling->sType;
4052 }
4053 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4054 uint64_t cgen_var_0;
4055 vkStream->handleMapping()->mapHandles_VkCommandPool_u64(&forMarshaling->commandPool,
4056 &cgen_var_0, 1);
4057 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4058 vkStream->write((VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
4059 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
4060 }
4061
unmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandBufferAllocateInfo * forUnmarshaling)4062 void unmarshal_VkCommandBufferAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4063 VkCommandBufferAllocateInfo* forUnmarshaling) {
4064 (void)rootType;
4065 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4066 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4067 rootType = forUnmarshaling->sType;
4068 }
4069 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4070 uint64_t cgen_var_0;
4071 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4072 vkStream->handleMapping()->mapHandles_u64_VkCommandPool(
4073 &cgen_var_0, (VkCommandPool*)&forUnmarshaling->commandPool, 1);
4074 vkStream->read((VkCommandBufferLevel*)&forUnmarshaling->level, sizeof(VkCommandBufferLevel));
4075 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
4076 }
4077
marshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceInfo * forMarshaling)4078 void marshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4079 const VkCommandBufferInheritanceInfo* forMarshaling) {
4080 (void)rootType;
4081 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4082 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4083 rootType = forMarshaling->sType;
4084 }
4085 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4086 uint64_t cgen_var_0;
4087 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
4088 1);
4089 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4090 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
4091 uint64_t cgen_var_1;
4092 vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
4093 &cgen_var_1, 1);
4094 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4095 vkStream->write((VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
4096 vkStream->write((VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
4097 vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
4098 sizeof(VkQueryPipelineStatisticFlags));
4099 }
4100
unmarshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandBufferInheritanceInfo * forUnmarshaling)4101 void unmarshal_VkCommandBufferInheritanceInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4102 VkCommandBufferInheritanceInfo* forUnmarshaling) {
4103 (void)rootType;
4104 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4105 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4106 rootType = forUnmarshaling->sType;
4107 }
4108 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4109 uint64_t cgen_var_0;
4110 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4111 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
4112 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
4113 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
4114 uint64_t cgen_var_1;
4115 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4116 vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
4117 &cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
4118 vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryEnable, sizeof(VkBool32));
4119 vkStream->read((VkQueryControlFlags*)&forUnmarshaling->queryFlags, sizeof(VkQueryControlFlags));
4120 vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
4121 sizeof(VkQueryPipelineStatisticFlags));
4122 }
4123
marshal_VkCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferBeginInfo * forMarshaling)4124 void marshal_VkCommandBufferBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4125 const VkCommandBufferBeginInfo* forMarshaling) {
4126 (void)rootType;
4127 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4128 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4129 rootType = forMarshaling->sType;
4130 }
4131 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4132 vkStream->write((VkCommandBufferUsageFlags*)&forMarshaling->flags,
4133 sizeof(VkCommandBufferUsageFlags));
4134 // WARNING PTR CHECK
4135 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
4136 vkStream->putBe64(cgen_var_0);
4137 if (forMarshaling->pInheritanceInfo) {
4138 marshal_VkCommandBufferInheritanceInfo(
4139 vkStream, rootType,
4140 (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo));
4141 }
4142 }
4143
unmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandBufferBeginInfo * forUnmarshaling)4144 void unmarshal_VkCommandBufferBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4145 VkCommandBufferBeginInfo* forUnmarshaling) {
4146 (void)rootType;
4147 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4148 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4149 rootType = forUnmarshaling->sType;
4150 }
4151 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4152 vkStream->read((VkCommandBufferUsageFlags*)&forUnmarshaling->flags,
4153 sizeof(VkCommandBufferUsageFlags));
4154 // WARNING PTR CHECK
4155 const VkCommandBufferInheritanceInfo* check_pInheritanceInfo;
4156 check_pInheritanceInfo = (const VkCommandBufferInheritanceInfo*)(uintptr_t)vkStream->getBe64();
4157 if (forUnmarshaling->pInheritanceInfo) {
4158 if (!(check_pInheritanceInfo)) {
4159 fprintf(
4160 stderr,
4161 "fatal: forUnmarshaling->pInheritanceInfo inconsistent between guest and host\n");
4162 }
4163 unmarshal_VkCommandBufferInheritanceInfo(
4164 vkStream, rootType,
4165 (VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo));
4166 }
4167 }
4168
marshal_VkBufferCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy * forMarshaling)4169 void marshal_VkBufferCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4170 const VkBufferCopy* forMarshaling) {
4171 (void)rootType;
4172 vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
4173 vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
4174 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
4175 }
4176
unmarshal_VkBufferCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferCopy * forUnmarshaling)4177 void unmarshal_VkBufferCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4178 VkBufferCopy* forUnmarshaling) {
4179 (void)rootType;
4180 vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
4181 vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
4182 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
4183 }
4184
marshal_VkImageSubresourceLayers(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresourceLayers * forMarshaling)4185 void marshal_VkImageSubresourceLayers(VulkanStreamGuest* vkStream, VkStructureType rootType,
4186 const VkImageSubresourceLayers* forMarshaling) {
4187 (void)rootType;
4188 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4189 vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
4190 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
4191 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
4192 }
4193
unmarshal_VkImageSubresourceLayers(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageSubresourceLayers * forUnmarshaling)4194 void unmarshal_VkImageSubresourceLayers(VulkanStreamGuest* vkStream, VkStructureType rootType,
4195 VkImageSubresourceLayers* forUnmarshaling) {
4196 (void)rootType;
4197 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
4198 vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
4199 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
4200 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
4201 }
4202
marshal_VkBufferImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy * forMarshaling)4203 void marshal_VkBufferImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4204 const VkBufferImageCopy* forMarshaling) {
4205 (void)rootType;
4206 vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
4207 vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
4208 vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
4209 marshal_VkImageSubresourceLayers(vkStream, rootType,
4210 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
4211 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
4212 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
4213 }
4214
unmarshal_VkBufferImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferImageCopy * forUnmarshaling)4215 void unmarshal_VkBufferImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4216 VkBufferImageCopy* forUnmarshaling) {
4217 (void)rootType;
4218 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize));
4219 vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t));
4220 vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t));
4221 unmarshal_VkImageSubresourceLayers(
4222 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
4223 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
4224 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
4225 }
4226
marshal_VkClearColorValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearColorValue * forMarshaling)4227 void marshal_VkClearColorValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4228 const VkClearColorValue* forMarshaling) {
4229 (void)rootType;
4230 vkStream->write((float*)forMarshaling->float32, 4 * sizeof(float));
4231 }
4232
unmarshal_VkClearColorValue(VulkanStreamGuest * vkStream,VkStructureType rootType,VkClearColorValue * forUnmarshaling)4233 void unmarshal_VkClearColorValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4234 VkClearColorValue* forUnmarshaling) {
4235 (void)rootType;
4236 vkStream->read((float*)forUnmarshaling->float32, 4 * sizeof(float));
4237 }
4238
marshal_VkClearDepthStencilValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearDepthStencilValue * forMarshaling)4239 void marshal_VkClearDepthStencilValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4240 const VkClearDepthStencilValue* forMarshaling) {
4241 (void)rootType;
4242 vkStream->write((float*)&forMarshaling->depth, sizeof(float));
4243 vkStream->write((uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
4244 }
4245
unmarshal_VkClearDepthStencilValue(VulkanStreamGuest * vkStream,VkStructureType rootType,VkClearDepthStencilValue * forUnmarshaling)4246 void unmarshal_VkClearDepthStencilValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4247 VkClearDepthStencilValue* forUnmarshaling) {
4248 (void)rootType;
4249 vkStream->read((float*)&forUnmarshaling->depth, sizeof(float));
4250 vkStream->read((uint32_t*)&forUnmarshaling->stencil, sizeof(uint32_t));
4251 }
4252
marshal_VkClearValue(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearValue * forMarshaling)4253 void marshal_VkClearValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4254 const VkClearValue* forMarshaling) {
4255 (void)rootType;
4256 marshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forMarshaling->color));
4257 }
4258
unmarshal_VkClearValue(VulkanStreamGuest * vkStream,VkStructureType rootType,VkClearValue * forUnmarshaling)4259 void unmarshal_VkClearValue(VulkanStreamGuest* vkStream, VkStructureType rootType,
4260 VkClearValue* forUnmarshaling) {
4261 (void)rootType;
4262 unmarshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forUnmarshaling->color));
4263 }
4264
marshal_VkClearAttachment(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearAttachment * forMarshaling)4265 void marshal_VkClearAttachment(VulkanStreamGuest* vkStream, VkStructureType rootType,
4266 const VkClearAttachment* forMarshaling) {
4267 (void)rootType;
4268 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
4269 vkStream->write((uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
4270 marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue));
4271 }
4272
unmarshal_VkClearAttachment(VulkanStreamGuest * vkStream,VkStructureType rootType,VkClearAttachment * forUnmarshaling)4273 void unmarshal_VkClearAttachment(VulkanStreamGuest* vkStream, VkStructureType rootType,
4274 VkClearAttachment* forUnmarshaling) {
4275 (void)rootType;
4276 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
4277 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachment, sizeof(uint32_t));
4278 unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue));
4279 }
4280
marshal_VkClearRect(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkClearRect * forMarshaling)4281 void marshal_VkClearRect(VulkanStreamGuest* vkStream, VkStructureType rootType,
4282 const VkClearRect* forMarshaling) {
4283 (void)rootType;
4284 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->rect));
4285 vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
4286 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
4287 }
4288
unmarshal_VkClearRect(VulkanStreamGuest * vkStream,VkStructureType rootType,VkClearRect * forUnmarshaling)4289 void unmarshal_VkClearRect(VulkanStreamGuest* vkStream, VkStructureType rootType,
4290 VkClearRect* forUnmarshaling) {
4291 (void)rootType;
4292 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->rect));
4293 vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
4294 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
4295 }
4296
marshal_VkImageBlit(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit * forMarshaling)4297 void marshal_VkImageBlit(VulkanStreamGuest* vkStream, VkStructureType rootType,
4298 const VkImageBlit* forMarshaling) {
4299 (void)rootType;
4300 marshal_VkImageSubresourceLayers(vkStream, rootType,
4301 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4302 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4303 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i));
4304 }
4305 marshal_VkImageSubresourceLayers(vkStream, rootType,
4306 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4307 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4308 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i));
4309 }
4310 }
4311
unmarshal_VkImageBlit(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageBlit * forUnmarshaling)4312 void unmarshal_VkImageBlit(VulkanStreamGuest* vkStream, VkStructureType rootType,
4313 VkImageBlit* forUnmarshaling) {
4314 (void)rootType;
4315 unmarshal_VkImageSubresourceLayers(
4316 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4317 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4318 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i));
4319 }
4320 unmarshal_VkImageSubresourceLayers(
4321 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4322 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
4323 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i));
4324 }
4325 }
4326
marshal_VkImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy * forMarshaling)4327 void marshal_VkImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4328 const VkImageCopy* forMarshaling) {
4329 (void)rootType;
4330 marshal_VkImageSubresourceLayers(vkStream, rootType,
4331 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4332 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
4333 marshal_VkImageSubresourceLayers(vkStream, rootType,
4334 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4335 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
4336 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
4337 }
4338
unmarshal_VkImageCopy(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageCopy * forUnmarshaling)4339 void unmarshal_VkImageCopy(VulkanStreamGuest* vkStream, VkStructureType rootType,
4340 VkImageCopy* forUnmarshaling) {
4341 (void)rootType;
4342 unmarshal_VkImageSubresourceLayers(
4343 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4344 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
4345 unmarshal_VkImageSubresourceLayers(
4346 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4347 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
4348 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
4349 }
4350
marshal_VkImageResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve * forMarshaling)4351 void marshal_VkImageResolve(VulkanStreamGuest* vkStream, VkStructureType rootType,
4352 const VkImageResolve* forMarshaling) {
4353 (void)rootType;
4354 marshal_VkImageSubresourceLayers(vkStream, rootType,
4355 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
4356 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
4357 marshal_VkImageSubresourceLayers(vkStream, rootType,
4358 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
4359 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
4360 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
4361 }
4362
unmarshal_VkImageResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageResolve * forUnmarshaling)4363 void unmarshal_VkImageResolve(VulkanStreamGuest* vkStream, VkStructureType rootType,
4364 VkImageResolve* forUnmarshaling) {
4365 (void)rootType;
4366 unmarshal_VkImageSubresourceLayers(
4367 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
4368 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
4369 unmarshal_VkImageSubresourceLayers(
4370 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
4371 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
4372 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
4373 }
4374
marshal_VkRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassBeginInfo * forMarshaling)4375 void marshal_VkRenderPassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4376 const VkRenderPassBeginInfo* forMarshaling) {
4377 (void)rootType;
4378 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4379 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4380 rootType = forMarshaling->sType;
4381 }
4382 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4383 uint64_t cgen_var_0;
4384 vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
4385 1);
4386 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4387 uint64_t cgen_var_1;
4388 vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
4389 &cgen_var_1, 1);
4390 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4391 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea));
4392 vkStream->write((uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
4393 // WARNING PTR CHECK
4394 uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
4395 vkStream->putBe64(cgen_var_2);
4396 if (forMarshaling->pClearValues) {
4397 if (forMarshaling) {
4398 for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) {
4399 marshal_VkClearValue(vkStream, rootType,
4400 (const VkClearValue*)(forMarshaling->pClearValues + i));
4401 }
4402 }
4403 }
4404 }
4405
unmarshal_VkRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassBeginInfo * forUnmarshaling)4406 void unmarshal_VkRenderPassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4407 VkRenderPassBeginInfo* forUnmarshaling) {
4408 (void)rootType;
4409 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4410 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4411 rootType = forUnmarshaling->sType;
4412 }
4413 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4414 uint64_t cgen_var_0;
4415 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4416 vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
4417 &cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
4418 uint64_t cgen_var_1;
4419 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4420 vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
4421 &cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
4422 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea));
4423 vkStream->read((uint32_t*)&forUnmarshaling->clearValueCount, sizeof(uint32_t));
4424 // WARNING PTR CHECK
4425 const VkClearValue* check_pClearValues;
4426 check_pClearValues = (const VkClearValue*)(uintptr_t)vkStream->getBe64();
4427 if (forUnmarshaling->pClearValues) {
4428 if (!(check_pClearValues)) {
4429 fprintf(stderr,
4430 "fatal: forUnmarshaling->pClearValues inconsistent between guest and host\n");
4431 }
4432 if (forUnmarshaling) {
4433 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i) {
4434 unmarshal_VkClearValue(vkStream, rootType,
4435 (VkClearValue*)(forUnmarshaling->pClearValues + i));
4436 }
4437 }
4438 }
4439 }
4440
4441 #endif
4442 #ifdef VK_VERSION_1_1
marshal_VkPhysicalDeviceSubgroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * forMarshaling)4443 void marshal_VkPhysicalDeviceSubgroupProperties(
4444 VulkanStreamGuest* vkStream, VkStructureType rootType,
4445 const VkPhysicalDeviceSubgroupProperties* forMarshaling) {
4446 (void)rootType;
4447 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4448 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4449 rootType = forMarshaling->sType;
4450 }
4451 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4452 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
4453 vkStream->write((VkShaderStageFlags*)&forMarshaling->supportedStages,
4454 sizeof(VkShaderStageFlags));
4455 vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations,
4456 sizeof(VkSubgroupFeatureFlags));
4457 vkStream->write((VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
4458 }
4459
unmarshal_VkPhysicalDeviceSubgroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupProperties * forUnmarshaling)4460 void unmarshal_VkPhysicalDeviceSubgroupProperties(
4461 VulkanStreamGuest* vkStream, VkStructureType rootType,
4462 VkPhysicalDeviceSubgroupProperties* forUnmarshaling) {
4463 (void)rootType;
4464 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4465 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4466 rootType = forUnmarshaling->sType;
4467 }
4468 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4469 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
4470 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->supportedStages,
4471 sizeof(VkShaderStageFlags));
4472 vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations,
4473 sizeof(VkSubgroupFeatureFlags));
4474 vkStream->read((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, sizeof(VkBool32));
4475 }
4476
marshal_VkBindBufferMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryInfo * forMarshaling)4477 void marshal_VkBindBufferMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4478 const VkBindBufferMemoryInfo* forMarshaling) {
4479 (void)rootType;
4480 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4481 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4482 rootType = forMarshaling->sType;
4483 }
4484 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4485 uint64_t cgen_var_0;
4486 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
4487 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4488 uint64_t cgen_var_1;
4489 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
4490 1);
4491 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4492 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
4493 }
4494
unmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindBufferMemoryInfo * forUnmarshaling)4495 void unmarshal_VkBindBufferMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4496 VkBindBufferMemoryInfo* forUnmarshaling) {
4497 (void)rootType;
4498 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4499 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4500 rootType = forUnmarshaling->sType;
4501 }
4502 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4503 uint64_t cgen_var_0;
4504 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4505 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
4506 (VkBuffer*)&forUnmarshaling->buffer, 1);
4507 uint64_t cgen_var_1;
4508 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4509 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
4510 &cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
4511 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
4512 }
4513
marshal_VkBindImageMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryInfo * forMarshaling)4514 void marshal_VkBindImageMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4515 const VkBindImageMemoryInfo* forMarshaling) {
4516 (void)rootType;
4517 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4518 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4519 rootType = forMarshaling->sType;
4520 }
4521 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4522 uint64_t cgen_var_0;
4523 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
4524 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4525 uint64_t cgen_var_1;
4526 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
4527 1);
4528 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4529 vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
4530 }
4531
unmarshal_VkBindImageMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindImageMemoryInfo * forUnmarshaling)4532 void unmarshal_VkBindImageMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4533 VkBindImageMemoryInfo* forUnmarshaling) {
4534 (void)rootType;
4535 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4536 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4537 rootType = forUnmarshaling->sType;
4538 }
4539 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4540 uint64_t cgen_var_0;
4541 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4542 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
4543 (VkImage*)&forUnmarshaling->image, 1);
4544 uint64_t cgen_var_1;
4545 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4546 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
4547 &cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
4548 vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
4549 }
4550
marshal_VkPhysicalDevice16BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * forMarshaling)4551 void marshal_VkPhysicalDevice16BitStorageFeatures(
4552 VulkanStreamGuest* vkStream, VkStructureType rootType,
4553 const VkPhysicalDevice16BitStorageFeatures* forMarshaling) {
4554 (void)rootType;
4555 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4556 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4557 rootType = forMarshaling->sType;
4558 }
4559 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4560 vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
4561 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
4562 sizeof(VkBool32));
4563 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
4564 vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
4565 }
4566
unmarshal_VkPhysicalDevice16BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevice16BitStorageFeatures * forUnmarshaling)4567 void unmarshal_VkPhysicalDevice16BitStorageFeatures(
4568 VulkanStreamGuest* vkStream, VkStructureType rootType,
4569 VkPhysicalDevice16BitStorageFeatures* forUnmarshaling) {
4570 (void)rootType;
4571 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4572 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4573 rootType = forUnmarshaling->sType;
4574 }
4575 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4576 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
4577 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
4578 sizeof(VkBool32));
4579 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
4580 vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
4581 }
4582
marshal_VkMemoryDedicatedRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedRequirements * forMarshaling)4583 void marshal_VkMemoryDedicatedRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
4584 const VkMemoryDedicatedRequirements* forMarshaling) {
4585 (void)rootType;
4586 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4587 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4588 rootType = forMarshaling->sType;
4589 }
4590 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4591 vkStream->write((VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
4592 vkStream->write((VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
4593 }
4594
unmarshal_VkMemoryDedicatedRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryDedicatedRequirements * forUnmarshaling)4595 void unmarshal_VkMemoryDedicatedRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
4596 VkMemoryDedicatedRequirements* forUnmarshaling) {
4597 (void)rootType;
4598 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4599 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4600 rootType = forUnmarshaling->sType;
4601 }
4602 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4603 vkStream->read((VkBool32*)&forUnmarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
4604 vkStream->read((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
4605 }
4606
marshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * forMarshaling)4607 void marshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4608 const VkMemoryDedicatedAllocateInfo* forMarshaling) {
4609 (void)rootType;
4610 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4611 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4612 rootType = forMarshaling->sType;
4613 }
4614 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4615 uint64_t cgen_var_0;
4616 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
4617 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4618 uint64_t cgen_var_1;
4619 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_1, 1);
4620 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
4621 }
4622
unmarshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryDedicatedAllocateInfo * forUnmarshaling)4623 void unmarshal_VkMemoryDedicatedAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4624 VkMemoryDedicatedAllocateInfo* forUnmarshaling) {
4625 (void)rootType;
4626 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4627 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4628 rootType = forUnmarshaling->sType;
4629 }
4630 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4631 uint64_t cgen_var_0;
4632 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4633 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
4634 (VkImage*)&forUnmarshaling->image, 1);
4635 uint64_t cgen_var_1;
4636 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
4637 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
4638 (VkBuffer*)&forUnmarshaling->buffer, 1);
4639 }
4640
marshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * forMarshaling)4641 void marshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4642 const VkMemoryAllocateFlagsInfo* forMarshaling) {
4643 (void)rootType;
4644 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4645 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4646 rootType = forMarshaling->sType;
4647 }
4648 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4649 vkStream->write((VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
4650 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
4651 }
4652
unmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryAllocateFlagsInfo * forUnmarshaling)4653 void unmarshal_VkMemoryAllocateFlagsInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4654 VkMemoryAllocateFlagsInfo* forUnmarshaling) {
4655 (void)rootType;
4656 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4657 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4658 rootType = forUnmarshaling->sType;
4659 }
4660 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4661 vkStream->read((VkMemoryAllocateFlags*)&forUnmarshaling->flags, sizeof(VkMemoryAllocateFlags));
4662 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
4663 }
4664
marshal_VkDeviceGroupRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * forMarshaling)4665 void marshal_VkDeviceGroupRenderPassBeginInfo(
4666 VulkanStreamGuest* vkStream, VkStructureType rootType,
4667 const VkDeviceGroupRenderPassBeginInfo* forMarshaling) {
4668 (void)rootType;
4669 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4670 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4671 rootType = forMarshaling->sType;
4672 }
4673 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4674 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
4675 vkStream->write((uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
4676 if (forMarshaling) {
4677 for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) {
4678 marshal_VkRect2D(vkStream, rootType,
4679 (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i));
4680 }
4681 }
4682 }
4683
unmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceGroupRenderPassBeginInfo * forUnmarshaling)4684 void unmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStreamGuest* vkStream,
4685 VkStructureType rootType,
4686 VkDeviceGroupRenderPassBeginInfo* forUnmarshaling) {
4687 (void)rootType;
4688 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4689 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4690 rootType = forUnmarshaling->sType;
4691 }
4692 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4693 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
4694 vkStream->read((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, sizeof(uint32_t));
4695 if (forUnmarshaling) {
4696 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i) {
4697 unmarshal_VkRect2D(vkStream, rootType,
4698 (VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i));
4699 }
4700 }
4701 }
4702
marshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * forMarshaling)4703 void marshal_VkDeviceGroupCommandBufferBeginInfo(
4704 VulkanStreamGuest* vkStream, VkStructureType rootType,
4705 const VkDeviceGroupCommandBufferBeginInfo* forMarshaling) {
4706 (void)rootType;
4707 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4708 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4709 rootType = forMarshaling->sType;
4710 }
4711 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4712 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
4713 }
4714
unmarshal_VkDeviceGroupCommandBufferBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceGroupCommandBufferBeginInfo * forUnmarshaling)4715 void unmarshal_VkDeviceGroupCommandBufferBeginInfo(
4716 VulkanStreamGuest* vkStream, VkStructureType rootType,
4717 VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling) {
4718 (void)rootType;
4719 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4720 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4721 rootType = forUnmarshaling->sType;
4722 }
4723 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4724 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
4725 }
4726
marshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupSubmitInfo * forMarshaling)4727 void marshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4728 const VkDeviceGroupSubmitInfo* forMarshaling) {
4729 (void)rootType;
4730 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4731 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4732 rootType = forMarshaling->sType;
4733 }
4734 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4735 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
4736 vkStream->write((const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices,
4737 forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
4738 vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
4739 vkStream->write((const uint32_t*)forMarshaling->pCommandBufferDeviceMasks,
4740 forMarshaling->commandBufferCount * sizeof(const uint32_t));
4741 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
4742 vkStream->write((const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices,
4743 forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
4744 }
4745
unmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceGroupSubmitInfo * forUnmarshaling)4746 void unmarshal_VkDeviceGroupSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4747 VkDeviceGroupSubmitInfo* forUnmarshaling) {
4748 (void)rootType;
4749 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4750 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4751 rootType = forUnmarshaling->sType;
4752 }
4753 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4754 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
4755 vkStream->read((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices,
4756 forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
4757 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
4758 vkStream->read((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks,
4759 forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
4760 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
4761 vkStream->read((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices,
4762 forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
4763 }
4764
marshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * forMarshaling)4765 void marshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4766 const VkDeviceGroupBindSparseInfo* forMarshaling) {
4767 (void)rootType;
4768 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4769 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4770 rootType = forMarshaling->sType;
4771 }
4772 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4773 vkStream->write((uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t));
4774 vkStream->write((uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
4775 }
4776
unmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceGroupBindSparseInfo * forUnmarshaling)4777 void unmarshal_VkDeviceGroupBindSparseInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4778 VkDeviceGroupBindSparseInfo* forUnmarshaling) {
4779 (void)rootType;
4780 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4781 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4782 rootType = forUnmarshaling->sType;
4783 }
4784 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4785 vkStream->read((uint32_t*)&forUnmarshaling->resourceDeviceIndex, sizeof(uint32_t));
4786 vkStream->read((uint32_t*)&forUnmarshaling->memoryDeviceIndex, sizeof(uint32_t));
4787 }
4788
marshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * forMarshaling)4789 void marshal_VkBindBufferMemoryDeviceGroupInfo(
4790 VulkanStreamGuest* vkStream, VkStructureType rootType,
4791 const VkBindBufferMemoryDeviceGroupInfo* forMarshaling) {
4792 (void)rootType;
4793 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4794 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4795 rootType = forMarshaling->sType;
4796 }
4797 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4798 vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
4799 vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
4800 forMarshaling->deviceIndexCount * sizeof(const uint32_t));
4801 }
4802
unmarshal_VkBindBufferMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindBufferMemoryDeviceGroupInfo * forUnmarshaling)4803 void unmarshal_VkBindBufferMemoryDeviceGroupInfo(
4804 VulkanStreamGuest* vkStream, VkStructureType rootType,
4805 VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling) {
4806 (void)rootType;
4807 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4808 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4809 rootType = forUnmarshaling->sType;
4810 }
4811 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4812 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
4813 vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
4814 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
4815 }
4816
marshal_VkBindImageMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * forMarshaling)4817 void marshal_VkBindImageMemoryDeviceGroupInfo(
4818 VulkanStreamGuest* vkStream, VkStructureType rootType,
4819 const VkBindImageMemoryDeviceGroupInfo* forMarshaling) {
4820 (void)rootType;
4821 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4822 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4823 rootType = forMarshaling->sType;
4824 }
4825 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4826 vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
4827 vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
4828 forMarshaling->deviceIndexCount * sizeof(const uint32_t));
4829 vkStream->write((uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
4830 if (forMarshaling) {
4831 for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) {
4832 marshal_VkRect2D(vkStream, rootType,
4833 (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i));
4834 }
4835 }
4836 }
4837
unmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindImageMemoryDeviceGroupInfo * forUnmarshaling)4838 void unmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStreamGuest* vkStream,
4839 VkStructureType rootType,
4840 VkBindImageMemoryDeviceGroupInfo* forUnmarshaling) {
4841 (void)rootType;
4842 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4843 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4844 rootType = forUnmarshaling->sType;
4845 }
4846 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4847 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
4848 vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
4849 forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
4850 vkStream->read((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
4851 if (forUnmarshaling) {
4852 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i) {
4853 unmarshal_VkRect2D(vkStream, rootType,
4854 (VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i));
4855 }
4856 }
4857 }
4858
marshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * forMarshaling)4859 void marshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
4860 const VkPhysicalDeviceGroupProperties* forMarshaling) {
4861 (void)rootType;
4862 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4863 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4864 rootType = forMarshaling->sType;
4865 }
4866 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4867 vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
4868 vkStream->write((VkPhysicalDevice*)forMarshaling->physicalDevices,
4869 VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
4870 vkStream->write((VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
4871 }
4872
unmarshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceGroupProperties * forUnmarshaling)4873 void unmarshal_VkPhysicalDeviceGroupProperties(VulkanStreamGuest* vkStream,
4874 VkStructureType rootType,
4875 VkPhysicalDeviceGroupProperties* forUnmarshaling) {
4876 (void)rootType;
4877 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4878 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4879 rootType = forUnmarshaling->sType;
4880 }
4881 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4882 vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
4883 vkStream->read((VkPhysicalDevice*)forUnmarshaling->physicalDevices,
4884 VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
4885 vkStream->read((VkBool32*)&forUnmarshaling->subsetAllocation, sizeof(VkBool32));
4886 }
4887
marshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * forMarshaling)4888 void marshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4889 const VkDeviceGroupDeviceCreateInfo* forMarshaling) {
4890 (void)rootType;
4891 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4893 rootType = forMarshaling->sType;
4894 }
4895 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4896 vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
4897 if (forMarshaling->physicalDeviceCount) {
4898 uint64_t* cgen_var_0;
4899 vkStream->alloc((void**)&cgen_var_0, forMarshaling->physicalDeviceCount * 8);
4900 vkStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(
4901 forMarshaling->pPhysicalDevices, cgen_var_0, forMarshaling->physicalDeviceCount);
4902 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->physicalDeviceCount * 8);
4903 }
4904 }
4905
unmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceGroupDeviceCreateInfo * forUnmarshaling)4906 void unmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
4907 VkDeviceGroupDeviceCreateInfo* forUnmarshaling) {
4908 (void)rootType;
4909 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4910 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4911 rootType = forUnmarshaling->sType;
4912 }
4913 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4914 vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
4915 if (forUnmarshaling->physicalDeviceCount) {
4916 uint64_t* cgen_var_0;
4917 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
4918 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
4919 vkStream->handleMapping()->mapHandles_u64_VkPhysicalDevice(
4920 cgen_var_0, (VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices,
4921 forUnmarshaling->physicalDeviceCount);
4922 }
4923 }
4924
marshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * forMarshaling)4925 void marshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4926 const VkBufferMemoryRequirementsInfo2* forMarshaling) {
4927 (void)rootType;
4928 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4929 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4930 rootType = forMarshaling->sType;
4931 }
4932 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4933 uint64_t cgen_var_0;
4934 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
4935 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4936 }
4937
unmarshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferMemoryRequirementsInfo2 * forUnmarshaling)4938 void unmarshal_VkBufferMemoryRequirementsInfo2(VulkanStreamGuest* vkStream,
4939 VkStructureType rootType,
4940 VkBufferMemoryRequirementsInfo2* forUnmarshaling) {
4941 (void)rootType;
4942 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4943 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4944 rootType = forUnmarshaling->sType;
4945 }
4946 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4947 uint64_t cgen_var_0;
4948 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4949 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
4950 (VkBuffer*)&forUnmarshaling->buffer, 1);
4951 }
4952
marshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * forMarshaling)4953 void marshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4954 const VkImageMemoryRequirementsInfo2* forMarshaling) {
4955 (void)rootType;
4956 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4957 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4958 rootType = forMarshaling->sType;
4959 }
4960 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4961 uint64_t cgen_var_0;
4962 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
4963 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4964 }
4965
unmarshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageMemoryRequirementsInfo2 * forUnmarshaling)4966 void unmarshal_VkImageMemoryRequirementsInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
4967 VkImageMemoryRequirementsInfo2* forUnmarshaling) {
4968 (void)rootType;
4969 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4970 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4971 rootType = forUnmarshaling->sType;
4972 }
4973 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
4974 uint64_t cgen_var_0;
4975 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
4976 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
4977 (VkImage*)&forUnmarshaling->image, 1);
4978 }
4979
marshal_VkImageSparseMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * forMarshaling)4980 void marshal_VkImageSparseMemoryRequirementsInfo2(
4981 VulkanStreamGuest* vkStream, VkStructureType rootType,
4982 const VkImageSparseMemoryRequirementsInfo2* forMarshaling) {
4983 (void)rootType;
4984 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
4985 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4986 rootType = forMarshaling->sType;
4987 }
4988 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
4989 uint64_t cgen_var_0;
4990 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
4991 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
4992 }
4993
unmarshal_VkImageSparseMemoryRequirementsInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageSparseMemoryRequirementsInfo2 * forUnmarshaling)4994 void unmarshal_VkImageSparseMemoryRequirementsInfo2(
4995 VulkanStreamGuest* vkStream, VkStructureType rootType,
4996 VkImageSparseMemoryRequirementsInfo2* forUnmarshaling) {
4997 (void)rootType;
4998 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
4999 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5000 rootType = forUnmarshaling->sType;
5001 }
5002 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5003 uint64_t cgen_var_0;
5004 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5005 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
5006 (VkImage*)&forUnmarshaling->image, 1);
5007 }
5008
marshal_VkMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryRequirements2 * forMarshaling)5009 void marshal_VkMemoryRequirements2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5010 const VkMemoryRequirements2* forMarshaling) {
5011 (void)rootType;
5012 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5013 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5014 rootType = forMarshaling->sType;
5015 }
5016 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5017 marshal_VkMemoryRequirements(vkStream, rootType,
5018 (VkMemoryRequirements*)(&forMarshaling->memoryRequirements));
5019 }
5020
unmarshal_VkMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryRequirements2 * forUnmarshaling)5021 void unmarshal_VkMemoryRequirements2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5022 VkMemoryRequirements2* forUnmarshaling) {
5023 (void)rootType;
5024 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5025 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5026 rootType = forUnmarshaling->sType;
5027 }
5028 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5029 unmarshal_VkMemoryRequirements(vkStream, rootType,
5030 (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
5031 }
5032
marshal_VkSparseImageMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * forMarshaling)5033 void marshal_VkSparseImageMemoryRequirements2(
5034 VulkanStreamGuest* vkStream, VkStructureType rootType,
5035 const VkSparseImageMemoryRequirements2* forMarshaling) {
5036 (void)rootType;
5037 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5038 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5039 rootType = forMarshaling->sType;
5040 }
5041 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5042 marshal_VkSparseImageMemoryRequirements(
5043 vkStream, rootType, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements));
5044 }
5045
unmarshal_VkSparseImageMemoryRequirements2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageMemoryRequirements2 * forUnmarshaling)5046 void unmarshal_VkSparseImageMemoryRequirements2(VulkanStreamGuest* vkStream,
5047 VkStructureType rootType,
5048 VkSparseImageMemoryRequirements2* forUnmarshaling) {
5049 (void)rootType;
5050 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5051 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5052 rootType = forUnmarshaling->sType;
5053 }
5054 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5055 unmarshal_VkSparseImageMemoryRequirements(
5056 vkStream, rootType,
5057 (VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
5058 }
5059
marshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * forMarshaling)5060 void marshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5061 const VkPhysicalDeviceFeatures2* forMarshaling) {
5062 (void)rootType;
5063 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5064 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5065 rootType = forMarshaling->sType;
5066 }
5067 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5068 marshal_VkPhysicalDeviceFeatures(vkStream, rootType,
5069 (VkPhysicalDeviceFeatures*)(&forMarshaling->features));
5070 }
5071
unmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceFeatures2 * forUnmarshaling)5072 void unmarshal_VkPhysicalDeviceFeatures2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5073 VkPhysicalDeviceFeatures2* forUnmarshaling) {
5074 (void)rootType;
5075 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5076 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5077 rootType = forUnmarshaling->sType;
5078 }
5079 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5080 unmarshal_VkPhysicalDeviceFeatures(vkStream, rootType,
5081 (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features));
5082 }
5083
marshal_VkPhysicalDeviceProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProperties2 * forMarshaling)5084 void marshal_VkPhysicalDeviceProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5085 const VkPhysicalDeviceProperties2* forMarshaling) {
5086 (void)rootType;
5087 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5088 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5089 rootType = forMarshaling->sType;
5090 }
5091 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5092 marshal_VkPhysicalDeviceProperties(vkStream, rootType,
5093 (VkPhysicalDeviceProperties*)(&forMarshaling->properties));
5094 }
5095
unmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProperties2 * forUnmarshaling)5096 void unmarshal_VkPhysicalDeviceProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5097 VkPhysicalDeviceProperties2* forUnmarshaling) {
5098 (void)rootType;
5099 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5100 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5101 rootType = forUnmarshaling->sType;
5102 }
5103 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5104 unmarshal_VkPhysicalDeviceProperties(
5105 vkStream, rootType, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties));
5106 }
5107
marshal_VkFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties2 * forMarshaling)5108 void marshal_VkFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5109 const VkFormatProperties2* forMarshaling) {
5110 (void)rootType;
5111 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5112 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5113 rootType = forMarshaling->sType;
5114 }
5115 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5116 marshal_VkFormatProperties(vkStream, rootType,
5117 (VkFormatProperties*)(&forMarshaling->formatProperties));
5118 }
5119
unmarshal_VkFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFormatProperties2 * forUnmarshaling)5120 void unmarshal_VkFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5121 VkFormatProperties2* forUnmarshaling) {
5122 (void)rootType;
5123 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5124 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5125 rootType = forUnmarshaling->sType;
5126 }
5127 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5128 unmarshal_VkFormatProperties(vkStream, rootType,
5129 (VkFormatProperties*)(&forUnmarshaling->formatProperties));
5130 }
5131
marshal_VkImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatProperties2 * forMarshaling)5132 void marshal_VkImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5133 const VkImageFormatProperties2* forMarshaling) {
5134 (void)rootType;
5135 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5136 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5137 rootType = forMarshaling->sType;
5138 }
5139 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5140 marshal_VkImageFormatProperties(
5141 vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties));
5142 }
5143
unmarshal_VkImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageFormatProperties2 * forUnmarshaling)5144 void unmarshal_VkImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5145 VkImageFormatProperties2* forUnmarshaling) {
5146 (void)rootType;
5147 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5148 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5149 rootType = forUnmarshaling->sType;
5150 }
5151 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5152 unmarshal_VkImageFormatProperties(
5153 vkStream, rootType, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties));
5154 }
5155
marshal_VkPhysicalDeviceImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * forMarshaling)5156 void marshal_VkPhysicalDeviceImageFormatInfo2(
5157 VulkanStreamGuest* vkStream, VkStructureType rootType,
5158 const VkPhysicalDeviceImageFormatInfo2* forMarshaling) {
5159 (void)rootType;
5160 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5161 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5162 rootType = forMarshaling->sType;
5163 }
5164 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5165 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
5166 vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
5167 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
5168 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
5169 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
5170 }
5171
unmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImageFormatInfo2 * forUnmarshaling)5172 void unmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStreamGuest* vkStream,
5173 VkStructureType rootType,
5174 VkPhysicalDeviceImageFormatInfo2* forUnmarshaling) {
5175 (void)rootType;
5176 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5177 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5178 rootType = forUnmarshaling->sType;
5179 }
5180 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5181 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
5182 vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
5183 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
5184 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
5185 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
5186 }
5187
marshal_VkQueueFamilyProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyProperties2 * forMarshaling)5188 void marshal_VkQueueFamilyProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5189 const VkQueueFamilyProperties2* forMarshaling) {
5190 (void)rootType;
5191 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5192 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5193 rootType = forMarshaling->sType;
5194 }
5195 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5196 marshal_VkQueueFamilyProperties(
5197 vkStream, rootType, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties));
5198 }
5199
unmarshal_VkQueueFamilyProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkQueueFamilyProperties2 * forUnmarshaling)5200 void unmarshal_VkQueueFamilyProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5201 VkQueueFamilyProperties2* forUnmarshaling) {
5202 (void)rootType;
5203 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5204 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5205 rootType = forUnmarshaling->sType;
5206 }
5207 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5208 unmarshal_VkQueueFamilyProperties(
5209 vkStream, rootType, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties));
5210 }
5211
marshal_VkPhysicalDeviceMemoryProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * forMarshaling)5212 void marshal_VkPhysicalDeviceMemoryProperties2(
5213 VulkanStreamGuest* vkStream, VkStructureType rootType,
5214 const VkPhysicalDeviceMemoryProperties2* forMarshaling) {
5215 (void)rootType;
5216 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5217 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5218 rootType = forMarshaling->sType;
5219 }
5220 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5221 marshal_VkPhysicalDeviceMemoryProperties(
5222 vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties));
5223 }
5224
unmarshal_VkPhysicalDeviceMemoryProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMemoryProperties2 * forUnmarshaling)5225 void unmarshal_VkPhysicalDeviceMemoryProperties2(
5226 VulkanStreamGuest* vkStream, VkStructureType rootType,
5227 VkPhysicalDeviceMemoryProperties2* forUnmarshaling) {
5228 (void)rootType;
5229 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5230 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5231 rootType = forUnmarshaling->sType;
5232 }
5233 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5234 unmarshal_VkPhysicalDeviceMemoryProperties(
5235 vkStream, rootType,
5236 (VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties));
5237 }
5238
marshal_VkSparseImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSparseImageFormatProperties2 * forMarshaling)5239 void marshal_VkSparseImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5240 const VkSparseImageFormatProperties2* forMarshaling) {
5241 (void)rootType;
5242 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5243 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5244 rootType = forMarshaling->sType;
5245 }
5246 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5247 marshal_VkSparseImageFormatProperties(
5248 vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->properties));
5249 }
5250
unmarshal_VkSparseImageFormatProperties2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSparseImageFormatProperties2 * forUnmarshaling)5251 void unmarshal_VkSparseImageFormatProperties2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5252 VkSparseImageFormatProperties2* forUnmarshaling) {
5253 (void)rootType;
5254 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5255 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5256 rootType = forUnmarshaling->sType;
5257 }
5258 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5259 unmarshal_VkSparseImageFormatProperties(
5260 vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties));
5261 }
5262
marshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * forMarshaling)5263 void marshal_VkPhysicalDeviceSparseImageFormatInfo2(
5264 VulkanStreamGuest* vkStream, VkStructureType rootType,
5265 const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling) {
5266 (void)rootType;
5267 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5268 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5269 rootType = forMarshaling->sType;
5270 }
5271 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5272 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
5273 vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
5274 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
5275 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
5276 vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
5277 }
5278
unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSparseImageFormatInfo2 * forUnmarshaling)5279 void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
5280 VulkanStreamGuest* vkStream, VkStructureType rootType,
5281 VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling) {
5282 (void)rootType;
5283 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5284 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5285 rootType = forUnmarshaling->sType;
5286 }
5287 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5288 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
5289 vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
5290 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
5291 sizeof(VkSampleCountFlagBits));
5292 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
5293 vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
5294 }
5295
marshal_VkPhysicalDevicePointClippingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * forMarshaling)5296 void marshal_VkPhysicalDevicePointClippingProperties(
5297 VulkanStreamGuest* vkStream, VkStructureType rootType,
5298 const VkPhysicalDevicePointClippingProperties* forMarshaling) {
5299 (void)rootType;
5300 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5301 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5302 rootType = forMarshaling->sType;
5303 }
5304 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5305 vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
5306 sizeof(VkPointClippingBehavior));
5307 }
5308
unmarshal_VkPhysicalDevicePointClippingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePointClippingProperties * forUnmarshaling)5309 void unmarshal_VkPhysicalDevicePointClippingProperties(
5310 VulkanStreamGuest* vkStream, VkStructureType rootType,
5311 VkPhysicalDevicePointClippingProperties* forUnmarshaling) {
5312 (void)rootType;
5313 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5314 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5315 rootType = forUnmarshaling->sType;
5316 }
5317 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5318 vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
5319 sizeof(VkPointClippingBehavior));
5320 }
5321
marshal_VkInputAttachmentAspectReference(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkInputAttachmentAspectReference * forMarshaling)5322 void marshal_VkInputAttachmentAspectReference(
5323 VulkanStreamGuest* vkStream, VkStructureType rootType,
5324 const VkInputAttachmentAspectReference* forMarshaling) {
5325 (void)rootType;
5326 vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
5327 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
5328 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
5329 }
5330
unmarshal_VkInputAttachmentAspectReference(VulkanStreamGuest * vkStream,VkStructureType rootType,VkInputAttachmentAspectReference * forUnmarshaling)5331 void unmarshal_VkInputAttachmentAspectReference(VulkanStreamGuest* vkStream,
5332 VkStructureType rootType,
5333 VkInputAttachmentAspectReference* forUnmarshaling) {
5334 (void)rootType;
5335 vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
5336 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentIndex, sizeof(uint32_t));
5337 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
5338 }
5339
marshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * forMarshaling)5340 void marshal_VkRenderPassInputAttachmentAspectCreateInfo(
5341 VulkanStreamGuest* vkStream, VkStructureType rootType,
5342 const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling) {
5343 (void)rootType;
5344 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5345 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5346 rootType = forMarshaling->sType;
5347 }
5348 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5349 vkStream->write((uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t));
5350 if (forMarshaling) {
5351 for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) {
5352 marshal_VkInputAttachmentAspectReference(
5353 vkStream, rootType,
5354 (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i));
5355 }
5356 }
5357 }
5358
unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassInputAttachmentAspectCreateInfo * forUnmarshaling)5359 void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
5360 VulkanStreamGuest* vkStream, VkStructureType rootType,
5361 VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling) {
5362 (void)rootType;
5363 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5364 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5365 rootType = forUnmarshaling->sType;
5366 }
5367 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5368 vkStream->read((uint32_t*)&forUnmarshaling->aspectReferenceCount, sizeof(uint32_t));
5369 if (forUnmarshaling) {
5370 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i) {
5371 unmarshal_VkInputAttachmentAspectReference(
5372 vkStream, rootType,
5373 (VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i));
5374 }
5375 }
5376 }
5377
marshal_VkImageViewUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageViewUsageCreateInfo * forMarshaling)5378 void marshal_VkImageViewUsageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5379 const VkImageViewUsageCreateInfo* forMarshaling) {
5380 (void)rootType;
5381 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5382 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5383 rootType = forMarshaling->sType;
5384 }
5385 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5386 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
5387 }
5388
unmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageViewUsageCreateInfo * forUnmarshaling)5389 void unmarshal_VkImageViewUsageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5390 VkImageViewUsageCreateInfo* forUnmarshaling) {
5391 (void)rootType;
5392 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5393 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5394 rootType = forUnmarshaling->sType;
5395 }
5396 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5397 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
5398 }
5399
marshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * forMarshaling)5400 void marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
5401 VulkanStreamGuest* vkStream, VkStructureType rootType,
5402 const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling) {
5403 (void)rootType;
5404 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5405 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5406 rootType = forMarshaling->sType;
5407 }
5408 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5409 vkStream->write((VkTessellationDomainOrigin*)&forMarshaling->domainOrigin,
5410 sizeof(VkTessellationDomainOrigin));
5411 }
5412
unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineTessellationDomainOriginStateCreateInfo * forUnmarshaling)5413 void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
5414 VulkanStreamGuest* vkStream, VkStructureType rootType,
5415 VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling) {
5416 (void)rootType;
5417 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5418 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5419 rootType = forUnmarshaling->sType;
5420 }
5421 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5422 vkStream->read((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin,
5423 sizeof(VkTessellationDomainOrigin));
5424 }
5425
marshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * forMarshaling)5426 void marshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5427 const VkRenderPassMultiviewCreateInfo* forMarshaling) {
5428 (void)rootType;
5429 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5430 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5431 rootType = forMarshaling->sType;
5432 }
5433 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5434 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
5435 vkStream->write((const uint32_t*)forMarshaling->pViewMasks,
5436 forMarshaling->subpassCount * sizeof(const uint32_t));
5437 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
5438 vkStream->write((const int32_t*)forMarshaling->pViewOffsets,
5439 forMarshaling->dependencyCount * sizeof(const int32_t));
5440 vkStream->write((uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
5441 vkStream->write((const uint32_t*)forMarshaling->pCorrelationMasks,
5442 forMarshaling->correlationMaskCount * sizeof(const uint32_t));
5443 }
5444
unmarshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassMultiviewCreateInfo * forUnmarshaling)5445 void unmarshal_VkRenderPassMultiviewCreateInfo(VulkanStreamGuest* vkStream,
5446 VkStructureType rootType,
5447 VkRenderPassMultiviewCreateInfo* forUnmarshaling) {
5448 (void)rootType;
5449 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5450 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5451 rootType = forUnmarshaling->sType;
5452 }
5453 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5454 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
5455 vkStream->read((uint32_t*)forUnmarshaling->pViewMasks,
5456 forUnmarshaling->subpassCount * sizeof(const uint32_t));
5457 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
5458 vkStream->read((int32_t*)forUnmarshaling->pViewOffsets,
5459 forUnmarshaling->dependencyCount * sizeof(const int32_t));
5460 vkStream->read((uint32_t*)&forUnmarshaling->correlationMaskCount, sizeof(uint32_t));
5461 vkStream->read((uint32_t*)forUnmarshaling->pCorrelationMasks,
5462 forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
5463 }
5464
marshal_VkPhysicalDeviceMultiviewFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * forMarshaling)5465 void marshal_VkPhysicalDeviceMultiviewFeatures(
5466 VulkanStreamGuest* vkStream, VkStructureType rootType,
5467 const VkPhysicalDeviceMultiviewFeatures* forMarshaling) {
5468 (void)rootType;
5469 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5470 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5471 rootType = forMarshaling->sType;
5472 }
5473 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5474 vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
5475 vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
5476 vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
5477 }
5478
unmarshal_VkPhysicalDeviceMultiviewFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMultiviewFeatures * forUnmarshaling)5479 void unmarshal_VkPhysicalDeviceMultiviewFeatures(
5480 VulkanStreamGuest* vkStream, VkStructureType rootType,
5481 VkPhysicalDeviceMultiviewFeatures* forUnmarshaling) {
5482 (void)rootType;
5483 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5484 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5485 rootType = forUnmarshaling->sType;
5486 }
5487 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5488 vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
5489 vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
5490 vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
5491 }
5492
marshal_VkPhysicalDeviceMultiviewProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * forMarshaling)5493 void marshal_VkPhysicalDeviceMultiviewProperties(
5494 VulkanStreamGuest* vkStream, VkStructureType rootType,
5495 const VkPhysicalDeviceMultiviewProperties* forMarshaling) {
5496 (void)rootType;
5497 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5498 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5499 rootType = forMarshaling->sType;
5500 }
5501 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5502 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
5503 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
5504 }
5505
unmarshal_VkPhysicalDeviceMultiviewProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMultiviewProperties * forUnmarshaling)5506 void unmarshal_VkPhysicalDeviceMultiviewProperties(
5507 VulkanStreamGuest* vkStream, VkStructureType rootType,
5508 VkPhysicalDeviceMultiviewProperties* forUnmarshaling) {
5509 (void)rootType;
5510 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5511 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5512 rootType = forUnmarshaling->sType;
5513 }
5514 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5515 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
5516 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
5517 }
5518
marshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * forMarshaling)5519 void marshal_VkPhysicalDeviceVariablePointersFeatures(
5520 VulkanStreamGuest* vkStream, VkStructureType rootType,
5521 const VkPhysicalDeviceVariablePointersFeatures* forMarshaling) {
5522 (void)rootType;
5523 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5524 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5525 rootType = forMarshaling->sType;
5526 }
5527 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5528 vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
5529 vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
5530 }
5531
unmarshal_VkPhysicalDeviceVariablePointersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVariablePointersFeatures * forUnmarshaling)5532 void unmarshal_VkPhysicalDeviceVariablePointersFeatures(
5533 VulkanStreamGuest* vkStream, VkStructureType rootType,
5534 VkPhysicalDeviceVariablePointersFeatures* forUnmarshaling) {
5535 (void)rootType;
5536 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5537 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5538 rootType = forUnmarshaling->sType;
5539 }
5540 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5541 vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
5542 vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
5543 }
5544
marshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * forMarshaling)5545 void marshal_VkPhysicalDeviceProtectedMemoryFeatures(
5546 VulkanStreamGuest* vkStream, VkStructureType rootType,
5547 const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling) {
5548 (void)rootType;
5549 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5550 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5551 rootType = forMarshaling->sType;
5552 }
5553 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5554 vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
5555 }
5556
unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProtectedMemoryFeatures * forUnmarshaling)5557 void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
5558 VulkanStreamGuest* vkStream, VkStructureType rootType,
5559 VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling) {
5560 (void)rootType;
5561 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5562 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5563 rootType = forUnmarshaling->sType;
5564 }
5565 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5566 vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
5567 }
5568
marshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * forMarshaling)5569 void marshal_VkPhysicalDeviceProtectedMemoryProperties(
5570 VulkanStreamGuest* vkStream, VkStructureType rootType,
5571 const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling) {
5572 (void)rootType;
5573 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5574 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5575 rootType = forMarshaling->sType;
5576 }
5577 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5578 vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
5579 }
5580
unmarshal_VkPhysicalDeviceProtectedMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProtectedMemoryProperties * forUnmarshaling)5581 void unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
5582 VulkanStreamGuest* vkStream, VkStructureType rootType,
5583 VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling) {
5584 (void)rootType;
5585 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5586 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5587 rootType = forUnmarshaling->sType;
5588 }
5589 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5590 vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
5591 }
5592
marshal_VkDeviceQueueInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceQueueInfo2 * forMarshaling)5593 void marshal_VkDeviceQueueInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5594 const VkDeviceQueueInfo2* forMarshaling) {
5595 (void)rootType;
5596 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5597 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5598 rootType = forMarshaling->sType;
5599 }
5600 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5601 vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
5602 sizeof(VkDeviceQueueCreateFlags));
5603 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
5604 vkStream->write((uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
5605 }
5606
unmarshal_VkDeviceQueueInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceQueueInfo2 * forUnmarshaling)5607 void unmarshal_VkDeviceQueueInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
5608 VkDeviceQueueInfo2* forUnmarshaling) {
5609 (void)rootType;
5610 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5611 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5612 rootType = forUnmarshaling->sType;
5613 }
5614 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5615 vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
5616 sizeof(VkDeviceQueueCreateFlags));
5617 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
5618 vkStream->read((uint32_t*)&forUnmarshaling->queueIndex, sizeof(uint32_t));
5619 }
5620
marshal_VkProtectedSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkProtectedSubmitInfo * forMarshaling)5621 void marshal_VkProtectedSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5622 const VkProtectedSubmitInfo* forMarshaling) {
5623 (void)rootType;
5624 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5625 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5626 rootType = forMarshaling->sType;
5627 }
5628 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5629 vkStream->write((VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32));
5630 }
5631
unmarshal_VkProtectedSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkProtectedSubmitInfo * forUnmarshaling)5632 void unmarshal_VkProtectedSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5633 VkProtectedSubmitInfo* forUnmarshaling) {
5634 (void)rootType;
5635 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5636 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5637 rootType = forUnmarshaling->sType;
5638 }
5639 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5640 vkStream->read((VkBool32*)&forUnmarshaling->protectedSubmit, sizeof(VkBool32));
5641 }
5642
marshal_VkSamplerYcbcrConversionCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * forMarshaling)5643 void marshal_VkSamplerYcbcrConversionCreateInfo(
5644 VulkanStreamGuest* vkStream, VkStructureType rootType,
5645 const VkSamplerYcbcrConversionCreateInfo* forMarshaling) {
5646 (void)rootType;
5647 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5648 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5649 rootType = forMarshaling->sType;
5650 }
5651 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5652 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
5653 vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel,
5654 sizeof(VkSamplerYcbcrModelConversion));
5655 vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
5656 marshal_VkComponentMapping(vkStream, rootType,
5657 (VkComponentMapping*)(&forMarshaling->components));
5658 vkStream->write((VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
5659 vkStream->write((VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
5660 vkStream->write((VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
5661 vkStream->write((VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
5662 }
5663
unmarshal_VkSamplerYcbcrConversionCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionCreateInfo * forUnmarshaling)5664 void unmarshal_VkSamplerYcbcrConversionCreateInfo(
5665 VulkanStreamGuest* vkStream, VkStructureType rootType,
5666 VkSamplerYcbcrConversionCreateInfo* forUnmarshaling) {
5667 (void)rootType;
5668 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5669 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5670 rootType = forUnmarshaling->sType;
5671 }
5672 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5673 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
5674 vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel,
5675 sizeof(VkSamplerYcbcrModelConversion));
5676 vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
5677 unmarshal_VkComponentMapping(vkStream, rootType,
5678 (VkComponentMapping*)(&forUnmarshaling->components));
5679 vkStream->read((VkChromaLocation*)&forUnmarshaling->xChromaOffset, sizeof(VkChromaLocation));
5680 vkStream->read((VkChromaLocation*)&forUnmarshaling->yChromaOffset, sizeof(VkChromaLocation));
5681 vkStream->read((VkFilter*)&forUnmarshaling->chromaFilter, sizeof(VkFilter));
5682 vkStream->read((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, sizeof(VkBool32));
5683 }
5684
marshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * forMarshaling)5685 void marshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5686 const VkSamplerYcbcrConversionInfo* forMarshaling) {
5687 (void)rootType;
5688 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5689 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5690 rootType = forMarshaling->sType;
5691 }
5692 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5693 uint64_t cgen_var_0;
5694 vkStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&forMarshaling->conversion,
5695 &cgen_var_0, 1);
5696 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5697 }
5698
unmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionInfo * forUnmarshaling)5699 void unmarshal_VkSamplerYcbcrConversionInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5700 VkSamplerYcbcrConversionInfo* forUnmarshaling) {
5701 (void)rootType;
5702 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5703 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5704 rootType = forUnmarshaling->sType;
5705 }
5706 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5707 uint64_t cgen_var_0;
5708 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5709 vkStream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(
5710 &cgen_var_0, (VkSamplerYcbcrConversion*)&forUnmarshaling->conversion, 1);
5711 }
5712
marshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * forMarshaling)5713 void marshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5714 const VkBindImagePlaneMemoryInfo* forMarshaling) {
5715 (void)rootType;
5716 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5717 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5718 rootType = forMarshaling->sType;
5719 }
5720 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5721 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
5722 sizeof(VkImageAspectFlagBits));
5723 }
5724
unmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBindImagePlaneMemoryInfo * forUnmarshaling)5725 void unmarshal_VkBindImagePlaneMemoryInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
5726 VkBindImagePlaneMemoryInfo* forUnmarshaling) {
5727 (void)rootType;
5728 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5729 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5730 rootType = forUnmarshaling->sType;
5731 }
5732 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5733 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
5734 sizeof(VkImageAspectFlagBits));
5735 }
5736
marshal_VkImagePlaneMemoryRequirementsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * forMarshaling)5737 void marshal_VkImagePlaneMemoryRequirementsInfo(
5738 VulkanStreamGuest* vkStream, VkStructureType rootType,
5739 const VkImagePlaneMemoryRequirementsInfo* forMarshaling) {
5740 (void)rootType;
5741 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5742 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5743 rootType = forMarshaling->sType;
5744 }
5745 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5746 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
5747 sizeof(VkImageAspectFlagBits));
5748 }
5749
unmarshal_VkImagePlaneMemoryRequirementsInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImagePlaneMemoryRequirementsInfo * forUnmarshaling)5750 void unmarshal_VkImagePlaneMemoryRequirementsInfo(
5751 VulkanStreamGuest* vkStream, VkStructureType rootType,
5752 VkImagePlaneMemoryRequirementsInfo* forUnmarshaling) {
5753 (void)rootType;
5754 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5755 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5756 rootType = forUnmarshaling->sType;
5757 }
5758 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5759 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
5760 sizeof(VkImageAspectFlagBits));
5761 }
5762
marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * forMarshaling)5763 void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
5764 VulkanStreamGuest* vkStream, VkStructureType rootType,
5765 const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling) {
5766 (void)rootType;
5767 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5768 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5769 rootType = forMarshaling->sType;
5770 }
5771 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5772 vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
5773 }
5774
unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSamplerYcbcrConversionFeatures * forUnmarshaling)5775 void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
5776 VulkanStreamGuest* vkStream, VkStructureType rootType,
5777 VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling) {
5778 (void)rootType;
5779 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5780 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5781 rootType = forUnmarshaling->sType;
5782 }
5783 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5784 vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
5785 }
5786
marshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * forMarshaling)5787 void marshal_VkSamplerYcbcrConversionImageFormatProperties(
5788 VulkanStreamGuest* vkStream, VkStructureType rootType,
5789 const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling) {
5790 (void)rootType;
5791 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5792 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5793 rootType = forMarshaling->sType;
5794 }
5795 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5796 vkStream->write((uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount,
5797 sizeof(uint32_t));
5798 }
5799
unmarshal_VkSamplerYcbcrConversionImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerYcbcrConversionImageFormatProperties * forUnmarshaling)5800 void unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
5801 VulkanStreamGuest* vkStream, VkStructureType rootType,
5802 VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling) {
5803 (void)rootType;
5804 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5805 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5806 rootType = forUnmarshaling->sType;
5807 }
5808 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5809 vkStream->read((uint32_t*)&forUnmarshaling->combinedImageSamplerDescriptorCount,
5810 sizeof(uint32_t));
5811 }
5812
marshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * forMarshaling)5813 void marshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest* vkStream, VkStructureType rootType,
5814 const VkDescriptorUpdateTemplateEntry* forMarshaling) {
5815 (void)rootType;
5816 vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
5817 vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
5818 vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
5819 vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
5820 uint64_t cgen_var_0 = (uint64_t)forMarshaling->offset;
5821 vkStream->putBe64(cgen_var_0);
5822 uint64_t cgen_var_1 = (uint64_t)forMarshaling->stride;
5823 vkStream->putBe64(cgen_var_1);
5824 }
5825
unmarshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorUpdateTemplateEntry * forUnmarshaling)5826 void unmarshal_VkDescriptorUpdateTemplateEntry(VulkanStreamGuest* vkStream,
5827 VkStructureType rootType,
5828 VkDescriptorUpdateTemplateEntry* forUnmarshaling) {
5829 (void)rootType;
5830 vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
5831 vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
5832 vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
5833 vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
5834 forUnmarshaling->offset = (size_t)vkStream->getBe64();
5835 forUnmarshaling->stride = (size_t)vkStream->getBe64();
5836 }
5837
marshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * forMarshaling)5838 void marshal_VkDescriptorUpdateTemplateCreateInfo(
5839 VulkanStreamGuest* vkStream, VkStructureType rootType,
5840 const VkDescriptorUpdateTemplateCreateInfo* forMarshaling) {
5841 (void)rootType;
5842 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5843 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5844 rootType = forMarshaling->sType;
5845 }
5846 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5847 vkStream->write((VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags,
5848 sizeof(VkDescriptorUpdateTemplateCreateFlags));
5849 vkStream->write((uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
5850 if (forMarshaling) {
5851 for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) {
5852 marshal_VkDescriptorUpdateTemplateEntry(
5853 vkStream, rootType,
5854 (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries +
5855 i));
5856 }
5857 }
5858 vkStream->write((VkDescriptorUpdateTemplateType*)&forMarshaling->templateType,
5859 sizeof(VkDescriptorUpdateTemplateType));
5860 uint64_t cgen_var_0;
5861 vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
5862 &forMarshaling->descriptorSetLayout, &cgen_var_0, 1);
5863 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
5864 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
5865 sizeof(VkPipelineBindPoint));
5866 uint64_t cgen_var_1;
5867 vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout,
5868 &cgen_var_1, 1);
5869 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
5870 vkStream->write((uint32_t*)&forMarshaling->set, sizeof(uint32_t));
5871 }
5872
unmarshal_VkDescriptorUpdateTemplateCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorUpdateTemplateCreateInfo * forUnmarshaling)5873 void unmarshal_VkDescriptorUpdateTemplateCreateInfo(
5874 VulkanStreamGuest* vkStream, VkStructureType rootType,
5875 VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling) {
5876 (void)rootType;
5877 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5878 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5879 rootType = forUnmarshaling->sType;
5880 }
5881 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5882 vkStream->read((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags,
5883 sizeof(VkDescriptorUpdateTemplateCreateFlags));
5884 vkStream->read((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
5885 if (forUnmarshaling) {
5886 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i) {
5887 unmarshal_VkDescriptorUpdateTemplateEntry(
5888 vkStream, rootType,
5889 (VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i));
5890 }
5891 }
5892 vkStream->read((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType,
5893 sizeof(VkDescriptorUpdateTemplateType));
5894 uint64_t cgen_var_0;
5895 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
5896 vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
5897 &cgen_var_0, (VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout, 1);
5898 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
5899 sizeof(VkPipelineBindPoint));
5900 uint64_t cgen_var_1;
5901 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
5902 vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
5903 &cgen_var_1, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
5904 vkStream->read((uint32_t*)&forUnmarshaling->set, sizeof(uint32_t));
5905 }
5906
marshal_VkExternalMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryProperties * forMarshaling)5907 void marshal_VkExternalMemoryProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
5908 const VkExternalMemoryProperties* forMarshaling) {
5909 (void)rootType;
5910 vkStream->write((VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures,
5911 sizeof(VkExternalMemoryFeatureFlags));
5912 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
5913 sizeof(VkExternalMemoryHandleTypeFlags));
5914 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
5915 sizeof(VkExternalMemoryHandleTypeFlags));
5916 }
5917
unmarshal_VkExternalMemoryProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalMemoryProperties * forUnmarshaling)5918 void unmarshal_VkExternalMemoryProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
5919 VkExternalMemoryProperties* forUnmarshaling) {
5920 (void)rootType;
5921 vkStream->read((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures,
5922 sizeof(VkExternalMemoryFeatureFlags));
5923 vkStream->read(
5924 (VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
5925 sizeof(VkExternalMemoryHandleTypeFlags));
5926 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
5927 sizeof(VkExternalMemoryHandleTypeFlags));
5928 }
5929
marshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * forMarshaling)5930 void marshal_VkPhysicalDeviceExternalImageFormatInfo(
5931 VulkanStreamGuest* vkStream, VkStructureType rootType,
5932 const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling) {
5933 (void)rootType;
5934 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5935 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5936 rootType = forMarshaling->sType;
5937 }
5938 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5939 vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
5940 sizeof(VkExternalMemoryHandleTypeFlagBits));
5941 }
5942
unmarshal_VkPhysicalDeviceExternalImageFormatInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalImageFormatInfo * forUnmarshaling)5943 void unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
5944 VulkanStreamGuest* vkStream, VkStructureType rootType,
5945 VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling) {
5946 (void)rootType;
5947 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5948 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5949 rootType = forUnmarshaling->sType;
5950 }
5951 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5952 vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
5953 sizeof(VkExternalMemoryHandleTypeFlagBits));
5954 }
5955
marshal_VkExternalImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalImageFormatProperties * forMarshaling)5956 void marshal_VkExternalImageFormatProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
5957 const VkExternalImageFormatProperties* 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_VkExternalMemoryProperties(
5965 vkStream, rootType,
5966 (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
5967 }
5968
unmarshal_VkExternalImageFormatProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalImageFormatProperties * forUnmarshaling)5969 void unmarshal_VkExternalImageFormatProperties(VulkanStreamGuest* vkStream,
5970 VkStructureType rootType,
5971 VkExternalImageFormatProperties* forUnmarshaling) {
5972 (void)rootType;
5973 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
5974 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5975 rootType = forUnmarshaling->sType;
5976 }
5977 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
5978 unmarshal_VkExternalMemoryProperties(
5979 vkStream, rootType,
5980 (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
5981 }
5982
marshal_VkPhysicalDeviceExternalBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * forMarshaling)5983 void marshal_VkPhysicalDeviceExternalBufferInfo(
5984 VulkanStreamGuest* vkStream, VkStructureType rootType,
5985 const VkPhysicalDeviceExternalBufferInfo* forMarshaling) {
5986 (void)rootType;
5987 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
5988 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5989 rootType = forMarshaling->sType;
5990 }
5991 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
5992 vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
5993 vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
5994 vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
5995 sizeof(VkExternalMemoryHandleTypeFlagBits));
5996 }
5997
unmarshal_VkPhysicalDeviceExternalBufferInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalBufferInfo * forUnmarshaling)5998 void unmarshal_VkPhysicalDeviceExternalBufferInfo(
5999 VulkanStreamGuest* vkStream, VkStructureType rootType,
6000 VkPhysicalDeviceExternalBufferInfo* forUnmarshaling) {
6001 (void)rootType;
6002 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6003 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6004 rootType = forUnmarshaling->sType;
6005 }
6006 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6007 vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
6008 vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
6009 vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
6010 sizeof(VkExternalMemoryHandleTypeFlagBits));
6011 }
6012
marshal_VkExternalBufferProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalBufferProperties * forMarshaling)6013 void marshal_VkExternalBufferProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6014 const VkExternalBufferProperties* forMarshaling) {
6015 (void)rootType;
6016 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6017 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6018 rootType = forMarshaling->sType;
6019 }
6020 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6021 marshal_VkExternalMemoryProperties(
6022 vkStream, rootType,
6023 (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
6024 }
6025
unmarshal_VkExternalBufferProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalBufferProperties * forUnmarshaling)6026 void unmarshal_VkExternalBufferProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6027 VkExternalBufferProperties* forUnmarshaling) {
6028 (void)rootType;
6029 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6030 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6031 rootType = forUnmarshaling->sType;
6032 }
6033 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6034 unmarshal_VkExternalMemoryProperties(
6035 vkStream, rootType,
6036 (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
6037 }
6038
marshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceIDProperties * forMarshaling)6039 void marshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6040 const VkPhysicalDeviceIDProperties* forMarshaling) {
6041 (void)rootType;
6042 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6043 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6044 rootType = forMarshaling->sType;
6045 }
6046 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6047 vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
6048 vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
6049 vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
6050 vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
6051 vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
6052 }
6053
unmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceIDProperties * forUnmarshaling)6054 void unmarshal_VkPhysicalDeviceIDProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6055 VkPhysicalDeviceIDProperties* forUnmarshaling) {
6056 (void)rootType;
6057 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6058 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6059 rootType = forUnmarshaling->sType;
6060 }
6061 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6062 vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
6063 vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
6064 vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
6065 vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
6066 vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
6067 }
6068
marshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * forMarshaling)6069 void marshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6070 const VkExternalMemoryImageCreateInfo* forMarshaling) {
6071 (void)rootType;
6072 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6073 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6074 rootType = forMarshaling->sType;
6075 }
6076 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6077 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
6078 sizeof(VkExternalMemoryHandleTypeFlags));
6079 }
6080
unmarshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalMemoryImageCreateInfo * forUnmarshaling)6081 void unmarshal_VkExternalMemoryImageCreateInfo(VulkanStreamGuest* vkStream,
6082 VkStructureType rootType,
6083 VkExternalMemoryImageCreateInfo* forUnmarshaling) {
6084 (void)rootType;
6085 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6086 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6087 rootType = forUnmarshaling->sType;
6088 }
6089 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6090 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
6091 sizeof(VkExternalMemoryHandleTypeFlags));
6092 }
6093
marshal_VkExternalMemoryBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * forMarshaling)6094 void marshal_VkExternalMemoryBufferCreateInfo(
6095 VulkanStreamGuest* vkStream, VkStructureType rootType,
6096 const VkExternalMemoryBufferCreateInfo* forMarshaling) {
6097 (void)rootType;
6098 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6099 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6100 rootType = forMarshaling->sType;
6101 }
6102 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6103 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
6104 sizeof(VkExternalMemoryHandleTypeFlags));
6105 }
6106
unmarshal_VkExternalMemoryBufferCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalMemoryBufferCreateInfo * forUnmarshaling)6107 void unmarshal_VkExternalMemoryBufferCreateInfo(VulkanStreamGuest* vkStream,
6108 VkStructureType rootType,
6109 VkExternalMemoryBufferCreateInfo* forUnmarshaling) {
6110 (void)rootType;
6111 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6112 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6113 rootType = forUnmarshaling->sType;
6114 }
6115 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6116 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
6117 sizeof(VkExternalMemoryHandleTypeFlags));
6118 }
6119
marshal_VkExportMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportMemoryAllocateInfo * forMarshaling)6120 void marshal_VkExportMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6121 const VkExportMemoryAllocateInfo* forMarshaling) {
6122 (void)rootType;
6123 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6124 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6125 rootType = forMarshaling->sType;
6126 }
6127 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6128 vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
6129 sizeof(VkExternalMemoryHandleTypeFlags));
6130 }
6131
unmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExportMemoryAllocateInfo * forUnmarshaling)6132 void unmarshal_VkExportMemoryAllocateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6133 VkExportMemoryAllocateInfo* forUnmarshaling) {
6134 (void)rootType;
6135 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6136 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6137 rootType = forUnmarshaling->sType;
6138 }
6139 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6140 vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
6141 sizeof(VkExternalMemoryHandleTypeFlags));
6142 }
6143
marshal_VkPhysicalDeviceExternalFenceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * forMarshaling)6144 void marshal_VkPhysicalDeviceExternalFenceInfo(
6145 VulkanStreamGuest* vkStream, VkStructureType rootType,
6146 const VkPhysicalDeviceExternalFenceInfo* forMarshaling) {
6147 (void)rootType;
6148 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6149 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6150 rootType = forMarshaling->sType;
6151 }
6152 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6153 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
6154 sizeof(VkExternalFenceHandleTypeFlagBits));
6155 }
6156
unmarshal_VkPhysicalDeviceExternalFenceInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalFenceInfo * forUnmarshaling)6157 void unmarshal_VkPhysicalDeviceExternalFenceInfo(
6158 VulkanStreamGuest* vkStream, VkStructureType rootType,
6159 VkPhysicalDeviceExternalFenceInfo* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6166 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
6167 sizeof(VkExternalFenceHandleTypeFlagBits));
6168 }
6169
marshal_VkExternalFenceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalFenceProperties * forMarshaling)6170 void marshal_VkExternalFenceProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6171 const VkExternalFenceProperties* forMarshaling) {
6172 (void)rootType;
6173 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6174 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6175 rootType = forMarshaling->sType;
6176 }
6177 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6178 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
6179 sizeof(VkExternalFenceHandleTypeFlags));
6180 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
6181 sizeof(VkExternalFenceHandleTypeFlags));
6182 vkStream->write((VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures,
6183 sizeof(VkExternalFenceFeatureFlags));
6184 }
6185
unmarshal_VkExternalFenceProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalFenceProperties * forUnmarshaling)6186 void unmarshal_VkExternalFenceProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6187 VkExternalFenceProperties* forUnmarshaling) {
6188 (void)rootType;
6189 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6190 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6191 rootType = forUnmarshaling->sType;
6192 }
6193 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6194 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
6195 sizeof(VkExternalFenceHandleTypeFlags));
6196 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
6197 sizeof(VkExternalFenceHandleTypeFlags));
6198 vkStream->read((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures,
6199 sizeof(VkExternalFenceFeatureFlags));
6200 }
6201
marshal_VkExportFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportFenceCreateInfo * forMarshaling)6202 void marshal_VkExportFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6203 const VkExportFenceCreateInfo* forMarshaling) {
6204 (void)rootType;
6205 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6206 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6207 rootType = forMarshaling->sType;
6208 }
6209 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6210 vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes,
6211 sizeof(VkExternalFenceHandleTypeFlags));
6212 }
6213
unmarshal_VkExportFenceCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExportFenceCreateInfo * forUnmarshaling)6214 void unmarshal_VkExportFenceCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6215 VkExportFenceCreateInfo* forUnmarshaling) {
6216 (void)rootType;
6217 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6218 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6219 rootType = forUnmarshaling->sType;
6220 }
6221 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6222 vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes,
6223 sizeof(VkExternalFenceHandleTypeFlags));
6224 }
6225
marshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExportSemaphoreCreateInfo * forMarshaling)6226 void marshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6227 const VkExportSemaphoreCreateInfo* forMarshaling) {
6228 (void)rootType;
6229 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6230 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6231 rootType = forMarshaling->sType;
6232 }
6233 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6234 vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes,
6235 sizeof(VkExternalSemaphoreHandleTypeFlags));
6236 }
6237
unmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExportSemaphoreCreateInfo * forUnmarshaling)6238 void unmarshal_VkExportSemaphoreCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6239 VkExportSemaphoreCreateInfo* forUnmarshaling) {
6240 (void)rootType;
6241 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6242 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6243 rootType = forUnmarshaling->sType;
6244 }
6245 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6246 vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes,
6247 sizeof(VkExternalSemaphoreHandleTypeFlags));
6248 }
6249
marshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * forMarshaling)6250 void marshal_VkPhysicalDeviceExternalSemaphoreInfo(
6251 VulkanStreamGuest* vkStream, VkStructureType rootType,
6252 const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling) {
6253 (void)rootType;
6254 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6255 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6256 rootType = forMarshaling->sType;
6257 }
6258 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6259 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
6260 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
6261 }
6262
unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExternalSemaphoreInfo * forUnmarshaling)6263 void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
6264 VulkanStreamGuest* vkStream, VkStructureType rootType,
6265 VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling) {
6266 (void)rootType;
6267 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6268 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6269 rootType = forUnmarshaling->sType;
6270 }
6271 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6272 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
6273 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
6274 }
6275
marshal_VkExternalSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkExternalSemaphoreProperties * forMarshaling)6276 void marshal_VkExternalSemaphoreProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6277 const VkExternalSemaphoreProperties* forMarshaling) {
6278 (void)rootType;
6279 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6280 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6281 rootType = forMarshaling->sType;
6282 }
6283 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6284 vkStream->write(
6285 (VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
6286 sizeof(VkExternalSemaphoreHandleTypeFlags));
6287 vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
6288 sizeof(VkExternalSemaphoreHandleTypeFlags));
6289 vkStream->write((VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures,
6290 sizeof(VkExternalSemaphoreFeatureFlags));
6291 }
6292
unmarshal_VkExternalSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkExternalSemaphoreProperties * forUnmarshaling)6293 void unmarshal_VkExternalSemaphoreProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
6294 VkExternalSemaphoreProperties* forUnmarshaling) {
6295 (void)rootType;
6296 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6297 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6298 rootType = forUnmarshaling->sType;
6299 }
6300 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6301 vkStream->read(
6302 (VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
6303 sizeof(VkExternalSemaphoreHandleTypeFlags));
6304 vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
6305 sizeof(VkExternalSemaphoreHandleTypeFlags));
6306 vkStream->read((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures,
6307 sizeof(VkExternalSemaphoreFeatureFlags));
6308 }
6309
marshal_VkPhysicalDeviceMaintenance3Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * forMarshaling)6310 void marshal_VkPhysicalDeviceMaintenance3Properties(
6311 VulkanStreamGuest* vkStream, VkStructureType rootType,
6312 const VkPhysicalDeviceMaintenance3Properties* forMarshaling) {
6313 (void)rootType;
6314 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6315 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6316 rootType = forMarshaling->sType;
6317 }
6318 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6319 vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
6320 vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
6321 }
6322
unmarshal_VkPhysicalDeviceMaintenance3Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance3Properties * forUnmarshaling)6323 void unmarshal_VkPhysicalDeviceMaintenance3Properties(
6324 VulkanStreamGuest* vkStream, VkStructureType rootType,
6325 VkPhysicalDeviceMaintenance3Properties* forUnmarshaling) {
6326 (void)rootType;
6327 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6328 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6329 rootType = forUnmarshaling->sType;
6330 }
6331 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6332 vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
6333 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
6334 }
6335
marshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutSupport * forMarshaling)6336 void marshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest* vkStream, VkStructureType rootType,
6337 const VkDescriptorSetLayoutSupport* forMarshaling) {
6338 (void)rootType;
6339 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6340 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6341 rootType = forMarshaling->sType;
6342 }
6343 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6344 vkStream->write((VkBool32*)&forMarshaling->supported, sizeof(VkBool32));
6345 }
6346
unmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetLayoutSupport * forUnmarshaling)6347 void unmarshal_VkDescriptorSetLayoutSupport(VulkanStreamGuest* vkStream, VkStructureType rootType,
6348 VkDescriptorSetLayoutSupport* forUnmarshaling) {
6349 (void)rootType;
6350 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6351 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6352 rootType = forUnmarshaling->sType;
6353 }
6354 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6355 vkStream->read((VkBool32*)&forUnmarshaling->supported, sizeof(VkBool32));
6356 }
6357
marshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * forMarshaling)6358 void marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
6359 VulkanStreamGuest* vkStream, VkStructureType rootType,
6360 const VkPhysicalDeviceShaderDrawParametersFeatures* forMarshaling) {
6361 (void)rootType;
6362 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6363 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6364 rootType = forMarshaling->sType;
6365 }
6366 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6367 vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
6368 }
6369
unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderDrawParametersFeatures * forUnmarshaling)6370 void unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
6371 VulkanStreamGuest* vkStream, VkStructureType rootType,
6372 VkPhysicalDeviceShaderDrawParametersFeatures* forUnmarshaling) {
6373 (void)rootType;
6374 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6375 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6376 rootType = forUnmarshaling->sType;
6377 }
6378 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6379 vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
6380 }
6381
6382 #endif
6383 #ifdef VK_VERSION_1_2
marshal_VkPhysicalDeviceVulkan11Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * forMarshaling)6384 void marshal_VkPhysicalDeviceVulkan11Features(
6385 VulkanStreamGuest* vkStream, VkStructureType rootType,
6386 const VkPhysicalDeviceVulkan11Features* forMarshaling) {
6387 (void)rootType;
6388 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6389 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6390 rootType = forMarshaling->sType;
6391 }
6392 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6393 vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
6394 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
6395 sizeof(VkBool32));
6396 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
6397 vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
6398 vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
6399 vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
6400 vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
6401 vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
6402 vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
6403 vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
6404 vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
6405 vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
6406 }
6407
unmarshal_VkPhysicalDeviceVulkan11Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan11Features * forUnmarshaling)6408 void unmarshal_VkPhysicalDeviceVulkan11Features(VulkanStreamGuest* vkStream,
6409 VkStructureType rootType,
6410 VkPhysicalDeviceVulkan11Features* forUnmarshaling) {
6411 (void)rootType;
6412 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6413 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6414 rootType = forUnmarshaling->sType;
6415 }
6416 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6417 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
6418 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
6419 sizeof(VkBool32));
6420 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
6421 vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
6422 vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
6423 vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
6424 vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
6425 vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
6426 vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
6427 vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
6428 vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
6429 vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
6430 }
6431
marshal_VkPhysicalDeviceVulkan11Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * forMarshaling)6432 void marshal_VkPhysicalDeviceVulkan11Properties(
6433 VulkanStreamGuest* vkStream, VkStructureType rootType,
6434 const VkPhysicalDeviceVulkan11Properties* forMarshaling) {
6435 (void)rootType;
6436 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6437 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6438 rootType = forMarshaling->sType;
6439 }
6440 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6441 vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
6442 vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
6443 vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
6444 vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
6445 vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
6446 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
6447 vkStream->write((VkShaderStageFlags*)&forMarshaling->subgroupSupportedStages,
6448 sizeof(VkShaderStageFlags));
6449 vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->subgroupSupportedOperations,
6450 sizeof(VkSubgroupFeatureFlags));
6451 vkStream->write((VkBool32*)&forMarshaling->subgroupQuadOperationsInAllStages, sizeof(VkBool32));
6452 vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
6453 sizeof(VkPointClippingBehavior));
6454 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
6455 vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
6456 vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
6457 vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
6458 vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
6459 }
6460
unmarshal_VkPhysicalDeviceVulkan11Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan11Properties * forUnmarshaling)6461 void unmarshal_VkPhysicalDeviceVulkan11Properties(
6462 VulkanStreamGuest* vkStream, VkStructureType rootType,
6463 VkPhysicalDeviceVulkan11Properties* forUnmarshaling) {
6464 (void)rootType;
6465 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6466 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6467 rootType = forUnmarshaling->sType;
6468 }
6469 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6470 vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
6471 vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
6472 vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
6473 vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
6474 vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
6475 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
6476 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->subgroupSupportedStages,
6477 sizeof(VkShaderStageFlags));
6478 vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->subgroupSupportedOperations,
6479 sizeof(VkSubgroupFeatureFlags));
6480 vkStream->read((VkBool32*)&forUnmarshaling->subgroupQuadOperationsInAllStages,
6481 sizeof(VkBool32));
6482 vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
6483 sizeof(VkPointClippingBehavior));
6484 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
6485 vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
6486 vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
6487 vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
6488 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
6489 }
6490
marshal_VkPhysicalDeviceVulkan12Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * forMarshaling)6491 void marshal_VkPhysicalDeviceVulkan12Features(
6492 VulkanStreamGuest* vkStream, VkStructureType rootType,
6493 const VkPhysicalDeviceVulkan12Features* forMarshaling) {
6494 (void)rootType;
6495 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6496 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6497 rootType = forMarshaling->sType;
6498 }
6499 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6500 vkStream->write((VkBool32*)&forMarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
6501 vkStream->write((VkBool32*)&forMarshaling->drawIndirectCount, sizeof(VkBool32));
6502 vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
6503 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
6504 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
6505 vkStream->write((VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
6506 vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
6507 vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
6508 vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
6509 vkStream->write((VkBool32*)&forMarshaling->descriptorIndexing, sizeof(VkBool32));
6510 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
6511 sizeof(VkBool32));
6512 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
6513 sizeof(VkBool32));
6514 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
6515 sizeof(VkBool32));
6516 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
6517 sizeof(VkBool32));
6518 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
6519 sizeof(VkBool32));
6520 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
6521 sizeof(VkBool32));
6522 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
6523 sizeof(VkBool32));
6524 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
6525 sizeof(VkBool32));
6526 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
6527 sizeof(VkBool32));
6528 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
6529 sizeof(VkBool32));
6530 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
6531 sizeof(VkBool32));
6532 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
6533 sizeof(VkBool32));
6534 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
6535 sizeof(VkBool32));
6536 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
6537 sizeof(VkBool32));
6538 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
6539 sizeof(VkBool32));
6540 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
6541 sizeof(VkBool32));
6542 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
6543 sizeof(VkBool32));
6544 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
6545 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
6546 sizeof(VkBool32));
6547 vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
6548 vkStream->write((VkBool32*)&forMarshaling->samplerFilterMinmax, sizeof(VkBool32));
6549 vkStream->write((VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
6550 vkStream->write((VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
6551 vkStream->write((VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
6552 vkStream->write((VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
6553 vkStream->write((VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
6554 vkStream->write((VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
6555 vkStream->write((VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
6556 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
6557 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
6558 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
6559 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
6560 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
6561 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
6562 sizeof(VkBool32));
6563 vkStream->write((VkBool32*)&forMarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
6564 vkStream->write((VkBool32*)&forMarshaling->shaderOutputLayer, sizeof(VkBool32));
6565 vkStream->write((VkBool32*)&forMarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
6566 }
6567
unmarshal_VkPhysicalDeviceVulkan12Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan12Features * forUnmarshaling)6568 void unmarshal_VkPhysicalDeviceVulkan12Features(VulkanStreamGuest* vkStream,
6569 VkStructureType rootType,
6570 VkPhysicalDeviceVulkan12Features* forUnmarshaling) {
6571 (void)rootType;
6572 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6573 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6574 rootType = forUnmarshaling->sType;
6575 }
6576 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6577 vkStream->read((VkBool32*)&forUnmarshaling->samplerMirrorClampToEdge, sizeof(VkBool32));
6578 vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectCount, sizeof(VkBool32));
6579 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
6580 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
6581 sizeof(VkBool32));
6582 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
6583 vkStream->read((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
6584 vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
6585 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
6586 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
6587 vkStream->read((VkBool32*)&forUnmarshaling->descriptorIndexing, sizeof(VkBool32));
6588 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing,
6589 sizeof(VkBool32));
6590 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
6591 sizeof(VkBool32));
6592 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
6593 sizeof(VkBool32));
6594 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
6595 sizeof(VkBool32));
6596 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
6597 sizeof(VkBool32));
6598 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
6599 sizeof(VkBool32));
6600 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
6601 sizeof(VkBool32));
6602 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
6603 sizeof(VkBool32));
6604 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
6605 sizeof(VkBool32));
6606 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
6607 sizeof(VkBool32));
6608 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
6609 sizeof(VkBool32));
6610 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
6611 sizeof(VkBool32));
6612 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
6613 sizeof(VkBool32));
6614 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
6615 sizeof(VkBool32));
6616 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
6617 sizeof(VkBool32));
6618 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
6619 sizeof(VkBool32));
6620 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
6621 sizeof(VkBool32));
6622 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
6623 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
6624 sizeof(VkBool32));
6625 vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
6626 vkStream->read((VkBool32*)&forUnmarshaling->samplerFilterMinmax, sizeof(VkBool32));
6627 vkStream->read((VkBool32*)&forUnmarshaling->scalarBlockLayout, sizeof(VkBool32));
6628 vkStream->read((VkBool32*)&forUnmarshaling->imagelessFramebuffer, sizeof(VkBool32));
6629 vkStream->read((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
6630 vkStream->read((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
6631 vkStream->read((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
6632 vkStream->read((VkBool32*)&forUnmarshaling->hostQueryReset, sizeof(VkBool32));
6633 vkStream->read((VkBool32*)&forUnmarshaling->timelineSemaphore, sizeof(VkBool32));
6634 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddress, sizeof(VkBool32));
6635 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
6636 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
6637 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModel, sizeof(VkBool32));
6638 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
6639 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
6640 sizeof(VkBool32));
6641 vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
6642 vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputLayer, sizeof(VkBool32));
6643 vkStream->read((VkBool32*)&forUnmarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
6644 }
6645
marshal_VkConformanceVersion(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkConformanceVersion * forMarshaling)6646 void marshal_VkConformanceVersion(VulkanStreamGuest* vkStream, VkStructureType rootType,
6647 const VkConformanceVersion* forMarshaling) {
6648 (void)rootType;
6649 vkStream->write((uint8_t*)&forMarshaling->major, sizeof(uint8_t));
6650 vkStream->write((uint8_t*)&forMarshaling->minor, sizeof(uint8_t));
6651 vkStream->write((uint8_t*)&forMarshaling->subminor, sizeof(uint8_t));
6652 vkStream->write((uint8_t*)&forMarshaling->patch, sizeof(uint8_t));
6653 }
6654
unmarshal_VkConformanceVersion(VulkanStreamGuest * vkStream,VkStructureType rootType,VkConformanceVersion * forUnmarshaling)6655 void unmarshal_VkConformanceVersion(VulkanStreamGuest* vkStream, VkStructureType rootType,
6656 VkConformanceVersion* forUnmarshaling) {
6657 (void)rootType;
6658 vkStream->read((uint8_t*)&forUnmarshaling->major, sizeof(uint8_t));
6659 vkStream->read((uint8_t*)&forUnmarshaling->minor, sizeof(uint8_t));
6660 vkStream->read((uint8_t*)&forUnmarshaling->subminor, sizeof(uint8_t));
6661 vkStream->read((uint8_t*)&forUnmarshaling->patch, sizeof(uint8_t));
6662 }
6663
marshal_VkPhysicalDeviceVulkan12Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * forMarshaling)6664 void marshal_VkPhysicalDeviceVulkan12Properties(
6665 VulkanStreamGuest* vkStream, VkStructureType rootType,
6666 const VkPhysicalDeviceVulkan12Properties* forMarshaling) {
6667 (void)rootType;
6668 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6669 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6670 rootType = forMarshaling->sType;
6671 }
6672 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6673 vkStream->write((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
6674 vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
6675 vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
6676 marshal_VkConformanceVersion(vkStream, rootType,
6677 (VkConformanceVersion*)(&forMarshaling->conformanceVersion));
6678 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
6679 sizeof(VkShaderFloatControlsIndependence));
6680 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
6681 sizeof(VkShaderFloatControlsIndependence));
6682 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
6683 sizeof(VkBool32));
6684 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
6685 sizeof(VkBool32));
6686 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
6687 sizeof(VkBool32));
6688 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
6689 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
6690 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
6691 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
6692 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
6693 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
6694 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
6695 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
6696 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
6697 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
6698 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
6699 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
6700 vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
6701 sizeof(uint32_t));
6702 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
6703 sizeof(VkBool32));
6704 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
6705 sizeof(VkBool32));
6706 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
6707 sizeof(VkBool32));
6708 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
6709 sizeof(VkBool32));
6710 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
6711 sizeof(VkBool32));
6712 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
6713 vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
6714 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
6715 sizeof(uint32_t));
6716 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
6717 sizeof(uint32_t));
6718 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
6719 sizeof(uint32_t));
6720 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
6721 sizeof(uint32_t));
6722 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
6723 sizeof(uint32_t));
6724 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
6725 sizeof(uint32_t));
6726 vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
6727 sizeof(uint32_t));
6728 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
6729 sizeof(uint32_t));
6730 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
6731 sizeof(uint32_t));
6732 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
6733 sizeof(uint32_t));
6734 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
6735 sizeof(uint32_t));
6736 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
6737 sizeof(uint32_t));
6738 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
6739 sizeof(uint32_t));
6740 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
6741 sizeof(uint32_t));
6742 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
6743 sizeof(uint32_t));
6744 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
6745 sizeof(VkResolveModeFlags));
6746 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
6747 sizeof(VkResolveModeFlags));
6748 vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
6749 vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
6750 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats,
6751 sizeof(VkBool32));
6752 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
6753 vkStream->write((uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference,
6754 sizeof(uint64_t));
6755 vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferIntegerColorSampleCounts,
6756 sizeof(VkSampleCountFlags));
6757 }
6758
unmarshal_VkPhysicalDeviceVulkan12Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan12Properties * forUnmarshaling)6759 void unmarshal_VkPhysicalDeviceVulkan12Properties(
6760 VulkanStreamGuest* vkStream, VkStructureType rootType,
6761 VkPhysicalDeviceVulkan12Properties* forUnmarshaling) {
6762 (void)rootType;
6763 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6764 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6765 rootType = forUnmarshaling->sType;
6766 }
6767 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6768 vkStream->read((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
6769 vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
6770 vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
6771 unmarshal_VkConformanceVersion(vkStream, rootType,
6772 (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
6773 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
6774 sizeof(VkShaderFloatControlsIndependence));
6775 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
6776 sizeof(VkShaderFloatControlsIndependence));
6777 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
6778 sizeof(VkBool32));
6779 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
6780 sizeof(VkBool32));
6781 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
6782 sizeof(VkBool32));
6783 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
6784 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
6785 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
6786 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
6787 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
6788 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
6789 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
6790 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
6791 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
6792 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
6793 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
6794 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
6795 vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools,
6796 sizeof(uint32_t));
6797 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
6798 sizeof(VkBool32));
6799 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
6800 sizeof(VkBool32));
6801 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
6802 sizeof(VkBool32));
6803 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
6804 sizeof(VkBool32));
6805 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
6806 sizeof(VkBool32));
6807 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
6808 sizeof(VkBool32));
6809 vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
6810 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
6811 sizeof(uint32_t));
6812 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
6813 sizeof(uint32_t));
6814 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
6815 sizeof(uint32_t));
6816 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
6817 sizeof(uint32_t));
6818 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
6819 sizeof(uint32_t));
6820 vkStream->read(
6821 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
6822 sizeof(uint32_t));
6823 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
6824 sizeof(uint32_t));
6825 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
6826 sizeof(uint32_t));
6827 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
6828 sizeof(uint32_t));
6829 vkStream->read(
6830 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
6831 sizeof(uint32_t));
6832 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
6833 sizeof(uint32_t));
6834 vkStream->read(
6835 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
6836 sizeof(uint32_t));
6837 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
6838 sizeof(uint32_t));
6839 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
6840 sizeof(uint32_t));
6841 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
6842 sizeof(uint32_t));
6843 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
6844 sizeof(VkResolveModeFlags));
6845 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
6846 sizeof(VkResolveModeFlags));
6847 vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
6848 vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
6849 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats,
6850 sizeof(VkBool32));
6851 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
6852 sizeof(VkBool32));
6853 vkStream->read((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference,
6854 sizeof(uint64_t));
6855 vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferIntegerColorSampleCounts,
6856 sizeof(VkSampleCountFlags));
6857 }
6858
marshal_VkImageFormatListCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageFormatListCreateInfo * forMarshaling)6859 void marshal_VkImageFormatListCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6860 const VkImageFormatListCreateInfo* forMarshaling) {
6861 (void)rootType;
6862 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6863 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6864 rootType = forMarshaling->sType;
6865 }
6866 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6867 vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
6868 vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
6869 forMarshaling->viewFormatCount * sizeof(const VkFormat));
6870 }
6871
unmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageFormatListCreateInfo * forUnmarshaling)6872 void unmarshal_VkImageFormatListCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
6873 VkImageFormatListCreateInfo* forUnmarshaling) {
6874 (void)rootType;
6875 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6876 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6877 rootType = forUnmarshaling->sType;
6878 }
6879 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6880 vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
6881 vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
6882 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
6883 }
6884
marshal_VkAttachmentDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescription2 * forMarshaling)6885 void marshal_VkAttachmentDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6886 const VkAttachmentDescription2* forMarshaling) {
6887 (void)rootType;
6888 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6889 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6890 rootType = forMarshaling->sType;
6891 }
6892 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6893 vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
6894 sizeof(VkAttachmentDescriptionFlags));
6895 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
6896 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
6897 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
6898 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
6899 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
6900 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
6901 sizeof(VkAttachmentStoreOp));
6902 vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
6903 vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
6904 }
6905
unmarshal_VkAttachmentDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentDescription2 * forUnmarshaling)6906 void unmarshal_VkAttachmentDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6907 VkAttachmentDescription2* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6914 vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
6915 sizeof(VkAttachmentDescriptionFlags));
6916 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
6917 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
6918 sizeof(VkSampleCountFlagBits));
6919 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
6920 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
6921 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
6922 sizeof(VkAttachmentLoadOp));
6923 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
6924 sizeof(VkAttachmentStoreOp));
6925 vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
6926 vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
6927 }
6928
marshal_VkAttachmentReference2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReference2 * forMarshaling)6929 void marshal_VkAttachmentReference2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6930 const VkAttachmentReference2* forMarshaling) {
6931 (void)rootType;
6932 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6933 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6934 rootType = forMarshaling->sType;
6935 }
6936 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6937 vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
6938 vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
6939 vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
6940 }
6941
unmarshal_VkAttachmentReference2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentReference2 * forUnmarshaling)6942 void unmarshal_VkAttachmentReference2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6943 VkAttachmentReference2* forUnmarshaling) {
6944 (void)rootType;
6945 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
6946 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6947 rootType = forUnmarshaling->sType;
6948 }
6949 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
6950 vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
6951 vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
6952 vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
6953 }
6954
marshal_VkSubpassDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescription2 * forMarshaling)6955 void marshal_VkSubpassDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
6956 const VkSubpassDescription2* forMarshaling) {
6957 (void)rootType;
6958 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
6959 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6960 rootType = forMarshaling->sType;
6961 }
6962 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
6963 vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags,
6964 sizeof(VkSubpassDescriptionFlags));
6965 vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
6966 sizeof(VkPipelineBindPoint));
6967 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
6968 vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
6969 if (forMarshaling) {
6970 for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
6971 marshal_VkAttachmentReference2(
6972 vkStream, rootType,
6973 (const VkAttachmentReference2*)(forMarshaling->pInputAttachments + i));
6974 }
6975 }
6976 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
6977 if (forMarshaling) {
6978 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
6979 marshal_VkAttachmentReference2(
6980 vkStream, rootType,
6981 (const VkAttachmentReference2*)(forMarshaling->pColorAttachments + i));
6982 }
6983 }
6984 // WARNING PTR CHECK
6985 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
6986 vkStream->putBe64(cgen_var_0);
6987 if (forMarshaling->pResolveAttachments) {
6988 if (forMarshaling) {
6989 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
6990 marshal_VkAttachmentReference2(
6991 vkStream, rootType,
6992 (const VkAttachmentReference2*)(forMarshaling->pResolveAttachments + i));
6993 }
6994 }
6995 }
6996 // WARNING PTR CHECK
6997 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
6998 vkStream->putBe64(cgen_var_1);
6999 if (forMarshaling->pDepthStencilAttachment) {
7000 marshal_VkAttachmentReference2(
7001 vkStream, rootType,
7002 (const VkAttachmentReference2*)(forMarshaling->pDepthStencilAttachment));
7003 }
7004 vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
7005 vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
7006 forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
7007 }
7008
unmarshal_VkSubpassDescription2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassDescription2 * forUnmarshaling)7009 void unmarshal_VkSubpassDescription2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7010 VkSubpassDescription2* forUnmarshaling) {
7011 (void)rootType;
7012 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7013 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7014 rootType = forUnmarshaling->sType;
7015 }
7016 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7017 vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
7018 sizeof(VkSubpassDescriptionFlags));
7019 vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
7020 sizeof(VkPipelineBindPoint));
7021 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
7022 vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
7023 if (forUnmarshaling) {
7024 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
7025 unmarshal_VkAttachmentReference2(
7026 vkStream, rootType,
7027 (VkAttachmentReference2*)(forUnmarshaling->pInputAttachments + i));
7028 }
7029 }
7030 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
7031 if (forUnmarshaling) {
7032 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
7033 unmarshal_VkAttachmentReference2(
7034 vkStream, rootType,
7035 (VkAttachmentReference2*)(forUnmarshaling->pColorAttachments + i));
7036 }
7037 }
7038 // WARNING PTR CHECK
7039 const VkAttachmentReference2* check_pResolveAttachments;
7040 check_pResolveAttachments = (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
7041 if (forUnmarshaling->pResolveAttachments) {
7042 if (!(check_pResolveAttachments)) {
7043 fprintf(stderr,
7044 "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and "
7045 "host\n");
7046 }
7047 if (forUnmarshaling) {
7048 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
7049 unmarshal_VkAttachmentReference2(
7050 vkStream, rootType,
7051 (VkAttachmentReference2*)(forUnmarshaling->pResolveAttachments + i));
7052 }
7053 }
7054 }
7055 // WARNING PTR CHECK
7056 const VkAttachmentReference2* check_pDepthStencilAttachment;
7057 check_pDepthStencilAttachment = (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
7058 if (forUnmarshaling->pDepthStencilAttachment) {
7059 if (!(check_pDepthStencilAttachment)) {
7060 fprintf(stderr,
7061 "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest "
7062 "and host\n");
7063 }
7064 unmarshal_VkAttachmentReference2(
7065 vkStream, rootType,
7066 (VkAttachmentReference2*)(forUnmarshaling->pDepthStencilAttachment));
7067 }
7068 vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
7069 vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
7070 forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
7071 }
7072
marshal_VkSubpassDependency2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDependency2 * forMarshaling)7073 void marshal_VkSubpassDependency2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7074 const VkSubpassDependency2* forMarshaling) {
7075 (void)rootType;
7076 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7077 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7078 rootType = forMarshaling->sType;
7079 }
7080 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7081 vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
7082 vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
7083 vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
7084 sizeof(VkPipelineStageFlags));
7085 vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
7086 sizeof(VkPipelineStageFlags));
7087 vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
7088 vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
7089 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
7090 vkStream->write((int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
7091 }
7092
unmarshal_VkSubpassDependency2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassDependency2 * forUnmarshaling)7093 void unmarshal_VkSubpassDependency2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7094 VkSubpassDependency2* forUnmarshaling) {
7095 (void)rootType;
7096 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7097 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7098 rootType = forUnmarshaling->sType;
7099 }
7100 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7101 vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
7102 vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
7103 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
7104 sizeof(VkPipelineStageFlags));
7105 vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
7106 sizeof(VkPipelineStageFlags));
7107 vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
7108 vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
7109 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
7110 sizeof(VkDependencyFlags));
7111 vkStream->read((int32_t*)&forUnmarshaling->viewOffset, sizeof(int32_t));
7112 }
7113
marshal_VkRenderPassCreateInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassCreateInfo2 * forMarshaling)7114 void marshal_VkRenderPassCreateInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7115 const VkRenderPassCreateInfo2* forMarshaling) {
7116 (void)rootType;
7117 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7118 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7119 rootType = forMarshaling->sType;
7120 }
7121 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7122 vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags,
7123 sizeof(VkRenderPassCreateFlags));
7124 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
7125 if (forMarshaling) {
7126 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
7127 marshal_VkAttachmentDescription2(
7128 vkStream, rootType,
7129 (const VkAttachmentDescription2*)(forMarshaling->pAttachments + i));
7130 }
7131 }
7132 vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
7133 if (forMarshaling) {
7134 for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
7135 marshal_VkSubpassDescription2(
7136 vkStream, rootType, (const VkSubpassDescription2*)(forMarshaling->pSubpasses + i));
7137 }
7138 }
7139 vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
7140 if (forMarshaling) {
7141 for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
7142 marshal_VkSubpassDependency2(
7143 vkStream, rootType,
7144 (const VkSubpassDependency2*)(forMarshaling->pDependencies + i));
7145 }
7146 }
7147 vkStream->write((uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
7148 vkStream->write((const uint32_t*)forMarshaling->pCorrelatedViewMasks,
7149 forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
7150 }
7151
unmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassCreateInfo2 * forUnmarshaling)7152 void unmarshal_VkRenderPassCreateInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
7153 VkRenderPassCreateInfo2* forUnmarshaling) {
7154 (void)rootType;
7155 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7156 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7157 rootType = forUnmarshaling->sType;
7158 }
7159 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7160 vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
7161 sizeof(VkRenderPassCreateFlags));
7162 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
7163 if (forUnmarshaling) {
7164 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
7165 unmarshal_VkAttachmentDescription2(
7166 vkStream, rootType, (VkAttachmentDescription2*)(forUnmarshaling->pAttachments + i));
7167 }
7168 }
7169 vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
7170 if (forUnmarshaling) {
7171 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
7172 unmarshal_VkSubpassDescription2(
7173 vkStream, rootType, (VkSubpassDescription2*)(forUnmarshaling->pSubpasses + i));
7174 }
7175 }
7176 vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
7177 if (forUnmarshaling) {
7178 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
7179 unmarshal_VkSubpassDependency2(
7180 vkStream, rootType, (VkSubpassDependency2*)(forUnmarshaling->pDependencies + i));
7181 }
7182 }
7183 vkStream->read((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, sizeof(uint32_t));
7184 vkStream->read((uint32_t*)forUnmarshaling->pCorrelatedViewMasks,
7185 forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
7186 }
7187
marshal_VkSubpassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassBeginInfo * forMarshaling)7188 void marshal_VkSubpassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7189 const VkSubpassBeginInfo* forMarshaling) {
7190 (void)rootType;
7191 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7192 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7193 rootType = forMarshaling->sType;
7194 }
7195 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7196 vkStream->write((VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
7197 }
7198
unmarshal_VkSubpassBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassBeginInfo * forUnmarshaling)7199 void unmarshal_VkSubpassBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7200 VkSubpassBeginInfo* forUnmarshaling) {
7201 (void)rootType;
7202 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7203 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7204 rootType = forUnmarshaling->sType;
7205 }
7206 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7207 vkStream->read((VkSubpassContents*)&forUnmarshaling->contents, sizeof(VkSubpassContents));
7208 }
7209
marshal_VkSubpassEndInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassEndInfo * forMarshaling)7210 void marshal_VkSubpassEndInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7211 const VkSubpassEndInfo* forMarshaling) {
7212 (void)rootType;
7213 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7214 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7215 rootType = forMarshaling->sType;
7216 }
7217 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7218 }
7219
unmarshal_VkSubpassEndInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassEndInfo * forUnmarshaling)7220 void unmarshal_VkSubpassEndInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7221 VkSubpassEndInfo* forUnmarshaling) {
7222 (void)rootType;
7223 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7224 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7225 rootType = forUnmarshaling->sType;
7226 }
7227 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7228 }
7229
marshal_VkPhysicalDevice8BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * forMarshaling)7230 void marshal_VkPhysicalDevice8BitStorageFeatures(
7231 VulkanStreamGuest* vkStream, VkStructureType rootType,
7232 const VkPhysicalDevice8BitStorageFeatures* forMarshaling) {
7233 (void)rootType;
7234 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7236 rootType = forMarshaling->sType;
7237 }
7238 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7239 vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
7240 vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
7241 vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
7242 }
7243
unmarshal_VkPhysicalDevice8BitStorageFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevice8BitStorageFeatures * forUnmarshaling)7244 void unmarshal_VkPhysicalDevice8BitStorageFeatures(
7245 VulkanStreamGuest* vkStream, VkStructureType rootType,
7246 VkPhysicalDevice8BitStorageFeatures* forUnmarshaling) {
7247 (void)rootType;
7248 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7249 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7250 rootType = forUnmarshaling->sType;
7251 }
7252 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7253 vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
7254 vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
7255 sizeof(VkBool32));
7256 vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
7257 }
7258
marshal_VkPhysicalDeviceDriverProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * forMarshaling)7259 void marshal_VkPhysicalDeviceDriverProperties(
7260 VulkanStreamGuest* vkStream, VkStructureType rootType,
7261 const VkPhysicalDeviceDriverProperties* forMarshaling) {
7262 (void)rootType;
7263 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7264 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7265 rootType = forMarshaling->sType;
7266 }
7267 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7268 vkStream->write((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
7269 vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
7270 vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
7271 marshal_VkConformanceVersion(vkStream, rootType,
7272 (VkConformanceVersion*)(&forMarshaling->conformanceVersion));
7273 }
7274
unmarshal_VkPhysicalDeviceDriverProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDriverProperties * forUnmarshaling)7275 void unmarshal_VkPhysicalDeviceDriverProperties(VulkanStreamGuest* vkStream,
7276 VkStructureType rootType,
7277 VkPhysicalDeviceDriverProperties* forUnmarshaling) {
7278 (void)rootType;
7279 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7280 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7281 rootType = forUnmarshaling->sType;
7282 }
7283 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7284 vkStream->read((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
7285 vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
7286 vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
7287 unmarshal_VkConformanceVersion(vkStream, rootType,
7288 (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
7289 }
7290
marshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * forMarshaling)7291 void marshal_VkPhysicalDeviceShaderAtomicInt64Features(
7292 VulkanStreamGuest* vkStream, VkStructureType rootType,
7293 const VkPhysicalDeviceShaderAtomicInt64Features* forMarshaling) {
7294 (void)rootType;
7295 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7296 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7297 rootType = forMarshaling->sType;
7298 }
7299 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7300 vkStream->write((VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
7301 vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
7302 }
7303
unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderAtomicInt64Features * forUnmarshaling)7304 void unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
7305 VulkanStreamGuest* vkStream, VkStructureType rootType,
7306 VkPhysicalDeviceShaderAtomicInt64Features* forUnmarshaling) {
7307 (void)rootType;
7308 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7309 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7310 rootType = forUnmarshaling->sType;
7311 }
7312 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7313 vkStream->read((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
7314 vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
7315 }
7316
marshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * forMarshaling)7317 void marshal_VkPhysicalDeviceShaderFloat16Int8Features(
7318 VulkanStreamGuest* vkStream, VkStructureType rootType,
7319 const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling) {
7320 (void)rootType;
7321 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7322 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7323 rootType = forMarshaling->sType;
7324 }
7325 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7326 vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
7327 vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
7328 }
7329
unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderFloat16Int8Features * forUnmarshaling)7330 void unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
7331 VulkanStreamGuest* vkStream, VkStructureType rootType,
7332 VkPhysicalDeviceShaderFloat16Int8Features* forUnmarshaling) {
7333 (void)rootType;
7334 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7335 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7336 rootType = forUnmarshaling->sType;
7337 }
7338 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7339 vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
7340 vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
7341 }
7342
marshal_VkPhysicalDeviceFloatControlsProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * forMarshaling)7343 void marshal_VkPhysicalDeviceFloatControlsProperties(
7344 VulkanStreamGuest* vkStream, VkStructureType rootType,
7345 const VkPhysicalDeviceFloatControlsProperties* forMarshaling) {
7346 (void)rootType;
7347 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7349 rootType = forMarshaling->sType;
7350 }
7351 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7352 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
7353 sizeof(VkShaderFloatControlsIndependence));
7354 vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
7355 sizeof(VkShaderFloatControlsIndependence));
7356 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
7357 sizeof(VkBool32));
7358 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
7359 sizeof(VkBool32));
7360 vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
7361 sizeof(VkBool32));
7362 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
7363 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
7364 vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
7365 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
7366 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
7367 vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
7368 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
7369 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
7370 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
7371 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
7372 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
7373 vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
7374 }
7375
unmarshal_VkPhysicalDeviceFloatControlsProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceFloatControlsProperties * forUnmarshaling)7376 void unmarshal_VkPhysicalDeviceFloatControlsProperties(
7377 VulkanStreamGuest* vkStream, VkStructureType rootType,
7378 VkPhysicalDeviceFloatControlsProperties* forUnmarshaling) {
7379 (void)rootType;
7380 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7381 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7382 rootType = forUnmarshaling->sType;
7383 }
7384 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7385 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
7386 sizeof(VkShaderFloatControlsIndependence));
7387 vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
7388 sizeof(VkShaderFloatControlsIndependence));
7389 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
7390 sizeof(VkBool32));
7391 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
7392 sizeof(VkBool32));
7393 vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
7394 sizeof(VkBool32));
7395 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
7396 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
7397 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
7398 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
7399 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
7400 vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
7401 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
7402 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
7403 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
7404 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
7405 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
7406 vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
7407 }
7408
marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * forMarshaling)7409 void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
7410 VulkanStreamGuest* vkStream, VkStructureType rootType,
7411 const VkDescriptorSetLayoutBindingFlagsCreateInfo* forMarshaling) {
7412 (void)rootType;
7413 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7414 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7415 rootType = forMarshaling->sType;
7416 }
7417 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7418 vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
7419 // WARNING PTR CHECK
7420 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pBindingFlags;
7421 vkStream->putBe64(cgen_var_0);
7422 if (forMarshaling->pBindingFlags) {
7423 vkStream->write((const VkDescriptorBindingFlags*)forMarshaling->pBindingFlags,
7424 forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
7425 }
7426 }
7427
unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetLayoutBindingFlagsCreateInfo * forUnmarshaling)7428 void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
7429 VulkanStreamGuest* vkStream, VkStructureType rootType,
7430 VkDescriptorSetLayoutBindingFlagsCreateInfo* forUnmarshaling) {
7431 (void)rootType;
7432 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7433 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7434 rootType = forUnmarshaling->sType;
7435 }
7436 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7437 vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
7438 // WARNING PTR CHECK
7439 const VkDescriptorBindingFlags* check_pBindingFlags;
7440 check_pBindingFlags = (const VkDescriptorBindingFlags*)(uintptr_t)vkStream->getBe64();
7441 if (forUnmarshaling->pBindingFlags) {
7442 if (!(check_pBindingFlags)) {
7443 fprintf(stderr,
7444 "fatal: forUnmarshaling->pBindingFlags inconsistent between guest and host\n");
7445 }
7446 vkStream->read((VkDescriptorBindingFlags*)forUnmarshaling->pBindingFlags,
7447 forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
7448 }
7449 }
7450
marshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * forMarshaling)7451 void marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
7452 VulkanStreamGuest* vkStream, VkStructureType rootType,
7453 const VkPhysicalDeviceDescriptorIndexingFeatures* forMarshaling) {
7454 (void)rootType;
7455 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7456 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7457 rootType = forMarshaling->sType;
7458 }
7459 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7460 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
7461 sizeof(VkBool32));
7462 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
7463 sizeof(VkBool32));
7464 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
7465 sizeof(VkBool32));
7466 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
7467 sizeof(VkBool32));
7468 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
7469 sizeof(VkBool32));
7470 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
7471 sizeof(VkBool32));
7472 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
7473 sizeof(VkBool32));
7474 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
7475 sizeof(VkBool32));
7476 vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
7477 sizeof(VkBool32));
7478 vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
7479 sizeof(VkBool32));
7480 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
7481 sizeof(VkBool32));
7482 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
7483 sizeof(VkBool32));
7484 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
7485 sizeof(VkBool32));
7486 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
7487 sizeof(VkBool32));
7488 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
7489 sizeof(VkBool32));
7490 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
7491 sizeof(VkBool32));
7492 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
7493 sizeof(VkBool32));
7494 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
7495 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
7496 sizeof(VkBool32));
7497 vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
7498 }
7499
unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDescriptorIndexingFeatures * forUnmarshaling)7500 void unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
7501 VulkanStreamGuest* vkStream, VkStructureType rootType,
7502 VkPhysicalDeviceDescriptorIndexingFeatures* forUnmarshaling) {
7503 (void)rootType;
7504 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7505 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7506 rootType = forUnmarshaling->sType;
7507 }
7508 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7509 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing,
7510 sizeof(VkBool32));
7511 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
7512 sizeof(VkBool32));
7513 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
7514 sizeof(VkBool32));
7515 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
7516 sizeof(VkBool32));
7517 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
7518 sizeof(VkBool32));
7519 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
7520 sizeof(VkBool32));
7521 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
7522 sizeof(VkBool32));
7523 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
7524 sizeof(VkBool32));
7525 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
7526 sizeof(VkBool32));
7527 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
7528 sizeof(VkBool32));
7529 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
7530 sizeof(VkBool32));
7531 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
7532 sizeof(VkBool32));
7533 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
7534 sizeof(VkBool32));
7535 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
7536 sizeof(VkBool32));
7537 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
7538 sizeof(VkBool32));
7539 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
7540 sizeof(VkBool32));
7541 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
7542 sizeof(VkBool32));
7543 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
7544 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
7545 sizeof(VkBool32));
7546 vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
7547 }
7548
marshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * forMarshaling)7549 void marshal_VkPhysicalDeviceDescriptorIndexingProperties(
7550 VulkanStreamGuest* vkStream, VkStructureType rootType,
7551 const VkPhysicalDeviceDescriptorIndexingProperties* forMarshaling) {
7552 (void)rootType;
7553 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7554 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7555 rootType = forMarshaling->sType;
7556 }
7557 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7558 vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
7559 sizeof(uint32_t));
7560 vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
7561 sizeof(VkBool32));
7562 vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
7563 sizeof(VkBool32));
7564 vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
7565 sizeof(VkBool32));
7566 vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
7567 sizeof(VkBool32));
7568 vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
7569 sizeof(VkBool32));
7570 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
7571 vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
7572 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
7573 sizeof(uint32_t));
7574 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
7575 sizeof(uint32_t));
7576 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
7577 sizeof(uint32_t));
7578 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
7579 sizeof(uint32_t));
7580 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
7581 sizeof(uint32_t));
7582 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
7583 sizeof(uint32_t));
7584 vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
7585 sizeof(uint32_t));
7586 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
7587 sizeof(uint32_t));
7588 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
7589 sizeof(uint32_t));
7590 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
7591 sizeof(uint32_t));
7592 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
7593 sizeof(uint32_t));
7594 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
7595 sizeof(uint32_t));
7596 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
7597 sizeof(uint32_t));
7598 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
7599 sizeof(uint32_t));
7600 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
7601 sizeof(uint32_t));
7602 }
7603
unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDescriptorIndexingProperties * forUnmarshaling)7604 void unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
7605 VulkanStreamGuest* vkStream, VkStructureType rootType,
7606 VkPhysicalDeviceDescriptorIndexingProperties* forUnmarshaling) {
7607 (void)rootType;
7608 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7609 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7610 rootType = forUnmarshaling->sType;
7611 }
7612 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7613 vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools,
7614 sizeof(uint32_t));
7615 vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
7616 sizeof(VkBool32));
7617 vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
7618 sizeof(VkBool32));
7619 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
7620 sizeof(VkBool32));
7621 vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
7622 sizeof(VkBool32));
7623 vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
7624 sizeof(VkBool32));
7625 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
7626 sizeof(VkBool32));
7627 vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
7628 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
7629 sizeof(uint32_t));
7630 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
7631 sizeof(uint32_t));
7632 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
7633 sizeof(uint32_t));
7634 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
7635 sizeof(uint32_t));
7636 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
7637 sizeof(uint32_t));
7638 vkStream->read(
7639 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
7640 sizeof(uint32_t));
7641 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
7642 sizeof(uint32_t));
7643 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
7644 sizeof(uint32_t));
7645 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
7646 sizeof(uint32_t));
7647 vkStream->read(
7648 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
7649 sizeof(uint32_t));
7650 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
7651 sizeof(uint32_t));
7652 vkStream->read(
7653 (uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
7654 sizeof(uint32_t));
7655 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
7656 sizeof(uint32_t));
7657 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
7658 sizeof(uint32_t));
7659 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
7660 sizeof(uint32_t));
7661 }
7662
marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * forMarshaling)7663 void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
7664 VulkanStreamGuest* vkStream, VkStructureType rootType,
7665 const VkDescriptorSetVariableDescriptorCountAllocateInfo* forMarshaling) {
7666 (void)rootType;
7667 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7668 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7669 rootType = forMarshaling->sType;
7670 }
7671 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7672 vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
7673 vkStream->write((const uint32_t*)forMarshaling->pDescriptorCounts,
7674 forMarshaling->descriptorSetCount * sizeof(const uint32_t));
7675 }
7676
unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetVariableDescriptorCountAllocateInfo * forUnmarshaling)7677 void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
7678 VulkanStreamGuest* vkStream, VkStructureType rootType,
7679 VkDescriptorSetVariableDescriptorCountAllocateInfo* forUnmarshaling) {
7680 (void)rootType;
7681 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7682 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7683 rootType = forUnmarshaling->sType;
7684 }
7685 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7686 vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
7687 vkStream->read((uint32_t*)forUnmarshaling->pDescriptorCounts,
7688 forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
7689 }
7690
marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * forMarshaling)7691 void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
7692 VulkanStreamGuest* vkStream, VkStructureType rootType,
7693 const VkDescriptorSetVariableDescriptorCountLayoutSupport* forMarshaling) {
7694 (void)rootType;
7695 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7696 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7697 rootType = forMarshaling->sType;
7698 }
7699 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7700 vkStream->write((uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
7701 }
7702
unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorSetVariableDescriptorCountLayoutSupport * forUnmarshaling)7703 void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
7704 VulkanStreamGuest* vkStream, VkStructureType rootType,
7705 VkDescriptorSetVariableDescriptorCountLayoutSupport* forUnmarshaling) {
7706 (void)rootType;
7707 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7708 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7709 rootType = forUnmarshaling->sType;
7710 }
7711 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7712 vkStream->read((uint32_t*)&forUnmarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
7713 }
7714
marshal_VkSubpassDescriptionDepthStencilResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * forMarshaling)7715 void marshal_VkSubpassDescriptionDepthStencilResolve(
7716 VulkanStreamGuest* vkStream, VkStructureType rootType,
7717 const VkSubpassDescriptionDepthStencilResolve* 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((VkResolveModeFlagBits*)&forMarshaling->depthResolveMode,
7725 sizeof(VkResolveModeFlagBits));
7726 vkStream->write((VkResolveModeFlagBits*)&forMarshaling->stencilResolveMode,
7727 sizeof(VkResolveModeFlagBits));
7728 // WARNING PTR CHECK
7729 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilResolveAttachment;
7730 vkStream->putBe64(cgen_var_0);
7731 if (forMarshaling->pDepthStencilResolveAttachment) {
7732 marshal_VkAttachmentReference2(
7733 vkStream, rootType,
7734 (const VkAttachmentReference2*)(forMarshaling->pDepthStencilResolveAttachment));
7735 }
7736 }
7737
unmarshal_VkSubpassDescriptionDepthStencilResolve(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubpassDescriptionDepthStencilResolve * forUnmarshaling)7738 void unmarshal_VkSubpassDescriptionDepthStencilResolve(
7739 VulkanStreamGuest* vkStream, VkStructureType rootType,
7740 VkSubpassDescriptionDepthStencilResolve* forUnmarshaling) {
7741 (void)rootType;
7742 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7743 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7744 rootType = forUnmarshaling->sType;
7745 }
7746 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7747 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->depthResolveMode,
7748 sizeof(VkResolveModeFlagBits));
7749 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->stencilResolveMode,
7750 sizeof(VkResolveModeFlagBits));
7751 // WARNING PTR CHECK
7752 const VkAttachmentReference2* check_pDepthStencilResolveAttachment;
7753 check_pDepthStencilResolveAttachment =
7754 (const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
7755 if (forUnmarshaling->pDepthStencilResolveAttachment) {
7756 if (!(check_pDepthStencilResolveAttachment)) {
7757 fprintf(stderr,
7758 "fatal: forUnmarshaling->pDepthStencilResolveAttachment inconsistent between "
7759 "guest and host\n");
7760 }
7761 unmarshal_VkAttachmentReference2(
7762 vkStream, rootType,
7763 (VkAttachmentReference2*)(forUnmarshaling->pDepthStencilResolveAttachment));
7764 }
7765 }
7766
marshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * forMarshaling)7767 void marshal_VkPhysicalDeviceDepthStencilResolveProperties(
7768 VulkanStreamGuest* vkStream, VkStructureType rootType,
7769 const VkPhysicalDeviceDepthStencilResolveProperties* forMarshaling) {
7770 (void)rootType;
7771 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7772 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7773 rootType = forMarshaling->sType;
7774 }
7775 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7776 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
7777 sizeof(VkResolveModeFlags));
7778 vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
7779 sizeof(VkResolveModeFlags));
7780 vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
7781 vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
7782 }
7783
unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDepthStencilResolveProperties * forUnmarshaling)7784 void unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
7785 VulkanStreamGuest* vkStream, VkStructureType rootType,
7786 VkPhysicalDeviceDepthStencilResolveProperties* forUnmarshaling) {
7787 (void)rootType;
7788 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7789 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7790 rootType = forUnmarshaling->sType;
7791 }
7792 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7793 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
7794 sizeof(VkResolveModeFlags));
7795 vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
7796 sizeof(VkResolveModeFlags));
7797 vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
7798 vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
7799 }
7800
marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * forMarshaling)7801 void marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
7802 VulkanStreamGuest* vkStream, VkStructureType rootType,
7803 const VkPhysicalDeviceScalarBlockLayoutFeatures* forMarshaling) {
7804 (void)rootType;
7805 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7806 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7807 rootType = forMarshaling->sType;
7808 }
7809 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7810 vkStream->write((VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
7811 }
7812
unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceScalarBlockLayoutFeatures * forUnmarshaling)7813 void unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
7814 VulkanStreamGuest* vkStream, VkStructureType rootType,
7815 VkPhysicalDeviceScalarBlockLayoutFeatures* forUnmarshaling) {
7816 (void)rootType;
7817 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7818 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7819 rootType = forUnmarshaling->sType;
7820 }
7821 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7822 vkStream->read((VkBool32*)&forUnmarshaling->scalarBlockLayout, sizeof(VkBool32));
7823 }
7824
marshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageStencilUsageCreateInfo * forMarshaling)7825 void marshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7826 const VkImageStencilUsageCreateInfo* forMarshaling) {
7827 (void)rootType;
7828 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7829 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7830 rootType = forMarshaling->sType;
7831 }
7832 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7833 vkStream->write((VkImageUsageFlags*)&forMarshaling->stencilUsage, sizeof(VkImageUsageFlags));
7834 }
7835
unmarshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageStencilUsageCreateInfo * forUnmarshaling)7836 void unmarshal_VkImageStencilUsageCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
7837 VkImageStencilUsageCreateInfo* forUnmarshaling) {
7838 (void)rootType;
7839 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7840 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7841 rootType = forUnmarshaling->sType;
7842 }
7843 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7844 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->stencilUsage, sizeof(VkImageUsageFlags));
7845 }
7846
marshal_VkSamplerReductionModeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * forMarshaling)7847 void marshal_VkSamplerReductionModeCreateInfo(
7848 VulkanStreamGuest* vkStream, VkStructureType rootType,
7849 const VkSamplerReductionModeCreateInfo* forMarshaling) {
7850 (void)rootType;
7851 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7852 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7853 rootType = forMarshaling->sType;
7854 }
7855 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7856 vkStream->write((VkSamplerReductionMode*)&forMarshaling->reductionMode,
7857 sizeof(VkSamplerReductionMode));
7858 }
7859
unmarshal_VkSamplerReductionModeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerReductionModeCreateInfo * forUnmarshaling)7860 void unmarshal_VkSamplerReductionModeCreateInfo(VulkanStreamGuest* vkStream,
7861 VkStructureType rootType,
7862 VkSamplerReductionModeCreateInfo* forUnmarshaling) {
7863 (void)rootType;
7864 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7865 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7866 rootType = forUnmarshaling->sType;
7867 }
7868 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7869 vkStream->read((VkSamplerReductionMode*)&forUnmarshaling->reductionMode,
7870 sizeof(VkSamplerReductionMode));
7871 }
7872
marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * forMarshaling)7873 void marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
7874 VulkanStreamGuest* vkStream, VkStructureType rootType,
7875 const VkPhysicalDeviceSamplerFilterMinmaxProperties* forMarshaling) {
7876 (void)rootType;
7877 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7878 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7879 rootType = forMarshaling->sType;
7880 }
7881 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7882 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats,
7883 sizeof(VkBool32));
7884 vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
7885 }
7886
unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSamplerFilterMinmaxProperties * forUnmarshaling)7887 void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
7888 VulkanStreamGuest* vkStream, VkStructureType rootType,
7889 VkPhysicalDeviceSamplerFilterMinmaxProperties* forUnmarshaling) {
7890 (void)rootType;
7891 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7893 rootType = forUnmarshaling->sType;
7894 }
7895 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7896 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats,
7897 sizeof(VkBool32));
7898 vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
7899 sizeof(VkBool32));
7900 }
7901
marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * forMarshaling)7902 void marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
7903 VulkanStreamGuest* vkStream, VkStructureType rootType,
7904 const VkPhysicalDeviceVulkanMemoryModelFeatures* forMarshaling) {
7905 (void)rootType;
7906 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7907 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7908 rootType = forMarshaling->sType;
7909 }
7910 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7911 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
7912 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
7913 vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
7914 sizeof(VkBool32));
7915 }
7916
unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkanMemoryModelFeatures * forUnmarshaling)7917 void unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
7918 VulkanStreamGuest* vkStream, VkStructureType rootType,
7919 VkPhysicalDeviceVulkanMemoryModelFeatures* forUnmarshaling) {
7920 (void)rootType;
7921 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7922 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7923 rootType = forUnmarshaling->sType;
7924 }
7925 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7926 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModel, sizeof(VkBool32));
7927 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
7928 vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
7929 sizeof(VkBool32));
7930 }
7931
marshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * forMarshaling)7932 void marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
7933 VulkanStreamGuest* vkStream, VkStructureType rootType,
7934 const VkPhysicalDeviceImagelessFramebufferFeatures* forMarshaling) {
7935 (void)rootType;
7936 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7937 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7938 rootType = forMarshaling->sType;
7939 }
7940 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7941 vkStream->write((VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
7942 }
7943
unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImagelessFramebufferFeatures * forUnmarshaling)7944 void unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
7945 VulkanStreamGuest* vkStream, VkStructureType rootType,
7946 VkPhysicalDeviceImagelessFramebufferFeatures* forUnmarshaling) {
7947 (void)rootType;
7948 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7949 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7950 rootType = forUnmarshaling->sType;
7951 }
7952 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7953 vkStream->read((VkBool32*)&forUnmarshaling->imagelessFramebuffer, sizeof(VkBool32));
7954 }
7955
marshal_VkFramebufferAttachmentImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * forMarshaling)7956 void marshal_VkFramebufferAttachmentImageInfo(
7957 VulkanStreamGuest* vkStream, VkStructureType rootType,
7958 const VkFramebufferAttachmentImageInfo* forMarshaling) {
7959 (void)rootType;
7960 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7961 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7962 rootType = forMarshaling->sType;
7963 }
7964 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
7965 vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
7966 vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
7967 vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
7968 vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
7969 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
7970 vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
7971 vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
7972 forMarshaling->viewFormatCount * sizeof(const VkFormat));
7973 }
7974
unmarshal_VkFramebufferAttachmentImageInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFramebufferAttachmentImageInfo * forUnmarshaling)7975 void unmarshal_VkFramebufferAttachmentImageInfo(VulkanStreamGuest* vkStream,
7976 VkStructureType rootType,
7977 VkFramebufferAttachmentImageInfo* forUnmarshaling) {
7978 (void)rootType;
7979 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
7980 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7981 rootType = forUnmarshaling->sType;
7982 }
7983 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
7984 vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
7985 vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
7986 vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
7987 vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
7988 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
7989 vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
7990 vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
7991 forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
7992 }
7993
marshal_VkFramebufferAttachmentsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * forMarshaling)7994 void marshal_VkFramebufferAttachmentsCreateInfo(
7995 VulkanStreamGuest* vkStream, VkStructureType rootType,
7996 const VkFramebufferAttachmentsCreateInfo* forMarshaling) {
7997 (void)rootType;
7998 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
7999 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8000 rootType = forMarshaling->sType;
8001 }
8002 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8003 vkStream->write((uint32_t*)&forMarshaling->attachmentImageInfoCount, sizeof(uint32_t));
8004 if (forMarshaling) {
8005 for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentImageInfoCount; ++i) {
8006 marshal_VkFramebufferAttachmentImageInfo(
8007 vkStream, rootType,
8008 (const VkFramebufferAttachmentImageInfo*)(forMarshaling->pAttachmentImageInfos +
8009 i));
8010 }
8011 }
8012 }
8013
unmarshal_VkFramebufferAttachmentsCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFramebufferAttachmentsCreateInfo * forUnmarshaling)8014 void unmarshal_VkFramebufferAttachmentsCreateInfo(
8015 VulkanStreamGuest* vkStream, VkStructureType rootType,
8016 VkFramebufferAttachmentsCreateInfo* forUnmarshaling) {
8017 (void)rootType;
8018 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8019 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8020 rootType = forUnmarshaling->sType;
8021 }
8022 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8023 vkStream->read((uint32_t*)&forUnmarshaling->attachmentImageInfoCount, sizeof(uint32_t));
8024 if (forUnmarshaling) {
8025 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentImageInfoCount; ++i) {
8026 unmarshal_VkFramebufferAttachmentImageInfo(
8027 vkStream, rootType,
8028 (VkFramebufferAttachmentImageInfo*)(forUnmarshaling->pAttachmentImageInfos + i));
8029 }
8030 }
8031 }
8032
marshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * forMarshaling)8033 void marshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8034 const VkRenderPassAttachmentBeginInfo* forMarshaling) {
8035 (void)rootType;
8036 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8037 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8038 rootType = forMarshaling->sType;
8039 }
8040 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8041 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
8042 if (forMarshaling->attachmentCount) {
8043 uint64_t* cgen_var_0;
8044 vkStream->alloc((void**)&cgen_var_0, forMarshaling->attachmentCount * 8);
8045 vkStream->handleMapping()->mapHandles_VkImageView_u64(
8046 forMarshaling->pAttachments, cgen_var_0, forMarshaling->attachmentCount);
8047 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->attachmentCount * 8);
8048 }
8049 }
8050
unmarshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassAttachmentBeginInfo * forUnmarshaling)8051 void unmarshal_VkRenderPassAttachmentBeginInfo(VulkanStreamGuest* vkStream,
8052 VkStructureType rootType,
8053 VkRenderPassAttachmentBeginInfo* forUnmarshaling) {
8054 (void)rootType;
8055 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8056 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8057 rootType = forUnmarshaling->sType;
8058 }
8059 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8060 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
8061 if (forUnmarshaling->attachmentCount) {
8062 uint64_t* cgen_var_0;
8063 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->attachmentCount * 8);
8064 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->attachmentCount * 8);
8065 vkStream->handleMapping()->mapHandles_u64_VkImageView(
8066 cgen_var_0, (VkImageView*)forUnmarshaling->pAttachments,
8067 forUnmarshaling->attachmentCount);
8068 }
8069 }
8070
marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forMarshaling)8071 void marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
8072 VulkanStreamGuest* vkStream, VkStructureType rootType,
8073 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forMarshaling) {
8074 (void)rootType;
8075 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8076 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8077 rootType = forMarshaling->sType;
8078 }
8079 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8080 vkStream->write((VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
8081 }
8082
unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * forUnmarshaling)8083 void unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
8084 VulkanStreamGuest* vkStream, VkStructureType rootType,
8085 VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forUnmarshaling) {
8086 (void)rootType;
8087 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8088 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8089 rootType = forUnmarshaling->sType;
8090 }
8091 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8092 vkStream->read((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
8093 }
8094
marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forMarshaling)8095 void marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
8096 VulkanStreamGuest* vkStream, VkStructureType rootType,
8097 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forMarshaling) {
8098 (void)rootType;
8099 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8100 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8101 rootType = forMarshaling->sType;
8102 }
8103 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8104 vkStream->write((VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
8105 }
8106
unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * forUnmarshaling)8107 void unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
8108 VulkanStreamGuest* vkStream, VkStructureType rootType,
8109 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forUnmarshaling) {
8110 (void)rootType;
8111 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8112 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8113 rootType = forUnmarshaling->sType;
8114 }
8115 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8116 vkStream->read((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
8117 }
8118
marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forMarshaling)8119 void marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
8120 VulkanStreamGuest* vkStream, VkStructureType rootType,
8121 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forMarshaling) {
8122 (void)rootType;
8123 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8124 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8125 rootType = forMarshaling->sType;
8126 }
8127 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8128 vkStream->write((VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
8129 }
8130
unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * forUnmarshaling)8131 void unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
8132 VulkanStreamGuest* vkStream, VkStructureType rootType,
8133 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forUnmarshaling) {
8134 (void)rootType;
8135 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8136 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8137 rootType = forUnmarshaling->sType;
8138 }
8139 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8140 vkStream->read((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
8141 }
8142
marshal_VkAttachmentReferenceStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * forMarshaling)8143 void marshal_VkAttachmentReferenceStencilLayout(
8144 VulkanStreamGuest* vkStream, VkStructureType rootType,
8145 const VkAttachmentReferenceStencilLayout* forMarshaling) {
8146 (void)rootType;
8147 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8148 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8149 rootType = forMarshaling->sType;
8150 }
8151 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8152 vkStream->write((VkImageLayout*)&forMarshaling->stencilLayout, sizeof(VkImageLayout));
8153 }
8154
unmarshal_VkAttachmentReferenceStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentReferenceStencilLayout * forUnmarshaling)8155 void unmarshal_VkAttachmentReferenceStencilLayout(
8156 VulkanStreamGuest* vkStream, VkStructureType rootType,
8157 VkAttachmentReferenceStencilLayout* forUnmarshaling) {
8158 (void)rootType;
8159 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8160 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8161 rootType = forUnmarshaling->sType;
8162 }
8163 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8164 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilLayout, sizeof(VkImageLayout));
8165 }
8166
marshal_VkAttachmentDescriptionStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * forMarshaling)8167 void marshal_VkAttachmentDescriptionStencilLayout(
8168 VulkanStreamGuest* vkStream, VkStructureType rootType,
8169 const VkAttachmentDescriptionStencilLayout* forMarshaling) {
8170 (void)rootType;
8171 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8172 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8173 rootType = forMarshaling->sType;
8174 }
8175 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8176 vkStream->write((VkImageLayout*)&forMarshaling->stencilInitialLayout, sizeof(VkImageLayout));
8177 vkStream->write((VkImageLayout*)&forMarshaling->stencilFinalLayout, sizeof(VkImageLayout));
8178 }
8179
unmarshal_VkAttachmentDescriptionStencilLayout(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentDescriptionStencilLayout * forUnmarshaling)8180 void unmarshal_VkAttachmentDescriptionStencilLayout(
8181 VulkanStreamGuest* vkStream, VkStructureType rootType,
8182 VkAttachmentDescriptionStencilLayout* forUnmarshaling) {
8183 (void)rootType;
8184 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8185 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8186 rootType = forUnmarshaling->sType;
8187 }
8188 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8189 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilInitialLayout, sizeof(VkImageLayout));
8190 vkStream->read((VkImageLayout*)&forUnmarshaling->stencilFinalLayout, sizeof(VkImageLayout));
8191 }
8192
marshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * forMarshaling)8193 void marshal_VkPhysicalDeviceHostQueryResetFeatures(
8194 VulkanStreamGuest* vkStream, VkStructureType rootType,
8195 const VkPhysicalDeviceHostQueryResetFeatures* forMarshaling) {
8196 (void)rootType;
8197 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8198 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8199 rootType = forMarshaling->sType;
8200 }
8201 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8202 vkStream->write((VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
8203 }
8204
unmarshal_VkPhysicalDeviceHostQueryResetFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceHostQueryResetFeatures * forUnmarshaling)8205 void unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
8206 VulkanStreamGuest* vkStream, VkStructureType rootType,
8207 VkPhysicalDeviceHostQueryResetFeatures* forUnmarshaling) {
8208 (void)rootType;
8209 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8210 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8211 rootType = forUnmarshaling->sType;
8212 }
8213 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8214 vkStream->read((VkBool32*)&forUnmarshaling->hostQueryReset, sizeof(VkBool32));
8215 }
8216
marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * forMarshaling)8217 void marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
8218 VulkanStreamGuest* vkStream, VkStructureType rootType,
8219 const VkPhysicalDeviceTimelineSemaphoreFeatures* forMarshaling) {
8220 (void)rootType;
8221 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8222 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8223 rootType = forMarshaling->sType;
8224 }
8225 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8226 vkStream->write((VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
8227 }
8228
unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTimelineSemaphoreFeatures * forUnmarshaling)8229 void unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
8230 VulkanStreamGuest* vkStream, VkStructureType rootType,
8231 VkPhysicalDeviceTimelineSemaphoreFeatures* forUnmarshaling) {
8232 (void)rootType;
8233 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8234 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8235 rootType = forUnmarshaling->sType;
8236 }
8237 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8238 vkStream->read((VkBool32*)&forUnmarshaling->timelineSemaphore, sizeof(VkBool32));
8239 }
8240
marshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * forMarshaling)8241 void marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
8242 VulkanStreamGuest* vkStream, VkStructureType rootType,
8243 const VkPhysicalDeviceTimelineSemaphoreProperties* forMarshaling) {
8244 (void)rootType;
8245 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8246 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8247 rootType = forMarshaling->sType;
8248 }
8249 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8250 vkStream->write((uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference,
8251 sizeof(uint64_t));
8252 }
8253
unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTimelineSemaphoreProperties * forUnmarshaling)8254 void unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
8255 VulkanStreamGuest* vkStream, VkStructureType rootType,
8256 VkPhysicalDeviceTimelineSemaphoreProperties* forUnmarshaling) {
8257 (void)rootType;
8258 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8259 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8260 rootType = forUnmarshaling->sType;
8261 }
8262 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8263 vkStream->read((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference,
8264 sizeof(uint64_t));
8265 }
8266
marshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * forMarshaling)8267 void marshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8268 const VkSemaphoreTypeCreateInfo* forMarshaling) {
8269 (void)rootType;
8270 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8271 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8272 rootType = forMarshaling->sType;
8273 }
8274 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8275 vkStream->write((VkSemaphoreType*)&forMarshaling->semaphoreType, sizeof(VkSemaphoreType));
8276 vkStream->write((uint64_t*)&forMarshaling->initialValue, sizeof(uint64_t));
8277 }
8278
unmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreTypeCreateInfo * forUnmarshaling)8279 void unmarshal_VkSemaphoreTypeCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8280 VkSemaphoreTypeCreateInfo* forUnmarshaling) {
8281 (void)rootType;
8282 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8283 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8284 rootType = forUnmarshaling->sType;
8285 }
8286 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8287 vkStream->read((VkSemaphoreType*)&forUnmarshaling->semaphoreType, sizeof(VkSemaphoreType));
8288 vkStream->read((uint64_t*)&forUnmarshaling->initialValue, sizeof(uint64_t));
8289 }
8290
marshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * forMarshaling)8291 void marshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8292 const VkTimelineSemaphoreSubmitInfo* forMarshaling) {
8293 (void)rootType;
8294 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8295 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8296 rootType = forMarshaling->sType;
8297 }
8298 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8299 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
8300 // WARNING PTR CHECK
8301 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
8302 vkStream->putBe64(cgen_var_0);
8303 if (forMarshaling->pWaitSemaphoreValues) {
8304 vkStream->write((const uint64_t*)forMarshaling->pWaitSemaphoreValues,
8305 forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
8306 }
8307 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
8308 // WARNING PTR CHECK
8309 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
8310 vkStream->putBe64(cgen_var_1);
8311 if (forMarshaling->pSignalSemaphoreValues) {
8312 vkStream->write((const uint64_t*)forMarshaling->pSignalSemaphoreValues,
8313 forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
8314 }
8315 }
8316
unmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkTimelineSemaphoreSubmitInfo * forUnmarshaling)8317 void unmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8318 VkTimelineSemaphoreSubmitInfo* forUnmarshaling) {
8319 (void)rootType;
8320 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8321 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8322 rootType = forUnmarshaling->sType;
8323 }
8324 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8325 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreValueCount, sizeof(uint32_t));
8326 // WARNING PTR CHECK
8327 const uint64_t* check_pWaitSemaphoreValues;
8328 check_pWaitSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
8329 if (forUnmarshaling->pWaitSemaphoreValues) {
8330 if (!(check_pWaitSemaphoreValues)) {
8331 fprintf(stderr,
8332 "fatal: forUnmarshaling->pWaitSemaphoreValues inconsistent between guest and "
8333 "host\n");
8334 }
8335 vkStream->read((uint64_t*)forUnmarshaling->pWaitSemaphoreValues,
8336 forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
8337 }
8338 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
8339 // WARNING PTR CHECK
8340 const uint64_t* check_pSignalSemaphoreValues;
8341 check_pSignalSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
8342 if (forUnmarshaling->pSignalSemaphoreValues) {
8343 if (!(check_pSignalSemaphoreValues)) {
8344 fprintf(stderr,
8345 "fatal: forUnmarshaling->pSignalSemaphoreValues inconsistent between guest and "
8346 "host\n");
8347 }
8348 vkStream->read((uint64_t*)forUnmarshaling->pSignalSemaphoreValues,
8349 forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
8350 }
8351 }
8352
marshal_VkSemaphoreWaitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreWaitInfo * forMarshaling)8353 void marshal_VkSemaphoreWaitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8354 const VkSemaphoreWaitInfo* forMarshaling) {
8355 (void)rootType;
8356 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8357 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8358 rootType = forMarshaling->sType;
8359 }
8360 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8361 vkStream->write((VkSemaphoreWaitFlags*)&forMarshaling->flags, sizeof(VkSemaphoreWaitFlags));
8362 vkStream->write((uint32_t*)&forMarshaling->semaphoreCount, sizeof(uint32_t));
8363 if (forMarshaling->semaphoreCount) {
8364 uint64_t* cgen_var_0;
8365 vkStream->alloc((void**)&cgen_var_0, forMarshaling->semaphoreCount * 8);
8366 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
8367 forMarshaling->pSemaphores, cgen_var_0, forMarshaling->semaphoreCount);
8368 vkStream->write((uint64_t*)cgen_var_0, forMarshaling->semaphoreCount * 8);
8369 }
8370 vkStream->write((const uint64_t*)forMarshaling->pValues,
8371 forMarshaling->semaphoreCount * sizeof(const uint64_t));
8372 }
8373
unmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreWaitInfo * forUnmarshaling)8374 void unmarshal_VkSemaphoreWaitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8375 VkSemaphoreWaitInfo* forUnmarshaling) {
8376 (void)rootType;
8377 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8378 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8379 rootType = forUnmarshaling->sType;
8380 }
8381 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8382 vkStream->read((VkSemaphoreWaitFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreWaitFlags));
8383 vkStream->read((uint32_t*)&forUnmarshaling->semaphoreCount, sizeof(uint32_t));
8384 if (forUnmarshaling->semaphoreCount) {
8385 uint64_t* cgen_var_0;
8386 vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->semaphoreCount * 8);
8387 vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->semaphoreCount * 8);
8388 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
8389 cgen_var_0, (VkSemaphore*)forUnmarshaling->pSemaphores,
8390 forUnmarshaling->semaphoreCount);
8391 }
8392 vkStream->read((uint64_t*)forUnmarshaling->pValues,
8393 forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
8394 }
8395
marshal_VkSemaphoreSignalInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSignalInfo * forMarshaling)8396 void marshal_VkSemaphoreSignalInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8397 const VkSemaphoreSignalInfo* forMarshaling) {
8398 (void)rootType;
8399 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8400 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8401 rootType = forMarshaling->sType;
8402 }
8403 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8404 uint64_t cgen_var_0;
8405 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
8406 1);
8407 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
8408 vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t));
8409 }
8410
unmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreSignalInfo * forUnmarshaling)8411 void unmarshal_VkSemaphoreSignalInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8412 VkSemaphoreSignalInfo* forUnmarshaling) {
8413 (void)rootType;
8414 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8415 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8416 rootType = forUnmarshaling->sType;
8417 }
8418 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8419 uint64_t cgen_var_0;
8420 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
8421 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
8422 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
8423 vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t));
8424 }
8425
marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * forMarshaling)8426 void marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
8427 VulkanStreamGuest* vkStream, VkStructureType rootType,
8428 const VkPhysicalDeviceBufferDeviceAddressFeatures* forMarshaling) {
8429 (void)rootType;
8430 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8431 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8432 rootType = forMarshaling->sType;
8433 }
8434 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8435 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
8436 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
8437 vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
8438 }
8439
unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceBufferDeviceAddressFeatures * forUnmarshaling)8440 void unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
8441 VulkanStreamGuest* vkStream, VkStructureType rootType,
8442 VkPhysicalDeviceBufferDeviceAddressFeatures* forUnmarshaling) {
8443 (void)rootType;
8444 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8445 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8446 rootType = forUnmarshaling->sType;
8447 }
8448 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8449 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddress, sizeof(VkBool32));
8450 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
8451 vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
8452 }
8453
marshal_VkBufferDeviceAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferDeviceAddressInfo * forMarshaling)8454 void marshal_VkBufferDeviceAddressInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8455 const VkBufferDeviceAddressInfo* forMarshaling) {
8456 (void)rootType;
8457 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8458 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8459 rootType = forMarshaling->sType;
8460 }
8461 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8462 uint64_t cgen_var_0;
8463 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
8464 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
8465 }
8466
unmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferDeviceAddressInfo * forUnmarshaling)8467 void unmarshal_VkBufferDeviceAddressInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
8468 VkBufferDeviceAddressInfo* forUnmarshaling) {
8469 (void)rootType;
8470 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8471 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8472 rootType = forUnmarshaling->sType;
8473 }
8474 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8475 uint64_t cgen_var_0;
8476 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
8477 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
8478 (VkBuffer*)&forUnmarshaling->buffer, 1);
8479 }
8480
marshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * forMarshaling)8481 void marshal_VkBufferOpaqueCaptureAddressCreateInfo(
8482 VulkanStreamGuest* vkStream, VkStructureType rootType,
8483 const VkBufferOpaqueCaptureAddressCreateInfo* forMarshaling) {
8484 (void)rootType;
8485 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8486 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8487 rootType = forMarshaling->sType;
8488 }
8489 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8490 vkStream->write((uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
8491 }
8492
unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferOpaqueCaptureAddressCreateInfo * forUnmarshaling)8493 void unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
8494 VulkanStreamGuest* vkStream, VkStructureType rootType,
8495 VkBufferOpaqueCaptureAddressCreateInfo* forUnmarshaling) {
8496 (void)rootType;
8497 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8498 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8499 rootType = forUnmarshaling->sType;
8500 }
8501 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8502 vkStream->read((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, sizeof(uint64_t));
8503 }
8504
marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * forMarshaling)8505 void marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
8506 VulkanStreamGuest* vkStream, VkStructureType rootType,
8507 const VkMemoryOpaqueCaptureAddressAllocateInfo* forMarshaling) {
8508 (void)rootType;
8509 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8510 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8511 rootType = forMarshaling->sType;
8512 }
8513 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8514 vkStream->write((uint64_t*)&forMarshaling->opaqueCaptureAddress, sizeof(uint64_t));
8515 }
8516
unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryOpaqueCaptureAddressAllocateInfo * forUnmarshaling)8517 void unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
8518 VulkanStreamGuest* vkStream, VkStructureType rootType,
8519 VkMemoryOpaqueCaptureAddressAllocateInfo* forUnmarshaling) {
8520 (void)rootType;
8521 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8522 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8523 rootType = forUnmarshaling->sType;
8524 }
8525 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8526 vkStream->read((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, sizeof(uint64_t));
8527 }
8528
marshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * forMarshaling)8529 void marshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
8530 VulkanStreamGuest* vkStream, VkStructureType rootType,
8531 const VkDeviceMemoryOpaqueCaptureAddressInfo* forMarshaling) {
8532 (void)rootType;
8533 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8534 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8535 rootType = forMarshaling->sType;
8536 }
8537 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8538 uint64_t cgen_var_0;
8539 vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0,
8540 1);
8541 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
8542 }
8543
unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceMemoryOpaqueCaptureAddressInfo * forUnmarshaling)8544 void unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
8545 VulkanStreamGuest* vkStream, VkStructureType rootType,
8546 VkDeviceMemoryOpaqueCaptureAddressInfo* forUnmarshaling) {
8547 (void)rootType;
8548 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8549 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8550 rootType = forUnmarshaling->sType;
8551 }
8552 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8553 uint64_t cgen_var_0;
8554 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
8555 vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
8556 &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
8557 }
8558
8559 #endif
8560 #ifdef VK_VERSION_1_3
marshal_VkPhysicalDeviceVulkan13Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * forMarshaling)8561 void marshal_VkPhysicalDeviceVulkan13Features(
8562 VulkanStreamGuest* vkStream, VkStructureType rootType,
8563 const VkPhysicalDeviceVulkan13Features* forMarshaling) {
8564 (void)rootType;
8565 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8566 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8567 rootType = forMarshaling->sType;
8568 }
8569 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8570 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
8571 vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
8572 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
8573 sizeof(VkBool32));
8574 vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
8575 vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
8576 vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
8577 vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
8578 vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
8579 vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
8580 vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
8581 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
8582 vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory,
8583 sizeof(VkBool32));
8584 vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
8585 vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
8586 vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
8587 }
8588
unmarshal_VkPhysicalDeviceVulkan13Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan13Features * forUnmarshaling)8589 void unmarshal_VkPhysicalDeviceVulkan13Features(VulkanStreamGuest* vkStream,
8590 VkStructureType rootType,
8591 VkPhysicalDeviceVulkan13Features* forUnmarshaling) {
8592 (void)rootType;
8593 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8594 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8595 rootType = forUnmarshaling->sType;
8596 }
8597 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8598 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32));
8599 vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32));
8600 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
8601 sizeof(VkBool32));
8602 vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
8603 vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32));
8604 vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
8605 vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32));
8606 vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32));
8607 vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32));
8608 vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32));
8609 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
8610 vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory,
8611 sizeof(VkBool32));
8612 vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32));
8613 vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
8614 vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32));
8615 }
8616
marshal_VkPhysicalDeviceVulkan13Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * forMarshaling)8617 void marshal_VkPhysicalDeviceVulkan13Properties(
8618 VulkanStreamGuest* vkStream, VkStructureType rootType,
8619 const VkPhysicalDeviceVulkan13Properties* forMarshaling) {
8620 (void)rootType;
8621 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8622 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8623 rootType = forMarshaling->sType;
8624 }
8625 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8626 vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
8627 vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
8628 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
8629 vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
8630 sizeof(VkShaderStageFlags));
8631 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
8632 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
8633 sizeof(uint32_t));
8634 vkStream->write(
8635 (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
8636 sizeof(uint32_t));
8637 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks,
8638 sizeof(uint32_t));
8639 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
8640 sizeof(uint32_t));
8641 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
8642 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
8643 sizeof(VkBool32));
8644 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
8645 sizeof(VkBool32));
8646 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
8647 sizeof(VkBool32));
8648 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
8649 sizeof(VkBool32));
8650 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
8651 sizeof(VkBool32));
8652 vkStream->write(
8653 (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
8654 sizeof(VkBool32));
8655 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
8656 sizeof(VkBool32));
8657 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
8658 sizeof(VkBool32));
8659 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
8660 sizeof(VkBool32));
8661 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
8662 sizeof(VkBool32));
8663 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
8664 sizeof(VkBool32));
8665 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
8666 sizeof(VkBool32));
8667 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
8668 sizeof(VkBool32));
8669 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
8670 sizeof(VkBool32));
8671 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
8672 sizeof(VkBool32));
8673 vkStream->write(
8674 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
8675 sizeof(VkBool32));
8676 vkStream->write(
8677 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
8678 sizeof(VkBool32));
8679 vkStream->write((VkBool32*)&forMarshaling
8680 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
8681 sizeof(VkBool32));
8682 vkStream->write((VkBool32*)&forMarshaling
8683 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
8684 sizeof(VkBool32));
8685 vkStream->write((VkBool32*)&forMarshaling
8686 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
8687 sizeof(VkBool32));
8688 vkStream->write(
8689 (VkBool32*)&forMarshaling
8690 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
8691 sizeof(VkBool32));
8692 vkStream->write(
8693 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
8694 sizeof(VkBool32));
8695 vkStream->write(
8696 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
8697 sizeof(VkBool32));
8698 vkStream->write((VkBool32*)&forMarshaling
8699 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
8700 sizeof(VkBool32));
8701 vkStream->write(
8702 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
8703 sizeof(VkBool32));
8704 vkStream->write(
8705 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
8706 sizeof(VkBool32));
8707 vkStream->write((VkBool32*)&forMarshaling
8708 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
8709 sizeof(VkBool32));
8710 vkStream->write(
8711 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
8712 sizeof(VkBool32));
8713 vkStream->write(
8714 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
8715 sizeof(VkBool32));
8716 vkStream->write((VkBool32*)&forMarshaling
8717 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
8718 sizeof(VkBool32));
8719 vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
8720 sizeof(VkDeviceSize));
8721 vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
8722 sizeof(VkBool32));
8723 vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
8724 sizeof(VkDeviceSize));
8725 vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
8726 sizeof(VkBool32));
8727 vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
8728 }
8729
unmarshal_VkPhysicalDeviceVulkan13Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVulkan13Properties * forUnmarshaling)8730 void unmarshal_VkPhysicalDeviceVulkan13Properties(
8731 VulkanStreamGuest* vkStream, VkStructureType rootType,
8732 VkPhysicalDeviceVulkan13Properties* forUnmarshaling) {
8733 (void)rootType;
8734 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8735 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8736 rootType = forUnmarshaling->sType;
8737 }
8738 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8739 vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t));
8740 vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t));
8741 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
8742 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages,
8743 sizeof(VkShaderStageFlags));
8744 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
8745 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks,
8746 sizeof(uint32_t));
8747 vkStream->read(
8748 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
8749 sizeof(uint32_t));
8750 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks,
8751 sizeof(uint32_t));
8752 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
8753 sizeof(uint32_t));
8754 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformTotalSize, sizeof(uint32_t));
8755 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated,
8756 sizeof(VkBool32));
8757 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated,
8758 sizeof(VkBool32));
8759 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated,
8760 sizeof(VkBool32));
8761 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
8762 sizeof(VkBool32));
8763 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
8764 sizeof(VkBool32));
8765 vkStream->read(
8766 (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
8767 sizeof(VkBool32));
8768 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated,
8769 sizeof(VkBool32));
8770 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated,
8771 sizeof(VkBool32));
8772 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated,
8773 sizeof(VkBool32));
8774 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated,
8775 sizeof(VkBool32));
8776 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated,
8777 sizeof(VkBool32));
8778 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated,
8779 sizeof(VkBool32));
8780 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated,
8781 sizeof(VkBool32));
8782 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated,
8783 sizeof(VkBool32));
8784 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated,
8785 sizeof(VkBool32));
8786 vkStream->read(
8787 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
8788 sizeof(VkBool32));
8789 vkStream->read(
8790 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
8791 sizeof(VkBool32));
8792 vkStream->read((VkBool32*)&forUnmarshaling
8793 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
8794 sizeof(VkBool32));
8795 vkStream->read((VkBool32*)&forUnmarshaling
8796 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
8797 sizeof(VkBool32));
8798 vkStream->read((VkBool32*)&forUnmarshaling
8799 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
8800 sizeof(VkBool32));
8801 vkStream->read(
8802 (VkBool32*)&forUnmarshaling
8803 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
8804 sizeof(VkBool32));
8805 vkStream->read((VkBool32*)&forUnmarshaling
8806 ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
8807 sizeof(VkBool32));
8808 vkStream->read(
8809 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
8810 sizeof(VkBool32));
8811 vkStream->read((VkBool32*)&forUnmarshaling
8812 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
8813 sizeof(VkBool32));
8814 vkStream->read((VkBool32*)&forUnmarshaling
8815 ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
8816 sizeof(VkBool32));
8817 vkStream->read(
8818 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
8819 sizeof(VkBool32));
8820 vkStream->read((VkBool32*)&forUnmarshaling
8821 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
8822 sizeof(VkBool32));
8823 vkStream->read((VkBool32*)&forUnmarshaling
8824 ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
8825 sizeof(VkBool32));
8826 vkStream->read(
8827 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
8828 sizeof(VkBool32));
8829 vkStream->read((VkBool32*)&forUnmarshaling
8830 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
8831 sizeof(VkBool32));
8832 vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes,
8833 sizeof(VkDeviceSize));
8834 vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment,
8835 sizeof(VkBool32));
8836 vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes,
8837 sizeof(VkDeviceSize));
8838 vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
8839 sizeof(VkBool32));
8840 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize));
8841 }
8842
marshal_VkPipelineCreationFeedback(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedback * forMarshaling)8843 void marshal_VkPipelineCreationFeedback(VulkanStreamGuest* vkStream, VkStructureType rootType,
8844 const VkPipelineCreationFeedback* forMarshaling) {
8845 (void)rootType;
8846 vkStream->write((VkPipelineCreationFeedbackFlags*)&forMarshaling->flags,
8847 sizeof(VkPipelineCreationFeedbackFlags));
8848 vkStream->write((uint64_t*)&forMarshaling->duration, sizeof(uint64_t));
8849 }
8850
unmarshal_VkPipelineCreationFeedback(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineCreationFeedback * forUnmarshaling)8851 void unmarshal_VkPipelineCreationFeedback(VulkanStreamGuest* vkStream, VkStructureType rootType,
8852 VkPipelineCreationFeedback* forUnmarshaling) {
8853 (void)rootType;
8854 vkStream->read((VkPipelineCreationFeedbackFlags*)&forUnmarshaling->flags,
8855 sizeof(VkPipelineCreationFeedbackFlags));
8856 vkStream->read((uint64_t*)&forUnmarshaling->duration, sizeof(uint64_t));
8857 }
8858
marshal_VkPipelineCreationFeedbackCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * forMarshaling)8859 void marshal_VkPipelineCreationFeedbackCreateInfo(
8860 VulkanStreamGuest* vkStream, VkStructureType rootType,
8861 const VkPipelineCreationFeedbackCreateInfo* forMarshaling) {
8862 (void)rootType;
8863 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8864 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8865 rootType = forMarshaling->sType;
8866 }
8867 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8868 marshal_VkPipelineCreationFeedback(
8869 vkStream, rootType,
8870 (VkPipelineCreationFeedback*)(forMarshaling->pPipelineCreationFeedback));
8871 vkStream->write((uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount,
8872 sizeof(uint32_t));
8873 if (forMarshaling) {
8874 for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) {
8875 marshal_VkPipelineCreationFeedback(
8876 vkStream, rootType,
8877 (VkPipelineCreationFeedback*)(forMarshaling->pPipelineStageCreationFeedbacks + i));
8878 }
8879 }
8880 }
8881
unmarshal_VkPipelineCreationFeedbackCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineCreationFeedbackCreateInfo * forUnmarshaling)8882 void unmarshal_VkPipelineCreationFeedbackCreateInfo(
8883 VulkanStreamGuest* vkStream, VkStructureType rootType,
8884 VkPipelineCreationFeedbackCreateInfo* forUnmarshaling) {
8885 (void)rootType;
8886 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8887 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8888 rootType = forUnmarshaling->sType;
8889 }
8890 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8891 unmarshal_VkPipelineCreationFeedback(
8892 vkStream, rootType,
8893 (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineCreationFeedback));
8894 vkStream->read((uint32_t*)&forUnmarshaling->pipelineStageCreationFeedbackCount,
8895 sizeof(uint32_t));
8896 if (forUnmarshaling) {
8897 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pipelineStageCreationFeedbackCount;
8898 ++i) {
8899 unmarshal_VkPipelineCreationFeedback(
8900 vkStream, rootType,
8901 (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineStageCreationFeedbacks +
8902 i));
8903 }
8904 }
8905 }
8906
marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * forMarshaling)8907 void marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
8908 VulkanStreamGuest* vkStream, VkStructureType rootType,
8909 const VkPhysicalDeviceShaderTerminateInvocationFeatures* forMarshaling) {
8910 (void)rootType;
8911 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8912 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8913 rootType = forMarshaling->sType;
8914 }
8915 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8916 vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32));
8917 }
8918
unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderTerminateInvocationFeatures * forUnmarshaling)8919 void unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
8920 VulkanStreamGuest* vkStream, VkStructureType rootType,
8921 VkPhysicalDeviceShaderTerminateInvocationFeatures* forUnmarshaling) {
8922 (void)rootType;
8923 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8924 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8925 rootType = forUnmarshaling->sType;
8926 }
8927 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8928 vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32));
8929 }
8930
marshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceToolProperties * forMarshaling)8931 void marshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
8932 const VkPhysicalDeviceToolProperties* forMarshaling) {
8933 (void)rootType;
8934 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8935 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8936 rootType = forMarshaling->sType;
8937 }
8938 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8939 vkStream->write((char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8940 vkStream->write((char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8941 vkStream->write((VkToolPurposeFlags*)&forMarshaling->purposes, sizeof(VkToolPurposeFlags));
8942 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8943 vkStream->write((char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8944 }
8945
unmarshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceToolProperties * forUnmarshaling)8946 void unmarshal_VkPhysicalDeviceToolProperties(VulkanStreamGuest* vkStream, VkStructureType rootType,
8947 VkPhysicalDeviceToolProperties* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8954 vkStream->read((char*)forUnmarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8955 vkStream->read((char*)forUnmarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8956 vkStream->read((VkToolPurposeFlags*)&forUnmarshaling->purposes, sizeof(VkToolPurposeFlags));
8957 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
8958 vkStream->read((char*)forUnmarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
8959 }
8960
marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forMarshaling)8961 void marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
8962 VulkanStreamGuest* vkStream, VkStructureType rootType,
8963 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forMarshaling) {
8964 (void)rootType;
8965 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8966 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8967 rootType = forMarshaling->sType;
8968 }
8969 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8970 vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
8971 }
8972
unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * forUnmarshaling)8973 void unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
8974 VulkanStreamGuest* vkStream, VkStructureType rootType,
8975 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forUnmarshaling) {
8976 (void)rootType;
8977 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
8978 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8979 rootType = forUnmarshaling->sType;
8980 }
8981 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
8982 vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32));
8983 }
8984
marshal_VkPhysicalDevicePrivateDataFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * forMarshaling)8985 void marshal_VkPhysicalDevicePrivateDataFeatures(
8986 VulkanStreamGuest* vkStream, VkStructureType rootType,
8987 const VkPhysicalDevicePrivateDataFeatures* forMarshaling) {
8988 (void)rootType;
8989 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
8990 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8991 rootType = forMarshaling->sType;
8992 }
8993 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
8994 vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32));
8995 }
8996
unmarshal_VkPhysicalDevicePrivateDataFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePrivateDataFeatures * forUnmarshaling)8997 void unmarshal_VkPhysicalDevicePrivateDataFeatures(
8998 VulkanStreamGuest* vkStream, VkStructureType rootType,
8999 VkPhysicalDevicePrivateDataFeatures* forUnmarshaling) {
9000 (void)rootType;
9001 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9002 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9003 rootType = forUnmarshaling->sType;
9004 }
9005 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9006 vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32));
9007 }
9008
marshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * forMarshaling)9009 void marshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9010 const VkDevicePrivateDataCreateInfo* forMarshaling) {
9011 (void)rootType;
9012 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9013 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9014 rootType = forMarshaling->sType;
9015 }
9016 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9017 vkStream->write((uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
9018 }
9019
unmarshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDevicePrivateDataCreateInfo * forUnmarshaling)9020 void unmarshal_VkDevicePrivateDataCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9021 VkDevicePrivateDataCreateInfo* forUnmarshaling) {
9022 (void)rootType;
9023 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9024 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9025 rootType = forUnmarshaling->sType;
9026 }
9027 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9028 vkStream->read((uint32_t*)&forUnmarshaling->privateDataSlotRequestCount, sizeof(uint32_t));
9029 }
9030
marshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * forMarshaling)9031 void marshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9032 const VkPrivateDataSlotCreateInfo* forMarshaling) {
9033 (void)rootType;
9034 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9035 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9036 rootType = forMarshaling->sType;
9037 }
9038 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9039 vkStream->write((VkPrivateDataSlotCreateFlags*)&forMarshaling->flags,
9040 sizeof(VkPrivateDataSlotCreateFlags));
9041 }
9042
unmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPrivateDataSlotCreateInfo * forUnmarshaling)9043 void unmarshal_VkPrivateDataSlotCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9044 VkPrivateDataSlotCreateInfo* forUnmarshaling) {
9045 (void)rootType;
9046 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9047 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9048 rootType = forUnmarshaling->sType;
9049 }
9050 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9051 vkStream->read((VkPrivateDataSlotCreateFlags*)&forUnmarshaling->flags,
9052 sizeof(VkPrivateDataSlotCreateFlags));
9053 }
9054
marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * forMarshaling)9055 void marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
9056 VulkanStreamGuest* vkStream, VkStructureType rootType,
9057 const VkPhysicalDevicePipelineCreationCacheControlFeatures* forMarshaling) {
9058 (void)rootType;
9059 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9060 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9061 rootType = forMarshaling->sType;
9062 }
9063 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9064 vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
9065 }
9066
unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePipelineCreationCacheControlFeatures * forUnmarshaling)9067 void unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
9068 VulkanStreamGuest* vkStream, VkStructureType rootType,
9069 VkPhysicalDevicePipelineCreationCacheControlFeatures* forUnmarshaling) {
9070 (void)rootType;
9071 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9072 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9073 rootType = forUnmarshaling->sType;
9074 }
9075 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9076 vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32));
9077 }
9078
marshal_VkMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryBarrier2 * forMarshaling)9079 void marshal_VkMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9080 const VkMemoryBarrier2* forMarshaling) {
9081 (void)rootType;
9082 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9083 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9084 rootType = forMarshaling->sType;
9085 }
9086 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9087 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
9088 sizeof(VkPipelineStageFlags2));
9089 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9090 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
9091 sizeof(VkPipelineStageFlags2));
9092 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9093 }
9094
unmarshal_VkMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryBarrier2 * forUnmarshaling)9095 void unmarshal_VkMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9096 VkMemoryBarrier2* forUnmarshaling) {
9097 (void)rootType;
9098 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9099 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9100 rootType = forUnmarshaling->sType;
9101 }
9102 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9103 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
9104 sizeof(VkPipelineStageFlags2));
9105 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9106 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
9107 sizeof(VkPipelineStageFlags2));
9108 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9109 }
9110
marshal_VkBufferMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferMemoryBarrier2 * forMarshaling)9111 void marshal_VkBufferMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9112 const VkBufferMemoryBarrier2* forMarshaling) {
9113 (void)rootType;
9114 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9115 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9116 rootType = forMarshaling->sType;
9117 }
9118 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9119 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
9120 sizeof(VkPipelineStageFlags2));
9121 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9122 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
9123 sizeof(VkPipelineStageFlags2));
9124 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9125 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
9126 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
9127 uint64_t cgen_var_0;
9128 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1);
9129 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9130 vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
9131 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
9132 }
9133
unmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferMemoryBarrier2 * forUnmarshaling)9134 void unmarshal_VkBufferMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9135 VkBufferMemoryBarrier2* forUnmarshaling) {
9136 (void)rootType;
9137 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9138 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9139 rootType = forUnmarshaling->sType;
9140 }
9141 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9142 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
9143 sizeof(VkPipelineStageFlags2));
9144 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9145 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
9146 sizeof(VkPipelineStageFlags2));
9147 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9148 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
9149 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
9150 uint64_t cgen_var_0;
9151 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9152 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
9153 (VkBuffer*)&forUnmarshaling->buffer, 1);
9154 vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
9155 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
9156 }
9157
marshal_VkImageMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageMemoryBarrier2 * forMarshaling)9158 void marshal_VkImageMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9159 const VkImageMemoryBarrier2* forMarshaling) {
9160 (void)rootType;
9161 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9162 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9163 rootType = forMarshaling->sType;
9164 }
9165 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9166 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask,
9167 sizeof(VkPipelineStageFlags2));
9168 vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9169 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask,
9170 sizeof(VkPipelineStageFlags2));
9171 vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9172 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
9173 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
9174 vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
9175 vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
9176 uint64_t cgen_var_0;
9177 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
9178 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9179 marshal_VkImageSubresourceRange(vkStream, rootType,
9180 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
9181 }
9182
unmarshal_VkImageMemoryBarrier2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageMemoryBarrier2 * forUnmarshaling)9183 void unmarshal_VkImageMemoryBarrier2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9184 VkImageMemoryBarrier2* forUnmarshaling) {
9185 (void)rootType;
9186 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9187 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9188 rootType = forUnmarshaling->sType;
9189 }
9190 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9191 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask,
9192 sizeof(VkPipelineStageFlags2));
9193 vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2));
9194 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask,
9195 sizeof(VkPipelineStageFlags2));
9196 vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2));
9197 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
9198 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
9199 vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
9200 vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
9201 uint64_t cgen_var_0;
9202 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9203 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
9204 (VkImage*)&forUnmarshaling->image, 1);
9205 unmarshal_VkImageSubresourceRange(
9206 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
9207 }
9208
marshal_VkDependencyInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDependencyInfo * forMarshaling)9209 void marshal_VkDependencyInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9210 const VkDependencyInfo* forMarshaling) {
9211 (void)rootType;
9212 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9213 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9214 rootType = forMarshaling->sType;
9215 }
9216 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9217 vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
9218 vkStream->write((uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t));
9219 if (forMarshaling) {
9220 for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) {
9221 marshal_VkMemoryBarrier2(vkStream, rootType,
9222 (const VkMemoryBarrier2*)(forMarshaling->pMemoryBarriers + i));
9223 }
9224 }
9225 vkStream->write((uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
9226 if (forMarshaling) {
9227 for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) {
9228 marshal_VkBufferMemoryBarrier2(
9229 vkStream, rootType,
9230 (const VkBufferMemoryBarrier2*)(forMarshaling->pBufferMemoryBarriers + i));
9231 }
9232 }
9233 vkStream->write((uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
9234 if (forMarshaling) {
9235 for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) {
9236 marshal_VkImageMemoryBarrier2(
9237 vkStream, rootType,
9238 (const VkImageMemoryBarrier2*)(forMarshaling->pImageMemoryBarriers + i));
9239 }
9240 }
9241 }
9242
unmarshal_VkDependencyInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDependencyInfo * forUnmarshaling)9243 void unmarshal_VkDependencyInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9244 VkDependencyInfo* forUnmarshaling) {
9245 (void)rootType;
9246 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9247 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9248 rootType = forUnmarshaling->sType;
9249 }
9250 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9251 vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
9252 sizeof(VkDependencyFlags));
9253 vkStream->read((uint32_t*)&forUnmarshaling->memoryBarrierCount, sizeof(uint32_t));
9254 if (forUnmarshaling) {
9255 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->memoryBarrierCount; ++i) {
9256 unmarshal_VkMemoryBarrier2(vkStream, rootType,
9257 (VkMemoryBarrier2*)(forUnmarshaling->pMemoryBarriers + i));
9258 }
9259 }
9260 vkStream->read((uint32_t*)&forUnmarshaling->bufferMemoryBarrierCount, sizeof(uint32_t));
9261 if (forUnmarshaling) {
9262 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferMemoryBarrierCount; ++i) {
9263 unmarshal_VkBufferMemoryBarrier2(
9264 vkStream, rootType,
9265 (VkBufferMemoryBarrier2*)(forUnmarshaling->pBufferMemoryBarriers + i));
9266 }
9267 }
9268 vkStream->read((uint32_t*)&forUnmarshaling->imageMemoryBarrierCount, sizeof(uint32_t));
9269 if (forUnmarshaling) {
9270 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageMemoryBarrierCount; ++i) {
9271 unmarshal_VkImageMemoryBarrier2(
9272 vkStream, rootType,
9273 (VkImageMemoryBarrier2*)(forUnmarshaling->pImageMemoryBarriers + i));
9274 }
9275 }
9276 }
9277
marshal_VkSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreSubmitInfo * forMarshaling)9278 void marshal_VkSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9279 const VkSemaphoreSubmitInfo* forMarshaling) {
9280 (void)rootType;
9281 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9282 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9283 rootType = forMarshaling->sType;
9284 }
9285 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9286 uint64_t cgen_var_0;
9287 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
9288 1);
9289 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9290 vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t));
9291 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stageMask,
9292 sizeof(VkPipelineStageFlags2));
9293 vkStream->write((uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t));
9294 }
9295
unmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreSubmitInfo * forUnmarshaling)9296 void unmarshal_VkSemaphoreSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9297 VkSemaphoreSubmitInfo* forUnmarshaling) {
9298 (void)rootType;
9299 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9300 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9301 rootType = forUnmarshaling->sType;
9302 }
9303 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9304 uint64_t cgen_var_0;
9305 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9306 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
9307 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
9308 vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t));
9309 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stageMask,
9310 sizeof(VkPipelineStageFlags2));
9311 vkStream->read((uint32_t*)&forUnmarshaling->deviceIndex, sizeof(uint32_t));
9312 }
9313
marshal_VkCommandBufferSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferSubmitInfo * forMarshaling)9314 void marshal_VkCommandBufferSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9315 const VkCommandBufferSubmitInfo* forMarshaling) {
9316 (void)rootType;
9317 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9318 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9319 rootType = forMarshaling->sType;
9320 }
9321 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9322 uint64_t cgen_var_0;
9323 vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->commandBuffer,
9324 &cgen_var_0, 1);
9325 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9326 vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
9327 }
9328
unmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandBufferSubmitInfo * forUnmarshaling)9329 void unmarshal_VkCommandBufferSubmitInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
9330 VkCommandBufferSubmitInfo* forUnmarshaling) {
9331 (void)rootType;
9332 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9333 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9334 rootType = forUnmarshaling->sType;
9335 }
9336 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9337 uint64_t cgen_var_0;
9338 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9339 vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(
9340 &cgen_var_0, (VkCommandBuffer*)&forUnmarshaling->commandBuffer, 1);
9341 vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
9342 }
9343
marshal_VkSubmitInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubmitInfo2 * forMarshaling)9344 void marshal_VkSubmitInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9345 const VkSubmitInfo2* forMarshaling) {
9346 (void)rootType;
9347 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9349 rootType = forMarshaling->sType;
9350 }
9351 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9352 vkStream->write((VkSubmitFlags*)&forMarshaling->flags, sizeof(VkSubmitFlags));
9353 vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
9354 if (forMarshaling) {
9355 for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) {
9356 marshal_VkSemaphoreSubmitInfo(
9357 vkStream, rootType,
9358 (const VkSemaphoreSubmitInfo*)(forMarshaling->pWaitSemaphoreInfos + i));
9359 }
9360 }
9361 vkStream->write((uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t));
9362 if (forMarshaling) {
9363 for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) {
9364 marshal_VkCommandBufferSubmitInfo(
9365 vkStream, rootType,
9366 (const VkCommandBufferSubmitInfo*)(forMarshaling->pCommandBufferInfos + i));
9367 }
9368 }
9369 vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
9370 if (forMarshaling) {
9371 for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) {
9372 marshal_VkSemaphoreSubmitInfo(
9373 vkStream, rootType,
9374 (const VkSemaphoreSubmitInfo*)(forMarshaling->pSignalSemaphoreInfos + i));
9375 }
9376 }
9377 }
9378
unmarshal_VkSubmitInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubmitInfo2 * forUnmarshaling)9379 void unmarshal_VkSubmitInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9380 VkSubmitInfo2* forUnmarshaling) {
9381 (void)rootType;
9382 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9383 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9384 rootType = forUnmarshaling->sType;
9385 }
9386 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9387 vkStream->read((VkSubmitFlags*)&forUnmarshaling->flags, sizeof(VkSubmitFlags));
9388 vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreInfoCount, sizeof(uint32_t));
9389 if (forUnmarshaling) {
9390 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->waitSemaphoreInfoCount; ++i) {
9391 unmarshal_VkSemaphoreSubmitInfo(
9392 vkStream, rootType,
9393 (VkSemaphoreSubmitInfo*)(forUnmarshaling->pWaitSemaphoreInfos + i));
9394 }
9395 }
9396 vkStream->read((uint32_t*)&forUnmarshaling->commandBufferInfoCount, sizeof(uint32_t));
9397 if (forUnmarshaling) {
9398 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->commandBufferInfoCount; ++i) {
9399 unmarshal_VkCommandBufferSubmitInfo(
9400 vkStream, rootType,
9401 (VkCommandBufferSubmitInfo*)(forUnmarshaling->pCommandBufferInfos + i));
9402 }
9403 }
9404 vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreInfoCount, sizeof(uint32_t));
9405 if (forUnmarshaling) {
9406 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->signalSemaphoreInfoCount; ++i) {
9407 unmarshal_VkSemaphoreSubmitInfo(
9408 vkStream, rootType,
9409 (VkSemaphoreSubmitInfo*)(forUnmarshaling->pSignalSemaphoreInfos + i));
9410 }
9411 }
9412 }
9413
marshal_VkPhysicalDeviceSynchronization2Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * forMarshaling)9414 void marshal_VkPhysicalDeviceSynchronization2Features(
9415 VulkanStreamGuest* vkStream, VkStructureType rootType,
9416 const VkPhysicalDeviceSynchronization2Features* forMarshaling) {
9417 (void)rootType;
9418 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9419 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9420 rootType = forMarshaling->sType;
9421 }
9422 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9423 vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32));
9424 }
9425
unmarshal_VkPhysicalDeviceSynchronization2Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSynchronization2Features * forUnmarshaling)9426 void unmarshal_VkPhysicalDeviceSynchronization2Features(
9427 VulkanStreamGuest* vkStream, VkStructureType rootType,
9428 VkPhysicalDeviceSynchronization2Features* forUnmarshaling) {
9429 (void)rootType;
9430 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9431 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9432 rootType = forUnmarshaling->sType;
9433 }
9434 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9435 vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32));
9436 }
9437
marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forMarshaling)9438 void marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
9439 VulkanStreamGuest* vkStream, VkStructureType rootType,
9440 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forMarshaling) {
9441 (void)rootType;
9442 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9443 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9444 rootType = forMarshaling->sType;
9445 }
9446 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9447 vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory,
9448 sizeof(VkBool32));
9449 }
9450
unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * forUnmarshaling)9451 void unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
9452 VulkanStreamGuest* vkStream, VkStructureType rootType,
9453 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forUnmarshaling) {
9454 (void)rootType;
9455 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9456 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9457 rootType = forUnmarshaling->sType;
9458 }
9459 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9460 vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory,
9461 sizeof(VkBool32));
9462 }
9463
marshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * forMarshaling)9464 void marshal_VkPhysicalDeviceImageRobustnessFeatures(
9465 VulkanStreamGuest* vkStream, VkStructureType rootType,
9466 const VkPhysicalDeviceImageRobustnessFeatures* forMarshaling) {
9467 (void)rootType;
9468 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9469 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9470 rootType = forMarshaling->sType;
9471 }
9472 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9473 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32));
9474 }
9475
unmarshal_VkPhysicalDeviceImageRobustnessFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImageRobustnessFeatures * forUnmarshaling)9476 void unmarshal_VkPhysicalDeviceImageRobustnessFeatures(
9477 VulkanStreamGuest* vkStream, VkStructureType rootType,
9478 VkPhysicalDeviceImageRobustnessFeatures* forUnmarshaling) {
9479 (void)rootType;
9480 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9481 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9482 rootType = forUnmarshaling->sType;
9483 }
9484 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9485 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32));
9486 }
9487
marshal_VkBufferCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferCopy2 * forMarshaling)9488 void marshal_VkBufferCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9489 const VkBufferCopy2* forMarshaling) {
9490 (void)rootType;
9491 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9492 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9493 rootType = forMarshaling->sType;
9494 }
9495 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9496 vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
9497 vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
9498 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
9499 }
9500
unmarshal_VkBufferCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferCopy2 * forUnmarshaling)9501 void unmarshal_VkBufferCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9502 VkBufferCopy2* forUnmarshaling) {
9503 (void)rootType;
9504 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9505 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9506 rootType = forUnmarshaling->sType;
9507 }
9508 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9509 vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
9510 vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
9511 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
9512 }
9513
marshal_VkCopyBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferInfo2 * forMarshaling)9514 void marshal_VkCopyBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9515 const VkCopyBufferInfo2* forMarshaling) {
9516 (void)rootType;
9517 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9518 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9519 rootType = forMarshaling->sType;
9520 }
9521 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9522 uint64_t cgen_var_0;
9523 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1);
9524 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9525 uint64_t cgen_var_1;
9526 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1);
9527 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9528 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9529 if (forMarshaling) {
9530 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9531 marshal_VkBufferCopy2(vkStream, rootType,
9532 (const VkBufferCopy2*)(forMarshaling->pRegions + i));
9533 }
9534 }
9535 }
9536
unmarshal_VkCopyBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyBufferInfo2 * forUnmarshaling)9537 void unmarshal_VkCopyBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9538 VkCopyBufferInfo2* forUnmarshaling) {
9539 (void)rootType;
9540 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9541 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9542 rootType = forUnmarshaling->sType;
9543 }
9544 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9545 uint64_t cgen_var_0;
9546 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9547 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
9548 (VkBuffer*)&forUnmarshaling->srcBuffer, 1);
9549 uint64_t cgen_var_1;
9550 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9551 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
9552 (VkBuffer*)&forUnmarshaling->dstBuffer, 1);
9553 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9554 if (forUnmarshaling) {
9555 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9556 unmarshal_VkBufferCopy2(vkStream, rootType,
9557 (VkBufferCopy2*)(forUnmarshaling->pRegions + i));
9558 }
9559 }
9560 }
9561
marshal_VkImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCopy2 * forMarshaling)9562 void marshal_VkImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9563 const VkImageCopy2* forMarshaling) {
9564 (void)rootType;
9565 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9566 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9567 rootType = forMarshaling->sType;
9568 }
9569 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9570 marshal_VkImageSubresourceLayers(vkStream, rootType,
9571 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
9572 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
9573 marshal_VkImageSubresourceLayers(vkStream, rootType,
9574 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
9575 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
9576 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
9577 }
9578
unmarshal_VkImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageCopy2 * forUnmarshaling)9579 void unmarshal_VkImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9580 VkImageCopy2* forUnmarshaling) {
9581 (void)rootType;
9582 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9583 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9584 rootType = forUnmarshaling->sType;
9585 }
9586 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9587 unmarshal_VkImageSubresourceLayers(
9588 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
9589 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
9590 unmarshal_VkImageSubresourceLayers(
9591 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
9592 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
9593 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
9594 }
9595
marshal_VkCopyImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageInfo2 * forMarshaling)9596 void marshal_VkCopyImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9597 const VkCopyImageInfo2* forMarshaling) {
9598 (void)rootType;
9599 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9600 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9601 rootType = forMarshaling->sType;
9602 }
9603 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9604 uint64_t cgen_var_0;
9605 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
9606 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9607 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
9608 uint64_t cgen_var_1;
9609 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
9610 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9611 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
9612 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9613 if (forMarshaling) {
9614 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9615 marshal_VkImageCopy2(vkStream, rootType,
9616 (const VkImageCopy2*)(forMarshaling->pRegions + i));
9617 }
9618 }
9619 }
9620
unmarshal_VkCopyImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyImageInfo2 * forUnmarshaling)9621 void unmarshal_VkCopyImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9622 VkCopyImageInfo2* forUnmarshaling) {
9623 (void)rootType;
9624 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9625 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9626 rootType = forUnmarshaling->sType;
9627 }
9628 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9629 uint64_t cgen_var_0;
9630 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9631 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
9632 (VkImage*)&forUnmarshaling->srcImage, 1);
9633 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
9634 uint64_t cgen_var_1;
9635 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9636 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
9637 (VkImage*)&forUnmarshaling->dstImage, 1);
9638 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
9639 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9640 if (forUnmarshaling) {
9641 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9642 unmarshal_VkImageCopy2(vkStream, rootType,
9643 (VkImageCopy2*)(forUnmarshaling->pRegions + i));
9644 }
9645 }
9646 }
9647
marshal_VkBufferImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferImageCopy2 * forMarshaling)9648 void marshal_VkBufferImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9649 const VkBufferImageCopy2* forMarshaling) {
9650 (void)rootType;
9651 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9652 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9653 rootType = forMarshaling->sType;
9654 }
9655 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9656 vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
9657 vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
9658 vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
9659 marshal_VkImageSubresourceLayers(vkStream, rootType,
9660 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
9661 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
9662 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
9663 }
9664
unmarshal_VkBufferImageCopy2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferImageCopy2 * forUnmarshaling)9665 void unmarshal_VkBufferImageCopy2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9666 VkBufferImageCopy2* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9673 vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize));
9674 vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t));
9675 vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t));
9676 unmarshal_VkImageSubresourceLayers(
9677 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
9678 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
9679 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
9680 }
9681
marshal_VkCopyBufferToImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyBufferToImageInfo2 * forMarshaling)9682 void marshal_VkCopyBufferToImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9683 const VkCopyBufferToImageInfo2* forMarshaling) {
9684 (void)rootType;
9685 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9686 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9687 rootType = forMarshaling->sType;
9688 }
9689 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9690 uint64_t cgen_var_0;
9691 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1);
9692 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9693 uint64_t cgen_var_1;
9694 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
9695 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9696 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
9697 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9698 if (forMarshaling) {
9699 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9700 marshal_VkBufferImageCopy2(vkStream, rootType,
9701 (const VkBufferImageCopy2*)(forMarshaling->pRegions + i));
9702 }
9703 }
9704 }
9705
unmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyBufferToImageInfo2 * forUnmarshaling)9706 void unmarshal_VkCopyBufferToImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9707 VkCopyBufferToImageInfo2* forUnmarshaling) {
9708 (void)rootType;
9709 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9710 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9711 rootType = forUnmarshaling->sType;
9712 }
9713 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9714 uint64_t cgen_var_0;
9715 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9716 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0,
9717 (VkBuffer*)&forUnmarshaling->srcBuffer, 1);
9718 uint64_t cgen_var_1;
9719 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9720 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
9721 (VkImage*)&forUnmarshaling->dstImage, 1);
9722 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
9723 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9724 if (forUnmarshaling) {
9725 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9726 unmarshal_VkBufferImageCopy2(vkStream, rootType,
9727 (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i));
9728 }
9729 }
9730 }
9731
marshal_VkCopyImageToBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToBufferInfo2 * forMarshaling)9732 void marshal_VkCopyImageToBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9733 const VkCopyImageToBufferInfo2* forMarshaling) {
9734 (void)rootType;
9735 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9736 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9737 rootType = forMarshaling->sType;
9738 }
9739 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9740 uint64_t cgen_var_0;
9741 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
9742 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9743 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
9744 uint64_t cgen_var_1;
9745 vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1);
9746 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9747 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9748 if (forMarshaling) {
9749 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9750 marshal_VkBufferImageCopy2(vkStream, rootType,
9751 (const VkBufferImageCopy2*)(forMarshaling->pRegions + i));
9752 }
9753 }
9754 }
9755
unmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyImageToBufferInfo2 * forUnmarshaling)9756 void unmarshal_VkCopyImageToBufferInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9757 VkCopyImageToBufferInfo2* forUnmarshaling) {
9758 (void)rootType;
9759 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9760 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9761 rootType = forUnmarshaling->sType;
9762 }
9763 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9764 uint64_t cgen_var_0;
9765 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9766 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
9767 (VkImage*)&forUnmarshaling->srcImage, 1);
9768 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
9769 uint64_t cgen_var_1;
9770 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9771 vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1,
9772 (VkBuffer*)&forUnmarshaling->dstBuffer, 1);
9773 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9774 if (forUnmarshaling) {
9775 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9776 unmarshal_VkBufferImageCopy2(vkStream, rootType,
9777 (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i));
9778 }
9779 }
9780 }
9781
marshal_VkImageBlit2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageBlit2 * forMarshaling)9782 void marshal_VkImageBlit2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9783 const VkImageBlit2* forMarshaling) {
9784 (void)rootType;
9785 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9786 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9787 rootType = forMarshaling->sType;
9788 }
9789 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9790 marshal_VkImageSubresourceLayers(vkStream, rootType,
9791 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
9792 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
9793 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i));
9794 }
9795 marshal_VkImageSubresourceLayers(vkStream, rootType,
9796 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
9797 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
9798 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i));
9799 }
9800 }
9801
unmarshal_VkImageBlit2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageBlit2 * forUnmarshaling)9802 void unmarshal_VkImageBlit2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9803 VkImageBlit2* forUnmarshaling) {
9804 (void)rootType;
9805 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9806 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9807 rootType = forUnmarshaling->sType;
9808 }
9809 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9810 unmarshal_VkImageSubresourceLayers(
9811 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
9812 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
9813 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i));
9814 }
9815 unmarshal_VkImageSubresourceLayers(
9816 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
9817 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
9818 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i));
9819 }
9820 }
9821
marshal_VkBlitImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBlitImageInfo2 * forMarshaling)9822 void marshal_VkBlitImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9823 const VkBlitImageInfo2* forMarshaling) {
9824 (void)rootType;
9825 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9826 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9827 rootType = forMarshaling->sType;
9828 }
9829 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9830 uint64_t cgen_var_0;
9831 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
9832 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9833 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
9834 uint64_t cgen_var_1;
9835 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
9836 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9837 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
9838 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9839 if (forMarshaling) {
9840 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9841 marshal_VkImageBlit2(vkStream, rootType,
9842 (const VkImageBlit2*)(forMarshaling->pRegions + i));
9843 }
9844 }
9845 vkStream->write((VkFilter*)&forMarshaling->filter, sizeof(VkFilter));
9846 }
9847
unmarshal_VkBlitImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBlitImageInfo2 * forUnmarshaling)9848 void unmarshal_VkBlitImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9849 VkBlitImageInfo2* forUnmarshaling) {
9850 (void)rootType;
9851 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9852 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9853 rootType = forUnmarshaling->sType;
9854 }
9855 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9856 uint64_t cgen_var_0;
9857 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9858 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
9859 (VkImage*)&forUnmarshaling->srcImage, 1);
9860 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
9861 uint64_t cgen_var_1;
9862 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9863 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
9864 (VkImage*)&forUnmarshaling->dstImage, 1);
9865 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
9866 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9867 if (forUnmarshaling) {
9868 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9869 unmarshal_VkImageBlit2(vkStream, rootType,
9870 (VkImageBlit2*)(forUnmarshaling->pRegions + i));
9871 }
9872 }
9873 vkStream->read((VkFilter*)&forUnmarshaling->filter, sizeof(VkFilter));
9874 }
9875
marshal_VkImageResolve2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageResolve2 * forMarshaling)9876 void marshal_VkImageResolve2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9877 const VkImageResolve2* forMarshaling) {
9878 (void)rootType;
9879 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9880 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9881 rootType = forMarshaling->sType;
9882 }
9883 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9884 marshal_VkImageSubresourceLayers(vkStream, rootType,
9885 (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
9886 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset));
9887 marshal_VkImageSubresourceLayers(vkStream, rootType,
9888 (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
9889 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset));
9890 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
9891 }
9892
unmarshal_VkImageResolve2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageResolve2 * forUnmarshaling)9893 void unmarshal_VkImageResolve2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9894 VkImageResolve2* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9901 unmarshal_VkImageSubresourceLayers(
9902 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
9903 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset));
9904 unmarshal_VkImageSubresourceLayers(
9905 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
9906 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset));
9907 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
9908 }
9909
marshal_VkResolveImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkResolveImageInfo2 * forMarshaling)9910 void marshal_VkResolveImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9911 const VkResolveImageInfo2* forMarshaling) {
9912 (void)rootType;
9913 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9914 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9915 rootType = forMarshaling->sType;
9916 }
9917 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9918 uint64_t cgen_var_0;
9919 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
9920 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
9921 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
9922 uint64_t cgen_var_1;
9923 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
9924 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
9925 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
9926 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
9927 if (forMarshaling) {
9928 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
9929 marshal_VkImageResolve2(vkStream, rootType,
9930 (const VkImageResolve2*)(forMarshaling->pRegions + i));
9931 }
9932 }
9933 }
9934
unmarshal_VkResolveImageInfo2(VulkanStreamGuest * vkStream,VkStructureType rootType,VkResolveImageInfo2 * forUnmarshaling)9935 void unmarshal_VkResolveImageInfo2(VulkanStreamGuest* vkStream, VkStructureType rootType,
9936 VkResolveImageInfo2* forUnmarshaling) {
9937 (void)rootType;
9938 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9939 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9940 rootType = forUnmarshaling->sType;
9941 }
9942 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9943 uint64_t cgen_var_0;
9944 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
9945 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
9946 (VkImage*)&forUnmarshaling->srcImage, 1);
9947 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
9948 uint64_t cgen_var_1;
9949 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
9950 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
9951 (VkImage*)&forUnmarshaling->dstImage, 1);
9952 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
9953 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
9954 if (forUnmarshaling) {
9955 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
9956 unmarshal_VkImageResolve2(vkStream, rootType,
9957 (VkImageResolve2*)(forUnmarshaling->pRegions + i));
9958 }
9959 }
9960 }
9961
marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * forMarshaling)9962 void marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
9963 VulkanStreamGuest* vkStream, VkStructureType rootType,
9964 const VkPhysicalDeviceSubgroupSizeControlFeatures* forMarshaling) {
9965 (void)rootType;
9966 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
9967 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9968 rootType = forMarshaling->sType;
9969 }
9970 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
9971 vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32));
9972 vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32));
9973 }
9974
unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupSizeControlFeatures * forUnmarshaling)9975 void unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
9976 VulkanStreamGuest* vkStream, VkStructureType rootType,
9977 VkPhysicalDeviceSubgroupSizeControlFeatures* forUnmarshaling) {
9978 (void)rootType;
9979 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
9980 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9981 rootType = forUnmarshaling->sType;
9982 }
9983 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
9984 vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32));
9985 vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32));
9986 }
9987
marshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * forMarshaling)9988 void marshal_VkPhysicalDeviceSubgroupSizeControlProperties(
9989 VulkanStreamGuest* vkStream, VkStructureType rootType,
9990 const VkPhysicalDeviceSubgroupSizeControlProperties* 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((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t));
9998 vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t));
9999 vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
10000 vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages,
10001 sizeof(VkShaderStageFlags));
10002 }
10003
unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceSubgroupSizeControlProperties * forUnmarshaling)10004 void unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
10005 VulkanStreamGuest* vkStream, VkStructureType rootType,
10006 VkPhysicalDeviceSubgroupSizeControlProperties* forUnmarshaling) {
10007 (void)rootType;
10008 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10009 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10010 rootType = forUnmarshaling->sType;
10011 }
10012 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10013 vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t));
10014 vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t));
10015 vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t));
10016 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages,
10017 sizeof(VkShaderStageFlags));
10018 }
10019
marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forMarshaling)10020 void marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
10021 VulkanStreamGuest* vkStream, VkStructureType rootType,
10022 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forMarshaling) {
10023 (void)rootType;
10024 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10025 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10026 rootType = forMarshaling->sType;
10027 }
10028 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10029 vkStream->write((uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t));
10030 }
10031
unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * forUnmarshaling)10032 void unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
10033 VulkanStreamGuest* vkStream, VkStructureType rootType,
10034 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forUnmarshaling) {
10035 (void)rootType;
10036 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10037 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10038 rootType = forUnmarshaling->sType;
10039 }
10040 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10041 vkStream->read((uint32_t*)&forUnmarshaling->requiredSubgroupSize, sizeof(uint32_t));
10042 }
10043
marshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * forMarshaling)10044 void marshal_VkPhysicalDeviceInlineUniformBlockFeatures(
10045 VulkanStreamGuest* vkStream, VkStructureType rootType,
10046 const VkPhysicalDeviceInlineUniformBlockFeatures* forMarshaling) {
10047 (void)rootType;
10048 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10049 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10050 rootType = forMarshaling->sType;
10051 }
10052 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10053 vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32));
10054 vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
10055 sizeof(VkBool32));
10056 }
10057
unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceInlineUniformBlockFeatures * forUnmarshaling)10058 void unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
10059 VulkanStreamGuest* vkStream, VkStructureType rootType,
10060 VkPhysicalDeviceInlineUniformBlockFeatures* forUnmarshaling) {
10061 (void)rootType;
10062 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10063 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10064 rootType = forUnmarshaling->sType;
10065 }
10066 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10067 vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32));
10068 vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind,
10069 sizeof(VkBool32));
10070 }
10071
marshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * forMarshaling)10072 void marshal_VkPhysicalDeviceInlineUniformBlockProperties(
10073 VulkanStreamGuest* vkStream, VkStructureType rootType,
10074 const VkPhysicalDeviceInlineUniformBlockProperties* forMarshaling) {
10075 (void)rootType;
10076 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10077 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10078 rootType = forMarshaling->sType;
10079 }
10080 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10081 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
10082 vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks,
10083 sizeof(uint32_t));
10084 vkStream->write(
10085 (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
10086 sizeof(uint32_t));
10087 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks,
10088 sizeof(uint32_t));
10089 vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
10090 sizeof(uint32_t));
10091 }
10092
unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceInlineUniformBlockProperties * forUnmarshaling)10093 void unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
10094 VulkanStreamGuest* vkStream, VkStructureType rootType,
10095 VkPhysicalDeviceInlineUniformBlockProperties* forUnmarshaling) {
10096 (void)rootType;
10097 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10098 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10099 rootType = forUnmarshaling->sType;
10100 }
10101 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10102 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t));
10103 vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks,
10104 sizeof(uint32_t));
10105 vkStream->read(
10106 (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
10107 sizeof(uint32_t));
10108 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks,
10109 sizeof(uint32_t));
10110 vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks,
10111 sizeof(uint32_t));
10112 }
10113
marshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * forMarshaling)10114 void marshal_VkWriteDescriptorSetInlineUniformBlock(
10115 VulkanStreamGuest* vkStream, VkStructureType rootType,
10116 const VkWriteDescriptorSetInlineUniformBlock* forMarshaling) {
10117 (void)rootType;
10118 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10119 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10120 rootType = forMarshaling->sType;
10121 }
10122 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10123 vkStream->write((uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t));
10124 vkStream->write((const void*)forMarshaling->pData,
10125 forMarshaling->dataSize * sizeof(const uint8_t));
10126 }
10127
unmarshal_VkWriteDescriptorSetInlineUniformBlock(VulkanStreamGuest * vkStream,VkStructureType rootType,VkWriteDescriptorSetInlineUniformBlock * forUnmarshaling)10128 void unmarshal_VkWriteDescriptorSetInlineUniformBlock(
10129 VulkanStreamGuest* vkStream, VkStructureType rootType,
10130 VkWriteDescriptorSetInlineUniformBlock* forUnmarshaling) {
10131 (void)rootType;
10132 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10133 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10134 rootType = forUnmarshaling->sType;
10135 }
10136 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10137 vkStream->read((uint32_t*)&forUnmarshaling->dataSize, sizeof(uint32_t));
10138 vkStream->read((void*)forUnmarshaling->pData,
10139 forUnmarshaling->dataSize * sizeof(const uint8_t));
10140 }
10141
marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * forMarshaling)10142 void marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
10143 VulkanStreamGuest* vkStream, VkStructureType rootType,
10144 const VkDescriptorPoolInlineUniformBlockCreateInfo* forMarshaling) {
10145 (void)rootType;
10146 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10147 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10148 rootType = forMarshaling->sType;
10149 }
10150 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10151 vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
10152 }
10153
unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDescriptorPoolInlineUniformBlockCreateInfo * forUnmarshaling)10154 void unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
10155 VulkanStreamGuest* vkStream, VkStructureType rootType,
10156 VkDescriptorPoolInlineUniformBlockCreateInfo* forUnmarshaling) {
10157 (void)rootType;
10158 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10159 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10160 rootType = forUnmarshaling->sType;
10161 }
10162 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10163 vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t));
10164 }
10165
marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forMarshaling)10166 void marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
10167 VulkanStreamGuest* vkStream, VkStructureType rootType,
10168 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forMarshaling) {
10169 (void)rootType;
10170 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10171 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10172 rootType = forMarshaling->sType;
10173 }
10174 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10175 vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
10176 }
10177
unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * forUnmarshaling)10178 void unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
10179 VulkanStreamGuest* vkStream, VkStructureType rootType,
10180 VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forUnmarshaling) {
10181 (void)rootType;
10182 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10183 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10184 rootType = forUnmarshaling->sType;
10185 }
10186 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10187 vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32));
10188 }
10189
marshal_VkRenderingAttachmentInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAttachmentInfo * forMarshaling)10190 void marshal_VkRenderingAttachmentInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10191 const VkRenderingAttachmentInfo* forMarshaling) {
10192 (void)rootType;
10193 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10194 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10195 rootType = forMarshaling->sType;
10196 }
10197 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10198 uint64_t cgen_var_0;
10199 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
10200 1);
10201 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10202 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
10203 vkStream->write((VkResolveModeFlagBits*)&forMarshaling->resolveMode,
10204 sizeof(VkResolveModeFlagBits));
10205 uint64_t cgen_var_1;
10206 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->resolveImageView,
10207 &cgen_var_1, 1);
10208 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
10209 vkStream->write((VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout));
10210 vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
10211 vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
10212 marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue));
10213 }
10214
unmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderingAttachmentInfo * forUnmarshaling)10215 void unmarshal_VkRenderingAttachmentInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10216 VkRenderingAttachmentInfo* forUnmarshaling) {
10217 (void)rootType;
10218 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10219 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10220 rootType = forUnmarshaling->sType;
10221 }
10222 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10223 uint64_t cgen_var_0;
10224 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10225 vkStream->handleMapping()->mapHandles_u64_VkImageView(
10226 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
10227 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
10228 vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->resolveMode,
10229 sizeof(VkResolveModeFlagBits));
10230 uint64_t cgen_var_1;
10231 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
10232 vkStream->handleMapping()->mapHandles_u64_VkImageView(
10233 &cgen_var_1, (VkImageView*)&forUnmarshaling->resolveImageView, 1);
10234 vkStream->read((VkImageLayout*)&forUnmarshaling->resolveImageLayout, sizeof(VkImageLayout));
10235 vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
10236 vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
10237 unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue));
10238 }
10239
marshal_VkRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingInfo * forMarshaling)10240 void marshal_VkRenderingInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10241 const VkRenderingInfo* forMarshaling) {
10242 (void)rootType;
10243 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10244 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10245 rootType = forMarshaling->sType;
10246 }
10247 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10248 vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
10249 marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea));
10250 vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
10251 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
10252 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
10253 if (forMarshaling) {
10254 for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
10255 marshal_VkRenderingAttachmentInfo(
10256 vkStream, rootType,
10257 (const VkRenderingAttachmentInfo*)(forMarshaling->pColorAttachments + i));
10258 }
10259 }
10260 // WARNING PTR CHECK
10261 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment;
10262 vkStream->putBe64(cgen_var_0);
10263 if (forMarshaling->pDepthAttachment) {
10264 marshal_VkRenderingAttachmentInfo(
10265 vkStream, rootType,
10266 (const VkRenderingAttachmentInfo*)(forMarshaling->pDepthAttachment));
10267 }
10268 // WARNING PTR CHECK
10269 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment;
10270 vkStream->putBe64(cgen_var_1);
10271 if (forMarshaling->pStencilAttachment) {
10272 marshal_VkRenderingAttachmentInfo(
10273 vkStream, rootType,
10274 (const VkRenderingAttachmentInfo*)(forMarshaling->pStencilAttachment));
10275 }
10276 }
10277
unmarshal_VkRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderingInfo * forUnmarshaling)10278 void unmarshal_VkRenderingInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10279 VkRenderingInfo* forUnmarshaling) {
10280 (void)rootType;
10281 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10282 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10283 rootType = forUnmarshaling->sType;
10284 }
10285 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10286 vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags));
10287 unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea));
10288 vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
10289 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
10290 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
10291 if (forUnmarshaling) {
10292 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
10293 unmarshal_VkRenderingAttachmentInfo(
10294 vkStream, rootType,
10295 (VkRenderingAttachmentInfo*)(forUnmarshaling->pColorAttachments + i));
10296 }
10297 }
10298 // WARNING PTR CHECK
10299 const VkRenderingAttachmentInfo* check_pDepthAttachment;
10300 check_pDepthAttachment = (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64();
10301 if (forUnmarshaling->pDepthAttachment) {
10302 if (!(check_pDepthAttachment)) {
10303 fprintf(
10304 stderr,
10305 "fatal: forUnmarshaling->pDepthAttachment inconsistent between guest and host\n");
10306 }
10307 unmarshal_VkRenderingAttachmentInfo(
10308 vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pDepthAttachment));
10309 }
10310 // WARNING PTR CHECK
10311 const VkRenderingAttachmentInfo* check_pStencilAttachment;
10312 check_pStencilAttachment = (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64();
10313 if (forUnmarshaling->pStencilAttachment) {
10314 if (!(check_pStencilAttachment)) {
10315 fprintf(
10316 stderr,
10317 "fatal: forUnmarshaling->pStencilAttachment inconsistent between guest and host\n");
10318 }
10319 unmarshal_VkRenderingAttachmentInfo(
10320 vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pStencilAttachment));
10321 }
10322 }
10323
marshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRenderingCreateInfo * forMarshaling)10324 void marshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10325 const VkPipelineRenderingCreateInfo* forMarshaling) {
10326 (void)rootType;
10327 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10328 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10329 rootType = forMarshaling->sType;
10330 }
10331 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10332 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
10333 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
10334 // WARNING PTR CHECK
10335 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
10336 vkStream->putBe64(cgen_var_0);
10337 if (forMarshaling->pColorAttachmentFormats) {
10338 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
10339 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
10340 }
10341 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
10342 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
10343 }
10344
unmarshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRenderingCreateInfo * forUnmarshaling)10345 void unmarshal_VkPipelineRenderingCreateInfo(VulkanStreamGuest* vkStream, VkStructureType rootType,
10346 VkPipelineRenderingCreateInfo* forUnmarshaling) {
10347 (void)rootType;
10348 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10349 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10350 rootType = forUnmarshaling->sType;
10351 }
10352 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10353 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
10354 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
10355 // WARNING PTR CHECK
10356 const VkFormat* check_pColorAttachmentFormats;
10357 check_pColorAttachmentFormats = (const VkFormat*)(uintptr_t)vkStream->getBe64();
10358 if (forUnmarshaling->pColorAttachmentFormats) {
10359 if (!(check_pColorAttachmentFormats)) {
10360 fprintf(stderr,
10361 "fatal: forUnmarshaling->pColorAttachmentFormats inconsistent between guest "
10362 "and host\n");
10363 }
10364 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
10365 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
10366 }
10367 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
10368 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
10369 }
10370
marshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * forMarshaling)10371 void marshal_VkPhysicalDeviceDynamicRenderingFeatures(
10372 VulkanStreamGuest* vkStream, VkStructureType rootType,
10373 const VkPhysicalDeviceDynamicRenderingFeatures* forMarshaling) {
10374 (void)rootType;
10375 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10376 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10377 rootType = forMarshaling->sType;
10378 }
10379 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10380 vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32));
10381 }
10382
unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDynamicRenderingFeatures * forUnmarshaling)10383 void unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
10384 VulkanStreamGuest* vkStream, VkStructureType rootType,
10385 VkPhysicalDeviceDynamicRenderingFeatures* forUnmarshaling) {
10386 (void)rootType;
10387 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10388 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10389 rootType = forUnmarshaling->sType;
10390 }
10391 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10392 vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32));
10393 }
10394
marshal_VkCommandBufferInheritanceRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * forMarshaling)10395 void marshal_VkCommandBufferInheritanceRenderingInfo(
10396 VulkanStreamGuest* vkStream, VkStructureType rootType,
10397 const VkCommandBufferInheritanceRenderingInfo* forMarshaling) {
10398 (void)rootType;
10399 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10400 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10401 rootType = forMarshaling->sType;
10402 }
10403 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10404 vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags));
10405 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
10406 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
10407 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
10408 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
10409 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
10410 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
10411 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
10412 sizeof(VkSampleCountFlagBits));
10413 }
10414
unmarshal_VkCommandBufferInheritanceRenderingInfo(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCommandBufferInheritanceRenderingInfo * forUnmarshaling)10415 void unmarshal_VkCommandBufferInheritanceRenderingInfo(
10416 VulkanStreamGuest* vkStream, VkStructureType rootType,
10417 VkCommandBufferInheritanceRenderingInfo* forUnmarshaling) {
10418 (void)rootType;
10419 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10420 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10421 rootType = forUnmarshaling->sType;
10422 }
10423 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10424 vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags));
10425 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
10426 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
10427 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
10428 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
10429 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
10430 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
10431 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples,
10432 sizeof(VkSampleCountFlagBits));
10433 }
10434
marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * forMarshaling)10435 void marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
10436 VulkanStreamGuest* vkStream, VkStructureType rootType,
10437 const VkPhysicalDeviceShaderIntegerDotProductFeatures* forMarshaling) {
10438 (void)rootType;
10439 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10440 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10441 rootType = forMarshaling->sType;
10442 }
10443 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10444 vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
10445 }
10446
unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderIntegerDotProductFeatures * forUnmarshaling)10447 void unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
10448 VulkanStreamGuest* vkStream, VkStructureType rootType,
10449 VkPhysicalDeviceShaderIntegerDotProductFeatures* forUnmarshaling) {
10450 (void)rootType;
10451 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10452 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10453 rootType = forUnmarshaling->sType;
10454 }
10455 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10456 vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32));
10457 }
10458
marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * forMarshaling)10459 void marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
10460 VulkanStreamGuest* vkStream, VkStructureType rootType,
10461 const VkPhysicalDeviceShaderIntegerDotProductProperties* forMarshaling) {
10462 (void)rootType;
10463 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10464 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10465 rootType = forMarshaling->sType;
10466 }
10467 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10468 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated,
10469 sizeof(VkBool32));
10470 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated,
10471 sizeof(VkBool32));
10472 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated,
10473 sizeof(VkBool32));
10474 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
10475 sizeof(VkBool32));
10476 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
10477 sizeof(VkBool32));
10478 vkStream->write(
10479 (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
10480 sizeof(VkBool32));
10481 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated,
10482 sizeof(VkBool32));
10483 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated,
10484 sizeof(VkBool32));
10485 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated,
10486 sizeof(VkBool32));
10487 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated,
10488 sizeof(VkBool32));
10489 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated,
10490 sizeof(VkBool32));
10491 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated,
10492 sizeof(VkBool32));
10493 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated,
10494 sizeof(VkBool32));
10495 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated,
10496 sizeof(VkBool32));
10497 vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated,
10498 sizeof(VkBool32));
10499 vkStream->write(
10500 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
10501 sizeof(VkBool32));
10502 vkStream->write(
10503 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
10504 sizeof(VkBool32));
10505 vkStream->write((VkBool32*)&forMarshaling
10506 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
10507 sizeof(VkBool32));
10508 vkStream->write((VkBool32*)&forMarshaling
10509 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
10510 sizeof(VkBool32));
10511 vkStream->write((VkBool32*)&forMarshaling
10512 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
10513 sizeof(VkBool32));
10514 vkStream->write(
10515 (VkBool32*)&forMarshaling
10516 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
10517 sizeof(VkBool32));
10518 vkStream->write(
10519 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
10520 sizeof(VkBool32));
10521 vkStream->write(
10522 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
10523 sizeof(VkBool32));
10524 vkStream->write((VkBool32*)&forMarshaling
10525 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
10526 sizeof(VkBool32));
10527 vkStream->write(
10528 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
10529 sizeof(VkBool32));
10530 vkStream->write(
10531 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
10532 sizeof(VkBool32));
10533 vkStream->write((VkBool32*)&forMarshaling
10534 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
10535 sizeof(VkBool32));
10536 vkStream->write(
10537 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
10538 sizeof(VkBool32));
10539 vkStream->write(
10540 (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
10541 sizeof(VkBool32));
10542 vkStream->write((VkBool32*)&forMarshaling
10543 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
10544 sizeof(VkBool32));
10545 }
10546
unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceShaderIntegerDotProductProperties * forUnmarshaling)10547 void unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
10548 VulkanStreamGuest* vkStream, VkStructureType rootType,
10549 VkPhysicalDeviceShaderIntegerDotProductProperties* forUnmarshaling) {
10550 (void)rootType;
10551 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10552 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10553 rootType = forUnmarshaling->sType;
10554 }
10555 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10556 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated,
10557 sizeof(VkBool32));
10558 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated,
10559 sizeof(VkBool32));
10560 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated,
10561 sizeof(VkBool32));
10562 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated,
10563 sizeof(VkBool32));
10564 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated,
10565 sizeof(VkBool32));
10566 vkStream->read(
10567 (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
10568 sizeof(VkBool32));
10569 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated,
10570 sizeof(VkBool32));
10571 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated,
10572 sizeof(VkBool32));
10573 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated,
10574 sizeof(VkBool32));
10575 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated,
10576 sizeof(VkBool32));
10577 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated,
10578 sizeof(VkBool32));
10579 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated,
10580 sizeof(VkBool32));
10581 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated,
10582 sizeof(VkBool32));
10583 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated,
10584 sizeof(VkBool32));
10585 vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated,
10586 sizeof(VkBool32));
10587 vkStream->read(
10588 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
10589 sizeof(VkBool32));
10590 vkStream->read(
10591 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
10592 sizeof(VkBool32));
10593 vkStream->read((VkBool32*)&forUnmarshaling
10594 ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
10595 sizeof(VkBool32));
10596 vkStream->read((VkBool32*)&forUnmarshaling
10597 ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
10598 sizeof(VkBool32));
10599 vkStream->read((VkBool32*)&forUnmarshaling
10600 ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
10601 sizeof(VkBool32));
10602 vkStream->read(
10603 (VkBool32*)&forUnmarshaling
10604 ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
10605 sizeof(VkBool32));
10606 vkStream->read((VkBool32*)&forUnmarshaling
10607 ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
10608 sizeof(VkBool32));
10609 vkStream->read(
10610 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
10611 sizeof(VkBool32));
10612 vkStream->read((VkBool32*)&forUnmarshaling
10613 ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
10614 sizeof(VkBool32));
10615 vkStream->read((VkBool32*)&forUnmarshaling
10616 ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
10617 sizeof(VkBool32));
10618 vkStream->read(
10619 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
10620 sizeof(VkBool32));
10621 vkStream->read((VkBool32*)&forUnmarshaling
10622 ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
10623 sizeof(VkBool32));
10624 vkStream->read((VkBool32*)&forUnmarshaling
10625 ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
10626 sizeof(VkBool32));
10627 vkStream->read(
10628 (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
10629 sizeof(VkBool32));
10630 vkStream->read((VkBool32*)&forUnmarshaling
10631 ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
10632 sizeof(VkBool32));
10633 }
10634
marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * forMarshaling)10635 void marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
10636 VulkanStreamGuest* vkStream, VkStructureType rootType,
10637 const VkPhysicalDeviceTexelBufferAlignmentProperties* forMarshaling) {
10638 (void)rootType;
10639 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10640 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10641 rootType = forMarshaling->sType;
10642 }
10643 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10644 vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes,
10645 sizeof(VkDeviceSize));
10646 vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment,
10647 sizeof(VkBool32));
10648 vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes,
10649 sizeof(VkDeviceSize));
10650 vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
10651 sizeof(VkBool32));
10652 }
10653
unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTexelBufferAlignmentProperties * forUnmarshaling)10654 void unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
10655 VulkanStreamGuest* vkStream, VkStructureType rootType,
10656 VkPhysicalDeviceTexelBufferAlignmentProperties* forUnmarshaling) {
10657 (void)rootType;
10658 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10659 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10660 rootType = forUnmarshaling->sType;
10661 }
10662 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10663 vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes,
10664 sizeof(VkDeviceSize));
10665 vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment,
10666 sizeof(VkBool32));
10667 vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes,
10668 sizeof(VkDeviceSize));
10669 vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment,
10670 sizeof(VkBool32));
10671 }
10672
marshal_VkFormatProperties3(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFormatProperties3 * forMarshaling)10673 void marshal_VkFormatProperties3(VulkanStreamGuest* vkStream, VkStructureType rootType,
10674 const VkFormatProperties3* forMarshaling) {
10675 (void)rootType;
10676 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10677 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10678 rootType = forMarshaling->sType;
10679 }
10680 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10681 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->linearTilingFeatures,
10682 sizeof(VkFormatFeatureFlags2));
10683 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->optimalTilingFeatures,
10684 sizeof(VkFormatFeatureFlags2));
10685 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->bufferFeatures,
10686 sizeof(VkFormatFeatureFlags2));
10687 }
10688
unmarshal_VkFormatProperties3(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFormatProperties3 * forUnmarshaling)10689 void unmarshal_VkFormatProperties3(VulkanStreamGuest* vkStream, VkStructureType rootType,
10690 VkFormatProperties3* forUnmarshaling) {
10691 (void)rootType;
10692 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10693 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10694 rootType = forUnmarshaling->sType;
10695 }
10696 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10697 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->linearTilingFeatures,
10698 sizeof(VkFormatFeatureFlags2));
10699 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->optimalTilingFeatures,
10700 sizeof(VkFormatFeatureFlags2));
10701 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->bufferFeatures,
10702 sizeof(VkFormatFeatureFlags2));
10703 }
10704
marshal_VkPhysicalDeviceMaintenance4Features(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * forMarshaling)10705 void marshal_VkPhysicalDeviceMaintenance4Features(
10706 VulkanStreamGuest* vkStream, VkStructureType rootType,
10707 const VkPhysicalDeviceMaintenance4Features* forMarshaling) {
10708 (void)rootType;
10709 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10710 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10711 rootType = forMarshaling->sType;
10712 }
10713 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10714 vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32));
10715 }
10716
unmarshal_VkPhysicalDeviceMaintenance4Features(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance4Features * forUnmarshaling)10717 void unmarshal_VkPhysicalDeviceMaintenance4Features(
10718 VulkanStreamGuest* vkStream, VkStructureType rootType,
10719 VkPhysicalDeviceMaintenance4Features* forUnmarshaling) {
10720 (void)rootType;
10721 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10722 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10723 rootType = forUnmarshaling->sType;
10724 }
10725 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10726 vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32));
10727 }
10728
marshal_VkPhysicalDeviceMaintenance4Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * forMarshaling)10729 void marshal_VkPhysicalDeviceMaintenance4Properties(
10730 VulkanStreamGuest* vkStream, VkStructureType rootType,
10731 const VkPhysicalDeviceMaintenance4Properties* forMarshaling) {
10732 (void)rootType;
10733 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10734 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10735 rootType = forMarshaling->sType;
10736 }
10737 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10738 vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize));
10739 }
10740
unmarshal_VkPhysicalDeviceMaintenance4Properties(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance4Properties * forUnmarshaling)10741 void unmarshal_VkPhysicalDeviceMaintenance4Properties(
10742 VulkanStreamGuest* vkStream, VkStructureType rootType,
10743 VkPhysicalDeviceMaintenance4Properties* forUnmarshaling) {
10744 (void)rootType;
10745 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10746 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10747 rootType = forUnmarshaling->sType;
10748 }
10749 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10750 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize));
10751 }
10752
marshal_VkDeviceBufferMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * forMarshaling)10753 void marshal_VkDeviceBufferMemoryRequirements(
10754 VulkanStreamGuest* vkStream, VkStructureType rootType,
10755 const VkDeviceBufferMemoryRequirements* forMarshaling) {
10756 (void)rootType;
10757 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10758 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10759 rootType = forMarshaling->sType;
10760 }
10761 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10762 marshal_VkBufferCreateInfo(vkStream, rootType,
10763 (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo));
10764 }
10765
unmarshal_VkDeviceBufferMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceBufferMemoryRequirements * forUnmarshaling)10766 void unmarshal_VkDeviceBufferMemoryRequirements(VulkanStreamGuest* vkStream,
10767 VkStructureType rootType,
10768 VkDeviceBufferMemoryRequirements* forUnmarshaling) {
10769 (void)rootType;
10770 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10771 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10772 rootType = forUnmarshaling->sType;
10773 }
10774 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10775 unmarshal_VkBufferCreateInfo(vkStream, rootType,
10776 (VkBufferCreateInfo*)(forUnmarshaling->pCreateInfo));
10777 }
10778
marshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageMemoryRequirements * forMarshaling)10779 void marshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest* vkStream, VkStructureType rootType,
10780 const VkDeviceImageMemoryRequirements* forMarshaling) {
10781 (void)rootType;
10782 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10783 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10784 rootType = forMarshaling->sType;
10785 }
10786 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10787 marshal_VkImageCreateInfo(vkStream, rootType,
10788 (const VkImageCreateInfo*)(forMarshaling->pCreateInfo));
10789 vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect,
10790 sizeof(VkImageAspectFlagBits));
10791 }
10792
unmarshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceImageMemoryRequirements * forUnmarshaling)10793 void unmarshal_VkDeviceImageMemoryRequirements(VulkanStreamGuest* vkStream,
10794 VkStructureType rootType,
10795 VkDeviceImageMemoryRequirements* forUnmarshaling) {
10796 (void)rootType;
10797 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10798 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10799 rootType = forUnmarshaling->sType;
10800 }
10801 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10802 unmarshal_VkImageCreateInfo(vkStream, rootType,
10803 (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo));
10804 vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect,
10805 sizeof(VkImageAspectFlagBits));
10806 }
10807
10808 #endif
10809 #ifdef VK_KHR_dynamic_rendering
marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * forMarshaling)10810 void marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
10811 VulkanStreamGuest* vkStream, VkStructureType rootType,
10812 const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling) {
10813 (void)rootType;
10814 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10815 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10816 rootType = forMarshaling->sType;
10817 }
10818 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10819 uint64_t cgen_var_0;
10820 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
10821 1);
10822 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10823 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
10824 marshal_VkExtent2D(vkStream, rootType,
10825 (VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize));
10826 }
10827
unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderingFragmentShadingRateAttachmentInfoKHR * forUnmarshaling)10828 void unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
10829 VulkanStreamGuest* vkStream, VkStructureType rootType,
10830 VkRenderingFragmentShadingRateAttachmentInfoKHR* forUnmarshaling) {
10831 (void)rootType;
10832 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10833 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10834 rootType = forUnmarshaling->sType;
10835 }
10836 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10837 uint64_t cgen_var_0;
10838 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10839 vkStream->handleMapping()->mapHandles_u64_VkImageView(
10840 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
10841 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
10842 unmarshal_VkExtent2D(vkStream, rootType,
10843 (VkExtent2D*)(&forUnmarshaling->shadingRateAttachmentTexelSize));
10844 }
10845
marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * forMarshaling)10846 void marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
10847 VulkanStreamGuest* vkStream, VkStructureType rootType,
10848 const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling) {
10849 (void)rootType;
10850 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10851 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10852 rootType = forMarshaling->sType;
10853 }
10854 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10855 uint64_t cgen_var_0;
10856 vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0,
10857 1);
10858 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10859 vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
10860 }
10861
unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderingFragmentDensityMapAttachmentInfoEXT * forUnmarshaling)10862 void unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
10863 VulkanStreamGuest* vkStream, VkStructureType rootType,
10864 VkRenderingFragmentDensityMapAttachmentInfoEXT* forUnmarshaling) {
10865 (void)rootType;
10866 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10867 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10868 rootType = forUnmarshaling->sType;
10869 }
10870 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10871 uint64_t cgen_var_0;
10872 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10873 vkStream->handleMapping()->mapHandles_u64_VkImageView(
10874 &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1);
10875 vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
10876 }
10877
marshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * forMarshaling)10878 void marshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest* vkStream, VkStructureType rootType,
10879 const VkAttachmentSampleCountInfoAMD* forMarshaling) {
10880 (void)rootType;
10881 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10882 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10883 rootType = forMarshaling->sType;
10884 }
10885 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10886 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
10887 // WARNING PTR CHECK
10888 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentSamples;
10889 vkStream->putBe64(cgen_var_0);
10890 if (forMarshaling->pColorAttachmentSamples) {
10891 vkStream->write((const VkSampleCountFlagBits*)forMarshaling->pColorAttachmentSamples,
10892 forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
10893 }
10894 vkStream->write((VkSampleCountFlagBits*)&forMarshaling->depthStencilAttachmentSamples,
10895 sizeof(VkSampleCountFlagBits));
10896 }
10897
unmarshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest * vkStream,VkStructureType rootType,VkAttachmentSampleCountInfoAMD * forUnmarshaling)10898 void unmarshal_VkAttachmentSampleCountInfoAMD(VulkanStreamGuest* vkStream, VkStructureType rootType,
10899 VkAttachmentSampleCountInfoAMD* forUnmarshaling) {
10900 (void)rootType;
10901 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10902 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10903 rootType = forUnmarshaling->sType;
10904 }
10905 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10906 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
10907 // WARNING PTR CHECK
10908 const VkSampleCountFlagBits* check_pColorAttachmentSamples;
10909 check_pColorAttachmentSamples = (const VkSampleCountFlagBits*)(uintptr_t)vkStream->getBe64();
10910 if (forUnmarshaling->pColorAttachmentSamples) {
10911 if (!(check_pColorAttachmentSamples)) {
10912 fprintf(stderr,
10913 "fatal: forUnmarshaling->pColorAttachmentSamples inconsistent between guest "
10914 "and host\n");
10915 }
10916 vkStream->read((VkSampleCountFlagBits*)forUnmarshaling->pColorAttachmentSamples,
10917 forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
10918 }
10919 vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->depthStencilAttachmentSamples,
10920 sizeof(VkSampleCountFlagBits));
10921 }
10922
marshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * forMarshaling)10923 void marshal_VkMultiviewPerViewAttributesInfoNVX(
10924 VulkanStreamGuest* vkStream, VkStructureType rootType,
10925 const VkMultiviewPerViewAttributesInfoNVX* forMarshaling) {
10926 (void)rootType;
10927 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10928 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10929 rootType = forMarshaling->sType;
10930 }
10931 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10932 vkStream->write((VkBool32*)&forMarshaling->perViewAttributes, sizeof(VkBool32));
10933 vkStream->write((VkBool32*)&forMarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
10934 }
10935
unmarshal_VkMultiviewPerViewAttributesInfoNVX(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMultiviewPerViewAttributesInfoNVX * forUnmarshaling)10936 void unmarshal_VkMultiviewPerViewAttributesInfoNVX(
10937 VulkanStreamGuest* vkStream, VkStructureType rootType,
10938 VkMultiviewPerViewAttributesInfoNVX* forUnmarshaling) {
10939 (void)rootType;
10940 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10941 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10942 rootType = forUnmarshaling->sType;
10943 }
10944 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10945 vkStream->read((VkBool32*)&forUnmarshaling->perViewAttributes, sizeof(VkBool32));
10946 vkStream->read((VkBool32*)&forUnmarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
10947 }
10948
10949 #endif
10950 #ifdef VK_KHR_external_semaphore_fd
marshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * forMarshaling)10951 void marshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10952 const VkImportSemaphoreFdInfoKHR* forMarshaling) {
10953 (void)rootType;
10954 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10955 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10956 rootType = forMarshaling->sType;
10957 }
10958 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10959 uint64_t cgen_var_0;
10960 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
10961 1);
10962 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
10963 vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
10964 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
10965 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
10966 vkStream->write((int*)&forMarshaling->fd, sizeof(int));
10967 }
10968
unmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImportSemaphoreFdInfoKHR * forUnmarshaling)10969 void unmarshal_VkImportSemaphoreFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10970 VkImportSemaphoreFdInfoKHR* forUnmarshaling) {
10971 (void)rootType;
10972 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
10973 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10974 rootType = forUnmarshaling->sType;
10975 }
10976 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
10977 uint64_t cgen_var_0;
10978 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
10979 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
10980 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
10981 vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags,
10982 sizeof(VkSemaphoreImportFlags));
10983 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
10984 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
10985 vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
10986 }
10987
marshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * forMarshaling)10988 void marshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
10989 const VkSemaphoreGetFdInfoKHR* forMarshaling) {
10990 (void)rootType;
10991 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
10992 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10993 rootType = forMarshaling->sType;
10994 }
10995 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
10996 uint64_t cgen_var_0;
10997 vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0,
10998 1);
10999 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11000 vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
11001 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
11002 }
11003
unmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSemaphoreGetFdInfoKHR * forUnmarshaling)11004 void unmarshal_VkSemaphoreGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11005 VkSemaphoreGetFdInfoKHR* forUnmarshaling) {
11006 (void)rootType;
11007 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11008 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11009 rootType = forUnmarshaling->sType;
11010 }
11011 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11012 uint64_t cgen_var_0;
11013 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11014 vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
11015 &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
11016 vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
11017 sizeof(VkExternalSemaphoreHandleTypeFlagBits));
11018 }
11019
11020 #endif
11021 #ifdef VK_KHR_incremental_present
marshal_VkRectLayerKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRectLayerKHR * forMarshaling)11022 void marshal_VkRectLayerKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11023 const VkRectLayerKHR* forMarshaling) {
11024 (void)rootType;
11025 marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
11026 marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
11027 vkStream->write((uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
11028 }
11029
unmarshal_VkRectLayerKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRectLayerKHR * forUnmarshaling)11030 void unmarshal_VkRectLayerKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11031 VkRectLayerKHR* forUnmarshaling) {
11032 (void)rootType;
11033 unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
11034 unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
11035 vkStream->read((uint32_t*)&forUnmarshaling->layer, sizeof(uint32_t));
11036 }
11037
marshal_VkPresentRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionKHR * forMarshaling)11038 void marshal_VkPresentRegionKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11039 const VkPresentRegionKHR* forMarshaling) {
11040 (void)rootType;
11041 vkStream->write((uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
11042 // WARNING PTR CHECK
11043 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
11044 vkStream->putBe64(cgen_var_0);
11045 if (forMarshaling->pRectangles) {
11046 if (forMarshaling) {
11047 for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
11048 marshal_VkRectLayerKHR(vkStream, rootType,
11049 (const VkRectLayerKHR*)(forMarshaling->pRectangles + i));
11050 }
11051 }
11052 }
11053 }
11054
unmarshal_VkPresentRegionKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPresentRegionKHR * forUnmarshaling)11055 void unmarshal_VkPresentRegionKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11056 VkPresentRegionKHR* forUnmarshaling) {
11057 (void)rootType;
11058 vkStream->read((uint32_t*)&forUnmarshaling->rectangleCount, sizeof(uint32_t));
11059 // WARNING PTR CHECK
11060 const VkRectLayerKHR* check_pRectangles;
11061 check_pRectangles = (const VkRectLayerKHR*)(uintptr_t)vkStream->getBe64();
11062 if (forUnmarshaling->pRectangles) {
11063 if (!(check_pRectangles)) {
11064 fprintf(stderr,
11065 "fatal: forUnmarshaling->pRectangles inconsistent between guest and host\n");
11066 }
11067 if (forUnmarshaling) {
11068 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i) {
11069 unmarshal_VkRectLayerKHR(vkStream, rootType,
11070 (VkRectLayerKHR*)(forUnmarshaling->pRectangles + i));
11071 }
11072 }
11073 }
11074 }
11075
marshal_VkPresentRegionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPresentRegionsKHR * forMarshaling)11076 void marshal_VkPresentRegionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11077 const VkPresentRegionsKHR* forMarshaling) {
11078 (void)rootType;
11079 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11080 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11081 rootType = forMarshaling->sType;
11082 }
11083 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11084 vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
11085 // WARNING PTR CHECK
11086 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
11087 vkStream->putBe64(cgen_var_0);
11088 if (forMarshaling->pRegions) {
11089 if (forMarshaling) {
11090 for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
11091 marshal_VkPresentRegionKHR(
11092 vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i));
11093 }
11094 }
11095 }
11096 }
11097
unmarshal_VkPresentRegionsKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPresentRegionsKHR * forUnmarshaling)11098 void unmarshal_VkPresentRegionsKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11099 VkPresentRegionsKHR* forUnmarshaling) {
11100 (void)rootType;
11101 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11102 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11103 rootType = forUnmarshaling->sType;
11104 }
11105 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11106 vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
11107 // WARNING PTR CHECK
11108 const VkPresentRegionKHR* check_pRegions;
11109 check_pRegions = (const VkPresentRegionKHR*)(uintptr_t)vkStream->getBe64();
11110 if (forUnmarshaling->pRegions) {
11111 if (!(check_pRegions)) {
11112 fprintf(stderr,
11113 "fatal: forUnmarshaling->pRegions inconsistent between guest and host\n");
11114 }
11115 if (forUnmarshaling) {
11116 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) {
11117 unmarshal_VkPresentRegionKHR(vkStream, rootType,
11118 (VkPresentRegionKHR*)(forUnmarshaling->pRegions + i));
11119 }
11120 }
11121 }
11122 }
11123
11124 #endif
11125 #ifdef VK_KHR_external_fence_fd
marshal_VkImportFenceFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportFenceFdInfoKHR * forMarshaling)11126 void marshal_VkImportFenceFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11127 const VkImportFenceFdInfoKHR* forMarshaling) {
11128 (void)rootType;
11129 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11130 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11131 rootType = forMarshaling->sType;
11132 }
11133 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11134 uint64_t cgen_var_0;
11135 vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
11136 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11137 vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
11138 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
11139 sizeof(VkExternalFenceHandleTypeFlagBits));
11140 vkStream->write((int*)&forMarshaling->fd, sizeof(int));
11141 }
11142
unmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImportFenceFdInfoKHR * forUnmarshaling)11143 void unmarshal_VkImportFenceFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11144 VkImportFenceFdInfoKHR* forUnmarshaling) {
11145 (void)rootType;
11146 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11147 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11148 rootType = forUnmarshaling->sType;
11149 }
11150 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11151 uint64_t cgen_var_0;
11152 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11153 vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_0,
11154 (VkFence*)&forUnmarshaling->fence, 1);
11155 vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags));
11156 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
11157 sizeof(VkExternalFenceHandleTypeFlagBits));
11158 vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
11159 }
11160
marshal_VkFenceGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkFenceGetFdInfoKHR * forMarshaling)11161 void marshal_VkFenceGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11162 const VkFenceGetFdInfoKHR* forMarshaling) {
11163 (void)rootType;
11164 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11165 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11166 rootType = forMarshaling->sType;
11167 }
11168 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11169 uint64_t cgen_var_0;
11170 vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
11171 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11172 vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
11173 sizeof(VkExternalFenceHandleTypeFlagBits));
11174 }
11175
unmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkFenceGetFdInfoKHR * forUnmarshaling)11176 void unmarshal_VkFenceGetFdInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11177 VkFenceGetFdInfoKHR* forUnmarshaling) {
11178 (void)rootType;
11179 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11180 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11181 rootType = forUnmarshaling->sType;
11182 }
11183 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11184 uint64_t cgen_var_0;
11185 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11186 vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_0,
11187 (VkFence*)&forUnmarshaling->fence, 1);
11188 vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
11189 sizeof(VkExternalFenceHandleTypeFlagBits));
11190 }
11191
11192 #endif
11193 #ifdef VK_KHR_pipeline_executable_properties
marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forMarshaling)11194 void marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
11195 VulkanStreamGuest* vkStream, VkStructureType rootType,
11196 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling) {
11197 (void)rootType;
11198 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11199 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11200 rootType = forMarshaling->sType;
11201 }
11202 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11203 vkStream->write((VkBool32*)&forMarshaling->pipelineExecutableInfo, sizeof(VkBool32));
11204 }
11205
unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * forUnmarshaling)11206 void unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
11207 VulkanStreamGuest* vkStream, VkStructureType rootType,
11208 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forUnmarshaling) {
11209 (void)rootType;
11210 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11211 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11212 rootType = forUnmarshaling->sType;
11213 }
11214 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11215 vkStream->read((VkBool32*)&forUnmarshaling->pipelineExecutableInfo, sizeof(VkBool32));
11216 }
11217
marshal_VkPipelineInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineInfoKHR * forMarshaling)11218 void marshal_VkPipelineInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11219 const VkPipelineInfoKHR* forMarshaling) {
11220 (void)rootType;
11221 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11222 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11223 rootType = forMarshaling->sType;
11224 }
11225 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11226 uint64_t cgen_var_0;
11227 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
11228 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11229 }
11230
unmarshal_VkPipelineInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineInfoKHR * forUnmarshaling)11231 void unmarshal_VkPipelineInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11232 VkPipelineInfoKHR* forUnmarshaling) {
11233 (void)rootType;
11234 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11236 rootType = forUnmarshaling->sType;
11237 }
11238 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11239 uint64_t cgen_var_0;
11240 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11241 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
11242 &cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
11243 }
11244
marshal_VkPipelineExecutablePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * forMarshaling)11245 void marshal_VkPipelineExecutablePropertiesKHR(
11246 VulkanStreamGuest* vkStream, VkStructureType rootType,
11247 const VkPipelineExecutablePropertiesKHR* forMarshaling) {
11248 (void)rootType;
11249 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11250 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11251 rootType = forMarshaling->sType;
11252 }
11253 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11254 vkStream->write((VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
11255 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11256 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11257 vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
11258 }
11259
unmarshal_VkPipelineExecutablePropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineExecutablePropertiesKHR * forUnmarshaling)11260 void unmarshal_VkPipelineExecutablePropertiesKHR(
11261 VulkanStreamGuest* vkStream, VkStructureType rootType,
11262 VkPipelineExecutablePropertiesKHR* forUnmarshaling) {
11263 (void)rootType;
11264 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11265 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11266 rootType = forUnmarshaling->sType;
11267 }
11268 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11269 vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stages, sizeof(VkShaderStageFlags));
11270 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11271 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11272 vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
11273 }
11274
marshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInfoKHR * forMarshaling)11275 void marshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11276 const VkPipelineExecutableInfoKHR* forMarshaling) {
11277 (void)rootType;
11278 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11279 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11280 rootType = forMarshaling->sType;
11281 }
11282 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11283 uint64_t cgen_var_0;
11284 vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
11285 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
11286 vkStream->write((uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
11287 }
11288
unmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineExecutableInfoKHR * forUnmarshaling)11289 void unmarshal_VkPipelineExecutableInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11290 VkPipelineExecutableInfoKHR* forUnmarshaling) {
11291 (void)rootType;
11292 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11293 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11294 rootType = forUnmarshaling->sType;
11295 }
11296 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11297 uint64_t cgen_var_0;
11298 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
11299 vkStream->handleMapping()->mapHandles_u64_VkPipeline(
11300 &cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
11301 vkStream->read((uint32_t*)&forUnmarshaling->executableIndex, sizeof(uint32_t));
11302 }
11303
marshal_VkPipelineExecutableStatisticValueKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * forMarshaling)11304 void marshal_VkPipelineExecutableStatisticValueKHR(
11305 VulkanStreamGuest* vkStream, VkStructureType rootType,
11306 const VkPipelineExecutableStatisticValueKHR* forMarshaling) {
11307 (void)rootType;
11308 vkStream->write((VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
11309 }
11310
unmarshal_VkPipelineExecutableStatisticValueKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineExecutableStatisticValueKHR * forUnmarshaling)11311 void unmarshal_VkPipelineExecutableStatisticValueKHR(
11312 VulkanStreamGuest* vkStream, VkStructureType rootType,
11313 VkPipelineExecutableStatisticValueKHR* forUnmarshaling) {
11314 (void)rootType;
11315 vkStream->read((VkBool32*)&forUnmarshaling->b32, sizeof(VkBool32));
11316 }
11317
marshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * forMarshaling)11318 void marshal_VkPipelineExecutableStatisticKHR(
11319 VulkanStreamGuest* vkStream, VkStructureType rootType,
11320 const VkPipelineExecutableStatisticKHR* forMarshaling) {
11321 (void)rootType;
11322 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11323 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11324 rootType = forMarshaling->sType;
11325 }
11326 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11327 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11328 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11329 vkStream->write((VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
11330 sizeof(VkPipelineExecutableStatisticFormatKHR));
11331 marshal_VkPipelineExecutableStatisticValueKHR(
11332 vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value));
11333 }
11334
unmarshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineExecutableStatisticKHR * forUnmarshaling)11335 void unmarshal_VkPipelineExecutableStatisticKHR(VulkanStreamGuest* vkStream,
11336 VkStructureType rootType,
11337 VkPipelineExecutableStatisticKHR* forUnmarshaling) {
11338 (void)rootType;
11339 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11340 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11341 rootType = forUnmarshaling->sType;
11342 }
11343 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11344 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11345 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11346 vkStream->read((VkPipelineExecutableStatisticFormatKHR*)&forUnmarshaling->format,
11347 sizeof(VkPipelineExecutableStatisticFormatKHR));
11348 unmarshal_VkPipelineExecutableStatisticValueKHR(
11349 vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forUnmarshaling->value));
11350 }
11351
marshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * forMarshaling)11352 void marshal_VkPipelineExecutableInternalRepresentationKHR(
11353 VulkanStreamGuest* vkStream, VkStructureType rootType,
11354 const VkPipelineExecutableInternalRepresentationKHR* forMarshaling) {
11355 (void)rootType;
11356 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11357 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11358 rootType = forMarshaling->sType;
11359 }
11360 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11361 vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11362 vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11363 vkStream->write((VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
11364 uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
11365 vkStream->putBe64(cgen_var_0);
11366 // WARNING PTR CHECK
11367 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
11368 vkStream->putBe64(cgen_var_1);
11369 if (forMarshaling->pData) {
11370 vkStream->write((void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
11371 }
11372 }
11373
unmarshal_VkPipelineExecutableInternalRepresentationKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineExecutableInternalRepresentationKHR * forUnmarshaling)11374 void unmarshal_VkPipelineExecutableInternalRepresentationKHR(
11375 VulkanStreamGuest* vkStream, VkStructureType rootType,
11376 VkPipelineExecutableInternalRepresentationKHR* forUnmarshaling) {
11377 (void)rootType;
11378 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11379 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11380 rootType = forUnmarshaling->sType;
11381 }
11382 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11383 vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11384 vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
11385 vkStream->read((VkBool32*)&forUnmarshaling->isText, sizeof(VkBool32));
11386 forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
11387 // WARNING PTR CHECK
11388 void* check_pData;
11389 check_pData = (void*)(uintptr_t)vkStream->getBe64();
11390 if (forUnmarshaling->pData) {
11391 if (!(check_pData)) {
11392 fprintf(stderr, "fatal: forUnmarshaling->pData inconsistent between guest and host\n");
11393 }
11394 vkStream->read((void*)forUnmarshaling->pData, forUnmarshaling->dataSize * sizeof(uint8_t));
11395 }
11396 }
11397
11398 #endif
11399 #ifdef VK_KHR_synchronization2
marshal_VkQueueFamilyCheckpointProperties2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * forMarshaling)11400 void marshal_VkQueueFamilyCheckpointProperties2NV(
11401 VulkanStreamGuest* vkStream, VkStructureType rootType,
11402 const VkQueueFamilyCheckpointProperties2NV* forMarshaling) {
11403 (void)rootType;
11404 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11405 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11406 rootType = forMarshaling->sType;
11407 }
11408 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11409 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask,
11410 sizeof(VkPipelineStageFlags2));
11411 }
11412
unmarshal_VkQueueFamilyCheckpointProperties2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,VkQueueFamilyCheckpointProperties2NV * forUnmarshaling)11413 void unmarshal_VkQueueFamilyCheckpointProperties2NV(
11414 VulkanStreamGuest* vkStream, VkStructureType rootType,
11415 VkQueueFamilyCheckpointProperties2NV* forUnmarshaling) {
11416 (void)rootType;
11417 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11418 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11419 rootType = forUnmarshaling->sType;
11420 }
11421 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11422 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->checkpointExecutionStageMask,
11423 sizeof(VkPipelineStageFlags2));
11424 }
11425
marshal_VkCheckpointData2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCheckpointData2NV * forMarshaling)11426 void marshal_VkCheckpointData2NV(VulkanStreamGuest* vkStream, VkStructureType rootType,
11427 const VkCheckpointData2NV* forMarshaling) {
11428 (void)rootType;
11429 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11430 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11431 rootType = forMarshaling->sType;
11432 }
11433 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11434 vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stage, sizeof(VkPipelineStageFlags2));
11435 // WARNING PTR CHECK
11436 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
11437 vkStream->putBe64(cgen_var_0);
11438 if (forMarshaling->pCheckpointMarker) {
11439 vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
11440 }
11441 }
11442
unmarshal_VkCheckpointData2NV(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCheckpointData2NV * forUnmarshaling)11443 void unmarshal_VkCheckpointData2NV(VulkanStreamGuest* vkStream, VkStructureType rootType,
11444 VkCheckpointData2NV* forUnmarshaling) {
11445 (void)rootType;
11446 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11447 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11448 rootType = forUnmarshaling->sType;
11449 }
11450 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11451 vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stage, sizeof(VkPipelineStageFlags2));
11452 // WARNING PTR CHECK
11453 void* check_pCheckpointMarker;
11454 check_pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64();
11455 if (forUnmarshaling->pCheckpointMarker) {
11456 if (!(check_pCheckpointMarker)) {
11457 fprintf(
11458 stderr,
11459 "fatal: forUnmarshaling->pCheckpointMarker inconsistent between guest and host\n");
11460 }
11461 vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t));
11462 }
11463 }
11464
11465 #endif
11466 #ifdef VK_KHR_maintenance5
marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5FeaturesKHR * forMarshaling)11467 void marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
11468 VulkanStreamGuest* vkStream, VkStructureType rootType,
11469 const VkPhysicalDeviceMaintenance5FeaturesKHR* forMarshaling) {
11470 (void)rootType;
11471 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11472 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11473 rootType = forMarshaling->sType;
11474 }
11475 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11476 vkStream->write((VkBool32*)&forMarshaling->maintenance5, sizeof(VkBool32));
11477 }
11478
unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance5FeaturesKHR * forUnmarshaling)11479 void unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
11480 VulkanStreamGuest* vkStream, VkStructureType rootType,
11481 VkPhysicalDeviceMaintenance5FeaturesKHR* forUnmarshaling) {
11482 (void)rootType;
11483 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11484 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11485 rootType = forUnmarshaling->sType;
11486 }
11487 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11488 vkStream->read((VkBool32*)&forUnmarshaling->maintenance5, sizeof(VkBool32));
11489 }
11490
marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceMaintenance5PropertiesKHR * forMarshaling)11491 void marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
11492 VulkanStreamGuest* vkStream, VkStructureType rootType,
11493 const VkPhysicalDeviceMaintenance5PropertiesKHR* forMarshaling) {
11494 (void)rootType;
11495 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11496 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11497 rootType = forMarshaling->sType;
11498 }
11499 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11500 vkStream->write((VkBool32*)&forMarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
11501 sizeof(VkBool32));
11502 vkStream->write((VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
11503 sizeof(VkBool32));
11504 vkStream->write((VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
11505 vkStream->write((VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
11506 vkStream->write((VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
11507 sizeof(VkBool32));
11508 vkStream->write((VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram,
11509 sizeof(VkBool32));
11510 }
11511
unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceMaintenance5PropertiesKHR * forUnmarshaling)11512 void unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
11513 VulkanStreamGuest* vkStream, VkStructureType rootType,
11514 VkPhysicalDeviceMaintenance5PropertiesKHR* forUnmarshaling) {
11515 (void)rootType;
11516 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11517 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11518 rootType = forUnmarshaling->sType;
11519 }
11520 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11521 vkStream->read((VkBool32*)&forUnmarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting,
11522 sizeof(VkBool32));
11523 vkStream->read((VkBool32*)&forUnmarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
11524 sizeof(VkBool32));
11525 vkStream->read((VkBool32*)&forUnmarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
11526 vkStream->read((VkBool32*)&forUnmarshaling->polygonModePointSize, sizeof(VkBool32));
11527 vkStream->read((VkBool32*)&forUnmarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
11528 sizeof(VkBool32));
11529 vkStream->read((VkBool32*)&forUnmarshaling->nonStrictWideLinesUseParallelogram,
11530 sizeof(VkBool32));
11531 }
11532
marshal_VkRenderingAreaInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderingAreaInfoKHR * forMarshaling)11533 void marshal_VkRenderingAreaInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11534 const VkRenderingAreaInfoKHR* forMarshaling) {
11535 (void)rootType;
11536 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11537 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11538 rootType = forMarshaling->sType;
11539 }
11540 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11541 vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
11542 vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
11543 // WARNING PTR CHECK
11544 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats;
11545 vkStream->putBe64(cgen_var_0);
11546 if (forMarshaling->pColorAttachmentFormats) {
11547 vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats,
11548 forMarshaling->colorAttachmentCount * sizeof(const VkFormat));
11549 }
11550 vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat));
11551 vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat));
11552 }
11553
unmarshal_VkRenderingAreaInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderingAreaInfoKHR * forUnmarshaling)11554 void unmarshal_VkRenderingAreaInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11555 VkRenderingAreaInfoKHR* forUnmarshaling) {
11556 (void)rootType;
11557 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11558 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11559 rootType = forUnmarshaling->sType;
11560 }
11561 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11562 vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
11563 vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
11564 // WARNING PTR CHECK
11565 const VkFormat* check_pColorAttachmentFormats;
11566 check_pColorAttachmentFormats = (const VkFormat*)(uintptr_t)vkStream->getBe64();
11567 if (forUnmarshaling->pColorAttachmentFormats) {
11568 if (!(check_pColorAttachmentFormats)) {
11569 fprintf(stderr,
11570 "fatal: forUnmarshaling->pColorAttachmentFormats inconsistent between guest "
11571 "and host\n");
11572 }
11573 vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats,
11574 forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
11575 }
11576 vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat));
11577 vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat));
11578 }
11579
marshal_VkImageSubresource2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageSubresource2KHR * forMarshaling)11580 void marshal_VkImageSubresource2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11581 const VkImageSubresource2KHR* forMarshaling) {
11582 (void)rootType;
11583 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11584 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11585 rootType = forMarshaling->sType;
11586 }
11587 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11588 marshal_VkImageSubresource(vkStream, rootType,
11589 (VkImageSubresource*)(&forMarshaling->imageSubresource));
11590 }
11591
unmarshal_VkImageSubresource2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageSubresource2KHR * forUnmarshaling)11592 void unmarshal_VkImageSubresource2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11593 VkImageSubresource2KHR* forUnmarshaling) {
11594 (void)rootType;
11595 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11596 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11597 rootType = forUnmarshaling->sType;
11598 }
11599 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11600 unmarshal_VkImageSubresource(vkStream, rootType,
11601 (VkImageSubresource*)(&forUnmarshaling->imageSubresource));
11602 }
11603
marshal_VkDeviceImageSubresourceInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceImageSubresourceInfoKHR * forMarshaling)11604 void marshal_VkDeviceImageSubresourceInfoKHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11605 const VkDeviceImageSubresourceInfoKHR* forMarshaling) {
11606 (void)rootType;
11607 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11608 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11609 rootType = forMarshaling->sType;
11610 }
11611 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11612 marshal_VkImageCreateInfo(vkStream, rootType,
11613 (const VkImageCreateInfo*)(forMarshaling->pCreateInfo));
11614 marshal_VkImageSubresource2KHR(vkStream, rootType,
11615 (const VkImageSubresource2KHR*)(forMarshaling->pSubresource));
11616 }
11617
unmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceImageSubresourceInfoKHR * forUnmarshaling)11618 void unmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStreamGuest* vkStream,
11619 VkStructureType rootType,
11620 VkDeviceImageSubresourceInfoKHR* forUnmarshaling) {
11621 (void)rootType;
11622 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11623 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11624 rootType = forUnmarshaling->sType;
11625 }
11626 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11627 unmarshal_VkImageCreateInfo(vkStream, rootType,
11628 (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo));
11629 unmarshal_VkImageSubresource2KHR(vkStream, rootType,
11630 (VkImageSubresource2KHR*)(forUnmarshaling->pSubresource));
11631 }
11632
marshal_VkSubresourceLayout2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceLayout2KHR * forMarshaling)11633 void marshal_VkSubresourceLayout2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11634 const VkSubresourceLayout2KHR* forMarshaling) {
11635 (void)rootType;
11636 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11637 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11638 rootType = forMarshaling->sType;
11639 }
11640 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11641 marshal_VkSubresourceLayout(vkStream, rootType,
11642 (VkSubresourceLayout*)(&forMarshaling->subresourceLayout));
11643 }
11644
unmarshal_VkSubresourceLayout2KHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubresourceLayout2KHR * forUnmarshaling)11645 void unmarshal_VkSubresourceLayout2KHR(VulkanStreamGuest* vkStream, VkStructureType rootType,
11646 VkSubresourceLayout2KHR* forUnmarshaling) {
11647 (void)rootType;
11648 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11649 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11650 rootType = forUnmarshaling->sType;
11651 }
11652 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11653 unmarshal_VkSubresourceLayout(vkStream, rootType,
11654 (VkSubresourceLayout*)(&forUnmarshaling->subresourceLayout));
11655 }
11656
marshal_VkPipelineCreateFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfoKHR * forMarshaling)11657 void marshal_VkPipelineCreateFlags2CreateInfoKHR(
11658 VulkanStreamGuest* vkStream, VkStructureType rootType,
11659 const VkPipelineCreateFlags2CreateInfoKHR* forMarshaling) {
11660 (void)rootType;
11661 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11662 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11663 rootType = forMarshaling->sType;
11664 }
11665 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11666 vkStream->write((VkPipelineCreateFlags2KHR*)&forMarshaling->flags,
11667 sizeof(VkPipelineCreateFlags2KHR));
11668 }
11669
unmarshal_VkPipelineCreateFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineCreateFlags2CreateInfoKHR * forUnmarshaling)11670 void unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
11671 VulkanStreamGuest* vkStream, VkStructureType rootType,
11672 VkPipelineCreateFlags2CreateInfoKHR* forUnmarshaling) {
11673 (void)rootType;
11674 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11675 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11676 rootType = forUnmarshaling->sType;
11677 }
11678 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11679 vkStream->read((VkPipelineCreateFlags2KHR*)&forUnmarshaling->flags,
11680 sizeof(VkPipelineCreateFlags2KHR));
11681 }
11682
marshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkBufferUsageFlags2CreateInfoKHR * forMarshaling)11683 void marshal_VkBufferUsageFlags2CreateInfoKHR(
11684 VulkanStreamGuest* vkStream, VkStructureType rootType,
11685 const VkBufferUsageFlags2CreateInfoKHR* forMarshaling) {
11686 (void)rootType;
11687 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11688 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11689 rootType = forMarshaling->sType;
11690 }
11691 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11692 vkStream->write((VkBufferUsageFlags2KHR*)&forMarshaling->usage, sizeof(VkBufferUsageFlags2KHR));
11693 }
11694
unmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkBufferUsageFlags2CreateInfoKHR * forUnmarshaling)11695 void unmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStreamGuest* vkStream,
11696 VkStructureType rootType,
11697 VkBufferUsageFlags2CreateInfoKHR* forUnmarshaling) {
11698 (void)rootType;
11699 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11700 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11701 rootType = forUnmarshaling->sType;
11702 }
11703 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11704 vkStream->read((VkBufferUsageFlags2KHR*)&forUnmarshaling->usage,
11705 sizeof(VkBufferUsageFlags2KHR));
11706 }
11707
11708 #endif
11709 #ifdef VK_KHR_line_rasterization
marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesKHR * forMarshaling)11710 void marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
11711 VulkanStreamGuest* vkStream, VkStructureType rootType,
11712 const VkPhysicalDeviceLineRasterizationFeaturesKHR* forMarshaling) {
11713 (void)rootType;
11714 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11715 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11716 rootType = forMarshaling->sType;
11717 }
11718 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11719 vkStream->write((VkBool32*)&forMarshaling->rectangularLines, sizeof(VkBool32));
11720 vkStream->write((VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
11721 vkStream->write((VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
11722 vkStream->write((VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
11723 vkStream->write((VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
11724 vkStream->write((VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
11725 }
11726
unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceLineRasterizationFeaturesKHR * forUnmarshaling)11727 void unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
11728 VulkanStreamGuest* vkStream, VkStructureType rootType,
11729 VkPhysicalDeviceLineRasterizationFeaturesKHR* forUnmarshaling) {
11730 (void)rootType;
11731 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11732 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11733 rootType = forUnmarshaling->sType;
11734 }
11735 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11736 vkStream->read((VkBool32*)&forUnmarshaling->rectangularLines, sizeof(VkBool32));
11737 vkStream->read((VkBool32*)&forUnmarshaling->bresenhamLines, sizeof(VkBool32));
11738 vkStream->read((VkBool32*)&forUnmarshaling->smoothLines, sizeof(VkBool32));
11739 vkStream->read((VkBool32*)&forUnmarshaling->stippledRectangularLines, sizeof(VkBool32));
11740 vkStream->read((VkBool32*)&forUnmarshaling->stippledBresenhamLines, sizeof(VkBool32));
11741 vkStream->read((VkBool32*)&forUnmarshaling->stippledSmoothLines, sizeof(VkBool32));
11742 }
11743
marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesKHR * forMarshaling)11744 void marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
11745 VulkanStreamGuest* vkStream, VkStructureType rootType,
11746 const VkPhysicalDeviceLineRasterizationPropertiesKHR* forMarshaling) {
11747 (void)rootType;
11748 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11749 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11750 rootType = forMarshaling->sType;
11751 }
11752 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11753 vkStream->write((uint32_t*)&forMarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
11754 }
11755
unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceLineRasterizationPropertiesKHR * forUnmarshaling)11756 void unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
11757 VulkanStreamGuest* vkStream, VkStructureType rootType,
11758 VkPhysicalDeviceLineRasterizationPropertiesKHR* forUnmarshaling) {
11759 (void)rootType;
11760 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11761 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11762 rootType = forUnmarshaling->sType;
11763 }
11764 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11765 vkStream->read((uint32_t*)&forUnmarshaling->lineSubPixelPrecisionBits, sizeof(uint32_t));
11766 }
11767
marshal_VkPipelineRasterizationLineStateCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoKHR * forMarshaling)11768 void marshal_VkPipelineRasterizationLineStateCreateInfoKHR(
11769 VulkanStreamGuest* vkStream, VkStructureType rootType,
11770 const VkPipelineRasterizationLineStateCreateInfoKHR* forMarshaling) {
11771 (void)rootType;
11772 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11773 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11774 rootType = forMarshaling->sType;
11775 }
11776 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11777 vkStream->write((VkLineRasterizationModeKHR*)&forMarshaling->lineRasterizationMode,
11778 sizeof(VkLineRasterizationModeKHR));
11779 vkStream->write((VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
11780 vkStream->write((uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
11781 vkStream->write((uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
11782 }
11783
unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRasterizationLineStateCreateInfoKHR * forUnmarshaling)11784 void unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(
11785 VulkanStreamGuest* vkStream, VkStructureType rootType,
11786 VkPipelineRasterizationLineStateCreateInfoKHR* forUnmarshaling) {
11787 (void)rootType;
11788 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11789 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11790 rootType = forUnmarshaling->sType;
11791 }
11792 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11793 vkStream->read((VkLineRasterizationModeKHR*)&forUnmarshaling->lineRasterizationMode,
11794 sizeof(VkLineRasterizationModeKHR));
11795 vkStream->read((VkBool32*)&forUnmarshaling->stippledLineEnable, sizeof(VkBool32));
11796 vkStream->read((uint32_t*)&forUnmarshaling->lineStippleFactor, sizeof(uint32_t));
11797 vkStream->read((uint16_t*)&forUnmarshaling->lineStipplePattern, sizeof(uint16_t));
11798 }
11799
11800 #endif
11801 #ifdef VK_ANDROID_native_buffer
marshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * forMarshaling)11802 void marshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
11803 const VkNativeBufferUsage2ANDROID* forMarshaling) {
11804 (void)rootType;
11805 vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
11806 vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
11807 }
11808
unmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,VkNativeBufferUsage2ANDROID * forUnmarshaling)11809 void unmarshal_VkNativeBufferUsage2ANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
11810 VkNativeBufferUsage2ANDROID* forUnmarshaling) {
11811 (void)rootType;
11812 vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t));
11813 vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t));
11814 }
11815
marshal_VkNativeBufferANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkNativeBufferANDROID * forMarshaling)11816 void marshal_VkNativeBufferANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
11817 const VkNativeBufferANDROID* forMarshaling) {
11818 (void)rootType;
11819 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11820 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11821 rootType = forMarshaling->sType;
11822 }
11823 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11824 // WARNING PTR CHECK
11825 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle;
11826 vkStream->putBe64(cgen_var_0);
11827 if (forMarshaling->handle) {
11828 vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
11829 }
11830 vkStream->write((int*)&forMarshaling->stride, sizeof(int));
11831 vkStream->write((int*)&forMarshaling->format, sizeof(int));
11832 vkStream->write((int*)&forMarshaling->usage, sizeof(int));
11833 marshal_VkNativeBufferUsage2ANDROID(vkStream, rootType,
11834 (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2));
11835 }
11836
unmarshal_VkNativeBufferANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,VkNativeBufferANDROID * forUnmarshaling)11837 void unmarshal_VkNativeBufferANDROID(VulkanStreamGuest* vkStream, VkStructureType rootType,
11838 VkNativeBufferANDROID* 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 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11845 // WARNING PTR CHECK
11846 const uint32_t* check_handle;
11847 check_handle = (const uint32_t*)(uintptr_t)vkStream->getBe64();
11848 if (forUnmarshaling->handle) {
11849 if (!(check_handle)) {
11850 fprintf(stderr, "fatal: forUnmarshaling->handle inconsistent between guest and host\n");
11851 }
11852 vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t));
11853 }
11854 vkStream->read((int*)&forUnmarshaling->stride, sizeof(int));
11855 vkStream->read((int*)&forUnmarshaling->format, sizeof(int));
11856 vkStream->read((int*)&forUnmarshaling->usage, sizeof(int));
11857 unmarshal_VkNativeBufferUsage2ANDROID(vkStream, rootType,
11858 (VkNativeBufferUsage2ANDROID*)(&forUnmarshaling->usage2));
11859 }
11860
marshal_VkSwapchainImageCreateInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * forMarshaling)11861 void marshal_VkSwapchainImageCreateInfoANDROID(
11862 VulkanStreamGuest* vkStream, VkStructureType rootType,
11863 const VkSwapchainImageCreateInfoANDROID* forMarshaling) {
11864 (void)rootType;
11865 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11866 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11867 rootType = forMarshaling->sType;
11868 }
11869 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11870 vkStream->write((VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
11871 sizeof(VkSwapchainImageUsageFlagsANDROID));
11872 }
11873
unmarshal_VkSwapchainImageCreateInfoANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSwapchainImageCreateInfoANDROID * forUnmarshaling)11874 void unmarshal_VkSwapchainImageCreateInfoANDROID(
11875 VulkanStreamGuest* vkStream, VkStructureType rootType,
11876 VkSwapchainImageCreateInfoANDROID* forUnmarshaling) {
11877 (void)rootType;
11878 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11879 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11880 rootType = forUnmarshaling->sType;
11881 }
11882 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11883 vkStream->read((VkSwapchainImageUsageFlagsANDROID*)&forUnmarshaling->usage,
11884 sizeof(VkSwapchainImageUsageFlagsANDROID));
11885 }
11886
marshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * forMarshaling)11887 void marshal_VkPhysicalDevicePresentationPropertiesANDROID(
11888 VulkanStreamGuest* vkStream, VkStructureType rootType,
11889 const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling) {
11890 (void)rootType;
11891 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11893 rootType = forMarshaling->sType;
11894 }
11895 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11896 vkStream->write((VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
11897 }
11898
unmarshal_VkPhysicalDevicePresentationPropertiesANDROID(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePresentationPropertiesANDROID * forUnmarshaling)11899 void unmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
11900 VulkanStreamGuest* vkStream, VkStructureType rootType,
11901 VkPhysicalDevicePresentationPropertiesANDROID* forUnmarshaling) {
11902 (void)rootType;
11903 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11904 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11905 rootType = forUnmarshaling->sType;
11906 }
11907 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11908 vkStream->read((VkBool32*)&forUnmarshaling->sharedImage, sizeof(VkBool32));
11909 }
11910
11911 #endif
11912 #ifdef VK_EXT_transform_feedback
marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * forMarshaling)11913 void marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
11914 VulkanStreamGuest* vkStream, VkStructureType rootType,
11915 const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling) {
11916 (void)rootType;
11917 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11918 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11919 rootType = forMarshaling->sType;
11920 }
11921 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11922 vkStream->write((VkBool32*)&forMarshaling->transformFeedback, sizeof(VkBool32));
11923 vkStream->write((VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
11924 }
11925
unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTransformFeedbackFeaturesEXT * forUnmarshaling)11926 void unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
11927 VulkanStreamGuest* vkStream, VkStructureType rootType,
11928 VkPhysicalDeviceTransformFeedbackFeaturesEXT* forUnmarshaling) {
11929 (void)rootType;
11930 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11931 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11932 rootType = forUnmarshaling->sType;
11933 }
11934 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11935 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedback, sizeof(VkBool32));
11936 vkStream->read((VkBool32*)&forUnmarshaling->geometryStreams, sizeof(VkBool32));
11937 }
11938
marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * forMarshaling)11939 void marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
11940 VulkanStreamGuest* vkStream, VkStructureType rootType,
11941 const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling) {
11942 (void)rootType;
11943 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11944 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11945 rootType = forMarshaling->sType;
11946 }
11947 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
11948 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
11949 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
11950 vkStream->write((VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
11951 sizeof(VkDeviceSize));
11952 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize,
11953 sizeof(uint32_t));
11954 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize,
11955 sizeof(uint32_t));
11956 vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride,
11957 sizeof(uint32_t));
11958 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
11959 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
11960 sizeof(VkBool32));
11961 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
11962 sizeof(VkBool32));
11963 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
11964 }
11965
unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTransformFeedbackPropertiesEXT * forUnmarshaling)11966 void unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
11967 VulkanStreamGuest* vkStream, VkStructureType rootType,
11968 VkPhysicalDeviceTransformFeedbackPropertiesEXT* forUnmarshaling) {
11969 (void)rootType;
11970 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
11971 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11972 rootType = forUnmarshaling->sType;
11973 }
11974 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
11975 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreams, sizeof(uint32_t));
11976 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
11977 vkStream->read((VkDeviceSize*)&forUnmarshaling->maxTransformFeedbackBufferSize,
11978 sizeof(VkDeviceSize));
11979 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreamDataSize,
11980 sizeof(uint32_t));
11981 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataSize,
11982 sizeof(uint32_t));
11983 vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataStride,
11984 sizeof(uint32_t));
11985 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackQueries, sizeof(VkBool32));
11986 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackStreamsLinesTriangles,
11987 sizeof(VkBool32));
11988 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackRasterizationStreamSelect,
11989 sizeof(VkBool32));
11990 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackDraw, sizeof(VkBool32));
11991 }
11992
marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * forMarshaling)11993 void marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
11994 VulkanStreamGuest* vkStream, VkStructureType rootType,
11995 const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling) {
11996 (void)rootType;
11997 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
11998 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11999 rootType = forMarshaling->sType;
12000 }
12001 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12002 vkStream->write((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
12003 sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
12004 vkStream->write((uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
12005 }
12006
unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRasterizationStateStreamCreateInfoEXT * forUnmarshaling)12007 void unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
12008 VulkanStreamGuest* vkStream, VkStructureType rootType,
12009 VkPipelineRasterizationStateStreamCreateInfoEXT* forUnmarshaling) {
12010 (void)rootType;
12011 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12012 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12013 rootType = forUnmarshaling->sType;
12014 }
12015 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12016 vkStream->read((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forUnmarshaling->flags,
12017 sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
12018 vkStream->read((uint32_t*)&forUnmarshaling->rasterizationStream, sizeof(uint32_t));
12019 }
12020
12021 #endif
12022 #ifdef VK_EXT_depth_clip_enable
marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * forMarshaling)12023 void marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
12024 VulkanStreamGuest* vkStream, VkStructureType rootType,
12025 const VkPhysicalDeviceDepthClipEnableFeaturesEXT* forMarshaling) {
12026 (void)rootType;
12027 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12028 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12029 rootType = forMarshaling->sType;
12030 }
12031 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12032 vkStream->write((VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
12033 }
12034
unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDepthClipEnableFeaturesEXT * forUnmarshaling)12035 void unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
12036 VulkanStreamGuest* vkStream, VkStructureType rootType,
12037 VkPhysicalDeviceDepthClipEnableFeaturesEXT* forUnmarshaling) {
12038 (void)rootType;
12039 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12040 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12041 rootType = forUnmarshaling->sType;
12042 }
12043 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12044 vkStream->read((VkBool32*)&forUnmarshaling->depthClipEnable, sizeof(VkBool32));
12045 }
12046
marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * forMarshaling)12047 void marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
12048 VulkanStreamGuest* vkStream, VkStructureType rootType,
12049 const VkPipelineRasterizationDepthClipStateCreateInfoEXT* forMarshaling) {
12050 (void)rootType;
12051 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12052 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12053 rootType = forMarshaling->sType;
12054 }
12055 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12056 vkStream->write((VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forMarshaling->flags,
12057 sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
12058 vkStream->write((VkBool32*)&forMarshaling->depthClipEnable, sizeof(VkBool32));
12059 }
12060
unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRasterizationDepthClipStateCreateInfoEXT * forUnmarshaling)12061 void unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
12062 VulkanStreamGuest* vkStream, VkStructureType rootType,
12063 VkPipelineRasterizationDepthClipStateCreateInfoEXT* forUnmarshaling) {
12064 (void)rootType;
12065 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12066 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12067 rootType = forUnmarshaling->sType;
12068 }
12069 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12070 vkStream->read((VkPipelineRasterizationDepthClipStateCreateFlagsEXT*)&forUnmarshaling->flags,
12071 sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT));
12072 vkStream->read((VkBool32*)&forUnmarshaling->depthClipEnable, sizeof(VkBool32));
12073 }
12074
12075 #endif
12076 #ifdef VK_EXT_image_drm_format_modifier
marshal_VkDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * forMarshaling)12077 void marshal_VkDrmFormatModifierPropertiesEXT(
12078 VulkanStreamGuest* vkStream, VkStructureType rootType,
12079 const VkDrmFormatModifierPropertiesEXT* forMarshaling) {
12080 (void)rootType;
12081 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
12082 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12083 vkStream->write((VkFormatFeatureFlags*)&forMarshaling->drmFormatModifierTilingFeatures,
12084 sizeof(VkFormatFeatureFlags));
12085 }
12086
unmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesEXT * forUnmarshaling)12087 void unmarshal_VkDrmFormatModifierPropertiesEXT(VulkanStreamGuest* vkStream,
12088 VkStructureType rootType,
12089 VkDrmFormatModifierPropertiesEXT* forUnmarshaling) {
12090 (void)rootType;
12091 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
12092 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12093 vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->drmFormatModifierTilingFeatures,
12094 sizeof(VkFormatFeatureFlags));
12095 }
12096
marshal_VkDrmFormatModifierPropertiesListEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * forMarshaling)12097 void marshal_VkDrmFormatModifierPropertiesListEXT(
12098 VulkanStreamGuest* vkStream, VkStructureType rootType,
12099 const VkDrmFormatModifierPropertiesListEXT* forMarshaling) {
12100 (void)rootType;
12101 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12102 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12103 rootType = forMarshaling->sType;
12104 }
12105 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12106 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
12107 // WARNING PTR CHECK
12108 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
12109 vkStream->putBe64(cgen_var_0);
12110 if (forMarshaling->pDrmFormatModifierProperties) {
12111 if (forMarshaling) {
12112 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
12113 marshal_VkDrmFormatModifierPropertiesEXT(
12114 vkStream, rootType,
12115 (VkDrmFormatModifierPropertiesEXT*)(forMarshaling
12116 ->pDrmFormatModifierProperties +
12117 i));
12118 }
12119 }
12120 }
12121 }
12122
unmarshal_VkDrmFormatModifierPropertiesListEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesListEXT * forUnmarshaling)12123 void unmarshal_VkDrmFormatModifierPropertiesListEXT(
12124 VulkanStreamGuest* vkStream, VkStructureType rootType,
12125 VkDrmFormatModifierPropertiesListEXT* forUnmarshaling) {
12126 (void)rootType;
12127 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12128 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12129 rootType = forUnmarshaling->sType;
12130 }
12131 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12132 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
12133 // WARNING PTR CHECK
12134 VkDrmFormatModifierPropertiesEXT* check_pDrmFormatModifierProperties;
12135 check_pDrmFormatModifierProperties =
12136 (VkDrmFormatModifierPropertiesEXT*)(uintptr_t)vkStream->getBe64();
12137 if (forUnmarshaling->pDrmFormatModifierProperties) {
12138 if (!(check_pDrmFormatModifierProperties)) {
12139 fprintf(stderr,
12140 "fatal: forUnmarshaling->pDrmFormatModifierProperties inconsistent between "
12141 "guest and host\n");
12142 }
12143 if (forUnmarshaling) {
12144 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierCount; ++i) {
12145 unmarshal_VkDrmFormatModifierPropertiesEXT(
12146 vkStream, rootType,
12147 (VkDrmFormatModifierPropertiesEXT*)(forUnmarshaling
12148 ->pDrmFormatModifierProperties +
12149 i));
12150 }
12151 }
12152 }
12153 }
12154
marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forMarshaling)12155 void marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
12156 VulkanStreamGuest* vkStream, VkStructureType rootType,
12157 const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forMarshaling) {
12158 (void)rootType;
12159 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12160 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12161 rootType = forMarshaling->sType;
12162 }
12163 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12164 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
12165 vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
12166 vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
12167 // WARNING PTR CHECK
12168 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
12169 vkStream->putBe64(cgen_var_0);
12170 if (forMarshaling->pQueueFamilyIndices) {
12171 vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
12172 forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
12173 }
12174 }
12175
unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImageDrmFormatModifierInfoEXT * forUnmarshaling)12176 void unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
12177 VulkanStreamGuest* vkStream, VkStructureType rootType,
12178 VkPhysicalDeviceImageDrmFormatModifierInfoEXT* forUnmarshaling) {
12179 (void)rootType;
12180 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12181 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12182 rootType = forUnmarshaling->sType;
12183 }
12184 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12185 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
12186 vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
12187 vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
12188 // WARNING PTR CHECK
12189 const uint32_t* check_pQueueFamilyIndices;
12190 check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
12191 if (forUnmarshaling->pQueueFamilyIndices) {
12192 if (!(check_pQueueFamilyIndices)) {
12193 fprintf(stderr,
12194 "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and "
12195 "host\n");
12196 }
12197 vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
12198 forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
12199 }
12200 }
12201
marshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * forMarshaling)12202 void marshal_VkImageDrmFormatModifierListCreateInfoEXT(
12203 VulkanStreamGuest* vkStream, VkStructureType rootType,
12204 const VkImageDrmFormatModifierListCreateInfoEXT* forMarshaling) {
12205 (void)rootType;
12206 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12207 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12208 rootType = forMarshaling->sType;
12209 }
12210 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12211 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
12212 vkStream->write((const uint64_t*)forMarshaling->pDrmFormatModifiers,
12213 forMarshaling->drmFormatModifierCount * sizeof(const uint64_t));
12214 }
12215
unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageDrmFormatModifierListCreateInfoEXT * forUnmarshaling)12216 void unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
12217 VulkanStreamGuest* vkStream, VkStructureType rootType,
12218 VkImageDrmFormatModifierListCreateInfoEXT* forUnmarshaling) {
12219 (void)rootType;
12220 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12221 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12222 rootType = forUnmarshaling->sType;
12223 }
12224 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12225 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
12226 vkStream->read((uint64_t*)forUnmarshaling->pDrmFormatModifiers,
12227 forUnmarshaling->drmFormatModifierCount * sizeof(const uint64_t));
12228 }
12229
marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * forMarshaling)12230 void marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
12231 VulkanStreamGuest* vkStream, VkStructureType rootType,
12232 const VkImageDrmFormatModifierExplicitCreateInfoEXT* forMarshaling) {
12233 (void)rootType;
12234 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12236 rootType = forMarshaling->sType;
12237 }
12238 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12239 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
12240 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12241 if (forMarshaling) {
12242 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierPlaneCount; ++i) {
12243 marshal_VkSubresourceLayout(
12244 vkStream, rootType, (const VkSubresourceLayout*)(forMarshaling->pPlaneLayouts + i));
12245 }
12246 }
12247 }
12248
unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageDrmFormatModifierExplicitCreateInfoEXT * forUnmarshaling)12249 void unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
12250 VulkanStreamGuest* vkStream, VkStructureType rootType,
12251 VkImageDrmFormatModifierExplicitCreateInfoEXT* forUnmarshaling) {
12252 (void)rootType;
12253 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12254 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12255 rootType = forUnmarshaling->sType;
12256 }
12257 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12258 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
12259 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12260 if (forUnmarshaling) {
12261 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierPlaneCount; ++i) {
12262 unmarshal_VkSubresourceLayout(
12263 vkStream, rootType, (VkSubresourceLayout*)(forUnmarshaling->pPlaneLayouts + i));
12264 }
12265 }
12266 }
12267
marshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * forMarshaling)12268 void marshal_VkImageDrmFormatModifierPropertiesEXT(
12269 VulkanStreamGuest* vkStream, VkStructureType rootType,
12270 const VkImageDrmFormatModifierPropertiesEXT* forMarshaling) {
12271 (void)rootType;
12272 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12273 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12274 rootType = forMarshaling->sType;
12275 }
12276 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12277 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
12278 }
12279
unmarshal_VkImageDrmFormatModifierPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageDrmFormatModifierPropertiesEXT * forUnmarshaling)12280 void unmarshal_VkImageDrmFormatModifierPropertiesEXT(
12281 VulkanStreamGuest* vkStream, VkStructureType rootType,
12282 VkImageDrmFormatModifierPropertiesEXT* forUnmarshaling) {
12283 (void)rootType;
12284 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12285 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12286 rootType = forUnmarshaling->sType;
12287 }
12288 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12289 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
12290 }
12291
marshal_VkDrmFormatModifierProperties2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * forMarshaling)12292 void marshal_VkDrmFormatModifierProperties2EXT(
12293 VulkanStreamGuest* vkStream, VkStructureType rootType,
12294 const VkDrmFormatModifierProperties2EXT* forMarshaling) {
12295 (void)rootType;
12296 vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t));
12297 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12298 vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->drmFormatModifierTilingFeatures,
12299 sizeof(VkFormatFeatureFlags2));
12300 }
12301
unmarshal_VkDrmFormatModifierProperties2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrmFormatModifierProperties2EXT * forUnmarshaling)12302 void unmarshal_VkDrmFormatModifierProperties2EXT(
12303 VulkanStreamGuest* vkStream, VkStructureType rootType,
12304 VkDrmFormatModifierProperties2EXT* forUnmarshaling) {
12305 (void)rootType;
12306 vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t));
12307 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t));
12308 vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->drmFormatModifierTilingFeatures,
12309 sizeof(VkFormatFeatureFlags2));
12310 }
12311
marshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * forMarshaling)12312 void marshal_VkDrmFormatModifierPropertiesList2EXT(
12313 VulkanStreamGuest* vkStream, VkStructureType rootType,
12314 const VkDrmFormatModifierPropertiesList2EXT* forMarshaling) {
12315 (void)rootType;
12316 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12317 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12318 rootType = forMarshaling->sType;
12319 }
12320 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12321 vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierCount, sizeof(uint32_t));
12322 // WARNING PTR CHECK
12323 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDrmFormatModifierProperties;
12324 vkStream->putBe64(cgen_var_0);
12325 if (forMarshaling->pDrmFormatModifierProperties) {
12326 if (forMarshaling) {
12327 for (uint32_t i = 0; i < (uint32_t)forMarshaling->drmFormatModifierCount; ++i) {
12328 marshal_VkDrmFormatModifierProperties2EXT(
12329 vkStream, rootType,
12330 (VkDrmFormatModifierProperties2EXT*)(forMarshaling
12331 ->pDrmFormatModifierProperties +
12332 i));
12333 }
12334 }
12335 }
12336 }
12337
unmarshal_VkDrmFormatModifierPropertiesList2EXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDrmFormatModifierPropertiesList2EXT * forUnmarshaling)12338 void unmarshal_VkDrmFormatModifierPropertiesList2EXT(
12339 VulkanStreamGuest* vkStream, VkStructureType rootType,
12340 VkDrmFormatModifierPropertiesList2EXT* forUnmarshaling) {
12341 (void)rootType;
12342 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12343 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12344 rootType = forUnmarshaling->sType;
12345 }
12346 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12347 vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierCount, sizeof(uint32_t));
12348 // WARNING PTR CHECK
12349 VkDrmFormatModifierProperties2EXT* check_pDrmFormatModifierProperties;
12350 check_pDrmFormatModifierProperties =
12351 (VkDrmFormatModifierProperties2EXT*)(uintptr_t)vkStream->getBe64();
12352 if (forUnmarshaling->pDrmFormatModifierProperties) {
12353 if (!(check_pDrmFormatModifierProperties)) {
12354 fprintf(stderr,
12355 "fatal: forUnmarshaling->pDrmFormatModifierProperties inconsistent between "
12356 "guest and host\n");
12357 }
12358 if (forUnmarshaling) {
12359 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->drmFormatModifierCount; ++i) {
12360 unmarshal_VkDrmFormatModifierProperties2EXT(
12361 vkStream, rootType,
12362 (VkDrmFormatModifierProperties2EXT*)(forUnmarshaling
12363 ->pDrmFormatModifierProperties +
12364 i));
12365 }
12366 }
12367 }
12368 }
12369
12370 #endif
12371 #ifdef VK_EXT_vertex_attribute_divisor
marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forMarshaling)12372 void marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
12373 VulkanStreamGuest* vkStream, VkStructureType rootType,
12374 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling) {
12375 (void)rootType;
12376 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12377 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12378 rootType = forMarshaling->sType;
12379 }
12380 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12381 vkStream->write((uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
12382 }
12383
unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * forUnmarshaling)12384 void unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
12385 VulkanStreamGuest* vkStream, VkStructureType rootType,
12386 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forUnmarshaling) {
12387 (void)rootType;
12388 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12389 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12390 rootType = forUnmarshaling->sType;
12391 }
12392 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12393 vkStream->read((uint32_t*)&forUnmarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
12394 }
12395
12396 #endif
12397 #ifdef VK_EXT_fragment_density_map
marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forMarshaling)12398 void marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
12399 VulkanStreamGuest* vkStream, VkStructureType rootType,
12400 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forMarshaling) {
12401 (void)rootType;
12402 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12403 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12404 rootType = forMarshaling->sType;
12405 }
12406 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12407 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMap, sizeof(VkBool32));
12408 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
12409 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMapNonSubsampledImages,
12410 sizeof(VkBool32));
12411 }
12412
unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceFragmentDensityMapFeaturesEXT * forUnmarshaling)12413 void unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
12414 VulkanStreamGuest* vkStream, VkStructureType rootType,
12415 VkPhysicalDeviceFragmentDensityMapFeaturesEXT* forUnmarshaling) {
12416 (void)rootType;
12417 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12418 forUnmarshaling->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
12419 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12420 rootType = forUnmarshaling->sType;
12421 }
12422 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12423 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMap, sizeof(VkBool32));
12424 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMapDynamic, sizeof(VkBool32));
12425 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMapNonSubsampledImages,
12426 sizeof(VkBool32));
12427 }
12428
marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forMarshaling)12429 void marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
12430 VulkanStreamGuest* vkStream, VkStructureType rootType,
12431 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forMarshaling) {
12432 (void)rootType;
12433 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12434 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12435 rootType = forMarshaling->sType;
12436 }
12437 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12438 marshal_VkExtent2D(vkStream, rootType,
12439 (VkExtent2D*)(&forMarshaling->minFragmentDensityTexelSize));
12440 marshal_VkExtent2D(vkStream, rootType,
12441 (VkExtent2D*)(&forMarshaling->maxFragmentDensityTexelSize));
12442 vkStream->write((VkBool32*)&forMarshaling->fragmentDensityInvocations, sizeof(VkBool32));
12443 }
12444
unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceFragmentDensityMapPropertiesEXT * forUnmarshaling)12445 void unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
12446 VulkanStreamGuest* vkStream, VkStructureType rootType,
12447 VkPhysicalDeviceFragmentDensityMapPropertiesEXT* forUnmarshaling) {
12448 (void)rootType;
12449 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12450 forUnmarshaling->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
12451 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12452 rootType = forUnmarshaling->sType;
12453 }
12454 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12455 unmarshal_VkExtent2D(vkStream, rootType,
12456 (VkExtent2D*)(&forUnmarshaling->minFragmentDensityTexelSize));
12457 unmarshal_VkExtent2D(vkStream, rootType,
12458 (VkExtent2D*)(&forUnmarshaling->maxFragmentDensityTexelSize));
12459 vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityInvocations, sizeof(VkBool32));
12460 }
12461
marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * forMarshaling)12462 void marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
12463 VulkanStreamGuest* vkStream, VkStructureType rootType,
12464 const VkRenderPassFragmentDensityMapCreateInfoEXT* forMarshaling) {
12465 (void)rootType;
12466 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12467 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12468 rootType = forMarshaling->sType;
12469 }
12470 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12471 marshal_VkAttachmentReference(
12472 vkStream, rootType, (VkAttachmentReference*)(&forMarshaling->fragmentDensityMapAttachment));
12473 }
12474
unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkRenderPassFragmentDensityMapCreateInfoEXT * forUnmarshaling)12475 void unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
12476 VulkanStreamGuest* vkStream, VkStructureType rootType,
12477 VkRenderPassFragmentDensityMapCreateInfoEXT* forUnmarshaling) {
12478 (void)rootType;
12479 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12480 forUnmarshaling->sType = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
12481 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12482 rootType = forUnmarshaling->sType;
12483 }
12484 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12485 unmarshal_VkAttachmentReference(
12486 vkStream, rootType,
12487 (VkAttachmentReference*)(&forUnmarshaling->fragmentDensityMapAttachment));
12488 }
12489
12490 #endif
12491 #ifdef VK_EXT_provoking_vertex
marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * forMarshaling)12492 void marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
12493 VulkanStreamGuest* vkStream, VkStructureType rootType,
12494 const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling) {
12495 (void)rootType;
12496 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12497 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12498 rootType = forMarshaling->sType;
12499 }
12500 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12501 vkStream->write((VkBool32*)&forMarshaling->provokingVertexLast, sizeof(VkBool32));
12502 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
12503 sizeof(VkBool32));
12504 }
12505
unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProvokingVertexFeaturesEXT * forUnmarshaling)12506 void unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
12507 VulkanStreamGuest* vkStream, VkStructureType rootType,
12508 VkPhysicalDeviceProvokingVertexFeaturesEXT* forUnmarshaling) {
12509 (void)rootType;
12510 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12511 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12512 rootType = forUnmarshaling->sType;
12513 }
12514 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12515 vkStream->read((VkBool32*)&forUnmarshaling->provokingVertexLast, sizeof(VkBool32));
12516 vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackPreservesProvokingVertex,
12517 sizeof(VkBool32));
12518 }
12519
marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * forMarshaling)12520 void marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
12521 VulkanStreamGuest* vkStream, VkStructureType rootType,
12522 const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling) {
12523 (void)rootType;
12524 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12525 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12526 rootType = forMarshaling->sType;
12527 }
12528 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12529 vkStream->write((VkBool32*)&forMarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
12530 vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
12531 sizeof(VkBool32));
12532 }
12533
unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceProvokingVertexPropertiesEXT * forUnmarshaling)12534 void unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
12535 VulkanStreamGuest* vkStream, VkStructureType rootType,
12536 VkPhysicalDeviceProvokingVertexPropertiesEXT* forUnmarshaling) {
12537 (void)rootType;
12538 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12539 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12540 rootType = forUnmarshaling->sType;
12541 }
12542 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12543 vkStream->read((VkBool32*)&forUnmarshaling->provokingVertexModePerPipeline, sizeof(VkBool32));
12544 vkStream->read(
12545 (VkBool32*)&forUnmarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
12546 sizeof(VkBool32));
12547 }
12548
marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forMarshaling)12549 void marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
12550 VulkanStreamGuest* vkStream, VkStructureType rootType,
12551 const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling) {
12552 (void)rootType;
12553 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12554 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12555 rootType = forMarshaling->sType;
12556 }
12557 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12558 vkStream->write((VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
12559 sizeof(VkProvokingVertexModeEXT));
12560 }
12561
unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * forUnmarshaling)12562 void unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
12563 VulkanStreamGuest* vkStream, VkStructureType rootType,
12564 VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forUnmarshaling) {
12565 (void)rootType;
12566 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12567 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12568 rootType = forUnmarshaling->sType;
12569 }
12570 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12571 vkStream->read((VkProvokingVertexModeEXT*)&forUnmarshaling->provokingVertexMode,
12572 sizeof(VkProvokingVertexModeEXT));
12573 }
12574
12575 #endif
12576 #ifdef VK_EXT_extended_dynamic_state
marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forMarshaling)12577 void marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
12578 VulkanStreamGuest* vkStream, VkStructureType rootType,
12579 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling) {
12580 (void)rootType;
12581 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12582 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12583 rootType = forMarshaling->sType;
12584 }
12585 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12586 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState, sizeof(VkBool32));
12587 }
12588
unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * forUnmarshaling)12589 void unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
12590 VulkanStreamGuest* vkStream, VkStructureType rootType,
12591 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forUnmarshaling) {
12592 (void)rootType;
12593 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12594 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12595 rootType = forUnmarshaling->sType;
12596 }
12597 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12598 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState, sizeof(VkBool32));
12599 }
12600
12601 #endif
12602 #ifdef VK_EXT_host_image_copy
marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeaturesEXT * forMarshaling)12603 void marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
12604 VulkanStreamGuest* vkStream, VkStructureType rootType,
12605 const VkPhysicalDeviceHostImageCopyFeaturesEXT* forMarshaling) {
12606 (void)rootType;
12607 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12608 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12609 rootType = forMarshaling->sType;
12610 }
12611 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12612 vkStream->write((VkBool32*)&forMarshaling->hostImageCopy, sizeof(VkBool32));
12613 }
12614
unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceHostImageCopyFeaturesEXT * forUnmarshaling)12615 void unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
12616 VulkanStreamGuest* vkStream, VkStructureType rootType,
12617 VkPhysicalDeviceHostImageCopyFeaturesEXT* forUnmarshaling) {
12618 (void)rootType;
12619 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12620 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12621 rootType = forUnmarshaling->sType;
12622 }
12623 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12624 vkStream->read((VkBool32*)&forUnmarshaling->hostImageCopy, sizeof(VkBool32));
12625 }
12626
marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyPropertiesEXT * forMarshaling)12627 void marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
12628 VulkanStreamGuest* vkStream, VkStructureType rootType,
12629 const VkPhysicalDeviceHostImageCopyPropertiesEXT* forMarshaling) {
12630 (void)rootType;
12631 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12632 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12633 rootType = forMarshaling->sType;
12634 }
12635 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12636 vkStream->write((uint32_t*)&forMarshaling->copySrcLayoutCount, sizeof(uint32_t));
12637 // WARNING PTR CHECK
12638 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
12639 vkStream->putBe64(cgen_var_0);
12640 if (forMarshaling->pCopySrcLayouts) {
12641 vkStream->write((VkImageLayout*)forMarshaling->pCopySrcLayouts,
12642 forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
12643 }
12644 vkStream->write((uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
12645 // WARNING PTR CHECK
12646 uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
12647 vkStream->putBe64(cgen_var_1);
12648 if (forMarshaling->pCopyDstLayouts) {
12649 vkStream->write((VkImageLayout*)forMarshaling->pCopyDstLayouts,
12650 forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
12651 }
12652 vkStream->write((uint8_t*)forMarshaling->optimalTilingLayoutUUID,
12653 VK_UUID_SIZE * sizeof(uint8_t));
12654 vkStream->write((VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
12655 }
12656
unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceHostImageCopyPropertiesEXT * forUnmarshaling)12657 void unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
12658 VulkanStreamGuest* vkStream, VkStructureType rootType,
12659 VkPhysicalDeviceHostImageCopyPropertiesEXT* forUnmarshaling) {
12660 (void)rootType;
12661 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12662 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12663 rootType = forUnmarshaling->sType;
12664 }
12665 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12666 vkStream->read((uint32_t*)&forUnmarshaling->copySrcLayoutCount, sizeof(uint32_t));
12667 // WARNING PTR CHECK
12668 VkImageLayout* check_pCopySrcLayouts;
12669 check_pCopySrcLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
12670 if (forUnmarshaling->pCopySrcLayouts) {
12671 if (!(check_pCopySrcLayouts)) {
12672 fprintf(
12673 stderr,
12674 "fatal: forUnmarshaling->pCopySrcLayouts inconsistent between guest and host\n");
12675 }
12676 vkStream->read((VkImageLayout*)forUnmarshaling->pCopySrcLayouts,
12677 forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
12678 }
12679 vkStream->read((uint32_t*)&forUnmarshaling->copyDstLayoutCount, sizeof(uint32_t));
12680 // WARNING PTR CHECK
12681 VkImageLayout* check_pCopyDstLayouts;
12682 check_pCopyDstLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
12683 if (forUnmarshaling->pCopyDstLayouts) {
12684 if (!(check_pCopyDstLayouts)) {
12685 fprintf(
12686 stderr,
12687 "fatal: forUnmarshaling->pCopyDstLayouts inconsistent between guest and host\n");
12688 }
12689 vkStream->read((VkImageLayout*)forUnmarshaling->pCopyDstLayouts,
12690 forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
12691 }
12692 vkStream->read((uint8_t*)forUnmarshaling->optimalTilingLayoutUUID,
12693 VK_UUID_SIZE * sizeof(uint8_t));
12694 vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
12695 }
12696
marshal_VkMemoryToImageCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkMemoryToImageCopyEXT * forMarshaling)12697 void marshal_VkMemoryToImageCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12698 const VkMemoryToImageCopyEXT* forMarshaling) {
12699 (void)rootType;
12700 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12701 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12702 rootType = forMarshaling->sType;
12703 }
12704 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12705 vkStream->write((const void*)forMarshaling->pHostPointer, sizeof(const uint8_t));
12706 vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
12707 vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
12708 marshal_VkImageSubresourceLayers(vkStream, rootType,
12709 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
12710 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
12711 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
12712 }
12713
unmarshal_VkMemoryToImageCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkMemoryToImageCopyEXT * forUnmarshaling)12714 void unmarshal_VkMemoryToImageCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12715 VkMemoryToImageCopyEXT* forUnmarshaling) {
12716 (void)rootType;
12717 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12718 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12719 rootType = forUnmarshaling->sType;
12720 }
12721 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12722 vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(const uint8_t));
12723 vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
12724 vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, sizeof(uint32_t));
12725 unmarshal_VkImageSubresourceLayers(
12726 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
12727 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
12728 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
12729 }
12730
marshal_VkImageToMemoryCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageToMemoryCopyEXT * forMarshaling)12731 void marshal_VkImageToMemoryCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12732 const VkImageToMemoryCopyEXT* forMarshaling) {
12733 (void)rootType;
12734 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12735 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12736 rootType = forMarshaling->sType;
12737 }
12738 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12739 vkStream->write((void*)forMarshaling->pHostPointer, sizeof(uint8_t));
12740 vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
12741 vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, sizeof(uint32_t));
12742 marshal_VkImageSubresourceLayers(vkStream, rootType,
12743 (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
12744 marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset));
12745 marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent));
12746 }
12747
unmarshal_VkImageToMemoryCopyEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageToMemoryCopyEXT * forUnmarshaling)12748 void unmarshal_VkImageToMemoryCopyEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12749 VkImageToMemoryCopyEXT* forUnmarshaling) {
12750 (void)rootType;
12751 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12752 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12753 rootType = forUnmarshaling->sType;
12754 }
12755 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12756 vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t));
12757 vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
12758 vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, sizeof(uint32_t));
12759 unmarshal_VkImageSubresourceLayers(
12760 vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
12761 unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset));
12762 unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent));
12763 }
12764
marshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyMemoryToImageInfoEXT * forMarshaling)12765 void marshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12766 const VkCopyMemoryToImageInfoEXT* forMarshaling) {
12767 (void)rootType;
12768 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12769 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12770 rootType = forMarshaling->sType;
12771 }
12772 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12773 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
12774 sizeof(VkHostImageCopyFlagsEXT));
12775 uint64_t cgen_var_0;
12776 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_0, 1);
12777 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12778 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
12779 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12780 if (forMarshaling) {
12781 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12782 marshal_VkMemoryToImageCopyEXT(
12783 vkStream, rootType, (const VkMemoryToImageCopyEXT*)(forMarshaling->pRegions + i));
12784 }
12785 }
12786 }
12787
unmarshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyMemoryToImageInfoEXT * forUnmarshaling)12788 void unmarshal_VkCopyMemoryToImageInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12789 VkCopyMemoryToImageInfoEXT* forUnmarshaling) {
12790 (void)rootType;
12791 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12792 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12793 rootType = forUnmarshaling->sType;
12794 }
12795 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12796 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
12797 sizeof(VkHostImageCopyFlagsEXT));
12798 uint64_t cgen_var_0;
12799 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12800 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12801 (VkImage*)&forUnmarshaling->dstImage, 1);
12802 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
12803 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12804 if (forUnmarshaling) {
12805 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12806 unmarshal_VkMemoryToImageCopyEXT(
12807 vkStream, rootType, (VkMemoryToImageCopyEXT*)(forUnmarshaling->pRegions + i));
12808 }
12809 }
12810 }
12811
marshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToMemoryInfoEXT * forMarshaling)12812 void marshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12813 const VkCopyImageToMemoryInfoEXT* forMarshaling) {
12814 (void)rootType;
12815 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12816 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12817 rootType = forMarshaling->sType;
12818 }
12819 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12820 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
12821 sizeof(VkHostImageCopyFlagsEXT));
12822 uint64_t cgen_var_0;
12823 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
12824 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12825 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
12826 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12827 if (forMarshaling) {
12828 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12829 marshal_VkImageToMemoryCopyEXT(
12830 vkStream, rootType, (const VkImageToMemoryCopyEXT*)(forMarshaling->pRegions + i));
12831 }
12832 }
12833 }
12834
unmarshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyImageToMemoryInfoEXT * forUnmarshaling)12835 void unmarshal_VkCopyImageToMemoryInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12836 VkCopyImageToMemoryInfoEXT* forUnmarshaling) {
12837 (void)rootType;
12838 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12839 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12840 rootType = forUnmarshaling->sType;
12841 }
12842 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12843 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
12844 sizeof(VkHostImageCopyFlagsEXT));
12845 uint64_t cgen_var_0;
12846 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12847 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12848 (VkImage*)&forUnmarshaling->srcImage, 1);
12849 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
12850 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12851 if (forUnmarshaling) {
12852 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12853 unmarshal_VkImageToMemoryCopyEXT(
12854 vkStream, rootType, (VkImageToMemoryCopyEXT*)(forUnmarshaling->pRegions + i));
12855 }
12856 }
12857 }
12858
marshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCopyImageToImageInfoEXT * forMarshaling)12859 void marshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12860 const VkCopyImageToImageInfoEXT* forMarshaling) {
12861 (void)rootType;
12862 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12863 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12864 rootType = forMarshaling->sType;
12865 }
12866 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12867 vkStream->write((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
12868 sizeof(VkHostImageCopyFlagsEXT));
12869 uint64_t cgen_var_0;
12870 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1);
12871 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12872 vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout));
12873 uint64_t cgen_var_1;
12874 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1);
12875 vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
12876 vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout));
12877 vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
12878 if (forMarshaling) {
12879 for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
12880 marshal_VkImageCopy2(vkStream, rootType,
12881 (const VkImageCopy2*)(forMarshaling->pRegions + i));
12882 }
12883 }
12884 }
12885
unmarshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCopyImageToImageInfoEXT * forUnmarshaling)12886 void unmarshal_VkCopyImageToImageInfoEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12887 VkCopyImageToImageInfoEXT* forUnmarshaling) {
12888 (void)rootType;
12889 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12890 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12891 rootType = forUnmarshaling->sType;
12892 }
12893 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12894 vkStream->read((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
12895 sizeof(VkHostImageCopyFlagsEXT));
12896 uint64_t cgen_var_0;
12897 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12898 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12899 (VkImage*)&forUnmarshaling->srcImage, 1);
12900 vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout));
12901 uint64_t cgen_var_1;
12902 vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
12903 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1,
12904 (VkImage*)&forUnmarshaling->dstImage, 1);
12905 vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout));
12906 vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
12907 if (forUnmarshaling) {
12908 for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
12909 unmarshal_VkImageCopy2(vkStream, rootType,
12910 (VkImageCopy2*)(forUnmarshaling->pRegions + i));
12911 }
12912 }
12913 }
12914
marshal_VkHostImageLayoutTransitionInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageLayoutTransitionInfoEXT * forMarshaling)12915 void marshal_VkHostImageLayoutTransitionInfoEXT(
12916 VulkanStreamGuest* vkStream, VkStructureType rootType,
12917 const VkHostImageLayoutTransitionInfoEXT* forMarshaling) {
12918 (void)rootType;
12919 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12920 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12921 rootType = forMarshaling->sType;
12922 }
12923 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12924 uint64_t cgen_var_0;
12925 vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1);
12926 vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
12927 vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
12928 vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
12929 marshal_VkImageSubresourceRange(vkStream, rootType,
12930 (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
12931 }
12932
unmarshal_VkHostImageLayoutTransitionInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkHostImageLayoutTransitionInfoEXT * forUnmarshaling)12933 void unmarshal_VkHostImageLayoutTransitionInfoEXT(
12934 VulkanStreamGuest* vkStream, VkStructureType rootType,
12935 VkHostImageLayoutTransitionInfoEXT* forUnmarshaling) {
12936 (void)rootType;
12937 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12938 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12939 rootType = forUnmarshaling->sType;
12940 }
12941 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12942 uint64_t cgen_var_0;
12943 vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
12944 vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
12945 (VkImage*)&forUnmarshaling->image, 1);
12946 vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
12947 vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
12948 unmarshal_VkImageSubresourceRange(
12949 vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
12950 }
12951
marshal_VkSubresourceHostMemcpySizeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSubresourceHostMemcpySizeEXT * forMarshaling)12952 void marshal_VkSubresourceHostMemcpySizeEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12953 const VkSubresourceHostMemcpySizeEXT* forMarshaling) {
12954 (void)rootType;
12955 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12956 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12957 rootType = forMarshaling->sType;
12958 }
12959 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12960 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
12961 }
12962
unmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSubresourceHostMemcpySizeEXT * forUnmarshaling)12963 void unmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
12964 VkSubresourceHostMemcpySizeEXT* forUnmarshaling) {
12965 (void)rootType;
12966 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12967 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12968 rootType = forUnmarshaling->sType;
12969 }
12970 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12971 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
12972 }
12973
marshal_VkHostImageCopyDevicePerformanceQueryEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQueryEXT * forMarshaling)12974 void marshal_VkHostImageCopyDevicePerformanceQueryEXT(
12975 VulkanStreamGuest* vkStream, VkStructureType rootType,
12976 const VkHostImageCopyDevicePerformanceQueryEXT* forMarshaling) {
12977 (void)rootType;
12978 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
12979 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12980 rootType = forMarshaling->sType;
12981 }
12982 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
12983 vkStream->write((VkBool32*)&forMarshaling->optimalDeviceAccess, sizeof(VkBool32));
12984 vkStream->write((VkBool32*)&forMarshaling->identicalMemoryLayout, sizeof(VkBool32));
12985 }
12986
unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkHostImageCopyDevicePerformanceQueryEXT * forUnmarshaling)12987 void unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
12988 VulkanStreamGuest* vkStream, VkStructureType rootType,
12989 VkHostImageCopyDevicePerformanceQueryEXT* forUnmarshaling) {
12990 (void)rootType;
12991 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
12992 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12993 rootType = forUnmarshaling->sType;
12994 }
12995 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
12996 vkStream->read((VkBool32*)&forUnmarshaling->optimalDeviceAccess, sizeof(VkBool32));
12997 vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryLayout, sizeof(VkBool32));
12998 }
12999
13000 #endif
13001 #ifdef VK_EXT_texel_buffer_alignment
marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forMarshaling)13002 void marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
13003 VulkanStreamGuest* vkStream, VkStructureType rootType,
13004 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling) {
13005 (void)rootType;
13006 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13007 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13008 rootType = forMarshaling->sType;
13009 }
13010 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13011 vkStream->write((VkBool32*)&forMarshaling->texelBufferAlignment, sizeof(VkBool32));
13012 }
13013
unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * forUnmarshaling)13014 void unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
13015 VulkanStreamGuest* vkStream, VkStructureType rootType,
13016 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forUnmarshaling) {
13017 (void)rootType;
13018 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13019 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13020 rootType = forUnmarshaling->sType;
13021 }
13022 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13023 vkStream->read((VkBool32*)&forUnmarshaling->texelBufferAlignment, sizeof(VkBool32));
13024 }
13025
13026 #endif
13027 #ifdef VK_EXT_device_memory_report
marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forMarshaling)13028 void marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
13029 VulkanStreamGuest* vkStream, VkStructureType rootType,
13030 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling) {
13031 (void)rootType;
13032 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13033 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13034 rootType = forMarshaling->sType;
13035 }
13036 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13037 vkStream->write((VkBool32*)&forMarshaling->deviceMemoryReport, sizeof(VkBool32));
13038 }
13039
unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * forUnmarshaling)13040 void unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
13041 VulkanStreamGuest* vkStream, VkStructureType rootType,
13042 VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forUnmarshaling) {
13043 (void)rootType;
13044 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13045 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13046 rootType = forUnmarshaling->sType;
13047 }
13048 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13049 vkStream->read((VkBool32*)&forUnmarshaling->deviceMemoryReport, sizeof(VkBool32));
13050 }
13051
marshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * forMarshaling)13052 void marshal_VkDeviceMemoryReportCallbackDataEXT(
13053 VulkanStreamGuest* vkStream, VkStructureType rootType,
13054 const VkDeviceMemoryReportCallbackDataEXT* forMarshaling) {
13055 (void)rootType;
13056 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13057 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13058 rootType = forMarshaling->sType;
13059 }
13060 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13061 vkStream->write((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
13062 sizeof(VkDeviceMemoryReportFlagsEXT));
13063 vkStream->write((VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
13064 sizeof(VkDeviceMemoryReportEventTypeEXT));
13065 vkStream->write((uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
13066 vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
13067 vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
13068 vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
13069 vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
13070 }
13071
unmarshal_VkDeviceMemoryReportCallbackDataEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceMemoryReportCallbackDataEXT * forUnmarshaling)13072 void unmarshal_VkDeviceMemoryReportCallbackDataEXT(
13073 VulkanStreamGuest* vkStream, VkStructureType rootType,
13074 VkDeviceMemoryReportCallbackDataEXT* forUnmarshaling) {
13075 (void)rootType;
13076 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13077 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13078 rootType = forUnmarshaling->sType;
13079 }
13080 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13081 vkStream->read((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
13082 sizeof(VkDeviceMemoryReportFlagsEXT));
13083 vkStream->read((VkDeviceMemoryReportEventTypeEXT*)&forUnmarshaling->type,
13084 sizeof(VkDeviceMemoryReportEventTypeEXT));
13085 vkStream->read((uint64_t*)&forUnmarshaling->memoryObjectId, sizeof(uint64_t));
13086 vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
13087 vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
13088 vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
13089 vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
13090 }
13091
marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * forMarshaling)13092 void marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
13093 VulkanStreamGuest* vkStream, VkStructureType rootType,
13094 const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling) {
13095 (void)rootType;
13096 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13097 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13098 rootType = forMarshaling->sType;
13099 }
13100 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13101 vkStream->write((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
13102 sizeof(VkDeviceMemoryReportFlagsEXT));
13103 uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
13104 vkStream->putBe64(cgen_var_0);
13105 vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
13106 }
13107
unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkDeviceDeviceMemoryReportCreateInfoEXT * forUnmarshaling)13108 void unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
13109 VulkanStreamGuest* vkStream, VkStructureType rootType,
13110 VkDeviceDeviceMemoryReportCreateInfoEXT* forUnmarshaling) {
13111 (void)rootType;
13112 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13113 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13114 rootType = forUnmarshaling->sType;
13115 }
13116 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13117 vkStream->read((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
13118 sizeof(VkDeviceMemoryReportFlagsEXT));
13119 forUnmarshaling->pfnUserCallback = (PFN_vkDeviceMemoryReportCallbackEXT)vkStream->getBe64();
13120 vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
13121 }
13122
13123 #endif
13124 #ifdef VK_EXT_robustness2
marshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * forMarshaling)13125 void marshal_VkPhysicalDeviceRobustness2FeaturesEXT(
13126 VulkanStreamGuest* vkStream, VkStructureType rootType,
13127 const VkPhysicalDeviceRobustness2FeaturesEXT* forMarshaling) {
13128 (void)rootType;
13129 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13130 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13131 rootType = forMarshaling->sType;
13132 }
13133 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13134 vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess2, sizeof(VkBool32));
13135 vkStream->write((VkBool32*)&forMarshaling->robustImageAccess2, sizeof(VkBool32));
13136 vkStream->write((VkBool32*)&forMarshaling->nullDescriptor, sizeof(VkBool32));
13137 }
13138
unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceRobustness2FeaturesEXT * forUnmarshaling)13139 void unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
13140 VulkanStreamGuest* vkStream, VkStructureType rootType,
13141 VkPhysicalDeviceRobustness2FeaturesEXT* forUnmarshaling) {
13142 (void)rootType;
13143 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13144 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13145 rootType = forUnmarshaling->sType;
13146 }
13147 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13148 vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess2, sizeof(VkBool32));
13149 vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess2, sizeof(VkBool32));
13150 vkStream->read((VkBool32*)&forUnmarshaling->nullDescriptor, sizeof(VkBool32));
13151 }
13152
marshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * forMarshaling)13153 void marshal_VkPhysicalDeviceRobustness2PropertiesEXT(
13154 VulkanStreamGuest* vkStream, VkStructureType rootType,
13155 const VkPhysicalDeviceRobustness2PropertiesEXT* forMarshaling) {
13156 (void)rootType;
13157 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13158 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13159 rootType = forMarshaling->sType;
13160 }
13161 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13162 vkStream->write((VkDeviceSize*)&forMarshaling->robustStorageBufferAccessSizeAlignment,
13163 sizeof(VkDeviceSize));
13164 vkStream->write((VkDeviceSize*)&forMarshaling->robustUniformBufferAccessSizeAlignment,
13165 sizeof(VkDeviceSize));
13166 }
13167
unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceRobustness2PropertiesEXT * forUnmarshaling)13168 void unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
13169 VulkanStreamGuest* vkStream, VkStructureType rootType,
13170 VkPhysicalDeviceRobustness2PropertiesEXT* forUnmarshaling) {
13171 (void)rootType;
13172 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13173 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13174 rootType = forUnmarshaling->sType;
13175 }
13176 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13177 vkStream->read((VkDeviceSize*)&forUnmarshaling->robustStorageBufferAccessSizeAlignment,
13178 sizeof(VkDeviceSize));
13179 vkStream->read((VkDeviceSize*)&forUnmarshaling->robustUniformBufferAccessSizeAlignment,
13180 sizeof(VkDeviceSize));
13181 }
13182
13183 #endif
13184 #ifdef VK_EXT_custom_border_color
marshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * forMarshaling)13185 void marshal_VkSamplerCustomBorderColorCreateInfoEXT(
13186 VulkanStreamGuest* vkStream, VkStructureType rootType,
13187 const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling) {
13188 (void)rootType;
13189 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13190 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13191 rootType = forMarshaling->sType;
13192 }
13193 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13194 marshal_VkClearColorValue(vkStream, rootType,
13195 (VkClearColorValue*)(&forMarshaling->customBorderColor));
13196 vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
13197 }
13198
unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkSamplerCustomBorderColorCreateInfoEXT * forUnmarshaling)13199 void unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
13200 VulkanStreamGuest* vkStream, VkStructureType rootType,
13201 VkSamplerCustomBorderColorCreateInfoEXT* forUnmarshaling) {
13202 (void)rootType;
13203 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13204 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13205 rootType = forUnmarshaling->sType;
13206 }
13207 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13208 unmarshal_VkClearColorValue(vkStream, rootType,
13209 (VkClearColorValue*)(&forUnmarshaling->customBorderColor));
13210 vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
13211 }
13212
marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * forMarshaling)13213 void marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
13214 VulkanStreamGuest* vkStream, VkStructureType rootType,
13215 const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling) {
13216 (void)rootType;
13217 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13218 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13219 rootType = forMarshaling->sType;
13220 }
13221 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13222 vkStream->write((uint32_t*)&forMarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
13223 }
13224
unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceCustomBorderColorPropertiesEXT * forUnmarshaling)13225 void unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
13226 VulkanStreamGuest* vkStream, VkStructureType rootType,
13227 VkPhysicalDeviceCustomBorderColorPropertiesEXT* forUnmarshaling) {
13228 (void)rootType;
13229 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13230 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13231 rootType = forUnmarshaling->sType;
13232 }
13233 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13234 vkStream->read((uint32_t*)&forUnmarshaling->maxCustomBorderColorSamplers, sizeof(uint32_t));
13235 }
13236
marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * forMarshaling)13237 void marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
13238 VulkanStreamGuest* vkStream, VkStructureType rootType,
13239 const VkPhysicalDeviceCustomBorderColorFeaturesEXT* 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((VkBool32*)&forMarshaling->customBorderColors, sizeof(VkBool32));
13247 vkStream->write((VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
13248 }
13249
unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceCustomBorderColorFeaturesEXT * forUnmarshaling)13250 void unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
13251 VulkanStreamGuest* vkStream, VkStructureType rootType,
13252 VkPhysicalDeviceCustomBorderColorFeaturesEXT* forUnmarshaling) {
13253 (void)rootType;
13254 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13255 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13256 rootType = forUnmarshaling->sType;
13257 }
13258 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13259 vkStream->read((VkBool32*)&forUnmarshaling->customBorderColors, sizeof(VkBool32));
13260 vkStream->read((VkBool32*)&forUnmarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
13261 }
13262
13263 #endif
13264 #ifdef VK_EXT_graphics_pipeline_library
marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forMarshaling)13265 void marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
13266 VulkanStreamGuest* vkStream, VkStructureType rootType,
13267 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling) {
13268 (void)rootType;
13269 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13270 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13271 rootType = forMarshaling->sType;
13272 }
13273 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13274 vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
13275 }
13276
unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * forUnmarshaling)13277 void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
13278 VulkanStreamGuest* vkStream, VkStructureType rootType,
13279 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forUnmarshaling) {
13280 (void)rootType;
13281 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13282 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13283 rootType = forUnmarshaling->sType;
13284 }
13285 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13286 vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibrary, sizeof(VkBool32));
13287 }
13288
marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forMarshaling)13289 void marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
13290 VulkanStreamGuest* vkStream, VkStructureType rootType,
13291 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling) {
13292 (void)rootType;
13293 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13294 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13295 rootType = forMarshaling->sType;
13296 }
13297 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13298 vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking,
13299 sizeof(VkBool32));
13300 vkStream->write(
13301 (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
13302 sizeof(VkBool32));
13303 }
13304
unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * forUnmarshaling)13305 void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
13306 VulkanStreamGuest* vkStream, VkStructureType rootType,
13307 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forUnmarshaling) {
13308 (void)rootType;
13309 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13310 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13311 rootType = forUnmarshaling->sType;
13312 }
13313 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13314 vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibraryFastLinking,
13315 sizeof(VkBool32));
13316 vkStream->read(
13317 (VkBool32*)&forUnmarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
13318 sizeof(VkBool32));
13319 }
13320
marshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * forMarshaling)13321 void marshal_VkGraphicsPipelineLibraryCreateInfoEXT(
13322 VulkanStreamGuest* vkStream, VkStructureType rootType,
13323 const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling) {
13324 (void)rootType;
13325 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13326 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13327 rootType = forMarshaling->sType;
13328 }
13329 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13330 vkStream->write((VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags,
13331 sizeof(VkGraphicsPipelineLibraryFlagsEXT));
13332 }
13333
unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkGraphicsPipelineLibraryCreateInfoEXT * forUnmarshaling)13334 void unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
13335 VulkanStreamGuest* vkStream, VkStructureType rootType,
13336 VkGraphicsPipelineLibraryCreateInfoEXT* forUnmarshaling) {
13337 (void)rootType;
13338 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13339 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13340 rootType = forUnmarshaling->sType;
13341 }
13342 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13343 vkStream->read((VkGraphicsPipelineLibraryFlagsEXT*)&forUnmarshaling->flags,
13344 sizeof(VkGraphicsPipelineLibraryFlagsEXT));
13345 }
13346
13347 #endif
13348 #ifdef VK_EXT_ycbcr_2plane_444_formats
marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forMarshaling)13349 void marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
13350 VulkanStreamGuest* vkStream, VkStructureType rootType,
13351 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forMarshaling) {
13352 (void)rootType;
13353 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13354 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13355 rootType = forMarshaling->sType;
13356 }
13357 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13358 vkStream->write((VkBool32*)&forMarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
13359 }
13360
unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * forUnmarshaling)13361 void unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
13362 VulkanStreamGuest* vkStream, VkStructureType rootType,
13363 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forUnmarshaling) {
13364 (void)rootType;
13365 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13366 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13367 rootType = forUnmarshaling->sType;
13368 }
13369 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13370 vkStream->read((VkBool32*)&forUnmarshaling->ycbcr2plane444Formats, sizeof(VkBool32));
13371 }
13372
13373 #endif
13374 #ifdef VK_EXT_image_compression_control
marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * forMarshaling)13375 void marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
13376 VulkanStreamGuest* vkStream, VkStructureType rootType,
13377 const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling) {
13378 (void)rootType;
13379 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13380 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13381 rootType = forMarshaling->sType;
13382 }
13383 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13384 vkStream->write((VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32));
13385 }
13386
unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImageCompressionControlFeaturesEXT * forUnmarshaling)13387 void unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
13388 VulkanStreamGuest* vkStream, VkStructureType rootType,
13389 VkPhysicalDeviceImageCompressionControlFeaturesEXT* forUnmarshaling) {
13390 (void)rootType;
13391 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13392 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13393 rootType = forUnmarshaling->sType;
13394 }
13395 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13396 vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControl, sizeof(VkBool32));
13397 }
13398
marshal_VkImageCompressionControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionControlEXT * forMarshaling)13399 void marshal_VkImageCompressionControlEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
13400 const VkImageCompressionControlEXT* forMarshaling) {
13401 (void)rootType;
13402 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13403 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13404 rootType = forMarshaling->sType;
13405 }
13406 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13407 vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->flags,
13408 sizeof(VkImageCompressionFlagsEXT));
13409 vkStream->write((uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t));
13410 // WARNING PTR CHECK
13411 uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags;
13412 vkStream->putBe64(cgen_var_0);
13413 if (forMarshaling->pFixedRateFlags) {
13414 vkStream->write((VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags,
13415 forMarshaling->compressionControlPlaneCount *
13416 sizeof(VkImageCompressionFixedRateFlagsEXT));
13417 }
13418 }
13419
unmarshal_VkImageCompressionControlEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageCompressionControlEXT * forUnmarshaling)13420 void unmarshal_VkImageCompressionControlEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
13421 VkImageCompressionControlEXT* forUnmarshaling) {
13422 (void)rootType;
13423 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13424 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13425 rootType = forUnmarshaling->sType;
13426 }
13427 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13428 vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->flags,
13429 sizeof(VkImageCompressionFlagsEXT));
13430 vkStream->read((uint32_t*)&forUnmarshaling->compressionControlPlaneCount, sizeof(uint32_t));
13431 // WARNING PTR CHECK
13432 VkImageCompressionFixedRateFlagsEXT* check_pFixedRateFlags;
13433 check_pFixedRateFlags = (VkImageCompressionFixedRateFlagsEXT*)(uintptr_t)vkStream->getBe64();
13434 if (forUnmarshaling->pFixedRateFlags) {
13435 if (!(check_pFixedRateFlags)) {
13436 fprintf(
13437 stderr,
13438 "fatal: forUnmarshaling->pFixedRateFlags inconsistent between guest and host\n");
13439 }
13440 vkStream->read((VkImageCompressionFixedRateFlagsEXT*)forUnmarshaling->pFixedRateFlags,
13441 forUnmarshaling->compressionControlPlaneCount *
13442 sizeof(VkImageCompressionFixedRateFlagsEXT));
13443 }
13444 }
13445
marshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImageCompressionPropertiesEXT * forMarshaling)13446 void marshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest* vkStream, VkStructureType rootType,
13447 const VkImageCompressionPropertiesEXT* forMarshaling) {
13448 (void)rootType;
13449 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13450 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13451 rootType = forMarshaling->sType;
13452 }
13453 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13454 vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags,
13455 sizeof(VkImageCompressionFlagsEXT));
13456 vkStream->write(
13457 (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags,
13458 sizeof(VkImageCompressionFixedRateFlagsEXT));
13459 }
13460
unmarshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImageCompressionPropertiesEXT * forUnmarshaling)13461 void unmarshal_VkImageCompressionPropertiesEXT(VulkanStreamGuest* vkStream,
13462 VkStructureType rootType,
13463 VkImageCompressionPropertiesEXT* forUnmarshaling) {
13464 (void)rootType;
13465 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13466 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13467 rootType = forUnmarshaling->sType;
13468 }
13469 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13470 vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->imageCompressionFlags,
13471 sizeof(VkImageCompressionFlagsEXT));
13472 vkStream->read(
13473 (VkImageCompressionFixedRateFlagsEXT*)&forUnmarshaling->imageCompressionFixedRateFlags,
13474 sizeof(VkImageCompressionFixedRateFlagsEXT));
13475 }
13476
13477 #endif
13478 #ifdef VK_EXT_4444_formats
marshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * forMarshaling)13479 void marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
13480 VulkanStreamGuest* vkStream, VkStructureType rootType,
13481 const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling) {
13482 (void)rootType;
13483 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13484 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13485 rootType = forMarshaling->sType;
13486 }
13487 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13488 vkStream->write((VkBool32*)&forMarshaling->formatA4R4G4B4, sizeof(VkBool32));
13489 vkStream->write((VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
13490 }
13491
unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevice4444FormatsFeaturesEXT * forUnmarshaling)13492 void unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
13493 VulkanStreamGuest* vkStream, VkStructureType rootType,
13494 VkPhysicalDevice4444FormatsFeaturesEXT* forUnmarshaling) {
13495 (void)rootType;
13496 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13497 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13498 rootType = forUnmarshaling->sType;
13499 }
13500 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13501 vkStream->read((VkBool32*)&forUnmarshaling->formatA4R4G4B4, sizeof(VkBool32));
13502 vkStream->read((VkBool32*)&forUnmarshaling->formatA4B4G4R4, sizeof(VkBool32));
13503 }
13504
13505 #endif
13506 #ifdef VK_EXT_primitive_topology_list_restart
marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forMarshaling)13507 void marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
13508 VulkanStreamGuest* vkStream, VkStructureType rootType,
13509 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling) {
13510 (void)rootType;
13511 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13512 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13513 rootType = forMarshaling->sType;
13514 }
13515 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13516 vkStream->write((VkBool32*)&forMarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
13517 vkStream->write((VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
13518 }
13519
unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * forUnmarshaling)13520 void unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
13521 VulkanStreamGuest* vkStream, VkStructureType rootType,
13522 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forUnmarshaling) {
13523 (void)rootType;
13524 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13525 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13526 rootType = forUnmarshaling->sType;
13527 }
13528 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13529 vkStream->read((VkBool32*)&forUnmarshaling->primitiveTopologyListRestart, sizeof(VkBool32));
13530 vkStream->read((VkBool32*)&forUnmarshaling->primitiveTopologyPatchListRestart,
13531 sizeof(VkBool32));
13532 }
13533
13534 #endif
13535 #ifdef VK_EXT_extended_dynamic_state2
marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forMarshaling)13536 void marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
13537 VulkanStreamGuest* vkStream, VkStructureType rootType,
13538 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling) {
13539 (void)rootType;
13540 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13541 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13542 rootType = forMarshaling->sType;
13543 }
13544 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13545 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2, sizeof(VkBool32));
13546 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
13547 vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
13548 sizeof(VkBool32));
13549 }
13550
unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * forUnmarshaling)13551 void unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
13552 VulkanStreamGuest* vkStream, VkStructureType rootType,
13553 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forUnmarshaling) {
13554 (void)rootType;
13555 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13556 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13557 rootType = forUnmarshaling->sType;
13558 }
13559 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13560 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2, sizeof(VkBool32));
13561 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
13562 vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2PatchControlPoints,
13563 sizeof(VkBool32));
13564 }
13565
13566 #endif
13567 #ifdef VK_EXT_color_write_enable
marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * forMarshaling)13568 void marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
13569 VulkanStreamGuest* vkStream, VkStructureType rootType,
13570 const VkPhysicalDeviceColorWriteEnableFeaturesEXT* forMarshaling) {
13571 (void)rootType;
13572 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13573 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13574 rootType = forMarshaling->sType;
13575 }
13576 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13577 vkStream->write((VkBool32*)&forMarshaling->colorWriteEnable, sizeof(VkBool32));
13578 }
13579
unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceColorWriteEnableFeaturesEXT * forUnmarshaling)13580 void unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
13581 VulkanStreamGuest* vkStream, VkStructureType rootType,
13582 VkPhysicalDeviceColorWriteEnableFeaturesEXT* forUnmarshaling) {
13583 (void)rootType;
13584 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13585 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13586 rootType = forUnmarshaling->sType;
13587 }
13588 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13589 vkStream->read((VkBool32*)&forUnmarshaling->colorWriteEnable, sizeof(VkBool32));
13590 }
13591
marshal_VkPipelineColorWriteCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * forMarshaling)13592 void marshal_VkPipelineColorWriteCreateInfoEXT(
13593 VulkanStreamGuest* vkStream, VkStructureType rootType,
13594 const VkPipelineColorWriteCreateInfoEXT* forMarshaling) {
13595 (void)rootType;
13596 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13597 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13598 rootType = forMarshaling->sType;
13599 }
13600 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13601 vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
13602 vkStream->write((const VkBool32*)forMarshaling->pColorWriteEnables,
13603 forMarshaling->attachmentCount * sizeof(const VkBool32));
13604 }
13605
unmarshal_VkPipelineColorWriteCreateInfoEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPipelineColorWriteCreateInfoEXT * forUnmarshaling)13606 void unmarshal_VkPipelineColorWriteCreateInfoEXT(
13607 VulkanStreamGuest* vkStream, VkStructureType rootType,
13608 VkPipelineColorWriteCreateInfoEXT* forUnmarshaling) {
13609 (void)rootType;
13610 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13611 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13612 rootType = forUnmarshaling->sType;
13613 }
13614 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13615 vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
13616 vkStream->read((VkBool32*)forUnmarshaling->pColorWriteEnables,
13617 forUnmarshaling->attachmentCount * sizeof(const VkBool32));
13618 }
13619
13620 #endif
13621 #ifdef VK_GOOGLE_gfxstream
marshal_VkImportColorBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportColorBufferGOOGLE * forMarshaling)13622 void marshal_VkImportColorBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13623 const VkImportColorBufferGOOGLE* forMarshaling) {
13624 (void)rootType;
13625 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13626 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13627 rootType = forMarshaling->sType;
13628 }
13629 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13630 vkStream->write((uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
13631 }
13632
unmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImportColorBufferGOOGLE * forUnmarshaling)13633 void unmarshal_VkImportColorBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13634 VkImportColorBufferGOOGLE* forUnmarshaling) {
13635 (void)rootType;
13636 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13637 forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE;
13638 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13639 rootType = forUnmarshaling->sType;
13640 }
13641 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13642 vkStream->read((uint32_t*)&forUnmarshaling->colorBuffer, sizeof(uint32_t));
13643 }
13644
marshal_VkImportBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkImportBufferGOOGLE * forMarshaling)13645 void marshal_VkImportBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13646 const VkImportBufferGOOGLE* forMarshaling) {
13647 (void)rootType;
13648 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13649 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13650 rootType = forMarshaling->sType;
13651 }
13652 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13653 vkStream->write((uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
13654 }
13655
unmarshal_VkImportBufferGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,VkImportBufferGOOGLE * forUnmarshaling)13656 void unmarshal_VkImportBufferGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13657 VkImportBufferGOOGLE* forUnmarshaling) {
13658 (void)rootType;
13659 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13660 forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE;
13661 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13662 rootType = forUnmarshaling->sType;
13663 }
13664 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13665 vkStream->read((uint32_t*)&forUnmarshaling->buffer, sizeof(uint32_t));
13666 }
13667
marshal_VkCreateBlobGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkCreateBlobGOOGLE * forMarshaling)13668 void marshal_VkCreateBlobGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13669 const VkCreateBlobGOOGLE* forMarshaling) {
13670 (void)rootType;
13671 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13672 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13673 rootType = forMarshaling->sType;
13674 }
13675 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13676 vkStream->write((uint32_t*)&forMarshaling->blobMem, sizeof(uint32_t));
13677 vkStream->write((uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
13678 vkStream->write((uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
13679 }
13680
unmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest * vkStream,VkStructureType rootType,VkCreateBlobGOOGLE * forUnmarshaling)13681 void unmarshal_VkCreateBlobGOOGLE(VulkanStreamGuest* vkStream, VkStructureType rootType,
13682 VkCreateBlobGOOGLE* forUnmarshaling) {
13683 (void)rootType;
13684 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13685 forUnmarshaling->sType = VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE;
13686 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13687 rootType = forUnmarshaling->sType;
13688 }
13689 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13690 vkStream->read((uint32_t*)&forUnmarshaling->blobMem, sizeof(uint32_t));
13691 vkStream->read((uint32_t*)&forUnmarshaling->blobFlags, sizeof(uint32_t));
13692 vkStream->read((uint64_t*)&forUnmarshaling->blobId, sizeof(uint64_t));
13693 }
13694
13695 #endif
13696 #ifdef VK_EXT_image_compression_control_swapchain
marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forMarshaling)13697 void marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
13698 VulkanStreamGuest* vkStream, VkStructureType rootType,
13699 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling) {
13700 (void)rootType;
13701 vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
13702 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13703 rootType = forMarshaling->sType;
13704 }
13705 marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
13706 vkStream->write((VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
13707 }
13708
unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(VulkanStreamGuest * vkStream,VkStructureType rootType,VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * forUnmarshaling)13709 void unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
13710 VulkanStreamGuest* vkStream, VkStructureType rootType,
13711 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forUnmarshaling) {
13712 (void)rootType;
13713 vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
13714 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13715 rootType = forUnmarshaling->sType;
13716 }
13717 unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
13718 vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControlSwapchain, sizeof(VkBool32));
13719 }
13720
13721 #endif
marshal_extension_struct(VulkanStreamGuest * vkStream,VkStructureType rootType,const void * structExtension)13722 void marshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
13723 const void* structExtension) {
13724 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
13725 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
13726 vkStream->getFeatureBits(), rootType, structExtension);
13727 if (!currExtSize && structExtension) {
13728 // unknown struct extension; skip and call on its pNext field
13729 marshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
13730 return;
13731 } else {
13732 // known or null extension struct
13733 vkStream->putBe32(currExtSize);
13734 if (!currExtSize) {
13735 // exit if this was a null extension struct (size == 0 in this branch)
13736 return;
13737 }
13738 }
13739 vkStream->write(structExtension, sizeof(VkStructureType));
13740 if (!structExtension) {
13741 return;
13742 }
13743 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
13744 switch (structType) {
13745 #ifdef VK_VERSION_1_0
13746 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
13747 marshal_VkShaderModuleCreateInfo(
13748 vkStream, rootType,
13749 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension));
13750 break;
13751 }
13752 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: {
13753 marshal_VkPipelineLayoutCreateInfo(
13754 vkStream, rootType,
13755 reinterpret_cast<const VkPipelineLayoutCreateInfo*>(structExtension));
13756 break;
13757 }
13758 #endif
13759 #ifdef VK_VERSION_1_1
13760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
13761 marshal_VkPhysicalDeviceSubgroupProperties(
13762 vkStream, rootType,
13763 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension));
13764 break;
13765 }
13766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
13767 marshal_VkPhysicalDevice16BitStorageFeatures(
13768 vkStream, rootType,
13769 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension));
13770 break;
13771 }
13772 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
13773 marshal_VkMemoryDedicatedRequirements(
13774 vkStream, rootType,
13775 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension));
13776 break;
13777 }
13778 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
13779 marshal_VkMemoryDedicatedAllocateInfo(
13780 vkStream, rootType,
13781 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension));
13782 break;
13783 }
13784 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
13785 marshal_VkMemoryAllocateFlagsInfo(
13786 vkStream, rootType,
13787 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension));
13788 break;
13789 }
13790 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
13791 marshal_VkDeviceGroupRenderPassBeginInfo(
13792 vkStream, rootType,
13793 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension));
13794 break;
13795 }
13796 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
13797 marshal_VkDeviceGroupCommandBufferBeginInfo(
13798 vkStream, rootType,
13799 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension));
13800 break;
13801 }
13802 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
13803 marshal_VkDeviceGroupSubmitInfo(
13804 vkStream, rootType,
13805 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension));
13806 break;
13807 }
13808 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
13809 marshal_VkDeviceGroupBindSparseInfo(
13810 vkStream, rootType,
13811 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension));
13812 break;
13813 }
13814 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
13815 marshal_VkBindBufferMemoryDeviceGroupInfo(
13816 vkStream, rootType,
13817 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension));
13818 break;
13819 }
13820 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
13821 marshal_VkBindImageMemoryDeviceGroupInfo(
13822 vkStream, rootType,
13823 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension));
13824 break;
13825 }
13826 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
13827 marshal_VkDeviceGroupDeviceCreateInfo(
13828 vkStream, rootType,
13829 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension));
13830 break;
13831 }
13832 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
13833 marshal_VkPhysicalDeviceFeatures2(
13834 vkStream, rootType,
13835 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension));
13836 break;
13837 }
13838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
13839 marshal_VkPhysicalDevicePointClippingProperties(
13840 vkStream, rootType,
13841 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension));
13842 break;
13843 }
13844 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
13845 marshal_VkRenderPassInputAttachmentAspectCreateInfo(
13846 vkStream, rootType,
13847 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
13848 structExtension));
13849 break;
13850 }
13851 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
13852 marshal_VkImageViewUsageCreateInfo(
13853 vkStream, rootType,
13854 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension));
13855 break;
13856 }
13857 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
13858 marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
13859 vkStream, rootType,
13860 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
13861 structExtension));
13862 break;
13863 }
13864 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
13865 marshal_VkRenderPassMultiviewCreateInfo(
13866 vkStream, rootType,
13867 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension));
13868 break;
13869 }
13870 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
13871 marshal_VkPhysicalDeviceMultiviewFeatures(
13872 vkStream, rootType,
13873 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension));
13874 break;
13875 }
13876 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
13877 marshal_VkPhysicalDeviceMultiviewProperties(
13878 vkStream, rootType,
13879 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension));
13880 break;
13881 }
13882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
13883 marshal_VkPhysicalDeviceVariablePointersFeatures(
13884 vkStream, rootType,
13885 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension));
13886 break;
13887 }
13888 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
13889 marshal_VkPhysicalDeviceProtectedMemoryFeatures(
13890 vkStream, rootType,
13891 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension));
13892 break;
13893 }
13894 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
13895 marshal_VkPhysicalDeviceProtectedMemoryProperties(
13896 vkStream, rootType,
13897 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(
13898 structExtension));
13899 break;
13900 }
13901 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
13902 marshal_VkProtectedSubmitInfo(
13903 vkStream, rootType,
13904 reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension));
13905 break;
13906 }
13907 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
13908 marshal_VkSamplerYcbcrConversionInfo(
13909 vkStream, rootType,
13910 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension));
13911 break;
13912 }
13913 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
13914 marshal_VkBindImagePlaneMemoryInfo(
13915 vkStream, rootType,
13916 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension));
13917 break;
13918 }
13919 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
13920 marshal_VkImagePlaneMemoryRequirementsInfo(
13921 vkStream, rootType,
13922 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension));
13923 break;
13924 }
13925 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
13926 marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
13927 vkStream, rootType,
13928 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
13929 structExtension));
13930 break;
13931 }
13932 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
13933 marshal_VkSamplerYcbcrConversionImageFormatProperties(
13934 vkStream, rootType,
13935 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
13936 structExtension));
13937 break;
13938 }
13939 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
13940 marshal_VkPhysicalDeviceExternalImageFormatInfo(
13941 vkStream, rootType,
13942 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension));
13943 break;
13944 }
13945 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
13946 marshal_VkExternalImageFormatProperties(
13947 vkStream, rootType,
13948 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension));
13949 break;
13950 }
13951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
13952 marshal_VkPhysicalDeviceIDProperties(
13953 vkStream, rootType,
13954 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension));
13955 break;
13956 }
13957 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
13958 marshal_VkExternalMemoryImageCreateInfo(
13959 vkStream, rootType,
13960 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension));
13961 break;
13962 }
13963 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
13964 marshal_VkExternalMemoryBufferCreateInfo(
13965 vkStream, rootType,
13966 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension));
13967 break;
13968 }
13969 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
13970 marshal_VkExportMemoryAllocateInfo(
13971 vkStream, rootType,
13972 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension));
13973 break;
13974 }
13975 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
13976 marshal_VkExportFenceCreateInfo(
13977 vkStream, rootType,
13978 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension));
13979 break;
13980 }
13981 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
13982 marshal_VkExportSemaphoreCreateInfo(
13983 vkStream, rootType,
13984 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension));
13985 break;
13986 }
13987 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
13988 marshal_VkPhysicalDeviceMaintenance3Properties(
13989 vkStream, rootType,
13990 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension));
13991 break;
13992 }
13993 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
13994 marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
13995 vkStream, rootType,
13996 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
13997 structExtension));
13998 break;
13999 }
14000 #endif
14001 #ifdef VK_VERSION_1_2
14002 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
14003 marshal_VkPhysicalDeviceVulkan11Features(
14004 vkStream, rootType,
14005 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension));
14006 break;
14007 }
14008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
14009 marshal_VkPhysicalDeviceVulkan11Properties(
14010 vkStream, rootType,
14011 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension));
14012 break;
14013 }
14014 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
14015 marshal_VkPhysicalDeviceVulkan12Features(
14016 vkStream, rootType,
14017 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension));
14018 break;
14019 }
14020 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
14021 marshal_VkPhysicalDeviceVulkan12Properties(
14022 vkStream, rootType,
14023 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension));
14024 break;
14025 }
14026 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
14027 marshal_VkImageFormatListCreateInfo(
14028 vkStream, rootType,
14029 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension));
14030 break;
14031 }
14032 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
14033 marshal_VkPhysicalDevice8BitStorageFeatures(
14034 vkStream, rootType,
14035 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension));
14036 break;
14037 }
14038 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
14039 marshal_VkPhysicalDeviceDriverProperties(
14040 vkStream, rootType,
14041 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension));
14042 break;
14043 }
14044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
14045 marshal_VkPhysicalDeviceShaderAtomicInt64Features(
14046 vkStream, rootType,
14047 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(
14048 structExtension));
14049 break;
14050 }
14051 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
14052 marshal_VkPhysicalDeviceShaderFloat16Int8Features(
14053 vkStream, rootType,
14054 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(
14055 structExtension));
14056 break;
14057 }
14058 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
14059 marshal_VkPhysicalDeviceFloatControlsProperties(
14060 vkStream, rootType,
14061 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension));
14062 break;
14063 }
14064 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
14065 marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
14066 vkStream, rootType,
14067 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
14068 structExtension));
14069 break;
14070 }
14071 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
14072 marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
14073 vkStream, rootType,
14074 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
14075 structExtension));
14076 break;
14077 }
14078 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
14079 marshal_VkPhysicalDeviceDescriptorIndexingProperties(
14080 vkStream, rootType,
14081 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
14082 structExtension));
14083 break;
14084 }
14085 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
14086 marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
14087 vkStream, rootType,
14088 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
14089 structExtension));
14090 break;
14091 }
14092 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
14093 marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
14094 vkStream, rootType,
14095 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
14096 structExtension));
14097 break;
14098 }
14099 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
14100 marshal_VkSubpassDescriptionDepthStencilResolve(
14101 vkStream, rootType,
14102 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension));
14103 break;
14104 }
14105 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
14106 marshal_VkPhysicalDeviceDepthStencilResolveProperties(
14107 vkStream, rootType,
14108 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
14109 structExtension));
14110 break;
14111 }
14112 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
14113 marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
14114 vkStream, rootType,
14115 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(
14116 structExtension));
14117 break;
14118 }
14119 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
14120 marshal_VkImageStencilUsageCreateInfo(
14121 vkStream, rootType,
14122 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension));
14123 break;
14124 }
14125 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
14126 marshal_VkSamplerReductionModeCreateInfo(
14127 vkStream, rootType,
14128 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension));
14129 break;
14130 }
14131 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
14132 marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
14133 vkStream, rootType,
14134 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
14135 structExtension));
14136 break;
14137 }
14138 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
14139 marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
14140 vkStream, rootType,
14141 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(
14142 structExtension));
14143 break;
14144 }
14145 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
14146 marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
14147 vkStream, rootType,
14148 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
14149 structExtension));
14150 break;
14151 }
14152 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
14153 marshal_VkFramebufferAttachmentsCreateInfo(
14154 vkStream, rootType,
14155 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension));
14156 break;
14157 }
14158 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
14159 marshal_VkRenderPassAttachmentBeginInfo(
14160 vkStream, rootType,
14161 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension));
14162 break;
14163 }
14164 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
14165 marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
14166 vkStream, rootType,
14167 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
14168 structExtension));
14169 break;
14170 }
14171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
14172 marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
14173 vkStream, rootType,
14174 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
14175 structExtension));
14176 break;
14177 }
14178 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
14179 marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
14180 vkStream, rootType,
14181 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
14182 structExtension));
14183 break;
14184 }
14185 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
14186 marshal_VkAttachmentReferenceStencilLayout(
14187 vkStream, rootType,
14188 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension));
14189 break;
14190 }
14191 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
14192 marshal_VkAttachmentDescriptionStencilLayout(
14193 vkStream, rootType,
14194 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension));
14195 break;
14196 }
14197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
14198 marshal_VkPhysicalDeviceHostQueryResetFeatures(
14199 vkStream, rootType,
14200 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension));
14201 break;
14202 }
14203 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
14204 marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
14205 vkStream, rootType,
14206 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(
14207 structExtension));
14208 break;
14209 }
14210 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
14211 marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
14212 vkStream, rootType,
14213 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
14214 structExtension));
14215 break;
14216 }
14217 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
14218 marshal_VkSemaphoreTypeCreateInfo(
14219 vkStream, rootType,
14220 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension));
14221 break;
14222 }
14223 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
14224 marshal_VkTimelineSemaphoreSubmitInfo(
14225 vkStream, rootType,
14226 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension));
14227 break;
14228 }
14229 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
14230 marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
14231 vkStream, rootType,
14232 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
14233 structExtension));
14234 break;
14235 }
14236 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
14237 marshal_VkBufferOpaqueCaptureAddressCreateInfo(
14238 vkStream, rootType,
14239 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension));
14240 break;
14241 }
14242 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
14243 marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
14244 vkStream, rootType,
14245 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension));
14246 break;
14247 }
14248 #endif
14249 #ifdef VK_VERSION_1_3
14250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
14251 marshal_VkPhysicalDeviceVulkan13Features(
14252 vkStream, rootType,
14253 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension));
14254 break;
14255 }
14256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
14257 marshal_VkPhysicalDeviceVulkan13Properties(
14258 vkStream, rootType,
14259 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension));
14260 break;
14261 }
14262 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
14263 marshal_VkPipelineCreationFeedbackCreateInfo(
14264 vkStream, rootType,
14265 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension));
14266 break;
14267 }
14268 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
14269 marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
14270 vkStream, rootType,
14271 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
14272 structExtension));
14273 break;
14274 }
14275 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
14276 marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
14277 vkStream, rootType,
14278 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
14279 structExtension));
14280 break;
14281 }
14282 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
14283 marshal_VkPhysicalDevicePrivateDataFeatures(
14284 vkStream, rootType,
14285 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension));
14286 break;
14287 }
14288 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
14289 marshal_VkDevicePrivateDataCreateInfo(
14290 vkStream, rootType,
14291 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension));
14292 break;
14293 }
14294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
14295 marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
14296 vkStream, rootType,
14297 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
14298 structExtension));
14299 break;
14300 }
14301 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
14302 marshal_VkMemoryBarrier2(vkStream, rootType,
14303 reinterpret_cast<const VkMemoryBarrier2*>(structExtension));
14304 break;
14305 }
14306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
14307 marshal_VkPhysicalDeviceSynchronization2Features(
14308 vkStream, rootType,
14309 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension));
14310 break;
14311 }
14312 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
14313 marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
14314 vkStream, rootType,
14315 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
14316 structExtension));
14317 break;
14318 }
14319 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
14320 marshal_VkPhysicalDeviceImageRobustnessFeatures(
14321 vkStream, rootType,
14322 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension));
14323 break;
14324 }
14325 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
14326 marshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
14327 vkStream, rootType,
14328 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
14329 structExtension));
14330 break;
14331 }
14332 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
14333 marshal_VkPhysicalDeviceSubgroupSizeControlProperties(
14334 vkStream, rootType,
14335 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
14336 structExtension));
14337 break;
14338 }
14339 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
14340 marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
14341 vkStream, rootType,
14342 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
14343 structExtension));
14344 break;
14345 }
14346 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
14347 marshal_VkPhysicalDeviceInlineUniformBlockFeatures(
14348 vkStream, rootType,
14349 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
14350 structExtension));
14351 break;
14352 }
14353 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
14354 marshal_VkPhysicalDeviceInlineUniformBlockProperties(
14355 vkStream, rootType,
14356 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
14357 structExtension));
14358 break;
14359 }
14360 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
14361 marshal_VkWriteDescriptorSetInlineUniformBlock(
14362 vkStream, rootType,
14363 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension));
14364 break;
14365 }
14366 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
14367 marshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
14368 vkStream, rootType,
14369 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
14370 structExtension));
14371 break;
14372 }
14373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
14374 marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
14375 vkStream, rootType,
14376 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
14377 structExtension));
14378 break;
14379 }
14380 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
14381 marshal_VkPipelineRenderingCreateInfo(
14382 vkStream, rootType,
14383 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension));
14384 break;
14385 }
14386 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
14387 marshal_VkPhysicalDeviceDynamicRenderingFeatures(
14388 vkStream, rootType,
14389 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension));
14390 break;
14391 }
14392 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
14393 marshal_VkCommandBufferInheritanceRenderingInfo(
14394 vkStream, rootType,
14395 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension));
14396 break;
14397 }
14398 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
14399 marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
14400 vkStream, rootType,
14401 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
14402 structExtension));
14403 break;
14404 }
14405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
14406 marshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
14407 vkStream, rootType,
14408 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
14409 structExtension));
14410 break;
14411 }
14412 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
14413 marshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
14414 vkStream, rootType,
14415 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
14416 structExtension));
14417 break;
14418 }
14419 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
14420 marshal_VkFormatProperties3(
14421 vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension));
14422 break;
14423 }
14424 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
14425 marshal_VkPhysicalDeviceMaintenance4Features(
14426 vkStream, rootType,
14427 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension));
14428 break;
14429 }
14430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
14431 marshal_VkPhysicalDeviceMaintenance4Properties(
14432 vkStream, rootType,
14433 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension));
14434 break;
14435 }
14436 #endif
14437 #ifdef VK_KHR_dynamic_rendering
14438 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
14439 marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
14440 vkStream, rootType,
14441 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
14442 structExtension));
14443 break;
14444 }
14445 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
14446 marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
14447 vkStream, rootType,
14448 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
14449 structExtension));
14450 break;
14451 }
14452 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
14453 marshal_VkAttachmentSampleCountInfoAMD(
14454 vkStream, rootType,
14455 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension));
14456 break;
14457 }
14458 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
14459 marshal_VkMultiviewPerViewAttributesInfoNVX(
14460 vkStream, rootType,
14461 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension));
14462 break;
14463 }
14464 #endif
14465 #ifdef VK_KHR_incremental_present
14466 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
14467 marshal_VkPresentRegionsKHR(
14468 vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension));
14469 break;
14470 }
14471 #endif
14472 #ifdef VK_KHR_pipeline_executable_properties
14473 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
14474 marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
14475 vkStream, rootType,
14476 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
14477 structExtension));
14478 break;
14479 }
14480 #endif
14481 #ifdef VK_KHR_synchronization2
14482 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
14483 marshal_VkQueueFamilyCheckpointProperties2NV(
14484 vkStream, rootType,
14485 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension));
14486 break;
14487 }
14488 #endif
14489 #ifdef VK_KHR_maintenance5
14490 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
14491 marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
14492 vkStream, rootType,
14493 reinterpret_cast<const VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension));
14494 break;
14495 }
14496 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
14497 marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
14498 vkStream, rootType,
14499 reinterpret_cast<const VkPhysicalDeviceMaintenance5PropertiesKHR*>(
14500 structExtension));
14501 break;
14502 }
14503 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
14504 marshal_VkPipelineCreateFlags2CreateInfoKHR(
14505 vkStream, rootType,
14506 reinterpret_cast<const VkPipelineCreateFlags2CreateInfoKHR*>(structExtension));
14507 break;
14508 }
14509 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
14510 marshal_VkBufferUsageFlags2CreateInfoKHR(
14511 vkStream, rootType,
14512 reinterpret_cast<const VkBufferUsageFlags2CreateInfoKHR*>(structExtension));
14513 break;
14514 }
14515 #endif
14516 #ifdef VK_KHR_line_rasterization
14517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
14518 marshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
14519 vkStream, rootType,
14520 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesKHR*>(
14521 structExtension));
14522 break;
14523 }
14524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
14525 marshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
14526 vkStream, rootType,
14527 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesKHR*>(
14528 structExtension));
14529 break;
14530 }
14531 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
14532 marshal_VkPipelineRasterizationLineStateCreateInfoKHR(
14533 vkStream, rootType,
14534 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoKHR*>(
14535 structExtension));
14536 break;
14537 }
14538 #endif
14539 #ifdef VK_ANDROID_native_buffer
14540 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
14541 marshal_VkNativeBufferANDROID(
14542 vkStream, rootType,
14543 reinterpret_cast<const VkNativeBufferANDROID*>(structExtension));
14544 break;
14545 }
14546 #endif
14547 #ifdef VK_EXT_transform_feedback
14548 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
14549 marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
14550 vkStream, rootType,
14551 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
14552 structExtension));
14553 break;
14554 }
14555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
14556 marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
14557 vkStream, rootType,
14558 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
14559 structExtension));
14560 break;
14561 }
14562 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
14563 marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
14564 vkStream, rootType,
14565 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
14566 structExtension));
14567 break;
14568 }
14569 #endif
14570 #ifdef VK_EXT_depth_clip_enable
14571 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
14572 marshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
14573 vkStream, rootType,
14574 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
14575 structExtension));
14576 break;
14577 }
14578 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
14579 marshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
14580 vkStream, rootType,
14581 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
14582 structExtension));
14583 break;
14584 }
14585 #endif
14586 #ifdef VK_EXT_image_drm_format_modifier
14587 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
14588 marshal_VkDrmFormatModifierPropertiesListEXT(
14589 vkStream, rootType,
14590 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension));
14591 break;
14592 }
14593 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
14594 marshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
14595 vkStream, rootType,
14596 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
14597 structExtension));
14598 break;
14599 }
14600 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
14601 marshal_VkImageDrmFormatModifierListCreateInfoEXT(
14602 vkStream, rootType,
14603 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(
14604 structExtension));
14605 break;
14606 }
14607 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
14608 marshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
14609 vkStream, rootType,
14610 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
14611 structExtension));
14612 break;
14613 }
14614 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
14615 marshal_VkDrmFormatModifierPropertiesList2EXT(
14616 vkStream, rootType,
14617 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension));
14618 break;
14619 }
14620 #endif
14621 #ifdef VK_EXT_vertex_attribute_divisor
14622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
14623 marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
14624 vkStream, rootType,
14625 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
14626 structExtension));
14627 break;
14628 }
14629 #endif
14630 #ifdef VK_EXT_fragment_density_map
14631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
14632 switch (rootType) {
14633 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
14634 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
14635 vkStream, rootType,
14636 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
14637 structExtension));
14638 break;
14639 }
14640 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
14641 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
14642 vkStream, rootType,
14643 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
14644 structExtension));
14645 break;
14646 }
14647 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
14648 marshal_VkImportColorBufferGOOGLE(
14649 vkStream, rootType,
14650 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
14651 break;
14652 }
14653 default: {
14654 marshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
14655 vkStream, rootType,
14656 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
14657 structExtension));
14658 break;
14659 }
14660 }
14661 break;
14662 }
14663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
14664 switch (rootType) {
14665 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
14666 marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
14667 vkStream, rootType,
14668 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
14669 structExtension));
14670 break;
14671 }
14672 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
14673 marshal_VkCreateBlobGOOGLE(
14674 vkStream, rootType,
14675 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension));
14676 break;
14677 }
14678 default: {
14679 marshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
14680 vkStream, rootType,
14681 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
14682 structExtension));
14683 break;
14684 }
14685 }
14686 break;
14687 }
14688 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
14689 switch (rootType) {
14690 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
14691 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
14692 vkStream, rootType,
14693 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
14694 structExtension));
14695 break;
14696 }
14697 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
14698 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
14699 vkStream, rootType,
14700 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
14701 structExtension));
14702 break;
14703 }
14704 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
14705 marshal_VkImportBufferGOOGLE(
14706 vkStream, rootType,
14707 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
14708 break;
14709 }
14710 default: {
14711 marshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
14712 vkStream, rootType,
14713 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
14714 structExtension));
14715 break;
14716 }
14717 }
14718 break;
14719 }
14720 #endif
14721 #ifdef VK_EXT_provoking_vertex
14722 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
14723 marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
14724 vkStream, rootType,
14725 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
14726 structExtension));
14727 break;
14728 }
14729 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
14730 marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
14731 vkStream, rootType,
14732 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
14733 structExtension));
14734 break;
14735 }
14736 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
14737 marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
14738 vkStream, rootType,
14739 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
14740 structExtension));
14741 break;
14742 }
14743 #endif
14744 #ifdef VK_EXT_extended_dynamic_state
14745 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
14746 marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
14747 vkStream, rootType,
14748 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
14749 structExtension));
14750 break;
14751 }
14752 #endif
14753 #ifdef VK_EXT_host_image_copy
14754 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
14755 marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
14756 vkStream, rootType,
14757 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension));
14758 break;
14759 }
14760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
14761 marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
14762 vkStream, rootType,
14763 reinterpret_cast<const VkPhysicalDeviceHostImageCopyPropertiesEXT*>(
14764 structExtension));
14765 break;
14766 }
14767 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
14768 marshal_VkSubresourceHostMemcpySizeEXT(
14769 vkStream, rootType,
14770 reinterpret_cast<const VkSubresourceHostMemcpySizeEXT*>(structExtension));
14771 break;
14772 }
14773 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
14774 marshal_VkHostImageCopyDevicePerformanceQueryEXT(
14775 vkStream, rootType,
14776 reinterpret_cast<const VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension));
14777 break;
14778 }
14779 #endif
14780 #ifdef VK_EXT_texel_buffer_alignment
14781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
14782 marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
14783 vkStream, rootType,
14784 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
14785 structExtension));
14786 break;
14787 }
14788 #endif
14789 #ifdef VK_EXT_device_memory_report
14790 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
14791 marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
14792 vkStream, rootType,
14793 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
14794 structExtension));
14795 break;
14796 }
14797 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
14798 marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
14799 vkStream, rootType,
14800 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension));
14801 break;
14802 }
14803 #endif
14804 #ifdef VK_EXT_robustness2
14805 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
14806 marshal_VkPhysicalDeviceRobustness2FeaturesEXT(
14807 vkStream, rootType,
14808 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension));
14809 break;
14810 }
14811 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
14812 marshal_VkPhysicalDeviceRobustness2PropertiesEXT(
14813 vkStream, rootType,
14814 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension));
14815 break;
14816 }
14817 #endif
14818 #ifdef VK_EXT_custom_border_color
14819 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
14820 marshal_VkSamplerCustomBorderColorCreateInfoEXT(
14821 vkStream, rootType,
14822 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension));
14823 break;
14824 }
14825 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
14826 marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
14827 vkStream, rootType,
14828 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
14829 structExtension));
14830 break;
14831 }
14832 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
14833 marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
14834 vkStream, rootType,
14835 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
14836 structExtension));
14837 break;
14838 }
14839 #endif
14840 #ifdef VK_EXT_graphics_pipeline_library
14841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
14842 marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
14843 vkStream, rootType,
14844 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
14845 structExtension));
14846 break;
14847 }
14848 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
14849 marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
14850 vkStream, rootType,
14851 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
14852 structExtension));
14853 break;
14854 }
14855 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
14856 marshal_VkGraphicsPipelineLibraryCreateInfoEXT(
14857 vkStream, rootType,
14858 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension));
14859 break;
14860 }
14861 #endif
14862 #ifdef VK_EXT_ycbcr_2plane_444_formats
14863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
14864 marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
14865 vkStream, rootType,
14866 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
14867 structExtension));
14868 break;
14869 }
14870 #endif
14871 #ifdef VK_EXT_image_compression_control
14872 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
14873 marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
14874 vkStream, rootType,
14875 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
14876 structExtension));
14877 break;
14878 }
14879 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
14880 marshal_VkImageCompressionControlEXT(
14881 vkStream, rootType,
14882 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension));
14883 break;
14884 }
14885 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
14886 marshal_VkImageCompressionPropertiesEXT(
14887 vkStream, rootType,
14888 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension));
14889 break;
14890 }
14891 #endif
14892 #ifdef VK_EXT_4444_formats
14893 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
14894 marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
14895 vkStream, rootType,
14896 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension));
14897 break;
14898 }
14899 #endif
14900 #ifdef VK_EXT_primitive_topology_list_restart
14901 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
14902 marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
14903 vkStream, rootType,
14904 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
14905 structExtension));
14906 break;
14907 }
14908 #endif
14909 #ifdef VK_EXT_extended_dynamic_state2
14910 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
14911 marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
14912 vkStream, rootType,
14913 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
14914 structExtension));
14915 break;
14916 }
14917 #endif
14918 #ifdef VK_EXT_color_write_enable
14919 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
14920 marshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
14921 vkStream, rootType,
14922 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
14923 structExtension));
14924 break;
14925 }
14926 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
14927 marshal_VkPipelineColorWriteCreateInfoEXT(
14928 vkStream, rootType,
14929 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension));
14930 break;
14931 }
14932 #endif
14933 #ifdef VK_GOOGLE_gfxstream
14934 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
14935 marshal_VkImportColorBufferGOOGLE(
14936 vkStream, rootType,
14937 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
14938 break;
14939 }
14940 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
14941 marshal_VkImportBufferGOOGLE(
14942 vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
14943 break;
14944 }
14945 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
14946 marshal_VkCreateBlobGOOGLE(
14947 vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension));
14948 break;
14949 }
14950 #endif
14951 #ifdef VK_EXT_image_compression_control_swapchain
14952 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
14953 marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
14954 vkStream, rootType,
14955 reinterpret_cast<
14956 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
14957 structExtension));
14958 break;
14959 }
14960 #endif
14961 default: {
14962 // fatal; the switch is only taken if the extension struct is known
14963 abort();
14964 }
14965 }
14966 }
14967
unmarshal_extension_struct(VulkanStreamGuest * vkStream,VkStructureType rootType,void * structExtension_out)14968 void unmarshal_extension_struct(VulkanStreamGuest* vkStream, VkStructureType rootType,
14969 void* structExtension_out) {
14970 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension_out);
14971 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
14972 vkStream->getFeatureBits(), rootType, structExtension_out);
14973 if (!currExtSize && structExtension_out) {
14974 // unknown struct extension; skip and call on its pNext field
14975 unmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
14976 return;
14977 } else {
14978 // known or null extension struct
14979 vkStream->getBe32();
14980 if (!currExtSize) {
14981 // exit if this was a null extension struct (size == 0 in this branch)
14982 return;
14983 }
14984 }
14985 uint64_t pNext_placeholder;
14986 vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType));
14987 (void)pNext_placeholder;
14988 if (!structExtension_out) {
14989 return;
14990 }
14991 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
14992 switch (structType) {
14993 #ifdef VK_VERSION_1_0
14994 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
14995 unmarshal_VkShaderModuleCreateInfo(
14996 vkStream, rootType,
14997 reinterpret_cast<VkShaderModuleCreateInfo*>(structExtension_out));
14998 break;
14999 }
15000 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: {
15001 unmarshal_VkPipelineLayoutCreateInfo(
15002 vkStream, rootType,
15003 reinterpret_cast<VkPipelineLayoutCreateInfo*>(structExtension_out));
15004 break;
15005 }
15006 #endif
15007 #ifdef VK_VERSION_1_1
15008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
15009 unmarshal_VkPhysicalDeviceSubgroupProperties(
15010 vkStream, rootType,
15011 reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
15012 break;
15013 }
15014 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
15015 unmarshal_VkPhysicalDevice16BitStorageFeatures(
15016 vkStream, rootType,
15017 reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
15018 break;
15019 }
15020 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
15021 unmarshal_VkMemoryDedicatedRequirements(
15022 vkStream, rootType,
15023 reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
15024 break;
15025 }
15026 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
15027 unmarshal_VkMemoryDedicatedAllocateInfo(
15028 vkStream, rootType,
15029 reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
15030 break;
15031 }
15032 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
15033 unmarshal_VkMemoryAllocateFlagsInfo(
15034 vkStream, rootType,
15035 reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
15036 break;
15037 }
15038 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
15039 unmarshal_VkDeviceGroupRenderPassBeginInfo(
15040 vkStream, rootType,
15041 reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
15042 break;
15043 }
15044 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
15045 unmarshal_VkDeviceGroupCommandBufferBeginInfo(
15046 vkStream, rootType,
15047 reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
15048 break;
15049 }
15050 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
15051 unmarshal_VkDeviceGroupSubmitInfo(
15052 vkStream, rootType,
15053 reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
15054 break;
15055 }
15056 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
15057 unmarshal_VkDeviceGroupBindSparseInfo(
15058 vkStream, rootType,
15059 reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
15060 break;
15061 }
15062 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
15063 unmarshal_VkBindBufferMemoryDeviceGroupInfo(
15064 vkStream, rootType,
15065 reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
15066 break;
15067 }
15068 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
15069 unmarshal_VkBindImageMemoryDeviceGroupInfo(
15070 vkStream, rootType,
15071 reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
15072 break;
15073 }
15074 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
15075 unmarshal_VkDeviceGroupDeviceCreateInfo(
15076 vkStream, rootType,
15077 reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
15078 break;
15079 }
15080 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
15081 unmarshal_VkPhysicalDeviceFeatures2(
15082 vkStream, rootType,
15083 reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
15084 break;
15085 }
15086 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
15087 unmarshal_VkPhysicalDevicePointClippingProperties(
15088 vkStream, rootType,
15089 reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
15090 break;
15091 }
15092 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
15093 unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
15094 vkStream, rootType,
15095 reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(
15096 structExtension_out));
15097 break;
15098 }
15099 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
15100 unmarshal_VkImageViewUsageCreateInfo(
15101 vkStream, rootType,
15102 reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
15103 break;
15104 }
15105 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
15106 unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
15107 vkStream, rootType,
15108 reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(
15109 structExtension_out));
15110 break;
15111 }
15112 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
15113 unmarshal_VkRenderPassMultiviewCreateInfo(
15114 vkStream, rootType,
15115 reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
15116 break;
15117 }
15118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
15119 unmarshal_VkPhysicalDeviceMultiviewFeatures(
15120 vkStream, rootType,
15121 reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
15122 break;
15123 }
15124 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
15125 unmarshal_VkPhysicalDeviceMultiviewProperties(
15126 vkStream, rootType,
15127 reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
15128 break;
15129 }
15130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
15131 unmarshal_VkPhysicalDeviceVariablePointersFeatures(
15132 vkStream, rootType,
15133 reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(structExtension_out));
15134 break;
15135 }
15136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
15137 unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
15138 vkStream, rootType,
15139 reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
15140 break;
15141 }
15142 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
15143 unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
15144 vkStream, rootType,
15145 reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
15146 break;
15147 }
15148 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
15149 unmarshal_VkProtectedSubmitInfo(
15150 vkStream, rootType, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
15151 break;
15152 }
15153 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
15154 unmarshal_VkSamplerYcbcrConversionInfo(
15155 vkStream, rootType,
15156 reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
15157 break;
15158 }
15159 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
15160 unmarshal_VkBindImagePlaneMemoryInfo(
15161 vkStream, rootType,
15162 reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
15163 break;
15164 }
15165 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
15166 unmarshal_VkImagePlaneMemoryRequirementsInfo(
15167 vkStream, rootType,
15168 reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
15169 break;
15170 }
15171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
15172 unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
15173 vkStream, rootType,
15174 reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
15175 structExtension_out));
15176 break;
15177 }
15178 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
15179 unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
15180 vkStream, rootType,
15181 reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(
15182 structExtension_out));
15183 break;
15184 }
15185 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
15186 unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
15187 vkStream, rootType,
15188 reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
15189 break;
15190 }
15191 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
15192 unmarshal_VkExternalImageFormatProperties(
15193 vkStream, rootType,
15194 reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
15195 break;
15196 }
15197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
15198 unmarshal_VkPhysicalDeviceIDProperties(
15199 vkStream, rootType,
15200 reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
15201 break;
15202 }
15203 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
15204 unmarshal_VkExternalMemoryImageCreateInfo(
15205 vkStream, rootType,
15206 reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
15207 break;
15208 }
15209 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
15210 unmarshal_VkExternalMemoryBufferCreateInfo(
15211 vkStream, rootType,
15212 reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
15213 break;
15214 }
15215 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
15216 unmarshal_VkExportMemoryAllocateInfo(
15217 vkStream, rootType,
15218 reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
15219 break;
15220 }
15221 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
15222 unmarshal_VkExportFenceCreateInfo(
15223 vkStream, rootType,
15224 reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
15225 break;
15226 }
15227 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
15228 unmarshal_VkExportSemaphoreCreateInfo(
15229 vkStream, rootType,
15230 reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
15231 break;
15232 }
15233 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
15234 unmarshal_VkPhysicalDeviceMaintenance3Properties(
15235 vkStream, rootType,
15236 reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
15237 break;
15238 }
15239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
15240 unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
15241 vkStream, rootType,
15242 reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures*>(
15243 structExtension_out));
15244 break;
15245 }
15246 #endif
15247 #ifdef VK_VERSION_1_2
15248 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
15249 unmarshal_VkPhysicalDeviceVulkan11Features(
15250 vkStream, rootType,
15251 reinterpret_cast<VkPhysicalDeviceVulkan11Features*>(structExtension_out));
15252 break;
15253 }
15254 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
15255 unmarshal_VkPhysicalDeviceVulkan11Properties(
15256 vkStream, rootType,
15257 reinterpret_cast<VkPhysicalDeviceVulkan11Properties*>(structExtension_out));
15258 break;
15259 }
15260 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
15261 unmarshal_VkPhysicalDeviceVulkan12Features(
15262 vkStream, rootType,
15263 reinterpret_cast<VkPhysicalDeviceVulkan12Features*>(structExtension_out));
15264 break;
15265 }
15266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
15267 unmarshal_VkPhysicalDeviceVulkan12Properties(
15268 vkStream, rootType,
15269 reinterpret_cast<VkPhysicalDeviceVulkan12Properties*>(structExtension_out));
15270 break;
15271 }
15272 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
15273 unmarshal_VkImageFormatListCreateInfo(
15274 vkStream, rootType,
15275 reinterpret_cast<VkImageFormatListCreateInfo*>(structExtension_out));
15276 break;
15277 }
15278 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
15279 unmarshal_VkPhysicalDevice8BitStorageFeatures(
15280 vkStream, rootType,
15281 reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(structExtension_out));
15282 break;
15283 }
15284 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
15285 unmarshal_VkPhysicalDeviceDriverProperties(
15286 vkStream, rootType,
15287 reinterpret_cast<VkPhysicalDeviceDriverProperties*>(structExtension_out));
15288 break;
15289 }
15290 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
15291 unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
15292 vkStream, rootType,
15293 reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension_out));
15294 break;
15295 }
15296 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
15297 unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
15298 vkStream, rootType,
15299 reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
15300 break;
15301 }
15302 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
15303 unmarshal_VkPhysicalDeviceFloatControlsProperties(
15304 vkStream, rootType,
15305 reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(structExtension_out));
15306 break;
15307 }
15308 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
15309 unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
15310 vkStream, rootType,
15311 reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
15312 structExtension_out));
15313 break;
15314 }
15315 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
15316 unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
15317 vkStream, rootType,
15318 reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(structExtension_out));
15319 break;
15320 }
15321 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
15322 unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
15323 vkStream, rootType,
15324 reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(
15325 structExtension_out));
15326 break;
15327 }
15328 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
15329 unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
15330 vkStream, rootType,
15331 reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
15332 structExtension_out));
15333 break;
15334 }
15335 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
15336 unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
15337 vkStream, rootType,
15338 reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
15339 structExtension_out));
15340 break;
15341 }
15342 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
15343 unmarshal_VkSubpassDescriptionDepthStencilResolve(
15344 vkStream, rootType,
15345 reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(structExtension_out));
15346 break;
15347 }
15348 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
15349 unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
15350 vkStream, rootType,
15351 reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(
15352 structExtension_out));
15353 break;
15354 }
15355 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
15356 unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
15357 vkStream, rootType,
15358 reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension_out));
15359 break;
15360 }
15361 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
15362 unmarshal_VkImageStencilUsageCreateInfo(
15363 vkStream, rootType,
15364 reinterpret_cast<VkImageStencilUsageCreateInfo*>(structExtension_out));
15365 break;
15366 }
15367 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
15368 unmarshal_VkSamplerReductionModeCreateInfo(
15369 vkStream, rootType,
15370 reinterpret_cast<VkSamplerReductionModeCreateInfo*>(structExtension_out));
15371 break;
15372 }
15373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
15374 unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
15375 vkStream, rootType,
15376 reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
15377 structExtension_out));
15378 break;
15379 }
15380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
15381 unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
15382 vkStream, rootType,
15383 reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension_out));
15384 break;
15385 }
15386 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
15387 unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
15388 vkStream, rootType,
15389 reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(
15390 structExtension_out));
15391 break;
15392 }
15393 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
15394 unmarshal_VkFramebufferAttachmentsCreateInfo(
15395 vkStream, rootType,
15396 reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(structExtension_out));
15397 break;
15398 }
15399 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
15400 unmarshal_VkRenderPassAttachmentBeginInfo(
15401 vkStream, rootType,
15402 reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(structExtension_out));
15403 break;
15404 }
15405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
15406 unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
15407 vkStream, rootType,
15408 reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
15409 structExtension_out));
15410 break;
15411 }
15412 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
15413 unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
15414 vkStream, rootType,
15415 reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
15416 structExtension_out));
15417 break;
15418 }
15419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
15420 unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
15421 vkStream, rootType,
15422 reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
15423 structExtension_out));
15424 break;
15425 }
15426 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
15427 unmarshal_VkAttachmentReferenceStencilLayout(
15428 vkStream, rootType,
15429 reinterpret_cast<VkAttachmentReferenceStencilLayout*>(structExtension_out));
15430 break;
15431 }
15432 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
15433 unmarshal_VkAttachmentDescriptionStencilLayout(
15434 vkStream, rootType,
15435 reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(structExtension_out));
15436 break;
15437 }
15438 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
15439 unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
15440 vkStream, rootType,
15441 reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures*>(structExtension_out));
15442 break;
15443 }
15444 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
15445 unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
15446 vkStream, rootType,
15447 reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension_out));
15448 break;
15449 }
15450 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
15451 unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
15452 vkStream, rootType,
15453 reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties*>(
15454 structExtension_out));
15455 break;
15456 }
15457 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
15458 unmarshal_VkSemaphoreTypeCreateInfo(
15459 vkStream, rootType,
15460 reinterpret_cast<VkSemaphoreTypeCreateInfo*>(structExtension_out));
15461 break;
15462 }
15463 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
15464 unmarshal_VkTimelineSemaphoreSubmitInfo(
15465 vkStream, rootType,
15466 reinterpret_cast<VkTimelineSemaphoreSubmitInfo*>(structExtension_out));
15467 break;
15468 }
15469 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
15470 unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
15471 vkStream, rootType,
15472 reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures*>(
15473 structExtension_out));
15474 break;
15475 }
15476 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
15477 unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
15478 vkStream, rootType,
15479 reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension_out));
15480 break;
15481 }
15482 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
15483 unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
15484 vkStream, rootType,
15485 reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension_out));
15486 break;
15487 }
15488 #endif
15489 #ifdef VK_VERSION_1_3
15490 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
15491 unmarshal_VkPhysicalDeviceVulkan13Features(
15492 vkStream, rootType,
15493 reinterpret_cast<VkPhysicalDeviceVulkan13Features*>(structExtension_out));
15494 break;
15495 }
15496 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
15497 unmarshal_VkPhysicalDeviceVulkan13Properties(
15498 vkStream, rootType,
15499 reinterpret_cast<VkPhysicalDeviceVulkan13Properties*>(structExtension_out));
15500 break;
15501 }
15502 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
15503 unmarshal_VkPipelineCreationFeedbackCreateInfo(
15504 vkStream, rootType,
15505 reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(structExtension_out));
15506 break;
15507 }
15508 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
15509 unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
15510 vkStream, rootType,
15511 reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
15512 structExtension_out));
15513 break;
15514 }
15515 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
15516 unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
15517 vkStream, rootType,
15518 reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
15519 structExtension_out));
15520 break;
15521 }
15522 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
15523 unmarshal_VkPhysicalDevicePrivateDataFeatures(
15524 vkStream, rootType,
15525 reinterpret_cast<VkPhysicalDevicePrivateDataFeatures*>(structExtension_out));
15526 break;
15527 }
15528 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
15529 unmarshal_VkDevicePrivateDataCreateInfo(
15530 vkStream, rootType,
15531 reinterpret_cast<VkDevicePrivateDataCreateInfo*>(structExtension_out));
15532 break;
15533 }
15534 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
15535 unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
15536 vkStream, rootType,
15537 reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
15538 structExtension_out));
15539 break;
15540 }
15541 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
15542 unmarshal_VkMemoryBarrier2(vkStream, rootType,
15543 reinterpret_cast<VkMemoryBarrier2*>(structExtension_out));
15544 break;
15545 }
15546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
15547 unmarshal_VkPhysicalDeviceSynchronization2Features(
15548 vkStream, rootType,
15549 reinterpret_cast<VkPhysicalDeviceSynchronization2Features*>(structExtension_out));
15550 break;
15551 }
15552 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
15553 unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
15554 vkStream, rootType,
15555 reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
15556 structExtension_out));
15557 break;
15558 }
15559 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
15560 unmarshal_VkPhysicalDeviceImageRobustnessFeatures(
15561 vkStream, rootType,
15562 reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(structExtension_out));
15563 break;
15564 }
15565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
15566 unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
15567 vkStream, rootType,
15568 reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeatures*>(
15569 structExtension_out));
15570 break;
15571 }
15572 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
15573 unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
15574 vkStream, rootType,
15575 reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlProperties*>(
15576 structExtension_out));
15577 break;
15578 }
15579 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
15580 unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
15581 vkStream, rootType,
15582 reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
15583 structExtension_out));
15584 break;
15585 }
15586 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
15587 unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
15588 vkStream, rootType,
15589 reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeatures*>(structExtension_out));
15590 break;
15591 }
15592 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
15593 unmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
15594 vkStream, rootType,
15595 reinterpret_cast<VkPhysicalDeviceInlineUniformBlockProperties*>(
15596 structExtension_out));
15597 break;
15598 }
15599 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
15600 unmarshal_VkWriteDescriptorSetInlineUniformBlock(
15601 vkStream, rootType,
15602 reinterpret_cast<VkWriteDescriptorSetInlineUniformBlock*>(structExtension_out));
15603 break;
15604 }
15605 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
15606 unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
15607 vkStream, rootType,
15608 reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo*>(
15609 structExtension_out));
15610 break;
15611 }
15612 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
15613 unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
15614 vkStream, rootType,
15615 reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
15616 structExtension_out));
15617 break;
15618 }
15619 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
15620 unmarshal_VkPipelineRenderingCreateInfo(
15621 vkStream, rootType,
15622 reinterpret_cast<VkPipelineRenderingCreateInfo*>(structExtension_out));
15623 break;
15624 }
15625 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
15626 unmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
15627 vkStream, rootType,
15628 reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension_out));
15629 break;
15630 }
15631 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
15632 unmarshal_VkCommandBufferInheritanceRenderingInfo(
15633 vkStream, rootType,
15634 reinterpret_cast<VkCommandBufferInheritanceRenderingInfo*>(structExtension_out));
15635 break;
15636 }
15637 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
15638 unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
15639 vkStream, rootType,
15640 reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
15641 structExtension_out));
15642 break;
15643 }
15644 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
15645 unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
15646 vkStream, rootType,
15647 reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>(
15648 structExtension_out));
15649 break;
15650 }
15651 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
15652 unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
15653 vkStream, rootType,
15654 reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>(
15655 structExtension_out));
15656 break;
15657 }
15658 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
15659 unmarshal_VkFormatProperties3(
15660 vkStream, rootType, reinterpret_cast<VkFormatProperties3*>(structExtension_out));
15661 break;
15662 }
15663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
15664 unmarshal_VkPhysicalDeviceMaintenance4Features(
15665 vkStream, rootType,
15666 reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(structExtension_out));
15667 break;
15668 }
15669 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
15670 unmarshal_VkPhysicalDeviceMaintenance4Properties(
15671 vkStream, rootType,
15672 reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(structExtension_out));
15673 break;
15674 }
15675 #endif
15676 #ifdef VK_KHR_dynamic_rendering
15677 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
15678 unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
15679 vkStream, rootType,
15680 reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
15681 structExtension_out));
15682 break;
15683 }
15684 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
15685 unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
15686 vkStream, rootType,
15687 reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
15688 structExtension_out));
15689 break;
15690 }
15691 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
15692 unmarshal_VkAttachmentSampleCountInfoAMD(
15693 vkStream, rootType,
15694 reinterpret_cast<VkAttachmentSampleCountInfoAMD*>(structExtension_out));
15695 break;
15696 }
15697 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
15698 unmarshal_VkMultiviewPerViewAttributesInfoNVX(
15699 vkStream, rootType,
15700 reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX*>(structExtension_out));
15701 break;
15702 }
15703 #endif
15704 #ifdef VK_KHR_incremental_present
15705 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
15706 unmarshal_VkPresentRegionsKHR(
15707 vkStream, rootType, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
15708 break;
15709 }
15710 #endif
15711 #ifdef VK_KHR_pipeline_executable_properties
15712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
15713 unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
15714 vkStream, rootType,
15715 reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
15716 structExtension_out));
15717 break;
15718 }
15719 #endif
15720 #ifdef VK_KHR_synchronization2
15721 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
15722 unmarshal_VkQueueFamilyCheckpointProperties2NV(
15723 vkStream, rootType,
15724 reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out));
15725 break;
15726 }
15727 #endif
15728 #ifdef VK_KHR_maintenance5
15729 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
15730 unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
15731 vkStream, rootType,
15732 reinterpret_cast<VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension_out));
15733 break;
15734 }
15735 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
15736 unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
15737 vkStream, rootType,
15738 reinterpret_cast<VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension_out));
15739 break;
15740 }
15741 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
15742 unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
15743 vkStream, rootType,
15744 reinterpret_cast<VkPipelineCreateFlags2CreateInfoKHR*>(structExtension_out));
15745 break;
15746 }
15747 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
15748 unmarshal_VkBufferUsageFlags2CreateInfoKHR(
15749 vkStream, rootType,
15750 reinterpret_cast<VkBufferUsageFlags2CreateInfoKHR*>(structExtension_out));
15751 break;
15752 }
15753 #endif
15754 #ifdef VK_KHR_line_rasterization
15755 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
15756 unmarshal_VkPhysicalDeviceLineRasterizationFeaturesKHR(
15757 vkStream, rootType,
15758 reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesKHR*>(
15759 structExtension_out));
15760 break;
15761 }
15762 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
15763 unmarshal_VkPhysicalDeviceLineRasterizationPropertiesKHR(
15764 vkStream, rootType,
15765 reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesKHR*>(
15766 structExtension_out));
15767 break;
15768 }
15769 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
15770 unmarshal_VkPipelineRasterizationLineStateCreateInfoKHR(
15771 vkStream, rootType,
15772 reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoKHR*>(
15773 structExtension_out));
15774 break;
15775 }
15776 #endif
15777 #ifdef VK_ANDROID_native_buffer
15778 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
15779 unmarshal_VkNativeBufferANDROID(
15780 vkStream, rootType, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
15781 break;
15782 }
15783 #endif
15784 #ifdef VK_EXT_transform_feedback
15785 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
15786 unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
15787 vkStream, rootType,
15788 reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
15789 structExtension_out));
15790 break;
15791 }
15792 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
15793 unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
15794 vkStream, rootType,
15795 reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
15796 structExtension_out));
15797 break;
15798 }
15799 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
15800 unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
15801 vkStream, rootType,
15802 reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT*>(
15803 structExtension_out));
15804 break;
15805 }
15806 #endif
15807 #ifdef VK_EXT_depth_clip_enable
15808 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
15809 unmarshal_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
15810 vkStream, rootType,
15811 reinterpret_cast<VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(structExtension_out));
15812 break;
15813 }
15814 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
15815 unmarshal_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
15816 vkStream, rootType,
15817 reinterpret_cast<VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
15818 structExtension_out));
15819 break;
15820 }
15821 #endif
15822 #ifdef VK_EXT_image_drm_format_modifier
15823 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
15824 unmarshal_VkDrmFormatModifierPropertiesListEXT(
15825 vkStream, rootType,
15826 reinterpret_cast<VkDrmFormatModifierPropertiesListEXT*>(structExtension_out));
15827 break;
15828 }
15829 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
15830 unmarshal_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
15831 vkStream, rootType,
15832 reinterpret_cast<VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
15833 structExtension_out));
15834 break;
15835 }
15836 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
15837 unmarshal_VkImageDrmFormatModifierListCreateInfoEXT(
15838 vkStream, rootType,
15839 reinterpret_cast<VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension_out));
15840 break;
15841 }
15842 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
15843 unmarshal_VkImageDrmFormatModifierExplicitCreateInfoEXT(
15844 vkStream, rootType,
15845 reinterpret_cast<VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
15846 structExtension_out));
15847 break;
15848 }
15849 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
15850 unmarshal_VkDrmFormatModifierPropertiesList2EXT(
15851 vkStream, rootType,
15852 reinterpret_cast<VkDrmFormatModifierPropertiesList2EXT*>(structExtension_out));
15853 break;
15854 }
15855 #endif
15856 #ifdef VK_EXT_vertex_attribute_divisor
15857 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
15858 unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
15859 vkStream, rootType,
15860 reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
15861 structExtension_out));
15862 break;
15863 }
15864 #endif
15865 #ifdef VK_EXT_fragment_density_map
15866 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
15867 switch (rootType) {
15868 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
15869 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
15870 vkStream, rootType,
15871 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
15872 structExtension_out));
15873 break;
15874 }
15875 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
15876 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
15877 vkStream, rootType,
15878 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
15879 structExtension_out));
15880 break;
15881 }
15882 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
15883 unmarshal_VkImportColorBufferGOOGLE(
15884 vkStream, rootType,
15885 reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
15886 break;
15887 }
15888 default: {
15889 unmarshal_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
15890 vkStream, rootType,
15891 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
15892 structExtension_out));
15893 break;
15894 }
15895 }
15896 break;
15897 }
15898 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
15899 switch (rootType) {
15900 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
15901 unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
15902 vkStream, rootType,
15903 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
15904 structExtension_out));
15905 break;
15906 }
15907 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
15908 unmarshal_VkCreateBlobGOOGLE(
15909 vkStream, rootType,
15910 reinterpret_cast<VkCreateBlobGOOGLE*>(structExtension_out));
15911 break;
15912 }
15913 default: {
15914 unmarshal_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
15915 vkStream, rootType,
15916 reinterpret_cast<VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
15917 structExtension_out));
15918 break;
15919 }
15920 }
15921 break;
15922 }
15923 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
15924 switch (rootType) {
15925 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
15926 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
15927 vkStream, rootType,
15928 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
15929 structExtension_out));
15930 break;
15931 }
15932 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
15933 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
15934 vkStream, rootType,
15935 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
15936 structExtension_out));
15937 break;
15938 }
15939 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
15940 unmarshal_VkImportBufferGOOGLE(
15941 vkStream, rootType,
15942 reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
15943 break;
15944 }
15945 default: {
15946 unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT(
15947 vkStream, rootType,
15948 reinterpret_cast<VkRenderPassFragmentDensityMapCreateInfoEXT*>(
15949 structExtension_out));
15950 break;
15951 }
15952 }
15953 break;
15954 }
15955 #endif
15956 #ifdef VK_EXT_provoking_vertex
15957 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
15958 unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
15959 vkStream, rootType,
15960 reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(structExtension_out));
15961 break;
15962 }
15963 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
15964 unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
15965 vkStream, rootType,
15966 reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
15967 structExtension_out));
15968 break;
15969 }
15970 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
15971 unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
15972 vkStream, rootType,
15973 reinterpret_cast<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
15974 structExtension_out));
15975 break;
15976 }
15977 #endif
15978 #ifdef VK_EXT_extended_dynamic_state
15979 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
15980 unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
15981 vkStream, rootType,
15982 reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
15983 structExtension_out));
15984 break;
15985 }
15986 #endif
15987 #ifdef VK_EXT_host_image_copy
15988 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
15989 unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
15990 vkStream, rootType,
15991 reinterpret_cast<VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension_out));
15992 break;
15993 }
15994 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
15995 unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
15996 vkStream, rootType,
15997 reinterpret_cast<VkPhysicalDeviceHostImageCopyPropertiesEXT*>(structExtension_out));
15998 break;
15999 }
16000 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
16001 unmarshal_VkSubresourceHostMemcpySizeEXT(
16002 vkStream, rootType,
16003 reinterpret_cast<VkSubresourceHostMemcpySizeEXT*>(structExtension_out));
16004 break;
16005 }
16006 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
16007 unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
16008 vkStream, rootType,
16009 reinterpret_cast<VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension_out));
16010 break;
16011 }
16012 #endif
16013 #ifdef VK_EXT_texel_buffer_alignment
16014 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
16015 unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
16016 vkStream, rootType,
16017 reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
16018 structExtension_out));
16019 break;
16020 }
16021 #endif
16022 #ifdef VK_EXT_device_memory_report
16023 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
16024 unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
16025 vkStream, rootType,
16026 reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
16027 structExtension_out));
16028 break;
16029 }
16030 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
16031 unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
16032 vkStream, rootType,
16033 reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension_out));
16034 break;
16035 }
16036 #endif
16037 #ifdef VK_EXT_robustness2
16038 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
16039 unmarshal_VkPhysicalDeviceRobustness2FeaturesEXT(
16040 vkStream, rootType,
16041 reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension_out));
16042 break;
16043 }
16044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
16045 unmarshal_VkPhysicalDeviceRobustness2PropertiesEXT(
16046 vkStream, rootType,
16047 reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension_out));
16048 break;
16049 }
16050 #endif
16051 #ifdef VK_EXT_custom_border_color
16052 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
16053 unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
16054 vkStream, rootType,
16055 reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension_out));
16056 break;
16057 }
16058 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
16059 unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
16060 vkStream, rootType,
16061 reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
16062 structExtension_out));
16063 break;
16064 }
16065 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
16066 unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
16067 vkStream, rootType,
16068 reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
16069 structExtension_out));
16070 break;
16071 }
16072 #endif
16073 #ifdef VK_EXT_graphics_pipeline_library
16074 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
16075 unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
16076 vkStream, rootType,
16077 reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
16078 structExtension_out));
16079 break;
16080 }
16081 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
16082 unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
16083 vkStream, rootType,
16084 reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
16085 structExtension_out));
16086 break;
16087 }
16088 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
16089 unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
16090 vkStream, rootType,
16091 reinterpret_cast<VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension_out));
16092 break;
16093 }
16094 #endif
16095 #ifdef VK_EXT_ycbcr_2plane_444_formats
16096 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
16097 unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
16098 vkStream, rootType,
16099 reinterpret_cast<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
16100 structExtension_out));
16101 break;
16102 }
16103 #endif
16104 #ifdef VK_EXT_image_compression_control
16105 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
16106 unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
16107 vkStream, rootType,
16108 reinterpret_cast<VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
16109 structExtension_out));
16110 break;
16111 }
16112 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
16113 unmarshal_VkImageCompressionControlEXT(
16114 vkStream, rootType,
16115 reinterpret_cast<VkImageCompressionControlEXT*>(structExtension_out));
16116 break;
16117 }
16118 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
16119 unmarshal_VkImageCompressionPropertiesEXT(
16120 vkStream, rootType,
16121 reinterpret_cast<VkImageCompressionPropertiesEXT*>(structExtension_out));
16122 break;
16123 }
16124 #endif
16125 #ifdef VK_EXT_4444_formats
16126 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
16127 unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
16128 vkStream, rootType,
16129 reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension_out));
16130 break;
16131 }
16132 #endif
16133 #ifdef VK_EXT_primitive_topology_list_restart
16134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
16135 unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
16136 vkStream, rootType,
16137 reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
16138 structExtension_out));
16139 break;
16140 }
16141 #endif
16142 #ifdef VK_EXT_extended_dynamic_state2
16143 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
16144 unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
16145 vkStream, rootType,
16146 reinterpret_cast<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
16147 structExtension_out));
16148 break;
16149 }
16150 #endif
16151 #ifdef VK_EXT_color_write_enable
16152 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
16153 unmarshal_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
16154 vkStream, rootType,
16155 reinterpret_cast<VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
16156 structExtension_out));
16157 break;
16158 }
16159 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
16160 unmarshal_VkPipelineColorWriteCreateInfoEXT(
16161 vkStream, rootType,
16162 reinterpret_cast<VkPipelineColorWriteCreateInfoEXT*>(structExtension_out));
16163 break;
16164 }
16165 #endif
16166 #ifdef VK_GOOGLE_gfxstream
16167 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
16168 unmarshal_VkImportColorBufferGOOGLE(
16169 vkStream, rootType,
16170 reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
16171 break;
16172 }
16173 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
16174 unmarshal_VkImportBufferGOOGLE(
16175 vkStream, rootType, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
16176 break;
16177 }
16178 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
16179 unmarshal_VkCreateBlobGOOGLE(
16180 vkStream, rootType, reinterpret_cast<VkCreateBlobGOOGLE*>(structExtension_out));
16181 break;
16182 }
16183 #endif
16184 #ifdef VK_EXT_image_compression_control_swapchain
16185 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
16186 unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
16187 vkStream, rootType,
16188 reinterpret_cast<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
16189 structExtension_out));
16190 break;
16191 }
16192 #endif
16193 default: {
16194 // fatal; the switch is only taken if the extension struct is known
16195 abort();
16196 }
16197 }
16198 }
16199
api_opcode_to_string(const uint32_t opcode)16200 const char* api_opcode_to_string(const uint32_t opcode) {
16201 switch (opcode) {
16202 #ifdef VK_VERSION_1_0
16203 case OP_vkCreateInstance: {
16204 return "OP_vkCreateInstance";
16205 }
16206 case OP_vkDestroyInstance: {
16207 return "OP_vkDestroyInstance";
16208 }
16209 case OP_vkEnumeratePhysicalDevices: {
16210 return "OP_vkEnumeratePhysicalDevices";
16211 }
16212 case OP_vkGetPhysicalDeviceFeatures: {
16213 return "OP_vkGetPhysicalDeviceFeatures";
16214 }
16215 case OP_vkGetPhysicalDeviceFormatProperties: {
16216 return "OP_vkGetPhysicalDeviceFormatProperties";
16217 }
16218 case OP_vkGetPhysicalDeviceImageFormatProperties: {
16219 return "OP_vkGetPhysicalDeviceImageFormatProperties";
16220 }
16221 case OP_vkGetPhysicalDeviceProperties: {
16222 return "OP_vkGetPhysicalDeviceProperties";
16223 }
16224 case OP_vkGetPhysicalDeviceQueueFamilyProperties: {
16225 return "OP_vkGetPhysicalDeviceQueueFamilyProperties";
16226 }
16227 case OP_vkGetPhysicalDeviceMemoryProperties: {
16228 return "OP_vkGetPhysicalDeviceMemoryProperties";
16229 }
16230 case OP_vkGetInstanceProcAddr: {
16231 return "OP_vkGetInstanceProcAddr";
16232 }
16233 case OP_vkGetDeviceProcAddr: {
16234 return "OP_vkGetDeviceProcAddr";
16235 }
16236 case OP_vkCreateDevice: {
16237 return "OP_vkCreateDevice";
16238 }
16239 case OP_vkDestroyDevice: {
16240 return "OP_vkDestroyDevice";
16241 }
16242 case OP_vkEnumerateInstanceExtensionProperties: {
16243 return "OP_vkEnumerateInstanceExtensionProperties";
16244 }
16245 case OP_vkEnumerateDeviceExtensionProperties: {
16246 return "OP_vkEnumerateDeviceExtensionProperties";
16247 }
16248 case OP_vkEnumerateInstanceLayerProperties: {
16249 return "OP_vkEnumerateInstanceLayerProperties";
16250 }
16251 case OP_vkEnumerateDeviceLayerProperties: {
16252 return "OP_vkEnumerateDeviceLayerProperties";
16253 }
16254 case OP_vkGetDeviceQueue: {
16255 return "OP_vkGetDeviceQueue";
16256 }
16257 case OP_vkQueueSubmit: {
16258 return "OP_vkQueueSubmit";
16259 }
16260 case OP_vkQueueWaitIdle: {
16261 return "OP_vkQueueWaitIdle";
16262 }
16263 case OP_vkDeviceWaitIdle: {
16264 return "OP_vkDeviceWaitIdle";
16265 }
16266 case OP_vkAllocateMemory: {
16267 return "OP_vkAllocateMemory";
16268 }
16269 case OP_vkFreeMemory: {
16270 return "OP_vkFreeMemory";
16271 }
16272 case OP_vkMapMemory: {
16273 return "OP_vkMapMemory";
16274 }
16275 case OP_vkUnmapMemory: {
16276 return "OP_vkUnmapMemory";
16277 }
16278 case OP_vkFlushMappedMemoryRanges: {
16279 return "OP_vkFlushMappedMemoryRanges";
16280 }
16281 case OP_vkInvalidateMappedMemoryRanges: {
16282 return "OP_vkInvalidateMappedMemoryRanges";
16283 }
16284 case OP_vkGetDeviceMemoryCommitment: {
16285 return "OP_vkGetDeviceMemoryCommitment";
16286 }
16287 case OP_vkBindBufferMemory: {
16288 return "OP_vkBindBufferMemory";
16289 }
16290 case OP_vkBindImageMemory: {
16291 return "OP_vkBindImageMemory";
16292 }
16293 case OP_vkGetBufferMemoryRequirements: {
16294 return "OP_vkGetBufferMemoryRequirements";
16295 }
16296 case OP_vkGetImageMemoryRequirements: {
16297 return "OP_vkGetImageMemoryRequirements";
16298 }
16299 case OP_vkGetImageSparseMemoryRequirements: {
16300 return "OP_vkGetImageSparseMemoryRequirements";
16301 }
16302 case OP_vkGetPhysicalDeviceSparseImageFormatProperties: {
16303 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties";
16304 }
16305 case OP_vkQueueBindSparse: {
16306 return "OP_vkQueueBindSparse";
16307 }
16308 case OP_vkCreateFence: {
16309 return "OP_vkCreateFence";
16310 }
16311 case OP_vkDestroyFence: {
16312 return "OP_vkDestroyFence";
16313 }
16314 case OP_vkResetFences: {
16315 return "OP_vkResetFences";
16316 }
16317 case OP_vkGetFenceStatus: {
16318 return "OP_vkGetFenceStatus";
16319 }
16320 case OP_vkWaitForFences: {
16321 return "OP_vkWaitForFences";
16322 }
16323 case OP_vkCreateSemaphore: {
16324 return "OP_vkCreateSemaphore";
16325 }
16326 case OP_vkDestroySemaphore: {
16327 return "OP_vkDestroySemaphore";
16328 }
16329 case OP_vkCreateEvent: {
16330 return "OP_vkCreateEvent";
16331 }
16332 case OP_vkDestroyEvent: {
16333 return "OP_vkDestroyEvent";
16334 }
16335 case OP_vkGetEventStatus: {
16336 return "OP_vkGetEventStatus";
16337 }
16338 case OP_vkSetEvent: {
16339 return "OP_vkSetEvent";
16340 }
16341 case OP_vkResetEvent: {
16342 return "OP_vkResetEvent";
16343 }
16344 case OP_vkCreateQueryPool: {
16345 return "OP_vkCreateQueryPool";
16346 }
16347 case OP_vkDestroyQueryPool: {
16348 return "OP_vkDestroyQueryPool";
16349 }
16350 case OP_vkGetQueryPoolResults: {
16351 return "OP_vkGetQueryPoolResults";
16352 }
16353 case OP_vkCreateBuffer: {
16354 return "OP_vkCreateBuffer";
16355 }
16356 case OP_vkDestroyBuffer: {
16357 return "OP_vkDestroyBuffer";
16358 }
16359 case OP_vkCreateBufferView: {
16360 return "OP_vkCreateBufferView";
16361 }
16362 case OP_vkDestroyBufferView: {
16363 return "OP_vkDestroyBufferView";
16364 }
16365 case OP_vkCreateImage: {
16366 return "OP_vkCreateImage";
16367 }
16368 case OP_vkDestroyImage: {
16369 return "OP_vkDestroyImage";
16370 }
16371 case OP_vkGetImageSubresourceLayout: {
16372 return "OP_vkGetImageSubresourceLayout";
16373 }
16374 case OP_vkCreateImageView: {
16375 return "OP_vkCreateImageView";
16376 }
16377 case OP_vkDestroyImageView: {
16378 return "OP_vkDestroyImageView";
16379 }
16380 case OP_vkCreateShaderModule: {
16381 return "OP_vkCreateShaderModule";
16382 }
16383 case OP_vkDestroyShaderModule: {
16384 return "OP_vkDestroyShaderModule";
16385 }
16386 case OP_vkCreatePipelineCache: {
16387 return "OP_vkCreatePipelineCache";
16388 }
16389 case OP_vkDestroyPipelineCache: {
16390 return "OP_vkDestroyPipelineCache";
16391 }
16392 case OP_vkGetPipelineCacheData: {
16393 return "OP_vkGetPipelineCacheData";
16394 }
16395 case OP_vkMergePipelineCaches: {
16396 return "OP_vkMergePipelineCaches";
16397 }
16398 case OP_vkCreateGraphicsPipelines: {
16399 return "OP_vkCreateGraphicsPipelines";
16400 }
16401 case OP_vkCreateComputePipelines: {
16402 return "OP_vkCreateComputePipelines";
16403 }
16404 case OP_vkDestroyPipeline: {
16405 return "OP_vkDestroyPipeline";
16406 }
16407 case OP_vkCreatePipelineLayout: {
16408 return "OP_vkCreatePipelineLayout";
16409 }
16410 case OP_vkDestroyPipelineLayout: {
16411 return "OP_vkDestroyPipelineLayout";
16412 }
16413 case OP_vkCreateSampler: {
16414 return "OP_vkCreateSampler";
16415 }
16416 case OP_vkDestroySampler: {
16417 return "OP_vkDestroySampler";
16418 }
16419 case OP_vkCreateDescriptorSetLayout: {
16420 return "OP_vkCreateDescriptorSetLayout";
16421 }
16422 case OP_vkDestroyDescriptorSetLayout: {
16423 return "OP_vkDestroyDescriptorSetLayout";
16424 }
16425 case OP_vkCreateDescriptorPool: {
16426 return "OP_vkCreateDescriptorPool";
16427 }
16428 case OP_vkDestroyDescriptorPool: {
16429 return "OP_vkDestroyDescriptorPool";
16430 }
16431 case OP_vkResetDescriptorPool: {
16432 return "OP_vkResetDescriptorPool";
16433 }
16434 case OP_vkAllocateDescriptorSets: {
16435 return "OP_vkAllocateDescriptorSets";
16436 }
16437 case OP_vkFreeDescriptorSets: {
16438 return "OP_vkFreeDescriptorSets";
16439 }
16440 case OP_vkUpdateDescriptorSets: {
16441 return "OP_vkUpdateDescriptorSets";
16442 }
16443 case OP_vkCreateFramebuffer: {
16444 return "OP_vkCreateFramebuffer";
16445 }
16446 case OP_vkDestroyFramebuffer: {
16447 return "OP_vkDestroyFramebuffer";
16448 }
16449 case OP_vkCreateRenderPass: {
16450 return "OP_vkCreateRenderPass";
16451 }
16452 case OP_vkDestroyRenderPass: {
16453 return "OP_vkDestroyRenderPass";
16454 }
16455 case OP_vkGetRenderAreaGranularity: {
16456 return "OP_vkGetRenderAreaGranularity";
16457 }
16458 case OP_vkCreateCommandPool: {
16459 return "OP_vkCreateCommandPool";
16460 }
16461 case OP_vkDestroyCommandPool: {
16462 return "OP_vkDestroyCommandPool";
16463 }
16464 case OP_vkResetCommandPool: {
16465 return "OP_vkResetCommandPool";
16466 }
16467 case OP_vkAllocateCommandBuffers: {
16468 return "OP_vkAllocateCommandBuffers";
16469 }
16470 case OP_vkFreeCommandBuffers: {
16471 return "OP_vkFreeCommandBuffers";
16472 }
16473 case OP_vkBeginCommandBuffer: {
16474 return "OP_vkBeginCommandBuffer";
16475 }
16476 case OP_vkEndCommandBuffer: {
16477 return "OP_vkEndCommandBuffer";
16478 }
16479 case OP_vkResetCommandBuffer: {
16480 return "OP_vkResetCommandBuffer";
16481 }
16482 case OP_vkCmdBindPipeline: {
16483 return "OP_vkCmdBindPipeline";
16484 }
16485 case OP_vkCmdSetViewport: {
16486 return "OP_vkCmdSetViewport";
16487 }
16488 case OP_vkCmdSetScissor: {
16489 return "OP_vkCmdSetScissor";
16490 }
16491 case OP_vkCmdSetLineWidth: {
16492 return "OP_vkCmdSetLineWidth";
16493 }
16494 case OP_vkCmdSetDepthBias: {
16495 return "OP_vkCmdSetDepthBias";
16496 }
16497 case OP_vkCmdSetBlendConstants: {
16498 return "OP_vkCmdSetBlendConstants";
16499 }
16500 case OP_vkCmdSetDepthBounds: {
16501 return "OP_vkCmdSetDepthBounds";
16502 }
16503 case OP_vkCmdSetStencilCompareMask: {
16504 return "OP_vkCmdSetStencilCompareMask";
16505 }
16506 case OP_vkCmdSetStencilWriteMask: {
16507 return "OP_vkCmdSetStencilWriteMask";
16508 }
16509 case OP_vkCmdSetStencilReference: {
16510 return "OP_vkCmdSetStencilReference";
16511 }
16512 case OP_vkCmdBindDescriptorSets: {
16513 return "OP_vkCmdBindDescriptorSets";
16514 }
16515 case OP_vkCmdBindIndexBuffer: {
16516 return "OP_vkCmdBindIndexBuffer";
16517 }
16518 case OP_vkCmdBindVertexBuffers: {
16519 return "OP_vkCmdBindVertexBuffers";
16520 }
16521 case OP_vkCmdDraw: {
16522 return "OP_vkCmdDraw";
16523 }
16524 case OP_vkCmdDrawIndexed: {
16525 return "OP_vkCmdDrawIndexed";
16526 }
16527 case OP_vkCmdDrawIndirect: {
16528 return "OP_vkCmdDrawIndirect";
16529 }
16530 case OP_vkCmdDrawIndexedIndirect: {
16531 return "OP_vkCmdDrawIndexedIndirect";
16532 }
16533 case OP_vkCmdDispatch: {
16534 return "OP_vkCmdDispatch";
16535 }
16536 case OP_vkCmdDispatchIndirect: {
16537 return "OP_vkCmdDispatchIndirect";
16538 }
16539 case OP_vkCmdCopyBuffer: {
16540 return "OP_vkCmdCopyBuffer";
16541 }
16542 case OP_vkCmdCopyImage: {
16543 return "OP_vkCmdCopyImage";
16544 }
16545 case OP_vkCmdBlitImage: {
16546 return "OP_vkCmdBlitImage";
16547 }
16548 case OP_vkCmdCopyBufferToImage: {
16549 return "OP_vkCmdCopyBufferToImage";
16550 }
16551 case OP_vkCmdCopyImageToBuffer: {
16552 return "OP_vkCmdCopyImageToBuffer";
16553 }
16554 case OP_vkCmdUpdateBuffer: {
16555 return "OP_vkCmdUpdateBuffer";
16556 }
16557 case OP_vkCmdFillBuffer: {
16558 return "OP_vkCmdFillBuffer";
16559 }
16560 case OP_vkCmdClearColorImage: {
16561 return "OP_vkCmdClearColorImage";
16562 }
16563 case OP_vkCmdClearDepthStencilImage: {
16564 return "OP_vkCmdClearDepthStencilImage";
16565 }
16566 case OP_vkCmdClearAttachments: {
16567 return "OP_vkCmdClearAttachments";
16568 }
16569 case OP_vkCmdResolveImage: {
16570 return "OP_vkCmdResolveImage";
16571 }
16572 case OP_vkCmdSetEvent: {
16573 return "OP_vkCmdSetEvent";
16574 }
16575 case OP_vkCmdResetEvent: {
16576 return "OP_vkCmdResetEvent";
16577 }
16578 case OP_vkCmdWaitEvents: {
16579 return "OP_vkCmdWaitEvents";
16580 }
16581 case OP_vkCmdPipelineBarrier: {
16582 return "OP_vkCmdPipelineBarrier";
16583 }
16584 case OP_vkCmdBeginQuery: {
16585 return "OP_vkCmdBeginQuery";
16586 }
16587 case OP_vkCmdEndQuery: {
16588 return "OP_vkCmdEndQuery";
16589 }
16590 case OP_vkCmdResetQueryPool: {
16591 return "OP_vkCmdResetQueryPool";
16592 }
16593 case OP_vkCmdWriteTimestamp: {
16594 return "OP_vkCmdWriteTimestamp";
16595 }
16596 case OP_vkCmdCopyQueryPoolResults: {
16597 return "OP_vkCmdCopyQueryPoolResults";
16598 }
16599 case OP_vkCmdPushConstants: {
16600 return "OP_vkCmdPushConstants";
16601 }
16602 case OP_vkCmdBeginRenderPass: {
16603 return "OP_vkCmdBeginRenderPass";
16604 }
16605 case OP_vkCmdNextSubpass: {
16606 return "OP_vkCmdNextSubpass";
16607 }
16608 case OP_vkCmdEndRenderPass: {
16609 return "OP_vkCmdEndRenderPass";
16610 }
16611 case OP_vkCmdExecuteCommands: {
16612 return "OP_vkCmdExecuteCommands";
16613 }
16614 #endif
16615 #ifdef VK_VERSION_1_1
16616 case OP_vkEnumerateInstanceVersion: {
16617 return "OP_vkEnumerateInstanceVersion";
16618 }
16619 case OP_vkBindBufferMemory2: {
16620 return "OP_vkBindBufferMemory2";
16621 }
16622 case OP_vkBindImageMemory2: {
16623 return "OP_vkBindImageMemory2";
16624 }
16625 case OP_vkGetDeviceGroupPeerMemoryFeatures: {
16626 return "OP_vkGetDeviceGroupPeerMemoryFeatures";
16627 }
16628 case OP_vkCmdSetDeviceMask: {
16629 return "OP_vkCmdSetDeviceMask";
16630 }
16631 case OP_vkCmdDispatchBase: {
16632 return "OP_vkCmdDispatchBase";
16633 }
16634 case OP_vkEnumeratePhysicalDeviceGroups: {
16635 return "OP_vkEnumeratePhysicalDeviceGroups";
16636 }
16637 case OP_vkGetImageMemoryRequirements2: {
16638 return "OP_vkGetImageMemoryRequirements2";
16639 }
16640 case OP_vkGetBufferMemoryRequirements2: {
16641 return "OP_vkGetBufferMemoryRequirements2";
16642 }
16643 case OP_vkGetImageSparseMemoryRequirements2: {
16644 return "OP_vkGetImageSparseMemoryRequirements2";
16645 }
16646 case OP_vkGetPhysicalDeviceFeatures2: {
16647 return "OP_vkGetPhysicalDeviceFeatures2";
16648 }
16649 case OP_vkGetPhysicalDeviceProperties2: {
16650 return "OP_vkGetPhysicalDeviceProperties2";
16651 }
16652 case OP_vkGetPhysicalDeviceFormatProperties2: {
16653 return "OP_vkGetPhysicalDeviceFormatProperties2";
16654 }
16655 case OP_vkGetPhysicalDeviceImageFormatProperties2: {
16656 return "OP_vkGetPhysicalDeviceImageFormatProperties2";
16657 }
16658 case OP_vkGetPhysicalDeviceQueueFamilyProperties2: {
16659 return "OP_vkGetPhysicalDeviceQueueFamilyProperties2";
16660 }
16661 case OP_vkGetPhysicalDeviceMemoryProperties2: {
16662 return "OP_vkGetPhysicalDeviceMemoryProperties2";
16663 }
16664 case OP_vkGetPhysicalDeviceSparseImageFormatProperties2: {
16665 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2";
16666 }
16667 case OP_vkTrimCommandPool: {
16668 return "OP_vkTrimCommandPool";
16669 }
16670 case OP_vkGetDeviceQueue2: {
16671 return "OP_vkGetDeviceQueue2";
16672 }
16673 case OP_vkCreateSamplerYcbcrConversion: {
16674 return "OP_vkCreateSamplerYcbcrConversion";
16675 }
16676 case OP_vkDestroySamplerYcbcrConversion: {
16677 return "OP_vkDestroySamplerYcbcrConversion";
16678 }
16679 case OP_vkCreateDescriptorUpdateTemplate: {
16680 return "OP_vkCreateDescriptorUpdateTemplate";
16681 }
16682 case OP_vkDestroyDescriptorUpdateTemplate: {
16683 return "OP_vkDestroyDescriptorUpdateTemplate";
16684 }
16685 case OP_vkUpdateDescriptorSetWithTemplate: {
16686 return "OP_vkUpdateDescriptorSetWithTemplate";
16687 }
16688 case OP_vkGetPhysicalDeviceExternalBufferProperties: {
16689 return "OP_vkGetPhysicalDeviceExternalBufferProperties";
16690 }
16691 case OP_vkGetPhysicalDeviceExternalFenceProperties: {
16692 return "OP_vkGetPhysicalDeviceExternalFenceProperties";
16693 }
16694 case OP_vkGetPhysicalDeviceExternalSemaphoreProperties: {
16695 return "OP_vkGetPhysicalDeviceExternalSemaphoreProperties";
16696 }
16697 case OP_vkGetDescriptorSetLayoutSupport: {
16698 return "OP_vkGetDescriptorSetLayoutSupport";
16699 }
16700 #endif
16701 #ifdef VK_KHR_get_physical_device_properties2
16702 case OP_vkGetPhysicalDeviceFeatures2KHR: {
16703 return "OP_vkGetPhysicalDeviceFeatures2KHR";
16704 }
16705 case OP_vkGetPhysicalDeviceProperties2KHR: {
16706 return "OP_vkGetPhysicalDeviceProperties2KHR";
16707 }
16708 case OP_vkGetPhysicalDeviceFormatProperties2KHR: {
16709 return "OP_vkGetPhysicalDeviceFormatProperties2KHR";
16710 }
16711 case OP_vkGetPhysicalDeviceImageFormatProperties2KHR: {
16712 return "OP_vkGetPhysicalDeviceImageFormatProperties2KHR";
16713 }
16714 case OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR: {
16715 return "OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR";
16716 }
16717 case OP_vkGetPhysicalDeviceMemoryProperties2KHR: {
16718 return "OP_vkGetPhysicalDeviceMemoryProperties2KHR";
16719 }
16720 case OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR: {
16721 return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR";
16722 }
16723 #endif
16724 #ifdef VK_KHR_maintenance1
16725 case OP_vkTrimCommandPoolKHR: {
16726 return "OP_vkTrimCommandPoolKHR";
16727 }
16728 #endif
16729 #ifdef VK_KHR_external_memory_capabilities
16730 case OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR: {
16731 return "OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR";
16732 }
16733 #endif
16734 #ifdef VK_KHR_external_semaphore_capabilities
16735 case OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR: {
16736 return "OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR";
16737 }
16738 #endif
16739 #ifdef VK_KHR_external_semaphore_fd
16740 case OP_vkImportSemaphoreFdKHR: {
16741 return "OP_vkImportSemaphoreFdKHR";
16742 }
16743 case OP_vkGetSemaphoreFdKHR: {
16744 return "OP_vkGetSemaphoreFdKHR";
16745 }
16746 #endif
16747 #ifdef VK_KHR_descriptor_update_template
16748 case OP_vkCreateDescriptorUpdateTemplateKHR: {
16749 return "OP_vkCreateDescriptorUpdateTemplateKHR";
16750 }
16751 case OP_vkDestroyDescriptorUpdateTemplateKHR: {
16752 return "OP_vkDestroyDescriptorUpdateTemplateKHR";
16753 }
16754 case OP_vkUpdateDescriptorSetWithTemplateKHR: {
16755 return "OP_vkUpdateDescriptorSetWithTemplateKHR";
16756 }
16757 #endif
16758 #ifdef VK_KHR_create_renderpass2
16759 case OP_vkCreateRenderPass2KHR: {
16760 return "OP_vkCreateRenderPass2KHR";
16761 }
16762 case OP_vkCmdBeginRenderPass2KHR: {
16763 return "OP_vkCmdBeginRenderPass2KHR";
16764 }
16765 case OP_vkCmdNextSubpass2KHR: {
16766 return "OP_vkCmdNextSubpass2KHR";
16767 }
16768 case OP_vkCmdEndRenderPass2KHR: {
16769 return "OP_vkCmdEndRenderPass2KHR";
16770 }
16771 #endif
16772 #ifdef VK_KHR_external_fence_capabilities
16773 case OP_vkGetPhysicalDeviceExternalFencePropertiesKHR: {
16774 return "OP_vkGetPhysicalDeviceExternalFencePropertiesKHR";
16775 }
16776 #endif
16777 #ifdef VK_KHR_external_fence_fd
16778 case OP_vkImportFenceFdKHR: {
16779 return "OP_vkImportFenceFdKHR";
16780 }
16781 case OP_vkGetFenceFdKHR: {
16782 return "OP_vkGetFenceFdKHR";
16783 }
16784 #endif
16785 #ifdef VK_KHR_get_memory_requirements2
16786 case OP_vkGetImageMemoryRequirements2KHR: {
16787 return "OP_vkGetImageMemoryRequirements2KHR";
16788 }
16789 case OP_vkGetBufferMemoryRequirements2KHR: {
16790 return "OP_vkGetBufferMemoryRequirements2KHR";
16791 }
16792 case OP_vkGetImageSparseMemoryRequirements2KHR: {
16793 return "OP_vkGetImageSparseMemoryRequirements2KHR";
16794 }
16795 #endif
16796 #ifdef VK_KHR_sampler_ycbcr_conversion
16797 case OP_vkCreateSamplerYcbcrConversionKHR: {
16798 return "OP_vkCreateSamplerYcbcrConversionKHR";
16799 }
16800 case OP_vkDestroySamplerYcbcrConversionKHR: {
16801 return "OP_vkDestroySamplerYcbcrConversionKHR";
16802 }
16803 #endif
16804 #ifdef VK_KHR_bind_memory2
16805 case OP_vkBindBufferMemory2KHR: {
16806 return "OP_vkBindBufferMemory2KHR";
16807 }
16808 case OP_vkBindImageMemory2KHR: {
16809 return "OP_vkBindImageMemory2KHR";
16810 }
16811 #endif
16812 #ifdef VK_KHR_maintenance3
16813 case OP_vkGetDescriptorSetLayoutSupportKHR: {
16814 return "OP_vkGetDescriptorSetLayoutSupportKHR";
16815 }
16816 #endif
16817 #ifdef VK_ANDROID_native_buffer
16818 case OP_vkGetSwapchainGrallocUsageANDROID: {
16819 return "OP_vkGetSwapchainGrallocUsageANDROID";
16820 }
16821 case OP_vkAcquireImageANDROID: {
16822 return "OP_vkAcquireImageANDROID";
16823 }
16824 case OP_vkQueueSignalReleaseImageANDROID: {
16825 return "OP_vkQueueSignalReleaseImageANDROID";
16826 }
16827 #endif
16828 #ifdef VK_GOOGLE_gfxstream
16829 case OP_vkMapMemoryIntoAddressSpaceGOOGLE: {
16830 return "OP_vkMapMemoryIntoAddressSpaceGOOGLE";
16831 }
16832 case OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE: {
16833 return "OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE";
16834 }
16835 case OP_vkBeginCommandBufferAsyncGOOGLE: {
16836 return "OP_vkBeginCommandBufferAsyncGOOGLE";
16837 }
16838 case OP_vkEndCommandBufferAsyncGOOGLE: {
16839 return "OP_vkEndCommandBufferAsyncGOOGLE";
16840 }
16841 case OP_vkResetCommandBufferAsyncGOOGLE: {
16842 return "OP_vkResetCommandBufferAsyncGOOGLE";
16843 }
16844 case OP_vkCommandBufferHostSyncGOOGLE: {
16845 return "OP_vkCommandBufferHostSyncGOOGLE";
16846 }
16847 case OP_vkCreateImageWithRequirementsGOOGLE: {
16848 return "OP_vkCreateImageWithRequirementsGOOGLE";
16849 }
16850 case OP_vkCreateBufferWithRequirementsGOOGLE: {
16851 return "OP_vkCreateBufferWithRequirementsGOOGLE";
16852 }
16853 case OP_vkGetMemoryHostAddressInfoGOOGLE: {
16854 return "OP_vkGetMemoryHostAddressInfoGOOGLE";
16855 }
16856 case OP_vkFreeMemorySyncGOOGLE: {
16857 return "OP_vkFreeMemorySyncGOOGLE";
16858 }
16859 case OP_vkQueueHostSyncGOOGLE: {
16860 return "OP_vkQueueHostSyncGOOGLE";
16861 }
16862 case OP_vkQueueSubmitAsyncGOOGLE: {
16863 return "OP_vkQueueSubmitAsyncGOOGLE";
16864 }
16865 case OP_vkQueueWaitIdleAsyncGOOGLE: {
16866 return "OP_vkQueueWaitIdleAsyncGOOGLE";
16867 }
16868 case OP_vkQueueBindSparseAsyncGOOGLE: {
16869 return "OP_vkQueueBindSparseAsyncGOOGLE";
16870 }
16871 case OP_vkGetLinearImageLayoutGOOGLE: {
16872 return "OP_vkGetLinearImageLayoutGOOGLE";
16873 }
16874 case OP_vkQueueFlushCommandsGOOGLE: {
16875 return "OP_vkQueueFlushCommandsGOOGLE";
16876 }
16877 case OP_vkGetBlobGOOGLE: {
16878 return "OP_vkGetBlobGOOGLE";
16879 }
16880 case OP_vkGetSemaphoreGOOGLE: {
16881 return "OP_vkGetSemaphoreGOOGLE";
16882 }
16883 #endif
16884 #ifdef VK_KHR_dynamic_rendering
16885 case OP_vkCmdEndRenderingKHR: {
16886 return "OP_vkCmdEndRenderingKHR";
16887 }
16888 #endif
16889 #ifdef VK_KHR_synchronization2
16890 case OP_vkCmdPipelineBarrier2KHR: {
16891 return "OP_vkCmdPipelineBarrier2KHR";
16892 }
16893 #endif
16894 #ifdef VK_KHR_maintenance4
16895 case OP_vkGetDeviceBufferMemoryRequirementsKHR: {
16896 return "OP_vkGetDeviceBufferMemoryRequirementsKHR";
16897 }
16898 #endif
16899 #ifdef VK_EXT_color_write_enable
16900 case OP_vkCmdSetColorWriteEnableEXT: {
16901 return "OP_vkCmdSetColorWriteEnableEXT";
16902 }
16903 #endif
16904 #ifdef VK_KHR_maintenance5
16905 case OP_vkCmdBindIndexBuffer2KHR: {
16906 return "OP_vkCmdBindIndexBuffer2KHR";
16907 }
16908 #endif
16909 #ifdef VK_EXT_extended_dynamic_state
16910 case OP_vkCmdSetScissorWithCountEXT: {
16911 return "OP_vkCmdSetScissorWithCountEXT";
16912 }
16913 #endif
16914 #ifdef VK_EXT_host_image_copy
16915 case OP_vkCopyImageToMemoryEXT: {
16916 return "OP_vkCopyImageToMemoryEXT";
16917 }
16918 #endif
16919 #ifdef VK_EXT_extended_dynamic_state2
16920 case OP_vkCmdSetPatchControlPointsEXT: {
16921 return "OP_vkCmdSetPatchControlPointsEXT";
16922 }
16923 #endif
16924 #ifdef VK_EXT_private_data
16925 case OP_vkDestroyPrivateDataSlotEXT: {
16926 return "OP_vkDestroyPrivateDataSlotEXT";
16927 }
16928 #endif
16929 #ifdef VK_VERSION_1_3
16930 case OP_vkCmdSetDepthTestEnable: {
16931 return "OP_vkCmdSetDepthTestEnable";
16932 }
16933 #endif
16934 #ifdef VK_EXT_extended_dynamic_state
16935 case OP_vkCmdSetFrontFaceEXT: {
16936 return "OP_vkCmdSetFrontFaceEXT";
16937 }
16938 #endif
16939 #ifdef VK_GOOGLE_gfxstream
16940 case OP_vkCollectDescriptorPoolIdsGOOGLE: {
16941 return "OP_vkCollectDescriptorPoolIdsGOOGLE";
16942 }
16943 #endif
16944 #ifdef VK_VERSION_1_3
16945 case OP_vkCmdCopyImageToBuffer2: {
16946 return "OP_vkCmdCopyImageToBuffer2";
16947 }
16948 #endif
16949 #ifdef VK_EXT_extended_dynamic_state
16950 case OP_vkCmdSetDepthWriteEnableEXT: {
16951 return "OP_vkCmdSetDepthWriteEnableEXT";
16952 }
16953 #endif
16954 #ifdef VK_EXT_host_image_copy
16955 case OP_vkCopyMemoryToImageEXT: {
16956 return "OP_vkCopyMemoryToImageEXT";
16957 }
16958 #endif
16959 #ifdef VK_KHR_buffer_device_address
16960 case OP_vkGetBufferDeviceAddressKHR: {
16961 return "OP_vkGetBufferDeviceAddressKHR";
16962 }
16963 #endif
16964 #ifdef VK_VERSION_1_3
16965 case OP_vkCmdSetDepthBoundsTestEnable: {
16966 return "OP_vkCmdSetDepthBoundsTestEnable";
16967 }
16968 #endif
16969 #ifdef VK_KHR_line_rasterization
16970 case OP_vkCmdSetLineStippleKHR: {
16971 return "OP_vkCmdSetLineStippleKHR";
16972 }
16973 #endif
16974 #ifdef VK_VERSION_1_3
16975 case OP_vkCmdSetScissorWithCount: {
16976 return "OP_vkCmdSetScissorWithCount";
16977 }
16978 case OP_vkCmdEndRendering: {
16979 return "OP_vkCmdEndRendering";
16980 }
16981 #endif
16982 #ifdef VK_VERSION_1_2
16983 case OP_vkCmdEndRenderPass2: {
16984 return "OP_vkCmdEndRenderPass2";
16985 }
16986 case OP_vkGetBufferDeviceAddress: {
16987 return "OP_vkGetBufferDeviceAddress";
16988 }
16989 #endif
16990 #ifdef VK_VERSION_1_3
16991 case OP_vkCmdSetFrontFace: {
16992 return "OP_vkCmdSetFrontFace";
16993 }
16994 #endif
16995 #ifdef VK_EXT_extended_dynamic_state
16996 case OP_vkCmdSetDepthBoundsTestEnableEXT: {
16997 return "OP_vkCmdSetDepthBoundsTestEnableEXT";
16998 }
16999 #endif
17000 #ifdef VK_EXT_host_image_copy
17001 case OP_vkCopyImageToImageEXT: {
17002 return "OP_vkCopyImageToImageEXT";
17003 }
17004 #endif
17005 #ifdef VK_VERSION_1_3
17006 case OP_vkDestroyPrivateDataSlot: {
17007 return "OP_vkDestroyPrivateDataSlot";
17008 }
17009 case OP_vkCmdSetCullMode: {
17010 return "OP_vkCmdSetCullMode";
17011 }
17012 #endif
17013 #ifdef VK_KHR_synchronization2
17014 case OP_vkCmdWriteBufferMarker2AMD: {
17015 return "OP_vkCmdWriteBufferMarker2AMD";
17016 }
17017 #endif
17018 #ifdef VK_VERSION_1_2
17019 case OP_vkWaitSemaphores: {
17020 return "OP_vkWaitSemaphores";
17021 }
17022 #endif
17023 #ifdef VK_EXT_private_data
17024 case OP_vkSetPrivateDataEXT: {
17025 return "OP_vkSetPrivateDataEXT";
17026 }
17027 #endif
17028 #ifdef VK_KHR_copy_commands2
17029 case OP_vkCmdCopyImage2KHR: {
17030 return "OP_vkCmdCopyImage2KHR";
17031 }
17032 #endif
17033 #ifdef VK_VERSION_1_2
17034 case OP_vkGetBufferOpaqueCaptureAddress: {
17035 return "OP_vkGetBufferOpaqueCaptureAddress";
17036 }
17037 #endif
17038 #ifdef VK_VERSION_1_3
17039 case OP_vkCmdSetPrimitiveRestartEnable: {
17040 return "OP_vkCmdSetPrimitiveRestartEnable";
17041 }
17042 case OP_vkCmdSetEvent2: {
17043 return "OP_vkCmdSetEvent2";
17044 }
17045 case OP_vkGetDeviceImageSparseMemoryRequirements: {
17046 return "OP_vkGetDeviceImageSparseMemoryRequirements";
17047 }
17048 #endif
17049 #ifdef VK_EXT_extended_dynamic_state
17050 case OP_vkCmdSetDepthTestEnableEXT: {
17051 return "OP_vkCmdSetDepthTestEnableEXT";
17052 }
17053 #endif
17054 #ifdef VK_VERSION_1_2
17055 case OP_vkCmdBeginRenderPass2: {
17056 return "OP_vkCmdBeginRenderPass2";
17057 }
17058 #endif
17059 #ifdef VK_VERSION_1_3
17060 case OP_vkCmdSetStencilOp: {
17061 return "OP_vkCmdSetStencilOp";
17062 }
17063 #endif
17064 #ifdef VK_EXT_private_data
17065 case OP_vkCreatePrivateDataSlotEXT: {
17066 return "OP_vkCreatePrivateDataSlotEXT";
17067 }
17068 #endif
17069 #ifdef VK_VERSION_1_3
17070 case OP_vkCmdCopyBuffer2: {
17071 return "OP_vkCmdCopyBuffer2";
17072 }
17073 case OP_vkGetPrivateData: {
17074 return "OP_vkGetPrivateData";
17075 }
17076 #endif
17077 #ifdef VK_KHR_maintenance5
17078 case OP_vkGetRenderingAreaGranularityKHR: {
17079 return "OP_vkGetRenderingAreaGranularityKHR";
17080 }
17081 #endif
17082 #ifdef VK_VERSION_1_3
17083 case OP_vkCmdSetDepthWriteEnable: {
17084 return "OP_vkCmdSetDepthWriteEnable";
17085 }
17086 case OP_vkSetPrivateData: {
17087 return "OP_vkSetPrivateData";
17088 }
17089 #endif
17090 #ifdef VK_EXT_host_image_copy
17091 case OP_vkTransitionImageLayoutEXT: {
17092 return "OP_vkTransitionImageLayoutEXT";
17093 }
17094 #endif
17095 #ifdef VK_KHR_maintenance4
17096 case OP_vkGetDeviceImageMemoryRequirementsKHR: {
17097 return "OP_vkGetDeviceImageMemoryRequirementsKHR";
17098 }
17099 #endif
17100 #ifdef VK_KHR_maintenance5
17101 case OP_vkGetImageSubresourceLayout2KHR: {
17102 return "OP_vkGetImageSubresourceLayout2KHR";
17103 }
17104 #endif
17105 #ifdef VK_EXT_extended_dynamic_state
17106 case OP_vkCmdBindVertexBuffers2EXT: {
17107 return "OP_vkCmdBindVertexBuffers2EXT";
17108 }
17109 #endif
17110 #ifdef VK_GOOGLE_gfxstream
17111 case OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE: {
17112 return "OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE";
17113 }
17114 #endif
17115 #ifdef VK_VERSION_1_3
17116 case OP_vkCmdWaitEvents2: {
17117 return "OP_vkCmdWaitEvents2";
17118 }
17119 #endif
17120 #ifdef VK_GOOGLE_gfxstream
17121 case OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE: {
17122 return "OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE";
17123 }
17124 #endif
17125 #ifdef VK_VERSION_1_2
17126 case OP_vkCmdNextSubpass2: {
17127 return "OP_vkCmdNextSubpass2";
17128 }
17129 #endif
17130 #ifdef VK_KHR_synchronization2
17131 case OP_vkCmdWaitEvents2KHR: {
17132 return "OP_vkCmdWaitEvents2KHR";
17133 }
17134 #endif
17135 #ifdef VK_VERSION_1_2
17136 case OP_vkCmdDrawIndexedIndirectCount: {
17137 return "OP_vkCmdDrawIndexedIndirectCount";
17138 }
17139 #endif
17140 #ifdef VK_EXT_extended_dynamic_state2
17141 case OP_vkCmdSetRasterizerDiscardEnableEXT: {
17142 return "OP_vkCmdSetRasterizerDiscardEnableEXT";
17143 }
17144 #endif
17145 #ifdef VK_VERSION_1_3
17146 case OP_vkCmdSetDepthCompareOp: {
17147 return "OP_vkCmdSetDepthCompareOp";
17148 }
17149 case OP_vkCmdWriteTimestamp2: {
17150 return "OP_vkCmdWriteTimestamp2";
17151 }
17152 case OP_vkCmdCopyImage2: {
17153 return "OP_vkCmdCopyImage2";
17154 }
17155 #endif
17156 #ifdef VK_EXT_extended_dynamic_state
17157 case OP_vkCmdSetDepthCompareOpEXT: {
17158 return "OP_vkCmdSetDepthCompareOpEXT";
17159 }
17160 #endif
17161 #ifdef VK_KHR_copy_commands2
17162 case OP_vkCmdCopyBuffer2KHR: {
17163 return "OP_vkCmdCopyBuffer2KHR";
17164 }
17165 case OP_vkCmdCopyBufferToImage2KHR: {
17166 return "OP_vkCmdCopyBufferToImage2KHR";
17167 }
17168 #endif
17169 #ifdef VK_EXT_image_drm_format_modifier
17170 case OP_vkGetImageDrmFormatModifierPropertiesEXT: {
17171 return "OP_vkGetImageDrmFormatModifierPropertiesEXT";
17172 }
17173 #endif
17174 #ifdef VK_VERSION_1_2
17175 case OP_vkResetQueryPool: {
17176 return "OP_vkResetQueryPool";
17177 }
17178 #endif
17179 #ifdef VK_KHR_copy_commands2
17180 case OP_vkCmdCopyImageToBuffer2KHR: {
17181 return "OP_vkCmdCopyImageToBuffer2KHR";
17182 }
17183 #endif
17184 #ifdef VK_KHR_synchronization2
17185 case OP_vkCmdWriteTimestamp2KHR: {
17186 return "OP_vkCmdWriteTimestamp2KHR";
17187 }
17188 #endif
17189 #ifdef VK_KHR_maintenance5
17190 case OP_vkGetDeviceImageSubresourceLayoutKHR: {
17191 return "OP_vkGetDeviceImageSubresourceLayoutKHR";
17192 }
17193 #endif
17194 #ifdef VK_KHR_copy_commands2
17195 case OP_vkCmdResolveImage2KHR: {
17196 return "OP_vkCmdResolveImage2KHR";
17197 }
17198 #endif
17199 #ifdef VK_EXT_extended_dynamic_state
17200 case OP_vkCmdSetViewportWithCountEXT: {
17201 return "OP_vkCmdSetViewportWithCountEXT";
17202 }
17203 #endif
17204 #ifdef VK_VERSION_1_3
17205 case OP_vkCmdBindVertexBuffers2: {
17206 return "OP_vkCmdBindVertexBuffers2";
17207 }
17208 #endif
17209 #ifdef VK_EXT_extended_dynamic_state2
17210 case OP_vkCmdSetDepthBiasEnableEXT: {
17211 return "OP_vkCmdSetDepthBiasEnableEXT";
17212 }
17213 #endif
17214 #ifdef VK_KHR_copy_commands2
17215 case OP_vkCmdBlitImage2KHR: {
17216 return "OP_vkCmdBlitImage2KHR";
17217 }
17218 #endif
17219 #ifdef VK_VERSION_1_2
17220 case OP_vkGetDeviceMemoryOpaqueCaptureAddress: {
17221 return "OP_vkGetDeviceMemoryOpaqueCaptureAddress";
17222 }
17223 #endif
17224 #ifdef VK_EXT_extended_dynamic_state
17225 case OP_vkCmdSetPrimitiveTopologyEXT: {
17226 return "OP_vkCmdSetPrimitiveTopologyEXT";
17227 }
17228 #endif
17229 #ifdef VK_VERSION_1_3
17230 case OP_vkCreatePrivateDataSlot: {
17231 return "OP_vkCreatePrivateDataSlot";
17232 }
17233 case OP_vkCmdSetPrimitiveTopology: {
17234 return "OP_vkCmdSetPrimitiveTopology";
17235 }
17236 #endif
17237 #ifdef VK_EXT_line_rasterization
17238 case OP_vkCmdSetLineStippleEXT: {
17239 return "OP_vkCmdSetLineStippleEXT";
17240 }
17241 #endif
17242 #ifdef VK_EXT_extended_dynamic_state
17243 case OP_vkCmdSetCullModeEXT: {
17244 return "OP_vkCmdSetCullModeEXT";
17245 }
17246 #endif
17247 #ifdef VK_VERSION_1_2
17248 case OP_vkGetSemaphoreCounterValue: {
17249 return "OP_vkGetSemaphoreCounterValue";
17250 }
17251 #endif
17252 #ifdef VK_VERSION_1_3
17253 case OP_vkCmdSetDepthBiasEnable: {
17254 return "OP_vkCmdSetDepthBiasEnable";
17255 }
17256 case OP_vkCmdSetViewportWithCount: {
17257 return "OP_vkCmdSetViewportWithCount";
17258 }
17259 #endif
17260 #ifdef VK_EXT_extended_dynamic_state2
17261 case OP_vkCmdSetLogicOpEXT: {
17262 return "OP_vkCmdSetLogicOpEXT";
17263 }
17264 #endif
17265 #ifdef VK_EXT_transform_feedback
17266 case OP_vkCmdBindTransformFeedbackBuffersEXT: {
17267 return "OP_vkCmdBindTransformFeedbackBuffersEXT";
17268 }
17269 #endif
17270 #ifdef VK_GOOGLE_gfxstream
17271 case OP_vkQueueCommitDescriptorSetUpdatesGOOGLE: {
17272 return "OP_vkQueueCommitDescriptorSetUpdatesGOOGLE";
17273 }
17274 #endif
17275 #ifdef VK_VERSION_1_3
17276 case OP_vkCmdCopyBufferToImage2: {
17277 return "OP_vkCmdCopyBufferToImage2";
17278 }
17279 #endif
17280 #ifdef VK_KHR_pipeline_executable_properties
17281 case OP_vkGetPipelineExecutablePropertiesKHR: {
17282 return "OP_vkGetPipelineExecutablePropertiesKHR";
17283 }
17284 #endif
17285 #ifdef VK_KHR_synchronization2
17286 case OP_vkCmdSetEvent2KHR: {
17287 return "OP_vkCmdSetEvent2KHR";
17288 }
17289 #endif
17290 #ifdef VK_VERSION_1_2
17291 case OP_vkSignalSemaphore: {
17292 return "OP_vkSignalSemaphore";
17293 }
17294 #endif
17295 #ifdef VK_KHR_pipeline_executable_properties
17296 case OP_vkGetPipelineExecutableStatisticsKHR: {
17297 return "OP_vkGetPipelineExecutableStatisticsKHR";
17298 }
17299 #endif
17300 #ifdef VK_VERSION_1_3
17301 case OP_vkCmdResetEvent2: {
17302 return "OP_vkCmdResetEvent2";
17303 }
17304 #endif
17305 #ifdef VK_EXT_transform_feedback
17306 case OP_vkCmdEndTransformFeedbackEXT: {
17307 return "OP_vkCmdEndTransformFeedbackEXT";
17308 }
17309 #endif
17310 #ifdef VK_KHR_pipeline_executable_properties
17311 case OP_vkGetPipelineExecutableInternalRepresentationsKHR: {
17312 return "OP_vkGetPipelineExecutableInternalRepresentationsKHR";
17313 }
17314 #endif
17315 #ifdef VK_VERSION_1_3
17316 case OP_vkCmdBlitImage2: {
17317 return "OP_vkCmdBlitImage2";
17318 }
17319 case OP_vkQueueSubmit2: {
17320 return "OP_vkQueueSubmit2";
17321 }
17322 #endif
17323 #ifdef VK_KHR_maintenance4
17324 case OP_vkGetDeviceImageSparseMemoryRequirementsKHR: {
17325 return "OP_vkGetDeviceImageSparseMemoryRequirementsKHR";
17326 }
17327 #endif
17328 #ifdef VK_EXT_transform_feedback
17329 case OP_vkCmdBeginQueryIndexedEXT: {
17330 return "OP_vkCmdBeginQueryIndexedEXT";
17331 }
17332 #endif
17333 #ifdef VK_VERSION_1_3
17334 case OP_vkCmdSetRasterizerDiscardEnable: {
17335 return "OP_vkCmdSetRasterizerDiscardEnable";
17336 }
17337 #endif
17338 #ifdef VK_EXT_extended_dynamic_state
17339 case OP_vkCmdSetStencilOpEXT: {
17340 return "OP_vkCmdSetStencilOpEXT";
17341 }
17342 #endif
17343 #ifdef VK_VERSION_1_2
17344 case OP_vkCreateRenderPass2: {
17345 return "OP_vkCreateRenderPass2";
17346 }
17347 #endif
17348 #ifdef VK_EXT_transform_feedback
17349 case OP_vkCmdEndQueryIndexedEXT: {
17350 return "OP_vkCmdEndQueryIndexedEXT";
17351 }
17352 #endif
17353 #ifdef VK_EXT_tooling_info
17354 case OP_vkGetPhysicalDeviceToolPropertiesEXT: {
17355 return "OP_vkGetPhysicalDeviceToolPropertiesEXT";
17356 }
17357 #endif
17358 #ifdef VK_GOOGLE_gfxstream
17359 case OP_vkGetLinearImageLayout2GOOGLE: {
17360 return "OP_vkGetLinearImageLayout2GOOGLE";
17361 }
17362 #endif
17363 #ifdef VK_VERSION_1_3
17364 case OP_vkCmdResolveImage2: {
17365 return "OP_vkCmdResolveImage2";
17366 }
17367 case OP_vkGetDeviceImageMemoryRequirements: {
17368 return "OP_vkGetDeviceImageMemoryRequirements";
17369 }
17370 #endif
17371 #ifdef VK_VERSION_1_2
17372 case OP_vkCmdDrawIndirectCount: {
17373 return "OP_vkCmdDrawIndirectCount";
17374 }
17375 #endif
17376 #ifdef VK_KHR_synchronization2
17377 case OP_vkCmdResetEvent2KHR: {
17378 return "OP_vkCmdResetEvent2KHR";
17379 }
17380 #endif
17381 #ifdef VK_EXT_transform_feedback
17382 case OP_vkCmdDrawIndirectByteCountEXT: {
17383 return "OP_vkCmdDrawIndirectByteCountEXT";
17384 }
17385 #endif
17386 #ifdef VK_KHR_buffer_device_address
17387 case OP_vkGetBufferOpaqueCaptureAddressKHR: {
17388 return "OP_vkGetBufferOpaqueCaptureAddressKHR";
17389 }
17390 #endif
17391 #ifdef VK_EXT_extended_dynamic_state
17392 case OP_vkCmdSetStencilTestEnableEXT: {
17393 return "OP_vkCmdSetStencilTestEnableEXT";
17394 }
17395 #endif
17396 #ifdef VK_VERSION_1_3
17397 case OP_vkCmdSetStencilTestEnable: {
17398 return "OP_vkCmdSetStencilTestEnable";
17399 }
17400 case OP_vkGetPhysicalDeviceToolProperties: {
17401 return "OP_vkGetPhysicalDeviceToolProperties";
17402 }
17403 #endif
17404 #ifdef VK_ANDROID_native_buffer
17405 case OP_vkGetSwapchainGrallocUsage2ANDROID: {
17406 return "OP_vkGetSwapchainGrallocUsage2ANDROID";
17407 }
17408 #endif
17409 #ifdef VK_GOOGLE_gfxstream
17410 case OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE: {
17411 return "OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE";
17412 }
17413 #endif
17414 #ifdef VK_EXT_private_data
17415 case OP_vkGetPrivateDataEXT: {
17416 return "OP_vkGetPrivateDataEXT";
17417 }
17418 #endif
17419 #ifdef VK_KHR_synchronization2
17420 case OP_vkGetQueueCheckpointData2NV: {
17421 return "OP_vkGetQueueCheckpointData2NV";
17422 }
17423 #endif
17424 #ifdef VK_GOOGLE_gfxstream
17425 case OP_vkQueueSubmitAsync2GOOGLE: {
17426 return "OP_vkQueueSubmitAsync2GOOGLE";
17427 }
17428 #endif
17429 #ifdef VK_KHR_synchronization2
17430 case OP_vkQueueSubmit2KHR: {
17431 return "OP_vkQueueSubmit2KHR";
17432 }
17433 #endif
17434 #ifdef VK_VERSION_1_3
17435 case OP_vkGetDeviceBufferMemoryRequirements: {
17436 return "OP_vkGetDeviceBufferMemoryRequirements";
17437 }
17438 #endif
17439 #ifdef VK_EXT_transform_feedback
17440 case OP_vkCmdBeginTransformFeedbackEXT: {
17441 return "OP_vkCmdBeginTransformFeedbackEXT";
17442 }
17443 #endif
17444 #ifdef VK_VERSION_1_3
17445 case OP_vkCmdBeginRendering: {
17446 return "OP_vkCmdBeginRendering";
17447 }
17448 #endif
17449 #ifdef VK_KHR_buffer_device_address
17450 case OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR: {
17451 return "OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR";
17452 }
17453 #endif
17454 #ifdef VK_EXT_host_image_copy
17455 case OP_vkGetImageSubresourceLayout2EXT: {
17456 return "OP_vkGetImageSubresourceLayout2EXT";
17457 }
17458 #endif
17459 #ifdef VK_VERSION_1_3
17460 case OP_vkCmdPipelineBarrier2: {
17461 return "OP_vkCmdPipelineBarrier2";
17462 }
17463 #endif
17464 #ifdef VK_KHR_dynamic_rendering
17465 case OP_vkCmdBeginRenderingKHR: {
17466 return "OP_vkCmdBeginRenderingKHR";
17467 }
17468 #endif
17469 #ifdef VK_EXT_extended_dynamic_state2
17470 case OP_vkCmdSetPrimitiveRestartEnableEXT: {
17471 return "OP_vkCmdSetPrimitiveRestartEnableEXT";
17472 }
17473 #endif
17474 default: {
17475 return "OP_UNKNOWN_API_CALL";
17476 }
17477 }
17478 }
17479
17480 } // namespace vk
17481 } // namespace gfxstream
17482