• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 // Autogenerated module VkDecoderSnapshot
17 //
18 // (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml
19 // -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
20 //
21 // Please do not modify directly;
22 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
23 // or directly from Python by defining:
24 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
25 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
26 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
27 //
28 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
29 // $CEREAL_OUTPUT_DIR
30 //
31 #pragma once
32 #include <vulkan/vulkan.h>
33 
34 #include <memory>
35 
36 #include "aemu/base/HealthMonitor.h"
37 #include "common/goldfish_vk_private_defs.h"
38 #include "utils/GfxApiLogger.h"
39 #include "vk_android_native_buffer.h"
40 #include "vulkan_gfxstream.h"
41 
42 namespace android {
43 namespace base {
44 class BumpPool;
45 class Stream;
46 }  // namespace base
47 }  // namespace android
48 
49 class VkDecoderSnapshot {
50    public:
51     VkDecoderSnapshot();
52     ~VkDecoderSnapshot();
53 
54     void save(android::base::Stream* stream);
55     void load(android::base::Stream* stream, emugl::GfxApiLogger& gfx_logger,
56               emugl::HealthMonitor<>* healthMonitor);
57 #ifdef VK_VERSION_1_0
58     void vkCreateInstance(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
59                           android::base::BumpPool* pool, VkResult input_result,
60                           const VkInstanceCreateInfo* pCreateInfo,
61                           const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
62     void vkDestroyInstance(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
63                            android::base::BumpPool* pool, VkInstance instance,
64                            const VkAllocationCallbacks* pAllocator);
65     void vkEnumeratePhysicalDevices(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
66                                     android::base::BumpPool* pool, VkResult input_result,
67                                     VkInstance instance, uint32_t* pPhysicalDeviceCount,
68                                     VkPhysicalDevice* pPhysicalDevices);
69     void vkGetPhysicalDeviceFeatures(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
70                                      android::base::BumpPool* pool, VkPhysicalDevice physicalDevice,
71                                      VkPhysicalDeviceFeatures* pFeatures);
72     void vkGetPhysicalDeviceFormatProperties(const uint8_t* snapshotTraceBegin,
73                                              size_t snapshotTraceBytes,
74                                              android::base::BumpPool* pool,
75                                              VkPhysicalDevice physicalDevice, VkFormat format,
76                                              VkFormatProperties* pFormatProperties);
77     void vkGetPhysicalDeviceImageFormatProperties(
78         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
79         VkResult input_result, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
80         VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
81         VkImageFormatProperties* pImageFormatProperties);
82     void vkGetPhysicalDeviceProperties(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
83                                        android::base::BumpPool* pool,
84                                        VkPhysicalDevice physicalDevice,
85                                        VkPhysicalDeviceProperties* pProperties);
86     void vkGetPhysicalDeviceQueueFamilyProperties(const uint8_t* snapshotTraceBegin,
87                                                   size_t snapshotTraceBytes,
88                                                   android::base::BumpPool* pool,
89                                                   VkPhysicalDevice physicalDevice,
90                                                   uint32_t* pQueueFamilyPropertyCount,
91                                                   VkQueueFamilyProperties* pQueueFamilyProperties);
92     void vkGetPhysicalDeviceMemoryProperties(const uint8_t* snapshotTraceBegin,
93                                              size_t snapshotTraceBytes,
94                                              android::base::BumpPool* pool,
95                                              VkPhysicalDevice physicalDevice,
96                                              VkPhysicalDeviceMemoryProperties* pMemoryProperties);
97     void vkGetInstanceProcAddr(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
98                                android::base::BumpPool* pool, PFN_vkVoidFunction input_result,
99                                VkInstance instance, const char* pName);
100     void vkGetDeviceProcAddr(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
101                              android::base::BumpPool* pool, PFN_vkVoidFunction input_result,
102                              VkDevice device, const char* pName);
103     void vkCreateDevice(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
104                         android::base::BumpPool* pool, VkResult input_result,
105                         VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo,
106                         const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
107     void vkDestroyDevice(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
108                          android::base::BumpPool* pool, VkDevice device,
109                          const VkAllocationCallbacks* pAllocator);
110     void vkEnumerateInstanceExtensionProperties(const uint8_t* snapshotTraceBegin,
111                                                 size_t snapshotTraceBytes,
112                                                 android::base::BumpPool* pool,
113                                                 VkResult input_result, const char* pLayerName,
114                                                 uint32_t* pPropertyCount,
115                                                 VkExtensionProperties* pProperties);
116     void vkEnumerateDeviceExtensionProperties(const uint8_t* snapshotTraceBegin,
117                                               size_t snapshotTraceBytes,
118                                               android::base::BumpPool* pool, VkResult input_result,
119                                               VkPhysicalDevice physicalDevice,
120                                               const char* pLayerName, uint32_t* pPropertyCount,
121                                               VkExtensionProperties* pProperties);
122     void vkEnumerateInstanceLayerProperties(const uint8_t* snapshotTraceBegin,
123                                             size_t snapshotTraceBytes,
124                                             android::base::BumpPool* pool, VkResult input_result,
125                                             uint32_t* pPropertyCount,
126                                             VkLayerProperties* pProperties);
127     void vkEnumerateDeviceLayerProperties(const uint8_t* snapshotTraceBegin,
128                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
129                                           VkResult input_result, VkPhysicalDevice physicalDevice,
130                                           uint32_t* pPropertyCount, VkLayerProperties* pProperties);
131     void vkGetDeviceQueue(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
132                           android::base::BumpPool* pool, VkDevice device, uint32_t queueFamilyIndex,
133                           uint32_t queueIndex, VkQueue* pQueue);
134     void vkQueueSubmit(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
135                        android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
136                        uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
137     void vkQueueWaitIdle(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
138                          android::base::BumpPool* pool, VkResult input_result, VkQueue queue);
139     void vkDeviceWaitIdle(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
140                           android::base::BumpPool* pool, VkResult input_result, VkDevice device);
141     void vkAllocateMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
142                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
143                           const VkMemoryAllocateInfo* pAllocateInfo,
144                           const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
145     void vkFreeMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
146                       android::base::BumpPool* pool, VkDevice device, VkDeviceMemory memory,
147                       const VkAllocationCallbacks* pAllocator);
148     void vkMapMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
149                      android::base::BumpPool* pool, VkResult input_result, VkDevice device,
150                      VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size,
151                      VkMemoryMapFlags flags, void** ppData);
152     void vkUnmapMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
153                        android::base::BumpPool* pool, VkDevice device, VkDeviceMemory memory);
154     void vkFlushMappedMemoryRanges(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
155                                    android::base::BumpPool* pool, VkResult input_result,
156                                    VkDevice device, uint32_t memoryRangeCount,
157                                    const VkMappedMemoryRange* pMemoryRanges);
158     void vkInvalidateMappedMemoryRanges(const uint8_t* snapshotTraceBegin,
159                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
160                                         VkResult input_result, VkDevice device,
161                                         uint32_t memoryRangeCount,
162                                         const VkMappedMemoryRange* pMemoryRanges);
163     void vkGetDeviceMemoryCommitment(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
164                                      android::base::BumpPool* pool, VkDevice device,
165                                      VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
166     void vkBindBufferMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
167                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
168                             VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
169     void vkBindImageMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
170                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
171                            VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
172     void vkGetBufferMemoryRequirements(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
173                                        android::base::BumpPool* pool, VkDevice device,
174                                        VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
175     void vkGetImageMemoryRequirements(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
176                                       android::base::BumpPool* pool, VkDevice device, VkImage image,
177                                       VkMemoryRequirements* pMemoryRequirements);
178     void vkGetImageSparseMemoryRequirements(
179         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
180         VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount,
181         VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
182     void vkGetPhysicalDeviceSparseImageFormatProperties(
183         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
184         VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
185         VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling,
186         uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
187     void vkQueueBindSparse(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
188                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
189                            uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo,
190                            VkFence fence);
191     void vkCreateFence(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
192                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
193                        const VkFenceCreateInfo* pCreateInfo,
194                        const VkAllocationCallbacks* pAllocator, VkFence* pFence);
195     void vkDestroyFence(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
196                         android::base::BumpPool* pool, VkDevice device, VkFence fence,
197                         const VkAllocationCallbacks* pAllocator);
198     void vkResetFences(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
199                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
200                        uint32_t fenceCount, const VkFence* pFences);
201     void vkGetFenceStatus(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
202                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
203                           VkFence fence);
204     void vkWaitForFences(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
205                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
206                          uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll,
207                          uint64_t timeout);
208     void vkCreateSemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
209                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
210                            const VkSemaphoreCreateInfo* pCreateInfo,
211                            const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
212     void vkDestroySemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
213                             android::base::BumpPool* pool, VkDevice device, VkSemaphore semaphore,
214                             const VkAllocationCallbacks* pAllocator);
215     void vkCreateEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
216                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
217                        const VkEventCreateInfo* pCreateInfo,
218                        const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
219     void vkDestroyEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
220                         android::base::BumpPool* pool, VkDevice device, VkEvent event,
221                         const VkAllocationCallbacks* pAllocator);
222     void vkGetEventStatus(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
223                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
224                           VkEvent event);
225     void vkSetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
226                     android::base::BumpPool* pool, VkResult input_result, VkDevice device,
227                     VkEvent event);
228     void vkResetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
229                       android::base::BumpPool* pool, VkResult input_result, VkDevice device,
230                       VkEvent event);
231     void vkCreateQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
232                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
233                            const VkQueryPoolCreateInfo* pCreateInfo,
234                            const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
235     void vkDestroyQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
236                             android::base::BumpPool* pool, VkDevice device, VkQueryPool queryPool,
237                             const VkAllocationCallbacks* pAllocator);
238     void vkGetQueryPoolResults(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
239                                android::base::BumpPool* pool, VkResult input_result,
240                                VkDevice device, VkQueryPool queryPool, uint32_t firstQuery,
241                                uint32_t queryCount, size_t dataSize, void* pData,
242                                VkDeviceSize stride, VkQueryResultFlags flags);
243     void vkCreateBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
244                         android::base::BumpPool* pool, VkResult input_result, VkDevice device,
245                         const VkBufferCreateInfo* pCreateInfo,
246                         const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
247     void vkDestroyBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
248                          android::base::BumpPool* pool, VkDevice device, VkBuffer buffer,
249                          const VkAllocationCallbacks* pAllocator);
250     void vkCreateBufferView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
251                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
252                             const VkBufferViewCreateInfo* pCreateInfo,
253                             const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
254     void vkDestroyBufferView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
255                              android::base::BumpPool* pool, VkDevice device,
256                              VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
257     void vkCreateImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
258                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
259                        const VkImageCreateInfo* pCreateInfo,
260                        const VkAllocationCallbacks* pAllocator, VkImage* pImage);
261     void vkDestroyImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
262                         android::base::BumpPool* pool, VkDevice device, VkImage image,
263                         const VkAllocationCallbacks* pAllocator);
264     void vkGetImageSubresourceLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
265                                      android::base::BumpPool* pool, VkDevice device, VkImage image,
266                                      const VkImageSubresource* pSubresource,
267                                      VkSubresourceLayout* pLayout);
268     void vkCreateImageView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
269                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
270                            const VkImageViewCreateInfo* pCreateInfo,
271                            const VkAllocationCallbacks* pAllocator, VkImageView* pView);
272     void vkDestroyImageView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
273                             android::base::BumpPool* pool, VkDevice device, VkImageView imageView,
274                             const VkAllocationCallbacks* pAllocator);
275     void vkCreateShaderModule(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
276                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
277                               const VkShaderModuleCreateInfo* pCreateInfo,
278                               const VkAllocationCallbacks* pAllocator,
279                               VkShaderModule* pShaderModule);
280     void vkDestroyShaderModule(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
281                                android::base::BumpPool* pool, VkDevice device,
282                                VkShaderModule shaderModule,
283                                const VkAllocationCallbacks* pAllocator);
284     void vkCreatePipelineCache(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
285                                android::base::BumpPool* pool, VkResult input_result,
286                                VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo,
287                                const VkAllocationCallbacks* pAllocator,
288                                VkPipelineCache* pPipelineCache);
289     void vkDestroyPipelineCache(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
290                                 android::base::BumpPool* pool, VkDevice device,
291                                 VkPipelineCache pipelineCache,
292                                 const VkAllocationCallbacks* pAllocator);
293     void vkGetPipelineCacheData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
294                                 android::base::BumpPool* pool, VkResult input_result,
295                                 VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize,
296                                 void* pData);
297     void vkMergePipelineCaches(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
298                                android::base::BumpPool* pool, VkResult input_result,
299                                VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount,
300                                const VkPipelineCache* pSrcCaches);
301     void vkCreateGraphicsPipelines(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
302                                    android::base::BumpPool* pool, VkResult input_result,
303                                    VkDevice device, VkPipelineCache pipelineCache,
304                                    uint32_t createInfoCount,
305                                    const VkGraphicsPipelineCreateInfo* pCreateInfos,
306                                    const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
307     void vkCreateComputePipelines(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
308                                   android::base::BumpPool* pool, VkResult input_result,
309                                   VkDevice device, VkPipelineCache pipelineCache,
310                                   uint32_t createInfoCount,
311                                   const VkComputePipelineCreateInfo* pCreateInfos,
312                                   const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
313     void vkDestroyPipeline(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
314                            android::base::BumpPool* pool, VkDevice device, VkPipeline pipeline,
315                            const VkAllocationCallbacks* pAllocator);
316     void vkCreatePipelineLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
317                                 android::base::BumpPool* pool, VkResult input_result,
318                                 VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo,
319                                 const VkAllocationCallbacks* pAllocator,
320                                 VkPipelineLayout* pPipelineLayout);
321     void vkDestroyPipelineLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
322                                  android::base::BumpPool* pool, VkDevice device,
323                                  VkPipelineLayout pipelineLayout,
324                                  const VkAllocationCallbacks* pAllocator);
325     void vkCreateSampler(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
326                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
327                          const VkSamplerCreateInfo* pCreateInfo,
328                          const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
329     void vkDestroySampler(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
330                           android::base::BumpPool* pool, VkDevice device, VkSampler sampler,
331                           const VkAllocationCallbacks* pAllocator);
332     void vkCreateDescriptorSetLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
333                                      android::base::BumpPool* pool, VkResult input_result,
334                                      VkDevice device,
335                                      const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
336                                      const VkAllocationCallbacks* pAllocator,
337                                      VkDescriptorSetLayout* pSetLayout);
338     void vkDestroyDescriptorSetLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
339                                       android::base::BumpPool* pool, VkDevice device,
340                                       VkDescriptorSetLayout descriptorSetLayout,
341                                       const VkAllocationCallbacks* pAllocator);
342     void vkCreateDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
343                                 android::base::BumpPool* pool, VkResult input_result,
344                                 VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo,
345                                 const VkAllocationCallbacks* pAllocator,
346                                 VkDescriptorPool* pDescriptorPool);
347     void vkDestroyDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
348                                  android::base::BumpPool* pool, VkDevice device,
349                                  VkDescriptorPool descriptorPool,
350                                  const VkAllocationCallbacks* pAllocator);
351     void vkResetDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
352                                android::base::BumpPool* pool, VkResult input_result,
353                                VkDevice device, VkDescriptorPool descriptorPool,
354                                VkDescriptorPoolResetFlags flags);
355     void vkAllocateDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
356                                   android::base::BumpPool* pool, VkResult input_result,
357                                   VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo,
358                                   VkDescriptorSet* pDescriptorSets);
359     void vkFreeDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
360                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
361                               VkDescriptorPool descriptorPool, uint32_t descriptorSetCount,
362                               const VkDescriptorSet* pDescriptorSets);
363     void vkUpdateDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
364                                 android::base::BumpPool* pool, VkDevice device,
365                                 uint32_t descriptorWriteCount,
366                                 const VkWriteDescriptorSet* pDescriptorWrites,
367                                 uint32_t descriptorCopyCount,
368                                 const VkCopyDescriptorSet* pDescriptorCopies);
369     void vkCreateFramebuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
370                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
371                              const VkFramebufferCreateInfo* pCreateInfo,
372                              const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
373     void vkDestroyFramebuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
374                               android::base::BumpPool* pool, VkDevice device,
375                               VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
376     void vkCreateRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
377                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
378                             const VkRenderPassCreateInfo* pCreateInfo,
379                             const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
380     void vkDestroyRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
381                              android::base::BumpPool* pool, VkDevice device,
382                              VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
383     void vkGetRenderAreaGranularity(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
384                                     android::base::BumpPool* pool, VkDevice device,
385                                     VkRenderPass renderPass, VkExtent2D* pGranularity);
386     void vkCreateCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
387                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
388                              const VkCommandPoolCreateInfo* pCreateInfo,
389                              const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
390     void vkDestroyCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
391                               android::base::BumpPool* pool, VkDevice device,
392                               VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
393     void vkResetCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
394                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
395                             VkCommandPool commandPool, VkCommandPoolResetFlags flags);
396     void vkAllocateCommandBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
397                                   android::base::BumpPool* pool, VkResult input_result,
398                                   VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo,
399                                   VkCommandBuffer* pCommandBuffers);
400     void vkFreeCommandBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
401                               android::base::BumpPool* pool, VkDevice device,
402                               VkCommandPool commandPool, uint32_t commandBufferCount,
403                               const VkCommandBuffer* pCommandBuffers);
404     void vkBeginCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
405                               android::base::BumpPool* pool, VkResult input_result,
406                               VkCommandBuffer commandBuffer,
407                               const VkCommandBufferBeginInfo* pBeginInfo);
408     void vkEndCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
409                             android::base::BumpPool* pool, VkResult input_result,
410                             VkCommandBuffer commandBuffer);
411     void vkResetCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
412                               android::base::BumpPool* pool, VkResult input_result,
413                               VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
414     void vkCmdBindPipeline(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
415                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
416                            VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
417     void vkCmdSetViewport(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
418                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
419                           uint32_t firstViewport, uint32_t viewportCount,
420                           const VkViewport* pViewports);
421     void vkCmdSetScissor(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
422                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
423                          uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
424     void vkCmdSetLineWidth(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
425                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
426                            float lineWidth);
427     void vkCmdSetDepthBias(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
428                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
429                            float depthBiasConstantFactor, float depthBiasClamp,
430                            float depthBiasSlopeFactor);
431     void vkCmdSetBlendConstants(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
432                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
433                                 const float blendConstants[4]);
434     void vkCmdSetDepthBounds(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
435                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
436                              float minDepthBounds, float maxDepthBounds);
437     void vkCmdSetStencilCompareMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
438                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
439                                     VkStencilFaceFlags faceMask, uint32_t compareMask);
440     void vkCmdSetStencilWriteMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
441                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
442                                   VkStencilFaceFlags faceMask, uint32_t writeMask);
443     void vkCmdSetStencilReference(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
444                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
445                                   VkStencilFaceFlags faceMask, uint32_t reference);
446     void vkCmdBindDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
447                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
448                                  VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
449                                  uint32_t firstSet, uint32_t descriptorSetCount,
450                                  const VkDescriptorSet* pDescriptorSets,
451                                  uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
452     void vkCmdBindIndexBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
453                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
454                               VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
455     void vkCmdBindVertexBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
456                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
457                                 uint32_t firstBinding, uint32_t bindingCount,
458                                 const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
459     void vkCmdDraw(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
460                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
461                    uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex,
462                    uint32_t firstInstance);
463     void vkCmdDrawIndexed(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
464                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
465                           uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex,
466                           int32_t vertexOffset, uint32_t firstInstance);
467     void vkCmdDrawIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
468                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
469                            VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
470                            uint32_t stride);
471     void vkCmdDrawIndexedIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
472                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
473                                   VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
474                                   uint32_t stride);
475     void vkCmdDispatch(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
476                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
477                        uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
478     void vkCmdDispatchIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
479                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
480                                VkBuffer buffer, VkDeviceSize offset);
481     void vkCmdCopyBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
482                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
483                          VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount,
484                          const VkBufferCopy* pRegions);
485     void vkCmdCopyImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
486                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
487                         VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
488                         VkImageLayout dstImageLayout, uint32_t regionCount,
489                         const VkImageCopy* pRegions);
490     void vkCmdBlitImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
491                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
492                         VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
493                         VkImageLayout dstImageLayout, uint32_t regionCount,
494                         const VkImageBlit* pRegions, VkFilter filter);
495     void vkCmdCopyBufferToImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
496                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
497                                 VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout,
498                                 uint32_t regionCount, const VkBufferImageCopy* pRegions);
499     void vkCmdCopyImageToBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
500                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
501                                 VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer,
502                                 uint32_t regionCount, const VkBufferImageCopy* pRegions);
503     void vkCmdUpdateBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
504                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
505                            VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize,
506                            const void* pData);
507     void vkCmdFillBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
508                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
509                          VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size,
510                          uint32_t data);
511     void vkCmdClearColorImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
512                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
513                               VkImage image, VkImageLayout imageLayout,
514                               const VkClearColorValue* pColor, uint32_t rangeCount,
515                               const VkImageSubresourceRange* pRanges);
516     void vkCmdClearDepthStencilImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
517                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
518                                      VkImage image, VkImageLayout imageLayout,
519                                      const VkClearDepthStencilValue* pDepthStencil,
520                                      uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
521     void vkCmdClearAttachments(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
522                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
523                                uint32_t attachmentCount, const VkClearAttachment* pAttachments,
524                                uint32_t rectCount, const VkClearRect* pRects);
525     void vkCmdResolveImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
526                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
527                            VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
528                            VkImageLayout dstImageLayout, uint32_t regionCount,
529                            const VkImageResolve* pRegions);
530     void vkCmdSetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
531                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer, VkEvent event,
532                        VkPipelineStageFlags stageMask);
533     void vkCmdResetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
534                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
535                          VkEvent event, VkPipelineStageFlags stageMask);
536     void vkCmdWaitEvents(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
537                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
538                          uint32_t eventCount, const VkEvent* pEvents,
539                          VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
540                          uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers,
541                          uint32_t bufferMemoryBarrierCount,
542                          const VkBufferMemoryBarrier* pBufferMemoryBarriers,
543                          uint32_t imageMemoryBarrierCount,
544                          const VkImageMemoryBarrier* pImageMemoryBarriers);
545     void vkCmdPipelineBarrier(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
546                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
547                               VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
548                               VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount,
549                               const VkMemoryBarrier* pMemoryBarriers,
550                               uint32_t bufferMemoryBarrierCount,
551                               const VkBufferMemoryBarrier* pBufferMemoryBarriers,
552                               uint32_t imageMemoryBarrierCount,
553                               const VkImageMemoryBarrier* pImageMemoryBarriers);
554     void vkCmdBeginQuery(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
555                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
556                          VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
557     void vkCmdEndQuery(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
558                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
559                        VkQueryPool queryPool, uint32_t query);
560     void vkCmdResetQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
561                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
562                              VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
563     void vkCmdWriteTimestamp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
564                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
565                              VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool,
566                              uint32_t query);
567     void vkCmdCopyQueryPoolResults(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
568                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
569                                    VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount,
570                                    VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride,
571                                    VkQueryResultFlags flags);
572     void vkCmdPushConstants(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
573                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
574                             VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset,
575                             uint32_t size, const void* pValues);
576     void vkCmdBeginRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
577                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
578                               const VkRenderPassBeginInfo* pRenderPassBegin,
579                               VkSubpassContents contents);
580     void vkCmdNextSubpass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
581                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
582                           VkSubpassContents contents);
583     void vkCmdEndRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
584                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
585     void vkCmdExecuteCommands(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
586                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
587                               uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
588 #endif
589 #ifdef VK_VERSION_1_1
590     void vkEnumerateInstanceVersion(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
591                                     android::base::BumpPool* pool, VkResult input_result,
592                                     uint32_t* pApiVersion);
593     void vkBindBufferMemory2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
594                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
595                              uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
596     void vkBindImageMemory2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
597                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
598                             uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
599     void vkGetDeviceGroupPeerMemoryFeatures(const uint8_t* snapshotTraceBegin,
600                                             size_t snapshotTraceBytes,
601                                             android::base::BumpPool* pool, VkDevice device,
602                                             uint32_t heapIndex, uint32_t localDeviceIndex,
603                                             uint32_t remoteDeviceIndex,
604                                             VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
605     void vkCmdSetDeviceMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
606                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
607                             uint32_t deviceMask);
608     void vkCmdDispatchBase(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
609                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
610                            uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
611                            uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
612     void vkEnumeratePhysicalDeviceGroups(
613         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
614         VkResult input_result, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount,
615         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
616     void vkGetImageMemoryRequirements2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
617                                        android::base::BumpPool* pool, VkDevice device,
618                                        const VkImageMemoryRequirementsInfo2* pInfo,
619                                        VkMemoryRequirements2* pMemoryRequirements);
620     void vkGetBufferMemoryRequirements2(const uint8_t* snapshotTraceBegin,
621                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
622                                         VkDevice device,
623                                         const VkBufferMemoryRequirementsInfo2* pInfo,
624                                         VkMemoryRequirements2* pMemoryRequirements);
625     void vkGetImageSparseMemoryRequirements2(
626         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
627         VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo,
628         uint32_t* pSparseMemoryRequirementCount,
629         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
630     void vkGetPhysicalDeviceFeatures2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
631                                       android::base::BumpPool* pool,
632                                       VkPhysicalDevice physicalDevice,
633                                       VkPhysicalDeviceFeatures2* pFeatures);
634     void vkGetPhysicalDeviceProperties2(const uint8_t* snapshotTraceBegin,
635                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
636                                         VkPhysicalDevice physicalDevice,
637                                         VkPhysicalDeviceProperties2* pProperties);
638     void vkGetPhysicalDeviceFormatProperties2(const uint8_t* snapshotTraceBegin,
639                                               size_t snapshotTraceBytes,
640                                               android::base::BumpPool* pool,
641                                               VkPhysicalDevice physicalDevice, VkFormat format,
642                                               VkFormatProperties2* pFormatProperties);
643     void vkGetPhysicalDeviceImageFormatProperties2(
644         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
645         VkResult input_result, VkPhysicalDevice physicalDevice,
646         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
647         VkImageFormatProperties2* pImageFormatProperties);
648     void vkGetPhysicalDeviceQueueFamilyProperties2(
649         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
650         VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount,
651         VkQueueFamilyProperties2* pQueueFamilyProperties);
652     void vkGetPhysicalDeviceMemoryProperties2(const uint8_t* snapshotTraceBegin,
653                                               size_t snapshotTraceBytes,
654                                               android::base::BumpPool* pool,
655                                               VkPhysicalDevice physicalDevice,
656                                               VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
657     void vkGetPhysicalDeviceSparseImageFormatProperties2(
658         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
659         VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
660         uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
661     void vkTrimCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
662                            android::base::BumpPool* pool, VkDevice device,
663                            VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
664     void vkGetDeviceQueue2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
665                            android::base::BumpPool* pool, VkDevice device,
666                            const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
667     void vkCreateSamplerYcbcrConversion(const uint8_t* snapshotTraceBegin,
668                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
669                                         VkResult input_result, VkDevice device,
670                                         const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
671                                         const VkAllocationCallbacks* pAllocator,
672                                         VkSamplerYcbcrConversion* pYcbcrConversion);
673     void vkDestroySamplerYcbcrConversion(const uint8_t* snapshotTraceBegin,
674                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
675                                          VkDevice device, VkSamplerYcbcrConversion ycbcrConversion,
676                                          const VkAllocationCallbacks* pAllocator);
677     void vkCreateDescriptorUpdateTemplate(const uint8_t* snapshotTraceBegin,
678                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
679                                           VkResult input_result, VkDevice device,
680                                           const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
681                                           const VkAllocationCallbacks* pAllocator,
682                                           VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
683     void vkDestroyDescriptorUpdateTemplate(const uint8_t* snapshotTraceBegin,
684                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
685                                            VkDevice device,
686                                            VkDescriptorUpdateTemplate descriptorUpdateTemplate,
687                                            const VkAllocationCallbacks* pAllocator);
688     void vkUpdateDescriptorSetWithTemplate(const uint8_t* snapshotTraceBegin,
689                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
690                                            VkDevice device, VkDescriptorSet descriptorSet,
691                                            VkDescriptorUpdateTemplate descriptorUpdateTemplate,
692                                            const void* pData);
693     void vkGetPhysicalDeviceExternalBufferProperties(
694         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
695         VkPhysicalDevice physicalDevice,
696         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
697         VkExternalBufferProperties* pExternalBufferProperties);
698     void vkGetPhysicalDeviceExternalFenceProperties(
699         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
700         VkPhysicalDevice physicalDevice,
701         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
702         VkExternalFenceProperties* pExternalFenceProperties);
703     void vkGetPhysicalDeviceExternalSemaphoreProperties(
704         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
705         VkPhysicalDevice physicalDevice,
706         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
707         VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
708     void vkGetDescriptorSetLayoutSupport(const uint8_t* snapshotTraceBegin,
709                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
710                                          VkDevice device,
711                                          const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
712                                          VkDescriptorSetLayoutSupport* pSupport);
713 #endif
714 #ifdef VK_VERSION_1_2
715     void vkCmdDrawIndirectCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
716                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
717                                 VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
718                                 VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
719                                 uint32_t stride);
720     void vkCmdDrawIndexedIndirectCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
721                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
722                                        VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
723                                        VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
724                                        uint32_t stride);
725     void vkCreateRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
726                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
727                              const VkRenderPassCreateInfo2* pCreateInfo,
728                              const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
729     void vkCmdBeginRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
730                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
731                                const VkRenderPassBeginInfo* pRenderPassBegin,
732                                const VkSubpassBeginInfo* pSubpassBeginInfo);
733     void vkCmdNextSubpass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
734                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
735                            const VkSubpassBeginInfo* pSubpassBeginInfo,
736                            const VkSubpassEndInfo* pSubpassEndInfo);
737     void vkCmdEndRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
738                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
739                              const VkSubpassEndInfo* pSubpassEndInfo);
740     void vkResetQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
741                           android::base::BumpPool* pool, VkDevice device, VkQueryPool queryPool,
742                           uint32_t firstQuery, uint32_t queryCount);
743     void vkGetSemaphoreCounterValue(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
744                                     android::base::BumpPool* pool, VkResult input_result,
745                                     VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
746     void vkWaitSemaphores(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
747                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
748                           const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
749     void vkSignalSemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
750                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
751                            const VkSemaphoreSignalInfo* pSignalInfo);
752     void vkGetBufferDeviceAddress(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
753                                   android::base::BumpPool* pool, VkDeviceAddress input_result,
754                                   VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
755     void vkGetBufferOpaqueCaptureAddress(const uint8_t* snapshotTraceBegin,
756                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
757                                          uint64_t input_result, VkDevice device,
758                                          const VkBufferDeviceAddressInfo* pInfo);
759     void vkGetDeviceMemoryOpaqueCaptureAddress(const uint8_t* snapshotTraceBegin,
760                                                size_t snapshotTraceBytes,
761                                                android::base::BumpPool* pool, uint64_t input_result,
762                                                VkDevice device,
763                                                const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
764 #endif
765 #ifdef VK_VERSION_1_3
766     void vkGetPhysicalDeviceToolProperties(const uint8_t* snapshotTraceBegin,
767                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
768                                            VkResult input_result, VkPhysicalDevice physicalDevice,
769                                            uint32_t* pToolCount,
770                                            VkPhysicalDeviceToolProperties* pToolProperties);
771     void vkCreatePrivateDataSlot(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
772                                  android::base::BumpPool* pool, VkResult input_result,
773                                  VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo,
774                                  const VkAllocationCallbacks* pAllocator,
775                                  VkPrivateDataSlot* pPrivateDataSlot);
776     void vkDestroyPrivateDataSlot(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
777                                   android::base::BumpPool* pool, VkDevice device,
778                                   VkPrivateDataSlot privateDataSlot,
779                                   const VkAllocationCallbacks* pAllocator);
780     void vkSetPrivateData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
781                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
782                           VkObjectType objectType, uint64_t objectHandle,
783                           VkPrivateDataSlot privateDataSlot, uint64_t data);
784     void vkGetPrivateData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
785                           android::base::BumpPool* pool, VkDevice device, VkObjectType objectType,
786                           uint64_t objectHandle, VkPrivateDataSlot privateDataSlot,
787                           uint64_t* pData);
788     void vkCmdSetEvent2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
789                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer, VkEvent event,
790                         const VkDependencyInfo* pDependencyInfo);
791     void vkCmdResetEvent2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
792                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
793                           VkEvent event, VkPipelineStageFlags2 stageMask);
794     void vkCmdWaitEvents2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
795                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
796                           uint32_t eventCount, const VkEvent* pEvents,
797                           const VkDependencyInfo* pDependencyInfos);
798     void vkCmdPipelineBarrier2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
799                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
800                                const VkDependencyInfo* pDependencyInfo);
801     void vkCmdWriteTimestamp2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
802                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
803                               VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
804     void vkQueueSubmit2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
805                         android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
806                         uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
807     void vkCmdCopyBuffer2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
808                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
809                           const VkCopyBufferInfo2* pCopyBufferInfo);
810     void vkCmdCopyImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
811                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
812                          const VkCopyImageInfo2* pCopyImageInfo);
813     void vkCmdCopyBufferToImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
814                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
815                                  const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
816     void vkCmdCopyImageToBuffer2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
817                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
818                                  const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
819     void vkCmdBlitImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
820                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
821                          const VkBlitImageInfo2* pBlitImageInfo);
822     void vkCmdResolveImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
823                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
824                             const VkResolveImageInfo2* pResolveImageInfo);
825     void vkCmdBeginRendering(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
826                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
827                              const VkRenderingInfo* pRenderingInfo);
828     void vkCmdEndRendering(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
829                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
830     void vkCmdSetCullMode(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
831                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
832                           VkCullModeFlags cullMode);
833     void vkCmdSetFrontFace(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
834                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
835                            VkFrontFace frontFace);
836     void vkCmdSetPrimitiveTopology(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
837                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
838                                    VkPrimitiveTopology primitiveTopology);
839     void vkCmdSetViewportWithCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
840                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
841                                    uint32_t viewportCount, const VkViewport* pViewports);
842     void vkCmdSetScissorWithCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
843                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
844                                   uint32_t scissorCount, const VkRect2D* pScissors);
845     void vkCmdBindVertexBuffers2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
846                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
847                                  uint32_t firstBinding, uint32_t bindingCount,
848                                  const VkBuffer* pBuffers, const VkDeviceSize* pOffsets,
849                                  const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
850     void vkCmdSetDepthTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
851                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
852                                  VkBool32 depthTestEnable);
853     void vkCmdSetDepthWriteEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
854                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
855                                   VkBool32 depthWriteEnable);
856     void vkCmdSetDepthCompareOp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
857                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
858                                 VkCompareOp depthCompareOp);
859     void vkCmdSetDepthBoundsTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
860                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
861                                        VkBool32 depthBoundsTestEnable);
862     void vkCmdSetStencilTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
863                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
864                                    VkBool32 stencilTestEnable);
865     void vkCmdSetStencilOp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
866                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
867                            VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp,
868                            VkStencilOp depthFailOp, VkCompareOp compareOp);
869     void vkCmdSetRasterizerDiscardEnable(const uint8_t* snapshotTraceBegin,
870                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
871                                          VkCommandBuffer commandBuffer,
872                                          VkBool32 rasterizerDiscardEnable);
873     void vkCmdSetDepthBiasEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
874                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
875                                  VkBool32 depthBiasEnable);
876     void vkCmdSetPrimitiveRestartEnable(const uint8_t* snapshotTraceBegin,
877                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
878                                         VkCommandBuffer commandBuffer,
879                                         VkBool32 primitiveRestartEnable);
880     void vkGetDeviceBufferMemoryRequirements(const uint8_t* snapshotTraceBegin,
881                                              size_t snapshotTraceBytes,
882                                              android::base::BumpPool* pool, VkDevice device,
883                                              const VkDeviceBufferMemoryRequirements* pInfo,
884                                              VkMemoryRequirements2* pMemoryRequirements);
885     void vkGetDeviceImageMemoryRequirements(const uint8_t* snapshotTraceBegin,
886                                             size_t snapshotTraceBytes,
887                                             android::base::BumpPool* pool, VkDevice device,
888                                             const VkDeviceImageMemoryRequirements* pInfo,
889                                             VkMemoryRequirements2* pMemoryRequirements);
890     void vkGetDeviceImageSparseMemoryRequirements(
891         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
892         VkDevice device, const VkDeviceImageMemoryRequirements* pInfo,
893         uint32_t* pSparseMemoryRequirementCount,
894         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
895 #endif
896 #ifdef VK_KHR_surface
897     void vkDestroySurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
898                              android::base::BumpPool* pool, VkInstance instance,
899                              VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
900     void vkGetPhysicalDeviceSurfaceSupportKHR(const uint8_t* snapshotTraceBegin,
901                                               size_t snapshotTraceBytes,
902                                               android::base::BumpPool* pool, VkResult input_result,
903                                               VkPhysicalDevice physicalDevice,
904                                               uint32_t queueFamilyIndex, VkSurfaceKHR surface,
905                                               VkBool32* pSupported);
906     void vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
907         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
908         VkResult input_result, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
909         VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
910     void vkGetPhysicalDeviceSurfaceFormatsKHR(const uint8_t* snapshotTraceBegin,
911                                               size_t snapshotTraceBytes,
912                                               android::base::BumpPool* pool, VkResult input_result,
913                                               VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
914                                               uint32_t* pSurfaceFormatCount,
915                                               VkSurfaceFormatKHR* pSurfaceFormats);
916     void vkGetPhysicalDeviceSurfacePresentModesKHR(
917         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
918         VkResult input_result, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
919         uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
920 #endif
921 #ifdef VK_KHR_swapchain
922     void vkCreateSwapchainKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
923                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
924                               const VkSwapchainCreateInfoKHR* pCreateInfo,
925                               const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
926     void vkDestroySwapchainKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
927                                android::base::BumpPool* pool, VkDevice device,
928                                VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
929     void vkGetSwapchainImagesKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
930                                  android::base::BumpPool* pool, VkResult input_result,
931                                  VkDevice device, VkSwapchainKHR swapchain,
932                                  uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
933     void vkAcquireNextImageKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
934                                android::base::BumpPool* pool, VkResult input_result,
935                                VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout,
936                                VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
937     void vkQueuePresentKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
938                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
939                            const VkPresentInfoKHR* pPresentInfo);
940     void vkGetDeviceGroupPresentCapabilitiesKHR(
941         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
942         VkResult input_result, VkDevice device,
943         VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
944     void vkGetDeviceGroupSurfacePresentModesKHR(const uint8_t* snapshotTraceBegin,
945                                                 size_t snapshotTraceBytes,
946                                                 android::base::BumpPool* pool,
947                                                 VkResult input_result, VkDevice device,
948                                                 VkSurfaceKHR surface,
949                                                 VkDeviceGroupPresentModeFlagsKHR* pModes);
950     void vkGetPhysicalDevicePresentRectanglesKHR(
951         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
952         VkResult input_result, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
953         uint32_t* pRectCount, VkRect2D* pRects);
954     void vkAcquireNextImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
955                                 android::base::BumpPool* pool, VkResult input_result,
956                                 VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo,
957                                 uint32_t* pImageIndex);
958 #endif
959 #ifdef VK_KHR_display
960     void vkGetPhysicalDeviceDisplayPropertiesKHR(
961         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
962         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount,
963         VkDisplayPropertiesKHR* pProperties);
964     void vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
965         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
966         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount,
967         VkDisplayPlanePropertiesKHR* pProperties);
968     void vkGetDisplayPlaneSupportedDisplaysKHR(const uint8_t* snapshotTraceBegin,
969                                                size_t snapshotTraceBytes,
970                                                android::base::BumpPool* pool, VkResult input_result,
971                                                VkPhysicalDevice physicalDevice, uint32_t planeIndex,
972                                                uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
973     void vkGetDisplayModePropertiesKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
974                                        android::base::BumpPool* pool, VkResult input_result,
975                                        VkPhysicalDevice physicalDevice, VkDisplayKHR display,
976                                        uint32_t* pPropertyCount,
977                                        VkDisplayModePropertiesKHR* pProperties);
978     void vkCreateDisplayModeKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
979                                 android::base::BumpPool* pool, VkResult input_result,
980                                 VkPhysicalDevice physicalDevice, VkDisplayKHR display,
981                                 const VkDisplayModeCreateInfoKHR* pCreateInfo,
982                                 const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
983     void vkGetDisplayPlaneCapabilitiesKHR(const uint8_t* snapshotTraceBegin,
984                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
985                                           VkResult input_result, VkPhysicalDevice physicalDevice,
986                                           VkDisplayModeKHR mode, uint32_t planeIndex,
987                                           VkDisplayPlaneCapabilitiesKHR* pCapabilities);
988     void vkCreateDisplayPlaneSurfaceKHR(const uint8_t* snapshotTraceBegin,
989                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
990                                         VkResult input_result, VkInstance instance,
991                                         const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
992                                         const VkAllocationCallbacks* pAllocator,
993                                         VkSurfaceKHR* pSurface);
994 #endif
995 #ifdef VK_KHR_display_swapchain
996     void vkCreateSharedSwapchainsKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
997                                      android::base::BumpPool* pool, VkResult input_result,
998                                      VkDevice device, uint32_t swapchainCount,
999                                      const VkSwapchainCreateInfoKHR* pCreateInfos,
1000                                      const VkAllocationCallbacks* pAllocator,
1001                                      VkSwapchainKHR* pSwapchains);
1002 #endif
1003 #ifdef VK_KHR_xlib_surface
1004     void vkCreateXlibSurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1005                                 android::base::BumpPool* pool, VkResult input_result,
1006                                 VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
1007                                 const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1008     void vkGetPhysicalDeviceXlibPresentationSupportKHR(
1009         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1010         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
1011         Display* dpy, VisualID visualID);
1012 #endif
1013 #ifdef VK_KHR_xcb_surface
1014     void vkCreateXcbSurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1015                                android::base::BumpPool* pool, VkResult input_result,
1016                                VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
1017                                const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1018     void vkGetPhysicalDeviceXcbPresentationSupportKHR(
1019         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1020         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
1021         xcb_connection_t* connection, xcb_visualid_t visual_id);
1022 #endif
1023 #ifdef VK_KHR_wayland_surface
1024     void vkCreateWaylandSurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1025                                    android::base::BumpPool* pool, VkResult input_result,
1026                                    VkInstance instance,
1027                                    const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
1028                                    const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1029     void vkGetPhysicalDeviceWaylandPresentationSupportKHR(
1030         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1031         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
1032         wl_display* display);
1033 #endif
1034 #ifdef VK_KHR_android_surface
1035     void vkCreateAndroidSurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1036                                    android::base::BumpPool* pool, VkResult input_result,
1037                                    VkInstance instance,
1038                                    const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
1039                                    const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1040 #endif
1041 #ifdef VK_KHR_win32_surface
1042     void vkCreateWin32SurfaceKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1043                                  android::base::BumpPool* pool, VkResult input_result,
1044                                  VkInstance instance,
1045                                  const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
1046                                  const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1047     void vkGetPhysicalDeviceWin32PresentationSupportKHR(
1048         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1049         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
1050 #endif
1051 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
1052 #endif
1053 #ifdef VK_KHR_video_queue
1054     void vkGetPhysicalDeviceVideoCapabilitiesKHR(
1055         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1056         VkResult input_result, VkPhysicalDevice physicalDevice,
1057         const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
1058     void vkGetPhysicalDeviceVideoFormatPropertiesKHR(
1059         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1060         VkResult input_result, VkPhysicalDevice physicalDevice,
1061         const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
1062         uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
1063     void vkCreateVideoSessionKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1064                                  android::base::BumpPool* pool, VkResult input_result,
1065                                  VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo,
1066                                  const VkAllocationCallbacks* pAllocator,
1067                                  VkVideoSessionKHR* pVideoSession);
1068     void vkDestroyVideoSessionKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1069                                   android::base::BumpPool* pool, VkDevice device,
1070                                   VkVideoSessionKHR videoSession,
1071                                   const VkAllocationCallbacks* pAllocator);
1072     void vkGetVideoSessionMemoryRequirementsKHR(
1073         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1074         VkResult input_result, VkDevice device, VkVideoSessionKHR videoSession,
1075         uint32_t* pMemoryRequirementsCount,
1076         VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
1077     void vkBindVideoSessionMemoryKHR(
1078         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1079         VkResult input_result, VkDevice device, VkVideoSessionKHR videoSession,
1080         uint32_t bindSessionMemoryInfoCount,
1081         const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
1082     void vkCreateVideoSessionParametersKHR(const uint8_t* snapshotTraceBegin,
1083                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1084                                            VkResult input_result, VkDevice device,
1085                                            const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
1086                                            const VkAllocationCallbacks* pAllocator,
1087                                            VkVideoSessionParametersKHR* pVideoSessionParameters);
1088     void vkUpdateVideoSessionParametersKHR(
1089         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1090         VkResult input_result, VkDevice device, VkVideoSessionParametersKHR videoSessionParameters,
1091         const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
1092     void vkDestroyVideoSessionParametersKHR(const uint8_t* snapshotTraceBegin,
1093                                             size_t snapshotTraceBytes,
1094                                             android::base::BumpPool* pool, VkDevice device,
1095                                             VkVideoSessionParametersKHR videoSessionParameters,
1096                                             const VkAllocationCallbacks* pAllocator);
1097     void vkCmdBeginVideoCodingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1098                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1099                                   const VkVideoBeginCodingInfoKHR* pBeginInfo);
1100     void vkCmdEndVideoCodingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1101                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1102                                 const VkVideoEndCodingInfoKHR* pEndCodingInfo);
1103     void vkCmdControlVideoCodingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1104                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1105                                     const VkVideoCodingControlInfoKHR* pCodingControlInfo);
1106 #endif
1107 #ifdef VK_KHR_video_decode_queue
1108     void vkCmdDecodeVideoKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1109                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1110                              const VkVideoDecodeInfoKHR* pDecodeInfo);
1111 #endif
1112 #ifdef VK_KHR_video_decode_h264
1113 #endif
1114 #ifdef VK_KHR_dynamic_rendering
1115     void vkCmdBeginRenderingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1116                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1117                                 const VkRenderingInfo* pRenderingInfo);
1118     void vkCmdEndRenderingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1119                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
1120 #endif
1121 #ifdef VK_KHR_multiview
1122 #endif
1123 #ifdef VK_KHR_get_physical_device_properties2
1124     void vkGetPhysicalDeviceFeatures2KHR(const uint8_t* snapshotTraceBegin,
1125                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1126                                          VkPhysicalDevice physicalDevice,
1127                                          VkPhysicalDeviceFeatures2* pFeatures);
1128     void vkGetPhysicalDeviceProperties2KHR(const uint8_t* snapshotTraceBegin,
1129                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1130                                            VkPhysicalDevice physicalDevice,
1131                                            VkPhysicalDeviceProperties2* pProperties);
1132     void vkGetPhysicalDeviceFormatProperties2KHR(const uint8_t* snapshotTraceBegin,
1133                                                  size_t snapshotTraceBytes,
1134                                                  android::base::BumpPool* pool,
1135                                                  VkPhysicalDevice physicalDevice, VkFormat format,
1136                                                  VkFormatProperties2* pFormatProperties);
1137     void vkGetPhysicalDeviceImageFormatProperties2KHR(
1138         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1139         VkResult input_result, VkPhysicalDevice physicalDevice,
1140         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1141         VkImageFormatProperties2* pImageFormatProperties);
1142     void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
1143         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1144         VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount,
1145         VkQueueFamilyProperties2* pQueueFamilyProperties);
1146     void vkGetPhysicalDeviceMemoryProperties2KHR(
1147         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1148         VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
1149     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
1150         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1151         VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1152         uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
1153 #endif
1154 #ifdef VK_KHR_device_group
1155     void vkGetDeviceGroupPeerMemoryFeaturesKHR(const uint8_t* snapshotTraceBegin,
1156                                                size_t snapshotTraceBytes,
1157                                                android::base::BumpPool* pool, VkDevice device,
1158                                                uint32_t heapIndex, uint32_t localDeviceIndex,
1159                                                uint32_t remoteDeviceIndex,
1160                                                VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
1161     void vkCmdSetDeviceMaskKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1162                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1163                                uint32_t deviceMask);
1164     void vkCmdDispatchBaseKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1165                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1166                               uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
1167                               uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
1168 #endif
1169 #ifdef VK_KHR_shader_draw_parameters
1170 #endif
1171 #ifdef VK_KHR_maintenance1
1172     void vkTrimCommandPoolKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1173                               android::base::BumpPool* pool, VkDevice device,
1174                               VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
1175 #endif
1176 #ifdef VK_KHR_device_group_creation
1177     void vkEnumeratePhysicalDeviceGroupsKHR(
1178         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1179         VkResult input_result, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount,
1180         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
1181 #endif
1182 #ifdef VK_KHR_external_memory_capabilities
1183     void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
1184         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1185         VkPhysicalDevice physicalDevice,
1186         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
1187         VkExternalBufferProperties* pExternalBufferProperties);
1188 #endif
1189 #ifdef VK_KHR_external_memory
1190 #endif
1191 #ifdef VK_KHR_external_memory_win32
1192     void vkGetMemoryWin32HandleKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1193                                    android::base::BumpPool* pool, VkResult input_result,
1194                                    VkDevice device,
1195                                    const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1196                                    HANDLE* pHandle);
1197     void vkGetMemoryWin32HandlePropertiesKHR(
1198         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1199         VkResult input_result, VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
1200         HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
1201 #endif
1202 #ifdef VK_KHR_external_memory_fd
1203     void vkGetMemoryFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1204                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1205                           const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
1206     void vkGetMemoryFdPropertiesKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1207                                     android::base::BumpPool* pool, VkResult input_result,
1208                                     VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
1209                                     int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
1210 #endif
1211 #ifdef VK_KHR_win32_keyed_mutex
1212 #endif
1213 #ifdef VK_KHR_external_semaphore_capabilities
1214     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
1215         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1216         VkPhysicalDevice physicalDevice,
1217         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
1218         VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
1219 #endif
1220 #ifdef VK_KHR_external_semaphore
1221 #endif
1222 #ifdef VK_KHR_external_semaphore_win32
1223     void vkImportSemaphoreWin32HandleKHR(
1224         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1225         VkResult input_result, VkDevice device,
1226         const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
1227     void vkGetSemaphoreWin32HandleKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1228                                       android::base::BumpPool* pool, VkResult input_result,
1229                                       VkDevice device,
1230                                       const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1231                                       HANDLE* pHandle);
1232 #endif
1233 #ifdef VK_KHR_external_semaphore_fd
1234     void vkImportSemaphoreFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1235                                 android::base::BumpPool* pool, VkResult input_result,
1236                                 VkDevice device,
1237                                 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
1238     void vkGetSemaphoreFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1239                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1240                              const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
1241 #endif
1242 #ifdef VK_KHR_push_descriptor
1243     void vkCmdPushDescriptorSetKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1244                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1245                                    VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
1246                                    uint32_t set, uint32_t descriptorWriteCount,
1247                                    const VkWriteDescriptorSet* pDescriptorWrites);
1248     void vkCmdPushDescriptorSetWithTemplateKHR(
1249         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1250         VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1251         VkPipelineLayout layout, uint32_t set, const void* pData);
1252 #endif
1253 #ifdef VK_KHR_shader_float16_int8
1254 #endif
1255 #ifdef VK_KHR_16bit_storage
1256 #endif
1257 #ifdef VK_KHR_incremental_present
1258 #endif
1259 #ifdef VK_KHR_descriptor_update_template
1260     void vkCreateDescriptorUpdateTemplateKHR(
1261         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1262         VkResult input_result, VkDevice device,
1263         const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1264         const VkAllocationCallbacks* pAllocator,
1265         VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
1266     void vkDestroyDescriptorUpdateTemplateKHR(const uint8_t* snapshotTraceBegin,
1267                                               size_t snapshotTraceBytes,
1268                                               android::base::BumpPool* pool, VkDevice device,
1269                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1270                                               const VkAllocationCallbacks* pAllocator);
1271     void vkUpdateDescriptorSetWithTemplateKHR(const uint8_t* snapshotTraceBegin,
1272                                               size_t snapshotTraceBytes,
1273                                               android::base::BumpPool* pool, VkDevice device,
1274                                               VkDescriptorSet descriptorSet,
1275                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1276                                               const void* pData);
1277 #endif
1278 #ifdef VK_KHR_imageless_framebuffer
1279 #endif
1280 #ifdef VK_KHR_create_renderpass2
1281     void vkCreateRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1282                                 android::base::BumpPool* pool, VkResult input_result,
1283                                 VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo,
1284                                 const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
1285     void vkCmdBeginRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1286                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1287                                   const VkRenderPassBeginInfo* pRenderPassBegin,
1288                                   const VkSubpassBeginInfo* pSubpassBeginInfo);
1289     void vkCmdNextSubpass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1290                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1291                               const VkSubpassBeginInfo* pSubpassBeginInfo,
1292                               const VkSubpassEndInfo* pSubpassEndInfo);
1293     void vkCmdEndRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1294                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1295                                 const VkSubpassEndInfo* pSubpassEndInfo);
1296 #endif
1297 #ifdef VK_KHR_shared_presentable_image
1298     void vkGetSwapchainStatusKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1299                                  android::base::BumpPool* pool, VkResult input_result,
1300                                  VkDevice device, VkSwapchainKHR swapchain);
1301 #endif
1302 #ifdef VK_KHR_external_fence_capabilities
1303     void vkGetPhysicalDeviceExternalFencePropertiesKHR(
1304         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1305         VkPhysicalDevice physicalDevice,
1306         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1307         VkExternalFenceProperties* pExternalFenceProperties);
1308 #endif
1309 #ifdef VK_KHR_external_fence
1310 #endif
1311 #ifdef VK_KHR_external_fence_win32
1312     void vkImportFenceWin32HandleKHR(
1313         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1314         VkResult input_result, VkDevice device,
1315         const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
1316     void vkGetFenceWin32HandleKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1317                                   android::base::BumpPool* pool, VkResult input_result,
1318                                   VkDevice device,
1319                                   const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
1320                                   HANDLE* pHandle);
1321 #endif
1322 #ifdef VK_KHR_external_fence_fd
1323     void vkImportFenceFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1324                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1325                             const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
1326     void vkGetFenceFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1327                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1328                          const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
1329 #endif
1330 #ifdef VK_KHR_performance_query
1331     void vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
1332         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1333         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
1334         uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters,
1335         VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
1336     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
1337         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1338         VkPhysicalDevice physicalDevice,
1339         const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
1340         uint32_t* pNumPasses);
1341     void vkAcquireProfilingLockKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1342                                    android::base::BumpPool* pool, VkResult input_result,
1343                                    VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
1344     void vkReleaseProfilingLockKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1345                                    android::base::BumpPool* pool, VkDevice device);
1346 #endif
1347 #ifdef VK_KHR_maintenance2
1348 #endif
1349 #ifdef VK_KHR_get_surface_capabilities2
1350     void vkGetPhysicalDeviceSurfaceCapabilities2KHR(
1351         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1352         VkResult input_result, VkPhysicalDevice physicalDevice,
1353         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1354         VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
1355     void vkGetPhysicalDeviceSurfaceFormats2KHR(const uint8_t* snapshotTraceBegin,
1356                                                size_t snapshotTraceBytes,
1357                                                android::base::BumpPool* pool, VkResult input_result,
1358                                                VkPhysicalDevice physicalDevice,
1359                                                const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
1360                                                uint32_t* pSurfaceFormatCount,
1361                                                VkSurfaceFormat2KHR* pSurfaceFormats);
1362 #endif
1363 #ifdef VK_KHR_variable_pointers
1364 #endif
1365 #ifdef VK_KHR_get_display_properties2
1366     void vkGetPhysicalDeviceDisplayProperties2KHR(
1367         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1368         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount,
1369         VkDisplayProperties2KHR* pProperties);
1370     void vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
1371         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1372         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount,
1373         VkDisplayPlaneProperties2KHR* pProperties);
1374     void vkGetDisplayModeProperties2KHR(const uint8_t* snapshotTraceBegin,
1375                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1376                                         VkResult input_result, VkPhysicalDevice physicalDevice,
1377                                         VkDisplayKHR display, uint32_t* pPropertyCount,
1378                                         VkDisplayModeProperties2KHR* pProperties);
1379     void vkGetDisplayPlaneCapabilities2KHR(const uint8_t* snapshotTraceBegin,
1380                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1381                                            VkResult input_result, VkPhysicalDevice physicalDevice,
1382                                            const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
1383                                            VkDisplayPlaneCapabilities2KHR* pCapabilities);
1384 #endif
1385 #ifdef VK_KHR_dedicated_allocation
1386 #endif
1387 #ifdef VK_KHR_storage_buffer_storage_class
1388 #endif
1389 #ifdef VK_KHR_relaxed_block_layout
1390 #endif
1391 #ifdef VK_KHR_get_memory_requirements2
1392     void vkGetImageMemoryRequirements2KHR(const uint8_t* snapshotTraceBegin,
1393                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1394                                           VkDevice device,
1395                                           const VkImageMemoryRequirementsInfo2* pInfo,
1396                                           VkMemoryRequirements2* pMemoryRequirements);
1397     void vkGetBufferMemoryRequirements2KHR(const uint8_t* snapshotTraceBegin,
1398                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1399                                            VkDevice device,
1400                                            const VkBufferMemoryRequirementsInfo2* pInfo,
1401                                            VkMemoryRequirements2* pMemoryRequirements);
1402     void vkGetImageSparseMemoryRequirements2KHR(
1403         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1404         VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo,
1405         uint32_t* pSparseMemoryRequirementCount,
1406         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1407 #endif
1408 #ifdef VK_KHR_image_format_list
1409 #endif
1410 #ifdef VK_KHR_sampler_ycbcr_conversion
1411     void vkCreateSamplerYcbcrConversionKHR(const uint8_t* snapshotTraceBegin,
1412                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1413                                            VkResult input_result, VkDevice device,
1414                                            const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1415                                            const VkAllocationCallbacks* pAllocator,
1416                                            VkSamplerYcbcrConversion* pYcbcrConversion);
1417     void vkDestroySamplerYcbcrConversionKHR(const uint8_t* snapshotTraceBegin,
1418                                             size_t snapshotTraceBytes,
1419                                             android::base::BumpPool* pool, VkDevice device,
1420                                             VkSamplerYcbcrConversion ycbcrConversion,
1421                                             const VkAllocationCallbacks* pAllocator);
1422 #endif
1423 #ifdef VK_KHR_bind_memory2
1424     void vkBindBufferMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1425                                 android::base::BumpPool* pool, VkResult input_result,
1426                                 VkDevice device, uint32_t bindInfoCount,
1427                                 const VkBindBufferMemoryInfo* pBindInfos);
1428     void vkBindImageMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1429                                android::base::BumpPool* pool, VkResult input_result,
1430                                VkDevice device, uint32_t bindInfoCount,
1431                                const VkBindImageMemoryInfo* pBindInfos);
1432 #endif
1433 #ifdef VK_KHR_portability_subset
1434 #endif
1435 #ifdef VK_KHR_maintenance3
1436     void vkGetDescriptorSetLayoutSupportKHR(const uint8_t* snapshotTraceBegin,
1437                                             size_t snapshotTraceBytes,
1438                                             android::base::BumpPool* pool, VkDevice device,
1439                                             const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1440                                             VkDescriptorSetLayoutSupport* pSupport);
1441 #endif
1442 #ifdef VK_KHR_draw_indirect_count
1443     void vkCmdDrawIndirectCountKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1444                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1445                                    VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
1446                                    VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
1447                                    uint32_t stride);
1448     void vkCmdDrawIndexedIndirectCountKHR(const uint8_t* snapshotTraceBegin,
1449                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1450                                           VkCommandBuffer commandBuffer, VkBuffer buffer,
1451                                           VkDeviceSize offset, VkBuffer countBuffer,
1452                                           VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
1453                                           uint32_t stride);
1454 #endif
1455 #ifdef VK_KHR_shader_subgroup_extended_types
1456 #endif
1457 #ifdef VK_KHR_8bit_storage
1458 #endif
1459 #ifdef VK_KHR_shader_atomic_int64
1460 #endif
1461 #ifdef VK_KHR_shader_clock
1462 #endif
1463 #ifdef VK_KHR_video_decode_h265
1464 #endif
1465 #ifdef VK_KHR_global_priority
1466 #endif
1467 #ifdef VK_KHR_driver_properties
1468 #endif
1469 #ifdef VK_KHR_shader_float_controls
1470 #endif
1471 #ifdef VK_KHR_depth_stencil_resolve
1472 #endif
1473 #ifdef VK_KHR_swapchain_mutable_format
1474 #endif
1475 #ifdef VK_KHR_timeline_semaphore
1476     void vkGetSemaphoreCounterValueKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1477                                        android::base::BumpPool* pool, VkResult input_result,
1478                                        VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
1479     void vkWaitSemaphoresKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1480                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1481                              const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
1482     void vkSignalSemaphoreKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1483                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1484                               const VkSemaphoreSignalInfo* pSignalInfo);
1485 #endif
1486 #ifdef VK_KHR_vulkan_memory_model
1487 #endif
1488 #ifdef VK_KHR_shader_terminate_invocation
1489 #endif
1490 #ifdef VK_KHR_fragment_shading_rate
1491     void vkGetPhysicalDeviceFragmentShadingRatesKHR(
1492         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1493         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount,
1494         VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
1495     void vkCmdSetFragmentShadingRateKHR(const uint8_t* snapshotTraceBegin,
1496                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1497                                         VkCommandBuffer commandBuffer,
1498                                         const VkExtent2D* pFragmentSize,
1499                                         const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
1500 #endif
1501 #ifdef VK_KHR_spirv_1_4
1502 #endif
1503 #ifdef VK_KHR_surface_protected_capabilities
1504 #endif
1505 #ifdef VK_KHR_separate_depth_stencil_layouts
1506 #endif
1507 #ifdef VK_KHR_present_wait
1508     void vkWaitForPresentKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1509                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1510                              VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
1511 #endif
1512 #ifdef VK_KHR_uniform_buffer_standard_layout
1513 #endif
1514 #ifdef VK_KHR_buffer_device_address
1515     void vkGetBufferDeviceAddressKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1516                                      android::base::BumpPool* pool, VkDeviceAddress input_result,
1517                                      VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
1518     void vkGetBufferOpaqueCaptureAddressKHR(const uint8_t* snapshotTraceBegin,
1519                                             size_t snapshotTraceBytes,
1520                                             android::base::BumpPool* pool, uint64_t input_result,
1521                                             VkDevice device,
1522                                             const VkBufferDeviceAddressInfo* pInfo);
1523     void vkGetDeviceMemoryOpaqueCaptureAddressKHR(
1524         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1525         uint64_t input_result, VkDevice device,
1526         const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
1527 #endif
1528 #ifdef VK_KHR_deferred_host_operations
1529     void vkCreateDeferredOperationKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1530                                       android::base::BumpPool* pool, VkResult input_result,
1531                                       VkDevice device, const VkAllocationCallbacks* pAllocator,
1532                                       VkDeferredOperationKHR* pDeferredOperation);
1533     void vkDestroyDeferredOperationKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1534                                        android::base::BumpPool* pool, VkDevice device,
1535                                        VkDeferredOperationKHR operation,
1536                                        const VkAllocationCallbacks* pAllocator);
1537     void vkGetDeferredOperationMaxConcurrencyKHR(const uint8_t* snapshotTraceBegin,
1538                                                  size_t snapshotTraceBytes,
1539                                                  android::base::BumpPool* pool,
1540                                                  uint32_t input_result, VkDevice device,
1541                                                  VkDeferredOperationKHR operation);
1542     void vkGetDeferredOperationResultKHR(const uint8_t* snapshotTraceBegin,
1543                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1544                                          VkResult input_result, VkDevice device,
1545                                          VkDeferredOperationKHR operation);
1546     void vkDeferredOperationJoinKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1547                                     android::base::BumpPool* pool, VkResult input_result,
1548                                     VkDevice device, VkDeferredOperationKHR operation);
1549 #endif
1550 #ifdef VK_KHR_pipeline_executable_properties
1551     void vkGetPipelineExecutablePropertiesKHR(
1552         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1553         VkResult input_result, VkDevice device, const VkPipelineInfoKHR* pPipelineInfo,
1554         uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
1555     void vkGetPipelineExecutableStatisticsKHR(
1556         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1557         VkResult input_result, VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
1558         uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
1559     void vkGetPipelineExecutableInternalRepresentationsKHR(
1560         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1561         VkResult input_result, VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
1562         uint32_t* pInternalRepresentationCount,
1563         VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
1564 #endif
1565 #ifdef VK_KHR_map_memory2
1566     void vkMapMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1567                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1568                          const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData);
1569     void vkUnmapMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1570                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1571                            const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
1572 #endif
1573 #ifdef VK_KHR_shader_integer_dot_product
1574 #endif
1575 #ifdef VK_KHR_pipeline_library
1576 #endif
1577 #ifdef VK_KHR_shader_non_semantic_info
1578 #endif
1579 #ifdef VK_KHR_present_id
1580 #endif
1581 #ifdef VK_KHR_video_encode_queue
1582     void vkCmdEncodeVideoKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1583                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1584                              const VkVideoEncodeInfoKHR* pEncodeInfo);
1585 #endif
1586 #ifdef VK_KHR_synchronization2
1587     void vkCmdSetEvent2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1588                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1589                            VkEvent event, const VkDependencyInfo* pDependencyInfo);
1590     void vkCmdResetEvent2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1591                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1592                              VkEvent event, VkPipelineStageFlags2 stageMask);
1593     void vkCmdWaitEvents2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1594                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1595                              uint32_t eventCount, const VkEvent* pEvents,
1596                              const VkDependencyInfo* pDependencyInfos);
1597     void vkCmdPipelineBarrier2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1598                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1599                                   const VkDependencyInfo* pDependencyInfo);
1600     void vkCmdWriteTimestamp2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1601                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1602                                  VkPipelineStageFlags2 stage, VkQueryPool queryPool,
1603                                  uint32_t query);
1604     void vkQueueSubmit2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1605                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
1606                            uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
1607     void vkCmdWriteBufferMarker2AMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1608                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1609                                     VkPipelineStageFlags2 stage, VkBuffer dstBuffer,
1610                                     VkDeviceSize dstOffset, uint32_t marker);
1611     void vkGetQueueCheckpointData2NV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1612                                      android::base::BumpPool* pool, VkQueue queue,
1613                                      uint32_t* pCheckpointDataCount,
1614                                      VkCheckpointData2NV* pCheckpointData);
1615 #endif
1616 #ifdef VK_KHR_fragment_shader_barycentric
1617 #endif
1618 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
1619 #endif
1620 #ifdef VK_KHR_zero_initialize_workgroup_memory
1621 #endif
1622 #ifdef VK_KHR_workgroup_memory_explicit_layout
1623 #endif
1624 #ifdef VK_KHR_copy_commands2
1625     void vkCmdCopyBuffer2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1626                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1627                              const VkCopyBufferInfo2* pCopyBufferInfo);
1628     void vkCmdCopyImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1629                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1630                             const VkCopyImageInfo2* pCopyImageInfo);
1631     void vkCmdCopyBufferToImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1632                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1633                                     const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
1634     void vkCmdCopyImageToBuffer2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1635                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1636                                     const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
1637     void vkCmdBlitImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1638                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1639                             const VkBlitImageInfo2* pBlitImageInfo);
1640     void vkCmdResolveImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1641                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1642                                const VkResolveImageInfo2* pResolveImageInfo);
1643 #endif
1644 #ifdef VK_KHR_format_feature_flags2
1645 #endif
1646 #ifdef VK_KHR_ray_tracing_maintenance1
1647     void vkCmdTraceRaysIndirect2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1648                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1649                                     VkDeviceAddress indirectDeviceAddress);
1650 #endif
1651 #ifdef VK_KHR_portability_enumeration
1652 #endif
1653 #ifdef VK_KHR_maintenance4
1654     void vkGetDeviceBufferMemoryRequirementsKHR(const uint8_t* snapshotTraceBegin,
1655                                                 size_t snapshotTraceBytes,
1656                                                 android::base::BumpPool* pool, VkDevice device,
1657                                                 const VkDeviceBufferMemoryRequirements* pInfo,
1658                                                 VkMemoryRequirements2* pMemoryRequirements);
1659     void vkGetDeviceImageMemoryRequirementsKHR(const uint8_t* snapshotTraceBegin,
1660                                                size_t snapshotTraceBytes,
1661                                                android::base::BumpPool* pool, VkDevice device,
1662                                                const VkDeviceImageMemoryRequirements* pInfo,
1663                                                VkMemoryRequirements2* pMemoryRequirements);
1664     void vkGetDeviceImageSparseMemoryRequirementsKHR(
1665         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1666         VkDevice device, const VkDeviceImageMemoryRequirements* pInfo,
1667         uint32_t* pSparseMemoryRequirementCount,
1668         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1669 #endif
1670 #ifdef VK_KHR_ray_tracing_position_fetch
1671 #endif
1672 #ifdef VK_ANDROID_native_buffer
1673     void vkGetSwapchainGrallocUsageANDROID(const uint8_t* snapshotTraceBegin,
1674                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1675                                            VkResult input_result, VkDevice device, VkFormat format,
1676                                            VkImageUsageFlags imageUsage, int* grallocUsage);
1677     void vkAcquireImageANDROID(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1678                                android::base::BumpPool* pool, VkResult input_result,
1679                                VkDevice device, VkImage image, int nativeFenceFd,
1680                                VkSemaphore semaphore, VkFence fence);
1681     void vkQueueSignalReleaseImageANDROID(const uint8_t* snapshotTraceBegin,
1682                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1683                                           VkResult input_result, VkQueue queue,
1684                                           uint32_t waitSemaphoreCount,
1685                                           const VkSemaphore* pWaitSemaphores, VkImage image,
1686                                           int* pNativeFenceFd);
1687     void vkGetSwapchainGrallocUsage2ANDROID(
1688         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1689         VkResult input_result, VkDevice device, VkFormat format, VkImageUsageFlags imageUsage,
1690         VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage,
1691         uint64_t* grallocProducerUsage);
1692 #endif
1693 #ifdef VK_EXT_debug_report
1694     void vkCreateDebugReportCallbackEXT(const uint8_t* snapshotTraceBegin,
1695                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1696                                         VkResult input_result, VkInstance instance,
1697                                         const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
1698                                         const VkAllocationCallbacks* pAllocator,
1699                                         VkDebugReportCallbackEXT* pCallback);
1700     void vkDestroyDebugReportCallbackEXT(const uint8_t* snapshotTraceBegin,
1701                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1702                                          VkInstance instance, VkDebugReportCallbackEXT callback,
1703                                          const VkAllocationCallbacks* pAllocator);
1704     void vkDebugReportMessageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1705                                  android::base::BumpPool* pool, VkInstance instance,
1706                                  VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType,
1707                                  uint64_t object, size_t location, int32_t messageCode,
1708                                  const char* pLayerPrefix, const char* pMessage);
1709 #endif
1710 #ifdef VK_NV_glsl_shader
1711 #endif
1712 #ifdef VK_EXT_depth_range_unrestricted
1713 #endif
1714 #ifdef VK_IMG_filter_cubic
1715 #endif
1716 #ifdef VK_AMD_rasterization_order
1717 #endif
1718 #ifdef VK_AMD_shader_trinary_minmax
1719 #endif
1720 #ifdef VK_AMD_shader_explicit_vertex_parameter
1721 #endif
1722 #ifdef VK_EXT_debug_marker
1723     void vkDebugMarkerSetObjectTagEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1724                                       android::base::BumpPool* pool, VkResult input_result,
1725                                       VkDevice device,
1726                                       const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
1727     void vkDebugMarkerSetObjectNameEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1728                                        android::base::BumpPool* pool, VkResult input_result,
1729                                        VkDevice device,
1730                                        const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
1731     void vkCmdDebugMarkerBeginEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1732                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1733                                   const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1734     void vkCmdDebugMarkerEndEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1735                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
1736     void vkCmdDebugMarkerInsertEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1737                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1738                                    const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
1739 #endif
1740 #ifdef VK_AMD_gcn_shader
1741 #endif
1742 #ifdef VK_NV_dedicated_allocation
1743 #endif
1744 #ifdef VK_EXT_transform_feedback
1745     void vkCmdBindTransformFeedbackBuffersEXT(
1746         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1747         VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount,
1748         const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
1749     void vkCmdBeginTransformFeedbackEXT(const uint8_t* snapshotTraceBegin,
1750                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1751                                         VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
1752                                         uint32_t counterBufferCount,
1753                                         const VkBuffer* pCounterBuffers,
1754                                         const VkDeviceSize* pCounterBufferOffsets);
1755     void vkCmdEndTransformFeedbackEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1756                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1757                                       uint32_t firstCounterBuffer, uint32_t counterBufferCount,
1758                                       const VkBuffer* pCounterBuffers,
1759                                       const VkDeviceSize* pCounterBufferOffsets);
1760     void vkCmdBeginQueryIndexedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1761                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1762                                    VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags,
1763                                    uint32_t index);
1764     void vkCmdEndQueryIndexedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1765                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1766                                  VkQueryPool queryPool, uint32_t query, uint32_t index);
1767     void vkCmdDrawIndirectByteCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1768                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1769                                        uint32_t instanceCount, uint32_t firstInstance,
1770                                        VkBuffer counterBuffer, VkDeviceSize counterBufferOffset,
1771                                        uint32_t counterOffset, uint32_t vertexStride);
1772 #endif
1773 #ifdef VK_NVX_binary_import
1774     void vkCreateCuModuleNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1775                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1776                              const VkCuModuleCreateInfoNVX* pCreateInfo,
1777                              const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
1778     void vkCreateCuFunctionNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1779                                android::base::BumpPool* pool, VkResult input_result,
1780                                VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo,
1781                                const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
1782     void vkDestroyCuModuleNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1783                               android::base::BumpPool* pool, VkDevice device, VkCuModuleNVX module,
1784                               const VkAllocationCallbacks* pAllocator);
1785     void vkDestroyCuFunctionNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1786                                 android::base::BumpPool* pool, VkDevice device,
1787                                 VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
1788     void vkCmdCuLaunchKernelNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1789                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1790                                 const VkCuLaunchInfoNVX* pLaunchInfo);
1791 #endif
1792 #ifdef VK_NVX_image_view_handle
1793     void vkGetImageViewHandleNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1794                                  android::base::BumpPool* pool, uint32_t input_result,
1795                                  VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
1796     void vkGetImageViewAddressNVX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1797                                   android::base::BumpPool* pool, VkResult input_result,
1798                                   VkDevice device, VkImageView imageView,
1799                                   VkImageViewAddressPropertiesNVX* pProperties);
1800 #endif
1801 #ifdef VK_AMD_draw_indirect_count
1802     void vkCmdDrawIndirectCountAMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1803                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1804                                    VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
1805                                    VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
1806                                    uint32_t stride);
1807     void vkCmdDrawIndexedIndirectCountAMD(const uint8_t* snapshotTraceBegin,
1808                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1809                                           VkCommandBuffer commandBuffer, VkBuffer buffer,
1810                                           VkDeviceSize offset, VkBuffer countBuffer,
1811                                           VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
1812                                           uint32_t stride);
1813 #endif
1814 #ifdef VK_AMD_negative_viewport_height
1815 #endif
1816 #ifdef VK_AMD_gpu_shader_half_float
1817 #endif
1818 #ifdef VK_AMD_shader_ballot
1819 #endif
1820 #ifdef VK_EXT_video_encode_h264
1821 #endif
1822 #ifdef VK_EXT_video_encode_h265
1823 #endif
1824 #ifdef VK_AMD_texture_gather_bias_lod
1825 #endif
1826 #ifdef VK_AMD_shader_info
1827     void vkGetShaderInfoAMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1828                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1829                             VkPipeline pipeline, VkShaderStageFlagBits shaderStage,
1830                             VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
1831 #endif
1832 #ifdef VK_AMD_shader_image_load_store_lod
1833 #endif
1834 #ifdef VK_GGP_stream_descriptor_surface
1835     void vkCreateStreamDescriptorSurfaceGGP(
1836         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1837         VkResult input_result, VkInstance instance,
1838         const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
1839         const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1840 #endif
1841 #ifdef VK_NV_corner_sampled_image
1842 #endif
1843 #ifdef VK_IMG_format_pvrtc
1844 #endif
1845 #ifdef VK_NV_external_memory_capabilities
1846     void vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
1847         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1848         VkResult input_result, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
1849         VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
1850         VkExternalMemoryHandleTypeFlagsNV externalHandleType,
1851         VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
1852 #endif
1853 #ifdef VK_NV_external_memory
1854 #endif
1855 #ifdef VK_NV_external_memory_win32
1856     void vkGetMemoryWin32HandleNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1857                                   android::base::BumpPool* pool, VkResult input_result,
1858                                   VkDevice device, VkDeviceMemory memory,
1859                                   VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
1860 #endif
1861 #ifdef VK_NV_win32_keyed_mutex
1862 #endif
1863 #ifdef VK_EXT_validation_flags
1864 #endif
1865 #ifdef VK_NN_vi_surface
1866     void vkCreateViSurfaceNN(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1867                              android::base::BumpPool* pool, VkResult input_result,
1868                              VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo,
1869                              const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1870 #endif
1871 #ifdef VK_EXT_shader_subgroup_ballot
1872 #endif
1873 #ifdef VK_EXT_shader_subgroup_vote
1874 #endif
1875 #ifdef VK_EXT_texture_compression_astc_hdr
1876 #endif
1877 #ifdef VK_EXT_astc_decode_mode
1878 #endif
1879 #ifdef VK_EXT_pipeline_robustness
1880 #endif
1881 #ifdef VK_EXT_conditional_rendering
1882     void vkCmdBeginConditionalRenderingEXT(
1883         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1884         VkCommandBuffer commandBuffer,
1885         const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
1886     void vkCmdEndConditionalRenderingEXT(const uint8_t* snapshotTraceBegin,
1887                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1888                                          VkCommandBuffer commandBuffer);
1889 #endif
1890 #ifdef VK_NV_clip_space_w_scaling
1891     void vkCmdSetViewportWScalingNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1892                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1893                                     uint32_t firstViewport, uint32_t viewportCount,
1894                                     const VkViewportWScalingNV* pViewportWScalings);
1895 #endif
1896 #ifdef VK_EXT_direct_mode_display
1897     void vkReleaseDisplayEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1898                              android::base::BumpPool* pool, VkResult input_result,
1899                              VkPhysicalDevice physicalDevice, VkDisplayKHR display);
1900 #endif
1901 #ifdef VK_EXT_acquire_xlib_display
1902     void vkAcquireXlibDisplayEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1903                                  android::base::BumpPool* pool, VkResult input_result,
1904                                  VkPhysicalDevice physicalDevice, Display* dpy,
1905                                  VkDisplayKHR display);
1906     void vkGetRandROutputDisplayEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1907                                     android::base::BumpPool* pool, VkResult input_result,
1908                                     VkPhysicalDevice physicalDevice, Display* dpy,
1909                                     RROutput rrOutput, VkDisplayKHR* pDisplay);
1910 #endif
1911 #ifdef VK_EXT_display_surface_counter
1912     void vkGetPhysicalDeviceSurfaceCapabilities2EXT(
1913         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1914         VkResult input_result, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
1915         VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
1916 #endif
1917 #ifdef VK_EXT_display_control
1918     void vkDisplayPowerControlEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1919                                   android::base::BumpPool* pool, VkResult input_result,
1920                                   VkDevice device, VkDisplayKHR display,
1921                                   const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
1922     void vkRegisterDeviceEventEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1923                                   android::base::BumpPool* pool, VkResult input_result,
1924                                   VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo,
1925                                   const VkAllocationCallbacks* pAllocator, VkFence* pFence);
1926     void vkRegisterDisplayEventEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1927                                    android::base::BumpPool* pool, VkResult input_result,
1928                                    VkDevice device, VkDisplayKHR display,
1929                                    const VkDisplayEventInfoEXT* pDisplayEventInfo,
1930                                    const VkAllocationCallbacks* pAllocator, VkFence* pFence);
1931     void vkGetSwapchainCounterEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1932                                   android::base::BumpPool* pool, VkResult input_result,
1933                                   VkDevice device, VkSwapchainKHR swapchain,
1934                                   VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
1935 #endif
1936 #ifdef VK_GOOGLE_display_timing
1937     void vkGetRefreshCycleDurationGOOGLE(const uint8_t* snapshotTraceBegin,
1938                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1939                                          VkResult input_result, VkDevice device,
1940                                          VkSwapchainKHR swapchain,
1941                                          VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
1942     void vkGetPastPresentationTimingGOOGLE(const uint8_t* snapshotTraceBegin,
1943                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1944                                            VkResult input_result, VkDevice device,
1945                                            VkSwapchainKHR swapchain,
1946                                            uint32_t* pPresentationTimingCount,
1947                                            VkPastPresentationTimingGOOGLE* pPresentationTimings);
1948 #endif
1949 #ifdef VK_NV_sample_mask_override_coverage
1950 #endif
1951 #ifdef VK_NV_geometry_shader_passthrough
1952 #endif
1953 #ifdef VK_NV_viewport_array2
1954 #endif
1955 #ifdef VK_NVX_multiview_per_view_attributes
1956 #endif
1957 #ifdef VK_NV_viewport_swizzle
1958 #endif
1959 #ifdef VK_EXT_discard_rectangles
1960     void vkCmdSetDiscardRectangleEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1961                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1962                                      uint32_t firstDiscardRectangle, uint32_t discardRectangleCount,
1963                                      const VkRect2D* pDiscardRectangles);
1964     void vkCmdSetDiscardRectangleEnableEXT(const uint8_t* snapshotTraceBegin,
1965                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1966                                            VkCommandBuffer commandBuffer,
1967                                            VkBool32 discardRectangleEnable);
1968     void vkCmdSetDiscardRectangleModeEXT(const uint8_t* snapshotTraceBegin,
1969                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1970                                          VkCommandBuffer commandBuffer,
1971                                          VkDiscardRectangleModeEXT discardRectangleMode);
1972 #endif
1973 #ifdef VK_EXT_conservative_rasterization
1974 #endif
1975 #ifdef VK_EXT_depth_clip_enable
1976 #endif
1977 #ifdef VK_EXT_swapchain_colorspace
1978 #endif
1979 #ifdef VK_EXT_hdr_metadata
1980     void vkSetHdrMetadataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1981                              android::base::BumpPool* pool, VkDevice device,
1982                              uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains,
1983                              const VkHdrMetadataEXT* pMetadata);
1984 #endif
1985 #ifdef VK_MVK_ios_surface
1986     void vkCreateIOSSurfaceMVK(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1987                                android::base::BumpPool* pool, VkResult input_result,
1988                                VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
1989                                const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1990 #endif
1991 #ifdef VK_MVK_macos_surface
1992     void vkCreateMacOSSurfaceMVK(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1993                                  android::base::BumpPool* pool, VkResult input_result,
1994                                  VkInstance instance,
1995                                  const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
1996                                  const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
1997 #endif
1998 #ifdef VK_EXT_external_memory_dma_buf
1999 #endif
2000 #ifdef VK_EXT_queue_family_foreign
2001 #endif
2002 #ifdef VK_EXT_debug_utils
2003     void vkSetDebugUtilsObjectNameEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2004                                       android::base::BumpPool* pool, VkResult input_result,
2005                                       VkDevice device,
2006                                       const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
2007     void vkSetDebugUtilsObjectTagEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2008                                      android::base::BumpPool* pool, VkResult input_result,
2009                                      VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
2010     void vkQueueBeginDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin,
2011                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
2012                                         VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
2013     void vkQueueEndDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2014                                       android::base::BumpPool* pool, VkQueue queue);
2015     void vkQueueInsertDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin,
2016                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2017                                          VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
2018     void vkCmdBeginDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2019                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2020                                       const VkDebugUtilsLabelEXT* pLabelInfo);
2021     void vkCmdEndDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2022                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
2023     void vkCmdInsertDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2024                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2025                                        const VkDebugUtilsLabelEXT* pLabelInfo);
2026     void vkCreateDebugUtilsMessengerEXT(const uint8_t* snapshotTraceBegin,
2027                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
2028                                         VkResult input_result, VkInstance instance,
2029                                         const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
2030                                         const VkAllocationCallbacks* pAllocator,
2031                                         VkDebugUtilsMessengerEXT* pMessenger);
2032     void vkDestroyDebugUtilsMessengerEXT(const uint8_t* snapshotTraceBegin,
2033                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2034                                          VkInstance instance, VkDebugUtilsMessengerEXT messenger,
2035                                          const VkAllocationCallbacks* pAllocator);
2036     void vkSubmitDebugUtilsMessageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2037                                       android::base::BumpPool* pool, VkInstance instance,
2038                                       VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
2039                                       VkDebugUtilsMessageTypeFlagsEXT messageTypes,
2040                                       const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
2041 #endif
2042 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
2043     void vkGetAndroidHardwareBufferPropertiesANDROID(
2044         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2045         VkResult input_result, VkDevice device, const AHardwareBuffer* buffer,
2046         VkAndroidHardwareBufferPropertiesANDROID* pProperties);
2047     void vkGetMemoryAndroidHardwareBufferANDROID(
2048         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2049         VkResult input_result, VkDevice device,
2050         const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, AHardwareBuffer** pBuffer);
2051 #endif
2052 #ifdef VK_EXT_sampler_filter_minmax
2053 #endif
2054 #ifdef VK_AMD_gpu_shader_int16
2055 #endif
2056 #ifdef VK_AMD_mixed_attachment_samples
2057 #endif
2058 #ifdef VK_AMD_shader_fragment_mask
2059 #endif
2060 #ifdef VK_EXT_inline_uniform_block
2061 #endif
2062 #ifdef VK_EXT_shader_stencil_export
2063 #endif
2064 #ifdef VK_EXT_sample_locations
2065     void vkCmdSetSampleLocationsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2066                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2067                                     const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
2068     void vkGetPhysicalDeviceMultisamplePropertiesEXT(
2069         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2070         VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples,
2071         VkMultisamplePropertiesEXT* pMultisampleProperties);
2072 #endif
2073 #ifdef VK_EXT_blend_operation_advanced
2074 #endif
2075 #ifdef VK_NV_fragment_coverage_to_color
2076 #endif
2077 #ifdef VK_NV_framebuffer_mixed_samples
2078 #endif
2079 #ifdef VK_NV_fill_rectangle
2080 #endif
2081 #ifdef VK_NV_shader_sm_builtins
2082 #endif
2083 #ifdef VK_EXT_post_depth_coverage
2084 #endif
2085 #ifdef VK_EXT_image_drm_format_modifier
2086     void vkGetImageDrmFormatModifierPropertiesEXT(
2087         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2088         VkResult input_result, VkDevice device, VkImage image,
2089         VkImageDrmFormatModifierPropertiesEXT* pProperties);
2090 #endif
2091 #ifdef VK_EXT_validation_cache
2092     void vkCreateValidationCacheEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2093                                     android::base::BumpPool* pool, VkResult input_result,
2094                                     VkDevice device,
2095                                     const VkValidationCacheCreateInfoEXT* pCreateInfo,
2096                                     const VkAllocationCallbacks* pAllocator,
2097                                     VkValidationCacheEXT* pValidationCache);
2098     void vkDestroyValidationCacheEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2099                                      android::base::BumpPool* pool, VkDevice device,
2100                                      VkValidationCacheEXT validationCache,
2101                                      const VkAllocationCallbacks* pAllocator);
2102     void vkMergeValidationCachesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2103                                     android::base::BumpPool* pool, VkResult input_result,
2104                                     VkDevice device, VkValidationCacheEXT dstCache,
2105                                     uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
2106     void vkGetValidationCacheDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2107                                      android::base::BumpPool* pool, VkResult input_result,
2108                                      VkDevice device, VkValidationCacheEXT validationCache,
2109                                      size_t* pDataSize, void* pData);
2110 #endif
2111 #ifdef VK_EXT_descriptor_indexing
2112 #endif
2113 #ifdef VK_EXT_shader_viewport_index_layer
2114 #endif
2115 #ifdef VK_NV_shading_rate_image
2116     void vkCmdBindShadingRateImageNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2117                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2118                                      VkImageView imageView, VkImageLayout imageLayout);
2119     void vkCmdSetViewportShadingRatePaletteNV(const uint8_t* snapshotTraceBegin,
2120                                               size_t snapshotTraceBytes,
2121                                               android::base::BumpPool* pool,
2122                                               VkCommandBuffer commandBuffer, uint32_t firstViewport,
2123                                               uint32_t viewportCount,
2124                                               const VkShadingRatePaletteNV* pShadingRatePalettes);
2125     void vkCmdSetCoarseSampleOrderNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2126                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2127                                      VkCoarseSampleOrderTypeNV sampleOrderType,
2128                                      uint32_t customSampleOrderCount,
2129                                      const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
2130 #endif
2131 #ifdef VK_NV_ray_tracing
2132     void vkCreateAccelerationStructureNV(const uint8_t* snapshotTraceBegin,
2133                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2134                                          VkResult input_result, VkDevice device,
2135                                          const VkAccelerationStructureCreateInfoNV* pCreateInfo,
2136                                          const VkAllocationCallbacks* pAllocator,
2137                                          VkAccelerationStructureNV* pAccelerationStructure);
2138     void vkDestroyAccelerationStructureNV(const uint8_t* snapshotTraceBegin,
2139                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2140                                           VkDevice device,
2141                                           VkAccelerationStructureNV accelerationStructure,
2142                                           const VkAllocationCallbacks* pAllocator);
2143     void vkGetAccelerationStructureMemoryRequirementsNV(
2144         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2145         VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
2146         VkMemoryRequirements2KHR* pMemoryRequirements);
2147     void vkBindAccelerationStructureMemoryNV(
2148         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2149         VkResult input_result, VkDevice device, uint32_t bindInfoCount,
2150         const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
2151     void vkCmdBuildAccelerationStructureNV(const uint8_t* snapshotTraceBegin,
2152                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2153                                            VkCommandBuffer commandBuffer,
2154                                            const VkAccelerationStructureInfoNV* pInfo,
2155                                            VkBuffer instanceData, VkDeviceSize instanceOffset,
2156                                            VkBool32 update, VkAccelerationStructureNV dst,
2157                                            VkAccelerationStructureNV src, VkBuffer scratch,
2158                                            VkDeviceSize scratchOffset);
2159     void vkCmdCopyAccelerationStructureNV(const uint8_t* snapshotTraceBegin,
2160                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2161                                           VkCommandBuffer commandBuffer,
2162                                           VkAccelerationStructureNV dst,
2163                                           VkAccelerationStructureNV src,
2164                                           VkCopyAccelerationStructureModeKHR mode);
2165     void vkCmdTraceRaysNV(
2166         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2167         VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer,
2168         VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer,
2169         VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride,
2170         VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset,
2171         VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer,
2172         VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride,
2173         uint32_t width, uint32_t height, uint32_t depth);
2174     void vkCreateRayTracingPipelinesNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2175                                        android::base::BumpPool* pool, VkResult input_result,
2176                                        VkDevice device, VkPipelineCache pipelineCache,
2177                                        uint32_t createInfoCount,
2178                                        const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
2179                                        const VkAllocationCallbacks* pAllocator,
2180                                        VkPipeline* pPipelines);
2181     void vkGetRayTracingShaderGroupHandlesKHR(const uint8_t* snapshotTraceBegin,
2182                                               size_t snapshotTraceBytes,
2183                                               android::base::BumpPool* pool, VkResult input_result,
2184                                               VkDevice device, VkPipeline pipeline,
2185                                               uint32_t firstGroup, uint32_t groupCount,
2186                                               size_t dataSize, void* pData);
2187     void vkGetRayTracingShaderGroupHandlesNV(const uint8_t* snapshotTraceBegin,
2188                                              size_t snapshotTraceBytes,
2189                                              android::base::BumpPool* pool, VkResult input_result,
2190                                              VkDevice device, VkPipeline pipeline,
2191                                              uint32_t firstGroup, uint32_t groupCount,
2192                                              size_t dataSize, void* pData);
2193     void vkGetAccelerationStructureHandleNV(const uint8_t* snapshotTraceBegin,
2194                                             size_t snapshotTraceBytes,
2195                                             android::base::BumpPool* pool, VkResult input_result,
2196                                             VkDevice device,
2197                                             VkAccelerationStructureNV accelerationStructure,
2198                                             size_t dataSize, void* pData);
2199     void vkCmdWriteAccelerationStructuresPropertiesNV(
2200         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2201         VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount,
2202         const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType,
2203         VkQueryPool queryPool, uint32_t firstQuery);
2204     void vkCompileDeferredNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2205                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2206                              VkPipeline pipeline, uint32_t shader);
2207 #endif
2208 #ifdef VK_NV_representative_fragment_test
2209 #endif
2210 #ifdef VK_EXT_filter_cubic
2211 #endif
2212 #ifdef VK_QCOM_render_pass_shader_resolve
2213 #endif
2214 #ifdef VK_EXT_global_priority
2215 #endif
2216 #ifdef VK_EXT_external_memory_host
2217     void vkGetMemoryHostPointerPropertiesEXT(
2218         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2219         VkResult input_result, VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
2220         const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
2221 #endif
2222 #ifdef VK_AMD_buffer_marker
2223     void vkCmdWriteBufferMarkerAMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2224                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2225                                    VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer,
2226                                    VkDeviceSize dstOffset, uint32_t marker);
2227 #endif
2228 #ifdef VK_AMD_pipeline_compiler_control
2229 #endif
2230 #ifdef VK_EXT_calibrated_timestamps
2231     void vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
2232         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2233         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount,
2234         VkTimeDomainEXT* pTimeDomains);
2235     void vkGetCalibratedTimestampsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2236                                       android::base::BumpPool* pool, VkResult input_result,
2237                                       VkDevice device, uint32_t timestampCount,
2238                                       const VkCalibratedTimestampInfoEXT* pTimestampInfos,
2239                                       uint64_t* pTimestamps, uint64_t* pMaxDeviation);
2240 #endif
2241 #ifdef VK_AMD_shader_core_properties
2242 #endif
2243 #ifdef VK_AMD_memory_overallocation_behavior
2244 #endif
2245 #ifdef VK_EXT_vertex_attribute_divisor
2246 #endif
2247 #ifdef VK_GGP_frame_token
2248 #endif
2249 #ifdef VK_EXT_pipeline_creation_feedback
2250 #endif
2251 #ifdef VK_NV_shader_subgroup_partitioned
2252 #endif
2253 #ifdef VK_NV_compute_shader_derivatives
2254 #endif
2255 #ifdef VK_NV_mesh_shader
2256     void vkCmdDrawMeshTasksNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2257                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2258                               uint32_t taskCount, uint32_t firstTask);
2259     void vkCmdDrawMeshTasksIndirectNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2260                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2261                                       VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
2262                                       uint32_t stride);
2263     void vkCmdDrawMeshTasksIndirectCountNV(const uint8_t* snapshotTraceBegin,
2264                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2265                                            VkCommandBuffer commandBuffer, VkBuffer buffer,
2266                                            VkDeviceSize offset, VkBuffer countBuffer,
2267                                            VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
2268                                            uint32_t stride);
2269 #endif
2270 #ifdef VK_NV_fragment_shader_barycentric
2271 #endif
2272 #ifdef VK_NV_shader_image_footprint
2273 #endif
2274 #ifdef VK_NV_scissor_exclusive
2275     void vkCmdSetExclusiveScissorEnableNV(const uint8_t* snapshotTraceBegin,
2276                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2277                                           VkCommandBuffer commandBuffer,
2278                                           uint32_t firstExclusiveScissor,
2279                                           uint32_t exclusiveScissorCount,
2280                                           const VkBool32* pExclusiveScissorEnables);
2281     void vkCmdSetExclusiveScissorNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2282                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2283                                     uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount,
2284                                     const VkRect2D* pExclusiveScissors);
2285 #endif
2286 #ifdef VK_NV_device_diagnostic_checkpoints
2287     void vkCmdSetCheckpointNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2288                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2289                               const void* pCheckpointMarker);
2290     void vkGetQueueCheckpointDataNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2291                                     android::base::BumpPool* pool, VkQueue queue,
2292                                     uint32_t* pCheckpointDataCount,
2293                                     VkCheckpointDataNV* pCheckpointData);
2294 #endif
2295 #ifdef VK_INTEL_shader_integer_functions2
2296 #endif
2297 #ifdef VK_INTEL_performance_query
2298     void vkInitializePerformanceApiINTEL(
2299         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2300         VkResult input_result, VkDevice device,
2301         const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
2302     void vkUninitializePerformanceApiINTEL(const uint8_t* snapshotTraceBegin,
2303                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2304                                            VkDevice device);
2305     void vkCmdSetPerformanceMarkerINTEL(const uint8_t* snapshotTraceBegin,
2306                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
2307                                         VkResult input_result, VkCommandBuffer commandBuffer,
2308                                         const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
2309     void vkCmdSetPerformanceStreamMarkerINTEL(
2310         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2311         VkResult input_result, VkCommandBuffer commandBuffer,
2312         const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
2313     void vkCmdSetPerformanceOverrideINTEL(const uint8_t* snapshotTraceBegin,
2314                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2315                                           VkResult input_result, VkCommandBuffer commandBuffer,
2316                                           const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
2317     void vkAcquirePerformanceConfigurationINTEL(
2318         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2319         VkResult input_result, VkDevice device,
2320         const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
2321         VkPerformanceConfigurationINTEL* pConfiguration);
2322     void vkReleasePerformanceConfigurationINTEL(const uint8_t* snapshotTraceBegin,
2323                                                 size_t snapshotTraceBytes,
2324                                                 android::base::BumpPool* pool,
2325                                                 VkResult input_result, VkDevice device,
2326                                                 VkPerformanceConfigurationINTEL configuration);
2327     void vkQueueSetPerformanceConfigurationINTEL(const uint8_t* snapshotTraceBegin,
2328                                                  size_t snapshotTraceBytes,
2329                                                  android::base::BumpPool* pool,
2330                                                  VkResult input_result, VkQueue queue,
2331                                                  VkPerformanceConfigurationINTEL configuration);
2332     void vkGetPerformanceParameterINTEL(const uint8_t* snapshotTraceBegin,
2333                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
2334                                         VkResult input_result, VkDevice device,
2335                                         VkPerformanceParameterTypeINTEL parameter,
2336                                         VkPerformanceValueINTEL* pValue);
2337 #endif
2338 #ifdef VK_EXT_pci_bus_info
2339 #endif
2340 #ifdef VK_AMD_display_native_hdr
2341     void vkSetLocalDimmingAMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2342                               android::base::BumpPool* pool, VkDevice device,
2343                               VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
2344 #endif
2345 #ifdef VK_FUCHSIA_imagepipe_surface
2346     void vkCreateImagePipeSurfaceFUCHSIA(const uint8_t* snapshotTraceBegin,
2347                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2348                                          VkResult input_result, VkInstance instance,
2349                                          const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
2350                                          const VkAllocationCallbacks* pAllocator,
2351                                          VkSurfaceKHR* pSurface);
2352 #endif
2353 #ifdef VK_EXT_metal_surface
2354     void vkCreateMetalSurfaceEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2355                                  android::base::BumpPool* pool, VkResult input_result,
2356                                  VkInstance instance,
2357                                  const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
2358                                  const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
2359 #endif
2360 #ifdef VK_EXT_fragment_density_map
2361 #endif
2362 #ifdef VK_EXT_scalar_block_layout
2363 #endif
2364 #ifdef VK_GOOGLE_hlsl_functionality1
2365 #endif
2366 #ifdef VK_GOOGLE_decorate_string
2367 #endif
2368 #ifdef VK_EXT_subgroup_size_control
2369 #endif
2370 #ifdef VK_AMD_shader_core_properties2
2371 #endif
2372 #ifdef VK_AMD_device_coherent_memory
2373 #endif
2374 #ifdef VK_EXT_shader_image_atomic_int64
2375 #endif
2376 #ifdef VK_EXT_memory_budget
2377 #endif
2378 #ifdef VK_EXT_memory_priority
2379 #endif
2380 #ifdef VK_NV_dedicated_allocation_image_aliasing
2381 #endif
2382 #ifdef VK_EXT_buffer_device_address
2383     void vkGetBufferDeviceAddressEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2384                                      android::base::BumpPool* pool, VkDeviceAddress input_result,
2385                                      VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
2386 #endif
2387 #ifdef VK_EXT_tooling_info
2388     void vkGetPhysicalDeviceToolPropertiesEXT(const uint8_t* snapshotTraceBegin,
2389                                               size_t snapshotTraceBytes,
2390                                               android::base::BumpPool* pool, VkResult input_result,
2391                                               VkPhysicalDevice physicalDevice, uint32_t* pToolCount,
2392                                               VkPhysicalDeviceToolProperties* pToolProperties);
2393 #endif
2394 #ifdef VK_EXT_separate_stencil_usage
2395 #endif
2396 #ifdef VK_EXT_validation_features
2397 #endif
2398 #ifdef VK_NV_cooperative_matrix
2399     void vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
2400         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2401         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount,
2402         VkCooperativeMatrixPropertiesNV* pProperties);
2403 #endif
2404 #ifdef VK_NV_coverage_reduction_mode
2405     void vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
2406         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2407         VkResult input_result, VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount,
2408         VkFramebufferMixedSamplesCombinationNV* pCombinations);
2409 #endif
2410 #ifdef VK_EXT_fragment_shader_interlock
2411 #endif
2412 #ifdef VK_EXT_ycbcr_image_arrays
2413 #endif
2414 #ifdef VK_EXT_provoking_vertex
2415 #endif
2416 #ifdef VK_EXT_full_screen_exclusive
2417     void vkGetPhysicalDeviceSurfacePresentModes2EXT(
2418         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2419         VkResult input_result, VkPhysicalDevice physicalDevice,
2420         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount,
2421         VkPresentModeKHR* pPresentModes);
2422     void vkAcquireFullScreenExclusiveModeEXT(const uint8_t* snapshotTraceBegin,
2423                                              size_t snapshotTraceBytes,
2424                                              android::base::BumpPool* pool, VkResult input_result,
2425                                              VkDevice device, VkSwapchainKHR swapchain);
2426     void vkReleaseFullScreenExclusiveModeEXT(const uint8_t* snapshotTraceBegin,
2427                                              size_t snapshotTraceBytes,
2428                                              android::base::BumpPool* pool, VkResult input_result,
2429                                              VkDevice device, VkSwapchainKHR swapchain);
2430     void vkGetDeviceGroupSurfacePresentModes2EXT(
2431         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2432         VkResult input_result, VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
2433         VkDeviceGroupPresentModeFlagsKHR* pModes);
2434 #endif
2435 #ifdef VK_EXT_headless_surface
2436     void vkCreateHeadlessSurfaceEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2437                                     android::base::BumpPool* pool, VkResult input_result,
2438                                     VkInstance instance,
2439                                     const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
2440                                     const VkAllocationCallbacks* pAllocator,
2441                                     VkSurfaceKHR* pSurface);
2442 #endif
2443 #ifdef VK_EXT_line_rasterization
2444     void vkCmdSetLineStippleEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2445                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2446                                 uint32_t lineStippleFactor, uint16_t lineStipplePattern);
2447 #endif
2448 #ifdef VK_EXT_shader_atomic_float
2449 #endif
2450 #ifdef VK_EXT_host_query_reset
2451     void vkResetQueryPoolEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2452                              android::base::BumpPool* pool, VkDevice device, VkQueryPool queryPool,
2453                              uint32_t firstQuery, uint32_t queryCount);
2454 #endif
2455 #ifdef VK_EXT_index_type_uint8
2456 #endif
2457 #ifdef VK_EXT_extended_dynamic_state
2458     void vkCmdSetCullModeEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2459                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2460                              VkCullModeFlags cullMode);
2461     void vkCmdSetFrontFaceEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2462                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2463                               VkFrontFace frontFace);
2464     void vkCmdSetPrimitiveTopologyEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2465                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2466                                       VkPrimitiveTopology primitiveTopology);
2467     void vkCmdSetViewportWithCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2468                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2469                                       uint32_t viewportCount, const VkViewport* pViewports);
2470     void vkCmdSetScissorWithCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2471                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2472                                      uint32_t scissorCount, const VkRect2D* pScissors);
2473     void vkCmdBindVertexBuffers2EXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2474                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2475                                     uint32_t firstBinding, uint32_t bindingCount,
2476                                     const VkBuffer* pBuffers, const VkDeviceSize* pOffsets,
2477                                     const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
2478     void vkCmdSetDepthTestEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2479                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2480                                     VkBool32 depthTestEnable);
2481     void vkCmdSetDepthWriteEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2482                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2483                                      VkBool32 depthWriteEnable);
2484     void vkCmdSetDepthCompareOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2485                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2486                                    VkCompareOp depthCompareOp);
2487     void vkCmdSetDepthBoundsTestEnableEXT(const uint8_t* snapshotTraceBegin,
2488                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2489                                           VkCommandBuffer commandBuffer,
2490                                           VkBool32 depthBoundsTestEnable);
2491     void vkCmdSetStencilTestEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2492                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2493                                       VkBool32 stencilTestEnable);
2494     void vkCmdSetStencilOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2495                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2496                               VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp,
2497                               VkStencilOp depthFailOp, VkCompareOp compareOp);
2498 #endif
2499 #ifdef VK_EXT_shader_atomic_float2
2500 #endif
2501 #ifdef VK_EXT_surface_maintenance1
2502 #endif
2503 #ifdef VK_EXT_swapchain_maintenance1
2504     void vkReleaseSwapchainImagesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2505                                      android::base::BumpPool* pool, VkResult input_result,
2506                                      VkDevice device,
2507                                      const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
2508 #endif
2509 #ifdef VK_EXT_shader_demote_to_helper_invocation
2510 #endif
2511 #ifdef VK_NV_device_generated_commands
2512     void vkGetGeneratedCommandsMemoryRequirementsNV(
2513         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2514         VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
2515         VkMemoryRequirements2* pMemoryRequirements);
2516     void vkCmdPreprocessGeneratedCommandsNV(
2517         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2518         VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
2519     void vkCmdExecuteGeneratedCommandsNV(const uint8_t* snapshotTraceBegin,
2520                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2521                                          VkCommandBuffer commandBuffer, VkBool32 isPreprocessed,
2522                                          const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
2523     void vkCmdBindPipelineShaderGroupNV(const uint8_t* snapshotTraceBegin,
2524                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
2525                                         VkCommandBuffer commandBuffer,
2526                                         VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline,
2527                                         uint32_t groupIndex);
2528     void vkCreateIndirectCommandsLayoutNV(const uint8_t* snapshotTraceBegin,
2529                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2530                                           VkResult input_result, VkDevice device,
2531                                           const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
2532                                           const VkAllocationCallbacks* pAllocator,
2533                                           VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
2534     void vkDestroyIndirectCommandsLayoutNV(const uint8_t* snapshotTraceBegin,
2535                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2536                                            VkDevice device,
2537                                            VkIndirectCommandsLayoutNV indirectCommandsLayout,
2538                                            const VkAllocationCallbacks* pAllocator);
2539 #endif
2540 #ifdef VK_NV_inherited_viewport_scissor
2541 #endif
2542 #ifdef VK_EXT_texel_buffer_alignment
2543 #endif
2544 #ifdef VK_QCOM_render_pass_transform
2545 #endif
2546 #ifdef VK_EXT_device_memory_report
2547 #endif
2548 #ifdef VK_EXT_acquire_drm_display
2549     void vkAcquireDrmDisplayEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2550                                 android::base::BumpPool* pool, VkResult input_result,
2551                                 VkPhysicalDevice physicalDevice, int32_t drmFd,
2552                                 VkDisplayKHR display);
2553     void vkGetDrmDisplayEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2554                             android::base::BumpPool* pool, VkResult input_result,
2555                             VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId,
2556                             VkDisplayKHR* display);
2557 #endif
2558 #ifdef VK_EXT_robustness2
2559 #endif
2560 #ifdef VK_EXT_custom_border_color
2561 #endif
2562 #ifdef VK_GOOGLE_user_type
2563 #endif
2564 #ifdef VK_NV_present_barrier
2565 #endif
2566 #ifdef VK_EXT_private_data
2567     void vkCreatePrivateDataSlotEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2568                                     android::base::BumpPool* pool, VkResult input_result,
2569                                     VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo,
2570                                     const VkAllocationCallbacks* pAllocator,
2571                                     VkPrivateDataSlot* pPrivateDataSlot);
2572     void vkDestroyPrivateDataSlotEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2573                                      android::base::BumpPool* pool, VkDevice device,
2574                                      VkPrivateDataSlot privateDataSlot,
2575                                      const VkAllocationCallbacks* pAllocator);
2576     void vkSetPrivateDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2577                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2578                              VkObjectType objectType, uint64_t objectHandle,
2579                              VkPrivateDataSlot privateDataSlot, uint64_t data);
2580     void vkGetPrivateDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2581                              android::base::BumpPool* pool, VkDevice device,
2582                              VkObjectType objectType, uint64_t objectHandle,
2583                              VkPrivateDataSlot privateDataSlot, uint64_t* pData);
2584 #endif
2585 #ifdef VK_EXT_pipeline_creation_cache_control
2586 #endif
2587 #ifdef VK_NV_device_diagnostics_config
2588 #endif
2589 #ifdef VK_QCOM_render_pass_store_ops
2590 #endif
2591 #ifdef VK_NV_low_latency
2592 #endif
2593 #ifdef VK_EXT_metal_objects
2594     void vkExportMetalObjectsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2595                                  android::base::BumpPool* pool, VkDevice device,
2596                                  VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
2597 #endif
2598 #ifdef VK_EXT_descriptor_buffer
2599     void vkGetDescriptorSetLayoutSizeEXT(const uint8_t* snapshotTraceBegin,
2600                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2601                                          VkDevice device, VkDescriptorSetLayout layout,
2602                                          VkDeviceSize* pLayoutSizeInBytes);
2603     void vkGetDescriptorSetLayoutBindingOffsetEXT(const uint8_t* snapshotTraceBegin,
2604                                                   size_t snapshotTraceBytes,
2605                                                   android::base::BumpPool* pool, VkDevice device,
2606                                                   VkDescriptorSetLayout layout, uint32_t binding,
2607                                                   VkDeviceSize* pOffset);
2608     void vkGetDescriptorEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2609                             android::base::BumpPool* pool, VkDevice device,
2610                             const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize,
2611                             void* pDescriptor);
2612     void vkCmdBindDescriptorBuffersEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2613                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2614                                        uint32_t bufferCount,
2615                                        const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
2616     void vkCmdSetDescriptorBufferOffsetsEXT(
2617         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2618         VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
2619         VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount,
2620         const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
2621     void vkCmdBindDescriptorBufferEmbeddedSamplersEXT(const uint8_t* snapshotTraceBegin,
2622                                                       size_t snapshotTraceBytes,
2623                                                       android::base::BumpPool* pool,
2624                                                       VkCommandBuffer commandBuffer,
2625                                                       VkPipelineBindPoint pipelineBindPoint,
2626                                                       VkPipelineLayout layout, uint32_t set);
2627     void vkGetBufferOpaqueCaptureDescriptorDataEXT(
2628         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2629         VkResult input_result, VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
2630         void* pData);
2631     void vkGetImageOpaqueCaptureDescriptorDataEXT(const uint8_t* snapshotTraceBegin,
2632                                                   size_t snapshotTraceBytes,
2633                                                   android::base::BumpPool* pool,
2634                                                   VkResult input_result, VkDevice device,
2635                                                   const VkImageCaptureDescriptorDataInfoEXT* pInfo,
2636                                                   void* pData);
2637     void vkGetImageViewOpaqueCaptureDescriptorDataEXT(
2638         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2639         VkResult input_result, VkDevice device,
2640         const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
2641     void vkGetSamplerOpaqueCaptureDescriptorDataEXT(
2642         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2643         VkResult input_result, VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
2644         void* pData);
2645     void vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
2646         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2647         VkResult input_result, VkDevice device,
2648         const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
2649 #endif
2650 #ifdef VK_EXT_graphics_pipeline_library
2651 #endif
2652 #ifdef VK_AMD_shader_early_and_late_fragment_tests
2653 #endif
2654 #ifdef VK_NV_fragment_shading_rate_enums
2655     void vkCmdSetFragmentShadingRateEnumNV(const uint8_t* snapshotTraceBegin,
2656                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2657                                            VkCommandBuffer commandBuffer,
2658                                            VkFragmentShadingRateNV shadingRate,
2659                                            const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
2660 #endif
2661 #ifdef VK_NV_ray_tracing_motion_blur
2662 #endif
2663 #ifdef VK_EXT_ycbcr_2plane_444_formats
2664 #endif
2665 #ifdef VK_EXT_fragment_density_map2
2666 #endif
2667 #ifdef VK_QCOM_rotated_copy_commands
2668 #endif
2669 #ifdef VK_EXT_image_robustness
2670 #endif
2671 #ifdef VK_EXT_image_compression_control
2672     void vkGetImageSubresourceLayout2EXT(const uint8_t* snapshotTraceBegin,
2673                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2674                                          VkDevice device, VkImage image,
2675                                          const VkImageSubresource2EXT* pSubresource,
2676                                          VkSubresourceLayout2EXT* pLayout);
2677 #endif
2678 #ifdef VK_EXT_attachment_feedback_loop_layout
2679 #endif
2680 #ifdef VK_EXT_4444_formats
2681 #endif
2682 #ifdef VK_EXT_device_fault
2683     void vkGetDeviceFaultInfoEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2684                                  android::base::BumpPool* pool, VkResult input_result,
2685                                  VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts,
2686                                  VkDeviceFaultInfoEXT* pFaultInfo);
2687 #endif
2688 #ifdef VK_ARM_rasterization_order_attachment_access
2689 #endif
2690 #ifdef VK_EXT_rgba10x6_formats
2691 #endif
2692 #ifdef VK_NV_acquire_winrt_display
2693     void vkAcquireWinrtDisplayNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2694                                  android::base::BumpPool* pool, VkResult input_result,
2695                                  VkPhysicalDevice physicalDevice, VkDisplayKHR display);
2696     void vkGetWinrtDisplayNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2697                              android::base::BumpPool* pool, VkResult input_result,
2698                              VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId,
2699                              VkDisplayKHR* pDisplay);
2700 #endif
2701 #ifdef VK_EXT_directfb_surface
2702     void vkCreateDirectFBSurfaceEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2703                                     android::base::BumpPool* pool, VkResult input_result,
2704                                     VkInstance instance,
2705                                     const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
2706                                     const VkAllocationCallbacks* pAllocator,
2707                                     VkSurfaceKHR* pSurface);
2708     void vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
2709         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2710         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
2711         IDirectFB* dfb);
2712 #endif
2713 #ifdef VK_VALVE_mutable_descriptor_type
2714 #endif
2715 #ifdef VK_EXT_vertex_input_dynamic_state
2716     void vkCmdSetVertexInputEXT(
2717         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2718         VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount,
2719         const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
2720         uint32_t vertexAttributeDescriptionCount,
2721         const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
2722 #endif
2723 #ifdef VK_EXT_physical_device_drm
2724 #endif
2725 #ifdef VK_EXT_device_address_binding_report
2726 #endif
2727 #ifdef VK_EXT_depth_clip_control
2728 #endif
2729 #ifdef VK_EXT_primitive_topology_list_restart
2730 #endif
2731 #ifdef VK_FUCHSIA_external_memory
2732     void vkGetMemoryZirconHandleFUCHSIA(
2733         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2734         VkResult input_result, VkDevice device,
2735         const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
2736     void vkGetMemoryZirconHandlePropertiesFUCHSIA(
2737         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2738         VkResult input_result, VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
2739         zx_handle_t zirconHandle,
2740         VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
2741 #endif
2742 #ifdef VK_FUCHSIA_external_semaphore
2743     void vkImportSemaphoreZirconHandleFUCHSIA(
2744         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2745         VkResult input_result, VkDevice device,
2746         const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
2747     void vkGetSemaphoreZirconHandleFUCHSIA(
2748         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2749         VkResult input_result, VkDevice device,
2750         const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
2751         zx_handle_t* pZirconHandle);
2752 #endif
2753 #ifdef VK_FUCHSIA_buffer_collection
2754     void vkCreateBufferCollectionFUCHSIA(const uint8_t* snapshotTraceBegin,
2755                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2756                                          VkResult input_result, VkDevice device,
2757                                          const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
2758                                          const VkAllocationCallbacks* pAllocator,
2759                                          VkBufferCollectionFUCHSIA* pCollection);
2760     void vkSetBufferCollectionImageConstraintsFUCHSIA(
2761         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2762         VkResult input_result, VkDevice device, VkBufferCollectionFUCHSIA collection,
2763         const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
2764     void vkSetBufferCollectionBufferConstraintsFUCHSIA(
2765         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2766         VkResult input_result, VkDevice device, VkBufferCollectionFUCHSIA collection,
2767         const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
2768     void vkDestroyBufferCollectionFUCHSIA(const uint8_t* snapshotTraceBegin,
2769                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2770                                           VkDevice device, VkBufferCollectionFUCHSIA collection,
2771                                           const VkAllocationCallbacks* pAllocator);
2772     void vkGetBufferCollectionPropertiesFUCHSIA(const uint8_t* snapshotTraceBegin,
2773                                                 size_t snapshotTraceBytes,
2774                                                 android::base::BumpPool* pool,
2775                                                 VkResult input_result, VkDevice device,
2776                                                 VkBufferCollectionFUCHSIA collection,
2777                                                 VkBufferCollectionPropertiesFUCHSIA* pProperties);
2778 #endif
2779 #ifdef VK_HUAWEI_subpass_shading
2780     void vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(const uint8_t* snapshotTraceBegin,
2781                                                          size_t snapshotTraceBytes,
2782                                                          android::base::BumpPool* pool,
2783                                                          VkResult input_result, VkDevice device,
2784                                                          VkRenderPass renderpass,
2785                                                          VkExtent2D* pMaxWorkgroupSize);
2786     void vkCmdSubpassShadingHUAWEI(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2787                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
2788 #endif
2789 #ifdef VK_HUAWEI_invocation_mask
2790     void vkCmdBindInvocationMaskHUAWEI(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2791                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2792                                        VkImageView imageView, VkImageLayout imageLayout);
2793 #endif
2794 #ifdef VK_NV_external_memory_rdma
2795     void vkGetMemoryRemoteAddressNV(
2796         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2797         VkResult input_result, VkDevice device,
2798         const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
2799         VkRemoteAddressNV* pAddress);
2800 #endif
2801 #ifdef VK_EXT_pipeline_properties
2802     void vkGetPipelinePropertiesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2803                                     android::base::BumpPool* pool, VkResult input_result,
2804                                     VkDevice device, const VkPipelineInfoEXT* pPipelineInfo,
2805                                     VkBaseOutStructure* pPipelineProperties);
2806 #endif
2807 #ifdef VK_EXT_multisampled_render_to_single_sampled
2808 #endif
2809 #ifdef VK_EXT_extended_dynamic_state2
2810     void vkCmdSetPatchControlPointsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2811                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2812                                        uint32_t patchControlPoints);
2813     void vkCmdSetRasterizerDiscardEnableEXT(const uint8_t* snapshotTraceBegin,
2814                                             size_t snapshotTraceBytes,
2815                                             android::base::BumpPool* pool,
2816                                             VkCommandBuffer commandBuffer,
2817                                             VkBool32 rasterizerDiscardEnable);
2818     void vkCmdSetDepthBiasEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2819                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2820                                     VkBool32 depthBiasEnable);
2821     void vkCmdSetLogicOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2822                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2823                             VkLogicOp logicOp);
2824     void vkCmdSetPrimitiveRestartEnableEXT(const uint8_t* snapshotTraceBegin,
2825                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2826                                            VkCommandBuffer commandBuffer,
2827                                            VkBool32 primitiveRestartEnable);
2828 #endif
2829 #ifdef VK_QNX_screen_surface
2830     void vkCreateScreenSurfaceQNX(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2831                                   android::base::BumpPool* pool, VkResult input_result,
2832                                   VkInstance instance,
2833                                   const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
2834                                   const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
2835     void vkGetPhysicalDeviceScreenPresentationSupportQNX(
2836         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2837         VkBool32 input_result, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
2838         _screen_window* window);
2839 #endif
2840 #ifdef VK_EXT_color_write_enable
2841     void vkCmdSetColorWriteEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2842                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2843                                      uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
2844 #endif
2845 #ifdef VK_EXT_primitives_generated_query
2846 #endif
2847 #ifdef VK_GOOGLE_gfxstream
2848     void vkMapMemoryIntoAddressSpaceGOOGLE(const uint8_t* snapshotTraceBegin,
2849                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
2850                                            VkResult input_result, VkDevice device,
2851                                            VkDeviceMemory memory, uint64_t* pAddress);
2852     void vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
2853         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2854         VkDevice device, VkDescriptorSet descriptorSet,
2855         VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount,
2856         uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices,
2857         const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices,
2858         const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos,
2859         const VkBufferView* pBufferViews);
2860     void vkBeginCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
2861                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2862                                          VkCommandBuffer commandBuffer,
2863                                          const VkCommandBufferBeginInfo* pBeginInfo);
2864     void vkEndCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2865                                        android::base::BumpPool* pool,
2866                                        VkCommandBuffer commandBuffer);
2867     void vkResetCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
2868                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
2869                                          VkCommandBuffer commandBuffer,
2870                                          VkCommandBufferResetFlags flags);
2871     void vkCommandBufferHostSyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2872                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2873                                        uint32_t needHostSync, uint32_t sequenceNumber);
2874     void vkCreateImageWithRequirementsGOOGLE(const uint8_t* snapshotTraceBegin,
2875                                              size_t snapshotTraceBytes,
2876                                              android::base::BumpPool* pool, VkResult input_result,
2877                                              VkDevice device, const VkImageCreateInfo* pCreateInfo,
2878                                              const VkAllocationCallbacks* pAllocator,
2879                                              VkImage* pImage,
2880                                              VkMemoryRequirements* pMemoryRequirements);
2881     void vkCreateBufferWithRequirementsGOOGLE(
2882         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2883         VkResult input_result, VkDevice device, const VkBufferCreateInfo* pCreateInfo,
2884         const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer,
2885         VkMemoryRequirements* pMemoryRequirements);
2886     void vkGetMemoryHostAddressInfoGOOGLE(const uint8_t* snapshotTraceBegin,
2887                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2888                                           VkResult input_result, VkDevice device,
2889                                           VkDeviceMemory memory, uint64_t* pAddress,
2890                                           uint64_t* pSize, uint64_t* pHostmemId);
2891     void vkFreeMemorySyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2892                                 android::base::BumpPool* pool, VkResult input_result,
2893                                 VkDevice device, VkDeviceMemory memory,
2894                                 const VkAllocationCallbacks* pAllocator);
2895     void vkQueueHostSyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2896                                android::base::BumpPool* pool, VkQueue queue, uint32_t needHostSync,
2897                                uint32_t sequenceNumber);
2898     void vkQueueSubmitAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2899                                   android::base::BumpPool* pool, VkQueue queue,
2900                                   uint32_t submitCount, const VkSubmitInfo* pSubmits,
2901                                   VkFence fence);
2902     void vkQueueWaitIdleAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2903                                     android::base::BumpPool* pool, VkQueue queue);
2904     void vkQueueBindSparseAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2905                                       android::base::BumpPool* pool, VkQueue queue,
2906                                       uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo,
2907                                       VkFence fence);
2908     void vkGetLinearImageLayoutGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2909                                       android::base::BumpPool* pool, VkDevice device,
2910                                       VkFormat format, VkDeviceSize* pOffset,
2911                                       VkDeviceSize* pRowPitchAlignment);
2912     void vkGetLinearImageLayout2GOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2913                                        android::base::BumpPool* pool, VkDevice device,
2914                                        const VkImageCreateInfo* pCreateInfo, VkDeviceSize* pOffset,
2915                                        VkDeviceSize* pRowPitchAlignment);
2916     void vkQueueFlushCommandsGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2917                                     android::base::BumpPool* pool, VkQueue queue,
2918                                     VkCommandBuffer commandBuffer, VkDeviceSize dataSize,
2919                                     const void* pData);
2920     void vkQueueCommitDescriptorSetUpdatesGOOGLE(
2921         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2922         VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools,
2923         uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts,
2924         const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool,
2925         const uint32_t* pDescriptorSetPendingAllocation,
2926         const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount,
2927         const VkWriteDescriptorSet* pPendingDescriptorWrites);
2928     void vkCollectDescriptorPoolIdsGOOGLE(const uint8_t* snapshotTraceBegin,
2929                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
2930                                           VkDevice device, VkDescriptorPool descriptorPool,
2931                                           uint32_t* pPoolIdCount, uint64_t* pPoolIds);
2932     void vkQueueSignalReleaseImageANDROIDAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
2933                                                      size_t snapshotTraceBytes,
2934                                                      android::base::BumpPool* pool, VkQueue queue,
2935                                                      uint32_t waitSemaphoreCount,
2936                                                      const VkSemaphore* pWaitSemaphores,
2937                                                      VkImage image);
2938     void vkQueueFlushCommandsFromAuxMemoryGOOGLE(const uint8_t* snapshotTraceBegin,
2939                                                  size_t snapshotTraceBytes,
2940                                                  android::base::BumpPool* pool, VkQueue queue,
2941                                                  VkCommandBuffer commandBuffer,
2942                                                  VkDeviceMemory deviceMemory,
2943                                                  VkDeviceSize dataOffset, VkDeviceSize dataSize);
2944     void vkGetBlobGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2945                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2946                          VkDeviceMemory memory);
2947     void vkUpdateDescriptorSetWithTemplateSized2GOOGLE(
2948         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
2949         VkDevice device, VkDescriptorSet descriptorSet,
2950         VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount,
2951         uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount,
2952         const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices,
2953         const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos,
2954         const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews,
2955         const uint8_t* pInlineUniformBlockData);
2956 #endif
2957 #ifdef VK_EXT_global_priority_query
2958 #endif
2959 #ifdef VK_EXT_image_view_min_lod
2960 #endif
2961 #ifdef VK_EXT_multi_draw
2962     void vkCmdDrawMultiEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2963                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2964                            uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo,
2965                            uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
2966     void vkCmdDrawMultiIndexedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2967                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2968                                   uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo,
2969                                   uint32_t instanceCount, uint32_t firstInstance, uint32_t stride,
2970                                   const int32_t* pVertexOffset);
2971 #endif
2972 #ifdef VK_EXT_image_2d_view_of_3d
2973 #endif
2974 #ifdef VK_EXT_shader_tile_image
2975 #endif
2976 #ifdef VK_EXT_opacity_micromap
2977     void vkCreateMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2978                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2979                              const VkMicromapCreateInfoEXT* pCreateInfo,
2980                              const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap);
2981     void vkDestroyMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2982                               android::base::BumpPool* pool, VkDevice device,
2983                               VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
2984     void vkCmdBuildMicromapsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2985                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
2986                                 uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
2987     void vkBuildMicromapsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2988                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2989                              VkDeferredOperationKHR deferredOperation, uint32_t infoCount,
2990                              const VkMicromapBuildInfoEXT* pInfos);
2991     void vkCopyMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2992                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
2993                            VkDeferredOperationKHR deferredOperation,
2994                            const VkCopyMicromapInfoEXT* pInfo);
2995     void vkCopyMicromapToMemoryEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
2996                                    android::base::BumpPool* pool, VkResult input_result,
2997                                    VkDevice device, VkDeferredOperationKHR deferredOperation,
2998                                    const VkCopyMicromapToMemoryInfoEXT* pInfo);
2999     void vkCopyMemoryToMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3000                                    android::base::BumpPool* pool, VkResult input_result,
3001                                    VkDevice device, VkDeferredOperationKHR deferredOperation,
3002                                    const VkCopyMemoryToMicromapInfoEXT* pInfo);
3003     void vkWriteMicromapsPropertiesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3004                                        android::base::BumpPool* pool, VkResult input_result,
3005                                        VkDevice device, uint32_t micromapCount,
3006                                        const VkMicromapEXT* pMicromaps, VkQueryType queryType,
3007                                        size_t dataSize, void* pData, size_t stride);
3008     void vkCmdCopyMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3009                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3010                               const VkCopyMicromapInfoEXT* pInfo);
3011     void vkCmdCopyMicromapToMemoryEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3012                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3013                                       const VkCopyMicromapToMemoryInfoEXT* pInfo);
3014     void vkCmdCopyMemoryToMicromapEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3015                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3016                                       const VkCopyMemoryToMicromapInfoEXT* pInfo);
3017     void vkCmdWriteMicromapsPropertiesEXT(const uint8_t* snapshotTraceBegin,
3018                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3019                                           VkCommandBuffer commandBuffer, uint32_t micromapCount,
3020                                           const VkMicromapEXT* pMicromaps, VkQueryType queryType,
3021                                           VkQueryPool queryPool, uint32_t firstQuery);
3022     void vkGetDeviceMicromapCompatibilityEXT(
3023         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3024         VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo,
3025         VkAccelerationStructureCompatibilityKHR* pCompatibility);
3026     void vkGetMicromapBuildSizesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3027                                     android::base::BumpPool* pool, VkDevice device,
3028                                     VkAccelerationStructureBuildTypeKHR buildType,
3029                                     const VkMicromapBuildInfoEXT* pBuildInfo,
3030                                     VkMicromapBuildSizesInfoEXT* pSizeInfo);
3031 #endif
3032 #ifdef VK_NV_displacement_micromap
3033 #endif
3034 #ifdef VK_EXT_load_store_op_none
3035 #endif
3036 #ifdef VK_HUAWEI_cluster_culling_shader
3037     void vkCmdDrawClusterHUAWEI(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3038                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3039                                 uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3040     void vkCmdDrawClusterIndirectHUAWEI(const uint8_t* snapshotTraceBegin,
3041                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3042                                         VkCommandBuffer commandBuffer, VkBuffer buffer,
3043                                         VkDeviceSize offset);
3044 #endif
3045 #ifdef VK_EXT_border_color_swizzle
3046 #endif
3047 #ifdef VK_EXT_pageable_device_local_memory
3048     void vkSetDeviceMemoryPriorityEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3049                                       android::base::BumpPool* pool, VkDevice device,
3050                                       VkDeviceMemory memory, float priority);
3051 #endif
3052 #ifdef VK_ARM_shader_core_properties
3053 #endif
3054 #ifdef VK_EXT_image_sliced_view_of_3d
3055 #endif
3056 #ifdef VK_VALVE_descriptor_set_host_mapping
3057     void vkGetDescriptorSetLayoutHostMappingInfoVALVE(
3058         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3059         VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
3060         VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
3061     void vkGetDescriptorSetHostMappingVALVE(const uint8_t* snapshotTraceBegin,
3062                                             size_t snapshotTraceBytes,
3063                                             android::base::BumpPool* pool, VkDevice device,
3064                                             VkDescriptorSet descriptorSet, void** ppData);
3065 #endif
3066 #ifdef VK_EXT_depth_clamp_zero_one
3067 #endif
3068 #ifdef VK_EXT_non_seamless_cube_map
3069 #endif
3070 #ifdef VK_QCOM_fragment_density_map_offset
3071 #endif
3072 #ifdef VK_NV_copy_memory_indirect
3073     void vkCmdCopyMemoryIndirectNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3074                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3075                                    VkDeviceAddress copyBufferAddress, uint32_t copyCount,
3076                                    uint32_t stride);
3077     void vkCmdCopyMemoryToImageIndirectNV(const uint8_t* snapshotTraceBegin,
3078                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3079                                           VkCommandBuffer commandBuffer,
3080                                           VkDeviceAddress copyBufferAddress, uint32_t copyCount,
3081                                           uint32_t stride, VkImage dstImage,
3082                                           VkImageLayout dstImageLayout,
3083                                           const VkImageSubresourceLayers* pImageSubresources);
3084 #endif
3085 #ifdef VK_NV_memory_decompression
3086     void vkCmdDecompressMemoryNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3087                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3088                                  uint32_t decompressRegionCount,
3089                                  const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
3090     void vkCmdDecompressMemoryIndirectCountNV(
3091         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3092         VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress,
3093         VkDeviceAddress indirectCommandsCountAddress, uint32_t stride);
3094 #endif
3095 #ifdef VK_NV_linear_color_attachment
3096 #endif
3097 #ifdef VK_GOOGLE_surfaceless_query
3098 #endif
3099 #ifdef VK_EXT_image_compression_control_swapchain
3100 #endif
3101 #ifdef VK_QCOM_image_processing
3102 #endif
3103 #ifdef VK_EXT_extended_dynamic_state3
3104     void vkCmdSetTessellationDomainOriginEXT(const uint8_t* snapshotTraceBegin,
3105                                              size_t snapshotTraceBytes,
3106                                              android::base::BumpPool* pool,
3107                                              VkCommandBuffer commandBuffer,
3108                                              VkTessellationDomainOrigin domainOrigin);
3109     void vkCmdSetDepthClampEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3110                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3111                                      VkBool32 depthClampEnable);
3112     void vkCmdSetPolygonModeEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3113                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3114                                 VkPolygonMode polygonMode);
3115     void vkCmdSetRasterizationSamplesEXT(const uint8_t* snapshotTraceBegin,
3116                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
3117                                          VkCommandBuffer commandBuffer,
3118                                          VkSampleCountFlagBits rasterizationSamples);
3119     void vkCmdSetSampleMaskEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3120                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3121                                VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask);
3122     void vkCmdSetAlphaToCoverageEnableEXT(const uint8_t* snapshotTraceBegin,
3123                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3124                                           VkCommandBuffer commandBuffer,
3125                                           VkBool32 alphaToCoverageEnable);
3126     void vkCmdSetAlphaToOneEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3127                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3128                                      VkBool32 alphaToOneEnable);
3129     void vkCmdSetLogicOpEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3130                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3131                                   VkBool32 logicOpEnable);
3132     void vkCmdSetColorBlendEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3133                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3134                                      uint32_t firstAttachment, uint32_t attachmentCount,
3135                                      const VkBool32* pColorBlendEnables);
3136     void vkCmdSetColorBlendEquationEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3137                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3138                                        uint32_t firstAttachment, uint32_t attachmentCount,
3139                                        const VkColorBlendEquationEXT* pColorBlendEquations);
3140     void vkCmdSetColorWriteMaskEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3141                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3142                                    uint32_t firstAttachment, uint32_t attachmentCount,
3143                                    const VkColorComponentFlags* pColorWriteMasks);
3144     void vkCmdSetRasterizationStreamEXT(const uint8_t* snapshotTraceBegin,
3145                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3146                                         VkCommandBuffer commandBuffer,
3147                                         uint32_t rasterizationStream);
3148     void vkCmdSetConservativeRasterizationModeEXT(
3149         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3150         VkCommandBuffer commandBuffer,
3151         VkConservativeRasterizationModeEXT conservativeRasterizationMode);
3152     void vkCmdSetExtraPrimitiveOverestimationSizeEXT(const uint8_t* snapshotTraceBegin,
3153                                                      size_t snapshotTraceBytes,
3154                                                      android::base::BumpPool* pool,
3155                                                      VkCommandBuffer commandBuffer,
3156                                                      float extraPrimitiveOverestimationSize);
3157     void vkCmdSetDepthClipEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3158                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3159                                     VkBool32 depthClipEnable);
3160     void vkCmdSetSampleLocationsEnableEXT(const uint8_t* snapshotTraceBegin,
3161                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3162                                           VkCommandBuffer commandBuffer,
3163                                           VkBool32 sampleLocationsEnable);
3164     void vkCmdSetColorBlendAdvancedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3165                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3166                                        uint32_t firstAttachment, uint32_t attachmentCount,
3167                                        const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
3168     void vkCmdSetProvokingVertexModeEXT(const uint8_t* snapshotTraceBegin,
3169                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3170                                         VkCommandBuffer commandBuffer,
3171                                         VkProvokingVertexModeEXT provokingVertexMode);
3172     void vkCmdSetLineRasterizationModeEXT(const uint8_t* snapshotTraceBegin,
3173                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3174                                           VkCommandBuffer commandBuffer,
3175                                           VkLineRasterizationModeEXT lineRasterizationMode);
3176     void vkCmdSetLineStippleEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3177                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3178                                       VkBool32 stippledLineEnable);
3179     void vkCmdSetDepthClipNegativeOneToOneEXT(const uint8_t* snapshotTraceBegin,
3180                                               size_t snapshotTraceBytes,
3181                                               android::base::BumpPool* pool,
3182                                               VkCommandBuffer commandBuffer,
3183                                               VkBool32 negativeOneToOne);
3184     void vkCmdSetViewportWScalingEnableNV(const uint8_t* snapshotTraceBegin,
3185                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3186                                           VkCommandBuffer commandBuffer,
3187                                           VkBool32 viewportWScalingEnable);
3188     void vkCmdSetViewportSwizzleNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3189                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3190                                    uint32_t firstViewport, uint32_t viewportCount,
3191                                    const VkViewportSwizzleNV* pViewportSwizzles);
3192     void vkCmdSetCoverageToColorEnableNV(const uint8_t* snapshotTraceBegin,
3193                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
3194                                          VkCommandBuffer commandBuffer,
3195                                          VkBool32 coverageToColorEnable);
3196     void vkCmdSetCoverageToColorLocationNV(const uint8_t* snapshotTraceBegin,
3197                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
3198                                            VkCommandBuffer commandBuffer,
3199                                            uint32_t coverageToColorLocation);
3200     void vkCmdSetCoverageModulationModeNV(const uint8_t* snapshotTraceBegin,
3201                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3202                                           VkCommandBuffer commandBuffer,
3203                                           VkCoverageModulationModeNV coverageModulationMode);
3204     void vkCmdSetCoverageModulationTableEnableNV(const uint8_t* snapshotTraceBegin,
3205                                                  size_t snapshotTraceBytes,
3206                                                  android::base::BumpPool* pool,
3207                                                  VkCommandBuffer commandBuffer,
3208                                                  VkBool32 coverageModulationTableEnable);
3209     void vkCmdSetCoverageModulationTableNV(const uint8_t* snapshotTraceBegin,
3210                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
3211                                            VkCommandBuffer commandBuffer,
3212                                            uint32_t coverageModulationTableCount,
3213                                            const float* pCoverageModulationTable);
3214     void vkCmdSetShadingRateImageEnableNV(const uint8_t* snapshotTraceBegin,
3215                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3216                                           VkCommandBuffer commandBuffer,
3217                                           VkBool32 shadingRateImageEnable);
3218     void vkCmdSetRepresentativeFragmentTestEnableNV(const uint8_t* snapshotTraceBegin,
3219                                                     size_t snapshotTraceBytes,
3220                                                     android::base::BumpPool* pool,
3221                                                     VkCommandBuffer commandBuffer,
3222                                                     VkBool32 representativeFragmentTestEnable);
3223     void vkCmdSetCoverageReductionModeNV(const uint8_t* snapshotTraceBegin,
3224                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
3225                                          VkCommandBuffer commandBuffer,
3226                                          VkCoverageReductionModeNV coverageReductionMode);
3227 #endif
3228 #ifdef VK_EXT_subpass_merge_feedback
3229 #endif
3230 #ifdef VK_LUNARG_direct_driver_loading
3231 #endif
3232 #ifdef VK_EXT_shader_module_identifier
3233     void vkGetShaderModuleIdentifierEXT(const uint8_t* snapshotTraceBegin,
3234                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3235                                         VkDevice device, VkShaderModule shaderModule,
3236                                         VkShaderModuleIdentifierEXT* pIdentifier);
3237     void vkGetShaderModuleCreateInfoIdentifierEXT(const uint8_t* snapshotTraceBegin,
3238                                                   size_t snapshotTraceBytes,
3239                                                   android::base::BumpPool* pool, VkDevice device,
3240                                                   const VkShaderModuleCreateInfo* pCreateInfo,
3241                                                   VkShaderModuleIdentifierEXT* pIdentifier);
3242 #endif
3243 #ifdef VK_EXT_rasterization_order_attachment_access
3244 #endif
3245 #ifdef VK_NV_optical_flow
3246     void vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
3247         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3248         VkResult input_result, VkPhysicalDevice physicalDevice,
3249         const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount,
3250         VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
3251     void vkCreateOpticalFlowSessionNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3252                                       android::base::BumpPool* pool, VkResult input_result,
3253                                       VkDevice device,
3254                                       const VkOpticalFlowSessionCreateInfoNV* pCreateInfo,
3255                                       const VkAllocationCallbacks* pAllocator,
3256                                       VkOpticalFlowSessionNV* pSession);
3257     void vkDestroyOpticalFlowSessionNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3258                                        android::base::BumpPool* pool, VkDevice device,
3259                                        VkOpticalFlowSessionNV session,
3260                                        const VkAllocationCallbacks* pAllocator);
3261     void vkBindOpticalFlowSessionImageNV(const uint8_t* snapshotTraceBegin,
3262                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
3263                                          VkResult input_result, VkDevice device,
3264                                          VkOpticalFlowSessionNV session,
3265                                          VkOpticalFlowSessionBindingPointNV bindingPoint,
3266                                          VkImageView view, VkImageLayout layout);
3267     void vkCmdOpticalFlowExecuteNV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3268                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3269                                    VkOpticalFlowSessionNV session,
3270                                    const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
3271 #endif
3272 #ifdef VK_EXT_legacy_dithering
3273 #endif
3274 #ifdef VK_EXT_pipeline_protected_access
3275 #endif
3276 #ifdef VK_EXT_shader_object
3277     void vkCreateShadersEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3278                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
3279                             uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos,
3280                             const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders);
3281     void vkDestroyShaderEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3282                             android::base::BumpPool* pool, VkDevice device, VkShaderEXT shader,
3283                             const VkAllocationCallbacks* pAllocator);
3284     void vkGetShaderBinaryDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3285                                   android::base::BumpPool* pool, VkResult input_result,
3286                                   VkDevice device, VkShaderEXT shader, size_t* pDataSize,
3287                                   void* pData);
3288     void vkCmdBindShadersEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3289                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3290                              uint32_t stageCount, const VkShaderStageFlagBits* pStages,
3291                              const VkShaderEXT* pShaders);
3292 #endif
3293 #ifdef VK_QCOM_tile_properties
3294     void vkGetFramebufferTilePropertiesQCOM(const uint8_t* snapshotTraceBegin,
3295                                             size_t snapshotTraceBytes,
3296                                             android::base::BumpPool* pool, VkResult input_result,
3297                                             VkDevice device, VkFramebuffer framebuffer,
3298                                             uint32_t* pPropertiesCount,
3299                                             VkTilePropertiesQCOM* pProperties);
3300     void vkGetDynamicRenderingTilePropertiesQCOM(const uint8_t* snapshotTraceBegin,
3301                                                  size_t snapshotTraceBytes,
3302                                                  android::base::BumpPool* pool,
3303                                                  VkResult input_result, VkDevice device,
3304                                                  const VkRenderingInfo* pRenderingInfo,
3305                                                  VkTilePropertiesQCOM* pProperties);
3306 #endif
3307 #ifdef VK_SEC_amigo_profiling
3308 #endif
3309 #ifdef VK_QCOM_multiview_per_view_viewports
3310 #endif
3311 #ifdef VK_NV_ray_tracing_invocation_reorder
3312 #endif
3313 #ifdef VK_EXT_mutable_descriptor_type
3314 #endif
3315 #ifdef VK_ARM_shader_core_builtins
3316 #endif
3317 #ifdef VK_EXT_pipeline_library_group_handles
3318 #endif
3319 #ifdef VK_QCOM_multiview_per_view_render_areas
3320 #endif
3321 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
3322     void vkCmdSetAttachmentFeedbackLoopEnableEXT(const uint8_t* snapshotTraceBegin,
3323                                                  size_t snapshotTraceBytes,
3324                                                  android::base::BumpPool* pool,
3325                                                  VkCommandBuffer commandBuffer,
3326                                                  VkImageAspectFlags aspectMask);
3327 #endif
3328 #ifdef VK_KHR_acceleration_structure
3329     void vkCreateAccelerationStructureKHR(const uint8_t* snapshotTraceBegin,
3330                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
3331                                           VkResult input_result, VkDevice device,
3332                                           const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
3333                                           const VkAllocationCallbacks* pAllocator,
3334                                           VkAccelerationStructureKHR* pAccelerationStructure);
3335     void vkDestroyAccelerationStructureKHR(const uint8_t* snapshotTraceBegin,
3336                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
3337                                            VkDevice device,
3338                                            VkAccelerationStructureKHR accelerationStructure,
3339                                            const VkAllocationCallbacks* pAllocator);
3340     void vkCmdBuildAccelerationStructuresKHR(
3341         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3342         VkCommandBuffer commandBuffer, uint32_t infoCount,
3343         const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
3344         const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
3345     void vkCmdBuildAccelerationStructuresIndirectKHR(
3346         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3347         VkCommandBuffer commandBuffer, uint32_t infoCount,
3348         const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
3349         const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides,
3350         const uint32_t* const* ppMaxPrimitiveCounts);
3351     void vkBuildAccelerationStructuresKHR(
3352         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3353         VkResult input_result, VkDevice device, VkDeferredOperationKHR deferredOperation,
3354         uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
3355         const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
3356     void vkCopyAccelerationStructureKHR(const uint8_t* snapshotTraceBegin,
3357                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3358                                         VkResult input_result, VkDevice device,
3359                                         VkDeferredOperationKHR deferredOperation,
3360                                         const VkCopyAccelerationStructureInfoKHR* pInfo);
3361     void vkCopyAccelerationStructureToMemoryKHR(
3362         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3363         VkResult input_result, VkDevice device, VkDeferredOperationKHR deferredOperation,
3364         const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
3365     void vkCopyMemoryToAccelerationStructureKHR(
3366         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3367         VkResult input_result, VkDevice device, VkDeferredOperationKHR deferredOperation,
3368         const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
3369     void vkWriteAccelerationStructuresPropertiesKHR(
3370         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3371         VkResult input_result, VkDevice device, uint32_t accelerationStructureCount,
3372         const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType,
3373         size_t dataSize, void* pData, size_t stride);
3374     void vkCmdCopyAccelerationStructureKHR(const uint8_t* snapshotTraceBegin,
3375                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
3376                                            VkCommandBuffer commandBuffer,
3377                                            const VkCopyAccelerationStructureInfoKHR* pInfo);
3378     void vkCmdCopyAccelerationStructureToMemoryKHR(
3379         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3380         VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
3381     void vkCmdCopyMemoryToAccelerationStructureKHR(
3382         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3383         VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
3384     void vkGetAccelerationStructureDeviceAddressKHR(
3385         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3386         VkDeviceAddress input_result, VkDevice device,
3387         const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
3388     void vkCmdWriteAccelerationStructuresPropertiesKHR(
3389         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3390         VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount,
3391         const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType,
3392         VkQueryPool queryPool, uint32_t firstQuery);
3393     void vkGetDeviceAccelerationStructureCompatibilityKHR(
3394         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3395         VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
3396         VkAccelerationStructureCompatibilityKHR* pCompatibility);
3397     void vkGetAccelerationStructureBuildSizesKHR(
3398         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3399         VkDevice device, VkAccelerationStructureBuildTypeKHR buildType,
3400         const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
3401         const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
3402 #endif
3403 #ifdef VK_KHR_ray_tracing_pipeline
3404     void vkCmdTraceRaysKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3405                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3406                            const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
3407                            const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
3408                            const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
3409                            const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
3410                            uint32_t width, uint32_t height, uint32_t depth);
3411     void vkCreateRayTracingPipelinesKHR(const uint8_t* snapshotTraceBegin,
3412                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
3413                                         VkResult input_result, VkDevice device,
3414                                         VkDeferredOperationKHR deferredOperation,
3415                                         VkPipelineCache pipelineCache, uint32_t createInfoCount,
3416                                         const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
3417                                         const VkAllocationCallbacks* pAllocator,
3418                                         VkPipeline* pPipelines);
3419     void vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3420         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3421         VkResult input_result, VkDevice device, VkPipeline pipeline, uint32_t firstGroup,
3422         uint32_t groupCount, size_t dataSize, void* pData);
3423     void vkCmdTraceRaysIndirectKHR(
3424         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3425         VkCommandBuffer commandBuffer,
3426         const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
3427         const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
3428         const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
3429         const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
3430         VkDeviceAddress indirectDeviceAddress);
3431     void vkGetRayTracingShaderGroupStackSizeKHR(const uint8_t* snapshotTraceBegin,
3432                                                 size_t snapshotTraceBytes,
3433                                                 android::base::BumpPool* pool,
3434                                                 VkDeviceSize input_result, VkDevice device,
3435                                                 VkPipeline pipeline, uint32_t group,
3436                                                 VkShaderGroupShaderKHR groupShader);
3437     void vkCmdSetRayTracingPipelineStackSizeKHR(const uint8_t* snapshotTraceBegin,
3438                                                 size_t snapshotTraceBytes,
3439                                                 android::base::BumpPool* pool,
3440                                                 VkCommandBuffer commandBuffer,
3441                                                 uint32_t pipelineStackSize);
3442 #endif
3443 #ifdef VK_KHR_ray_query
3444 #endif
3445 #ifdef VK_EXT_mesh_shader
3446     void vkCmdDrawMeshTasksEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3447                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3448                                uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
3449     void vkCmdDrawMeshTasksIndirectEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
3450                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
3451                                        VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
3452                                        uint32_t stride);
3453     void vkCmdDrawMeshTasksIndirectCountEXT(
3454         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
3455         VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
3456         VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
3457 #endif
3458 
3459    private:
3460     class Impl;
3461     std::unique_ptr<Impl> mImpl;
3462 };
3463