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 scripts/genvk.py -registry
19 // ../../../../../hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/xml/vk.xml
20 // -registryGfxstream xml/vk_gfxstream.xml cereal -o
21 // ../../../../../hardware/google/gfxstream/host/vulkan/cereal
22 //
23 // Please do not modify directly;
24 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
25 // or directly from Python by defining:
26 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
27 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
28 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
29 //
30 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
31 // $CEREAL_OUTPUT_DIR
32 //
33 #pragma once
34 #include <vulkan/vulkan.h>
35 
36 #include <memory>
37 
38 #include "aemu/base/HealthMonitor.h"
39 #include "goldfish_vk_private_defs.h"
40 #include "utils/GfxApiLogger.h"
41 #include "vk_android_native_buffer_gfxstream.h"
42 #include "vulkan_gfxstream.h"
43 
44 namespace android {
45 namespace base {
46 class BumpPool;
47 class Stream;
48 }  // namespace base
49 }  // namespace android
50 
51 class VkDecoderSnapshot {
52    public:
53     VkDecoderSnapshot();
54     ~VkDecoderSnapshot();
55 
56     void save(android::base::Stream* stream);
57     void load(android::base::Stream* stream, emugl::GfxApiLogger& gfx_logger,
58               emugl::HealthMonitor<>* healthMonitor);
59     void createExtraHandlesForNextApi(const uint64_t* created, uint32_t count);
60 #ifdef VK_VERSION_1_0
61     void vkCreateInstance(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
62                           android::base::BumpPool* pool, VkResult input_result,
63                           const VkInstanceCreateInfo* pCreateInfo,
64                           const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
65     void vkDestroyInstance(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
66                            android::base::BumpPool* pool, VkInstance instance,
67                            const VkAllocationCallbacks* pAllocator);
68     void vkEnumeratePhysicalDevices(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
69                                     android::base::BumpPool* pool, VkResult input_result,
70                                     VkInstance instance, uint32_t* pPhysicalDeviceCount,
71                                     VkPhysicalDevice* pPhysicalDevices);
72     void vkGetPhysicalDeviceFeatures(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
73                                      android::base::BumpPool* pool, VkPhysicalDevice physicalDevice,
74                                      VkPhysicalDeviceFeatures* pFeatures);
75     void vkGetPhysicalDeviceFormatProperties(const uint8_t* snapshotTraceBegin,
76                                              size_t snapshotTraceBytes,
77                                              android::base::BumpPool* pool,
78                                              VkPhysicalDevice physicalDevice, VkFormat format,
79                                              VkFormatProperties* pFormatProperties);
80     void vkGetPhysicalDeviceImageFormatProperties(
81         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
82         VkResult input_result, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
83         VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
84         VkImageFormatProperties* pImageFormatProperties);
85     void vkGetPhysicalDeviceProperties(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
86                                        android::base::BumpPool* pool,
87                                        VkPhysicalDevice physicalDevice,
88                                        VkPhysicalDeviceProperties* pProperties);
89     void vkGetPhysicalDeviceQueueFamilyProperties(const uint8_t* snapshotTraceBegin,
90                                                   size_t snapshotTraceBytes,
91                                                   android::base::BumpPool* pool,
92                                                   VkPhysicalDevice physicalDevice,
93                                                   uint32_t* pQueueFamilyPropertyCount,
94                                                   VkQueueFamilyProperties* pQueueFamilyProperties);
95     void vkGetPhysicalDeviceMemoryProperties(const uint8_t* snapshotTraceBegin,
96                                              size_t snapshotTraceBytes,
97                                              android::base::BumpPool* pool,
98                                              VkPhysicalDevice physicalDevice,
99                                              VkPhysicalDeviceMemoryProperties* pMemoryProperties);
100     void vkGetInstanceProcAddr(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
101                                android::base::BumpPool* pool, PFN_vkVoidFunction input_result,
102                                VkInstance instance, const char* pName);
103     void vkGetDeviceProcAddr(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
104                              android::base::BumpPool* pool, PFN_vkVoidFunction input_result,
105                              VkDevice device, const char* pName);
106     void vkCreateDevice(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
107                         android::base::BumpPool* pool, VkResult input_result,
108                         VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo,
109                         const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
110     void vkDestroyDevice(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
111                          android::base::BumpPool* pool, VkDevice device,
112                          const VkAllocationCallbacks* pAllocator);
113     void vkEnumerateInstanceExtensionProperties(const uint8_t* snapshotTraceBegin,
114                                                 size_t snapshotTraceBytes,
115                                                 android::base::BumpPool* pool,
116                                                 VkResult input_result, const char* pLayerName,
117                                                 uint32_t* pPropertyCount,
118                                                 VkExtensionProperties* pProperties);
119     void vkEnumerateDeviceExtensionProperties(const uint8_t* snapshotTraceBegin,
120                                               size_t snapshotTraceBytes,
121                                               android::base::BumpPool* pool, VkResult input_result,
122                                               VkPhysicalDevice physicalDevice,
123                                               const char* pLayerName, uint32_t* pPropertyCount,
124                                               VkExtensionProperties* pProperties);
125     void vkEnumerateInstanceLayerProperties(const uint8_t* snapshotTraceBegin,
126                                             size_t snapshotTraceBytes,
127                                             android::base::BumpPool* pool, VkResult input_result,
128                                             uint32_t* pPropertyCount,
129                                             VkLayerProperties* pProperties);
130     void vkEnumerateDeviceLayerProperties(const uint8_t* snapshotTraceBegin,
131                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
132                                           VkResult input_result, VkPhysicalDevice physicalDevice,
133                                           uint32_t* pPropertyCount, VkLayerProperties* pProperties);
134     void vkGetDeviceQueue(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
135                           android::base::BumpPool* pool, VkDevice device, uint32_t queueFamilyIndex,
136                           uint32_t queueIndex, VkQueue* pQueue);
137     void vkQueueSubmit(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
138                        android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
139                        uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
140     void vkQueueWaitIdle(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
141                          android::base::BumpPool* pool, VkResult input_result, VkQueue queue);
142     void vkDeviceWaitIdle(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
143                           android::base::BumpPool* pool, VkResult input_result, VkDevice device);
144     void vkAllocateMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
145                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
146                           const VkMemoryAllocateInfo* pAllocateInfo,
147                           const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
148     void vkFreeMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
149                       android::base::BumpPool* pool, VkDevice device, VkDeviceMemory memory,
150                       const VkAllocationCallbacks* pAllocator);
151     void vkMapMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
152                      android::base::BumpPool* pool, VkResult input_result, VkDevice device,
153                      VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size,
154                      VkMemoryMapFlags flags, void** ppData);
155     void vkUnmapMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
156                        android::base::BumpPool* pool, VkDevice device, VkDeviceMemory memory);
157     void vkFlushMappedMemoryRanges(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
158                                    android::base::BumpPool* pool, VkResult input_result,
159                                    VkDevice device, uint32_t memoryRangeCount,
160                                    const VkMappedMemoryRange* pMemoryRanges);
161     void vkInvalidateMappedMemoryRanges(const uint8_t* snapshotTraceBegin,
162                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
163                                         VkResult input_result, VkDevice device,
164                                         uint32_t memoryRangeCount,
165                                         const VkMappedMemoryRange* pMemoryRanges);
166     void vkGetDeviceMemoryCommitment(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
167                                      android::base::BumpPool* pool, VkDevice device,
168                                      VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
169     void vkBindBufferMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
170                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
171                             VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
172     void vkBindImageMemory(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
173                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
174                            VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
175     void vkGetBufferMemoryRequirements(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
176                                        android::base::BumpPool* pool, VkDevice device,
177                                        VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
178     void vkGetImageMemoryRequirements(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
179                                       android::base::BumpPool* pool, VkDevice device, VkImage image,
180                                       VkMemoryRequirements* pMemoryRequirements);
181     void vkGetImageSparseMemoryRequirements(
182         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
183         VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount,
184         VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
185     void vkGetPhysicalDeviceSparseImageFormatProperties(
186         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
187         VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
188         VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling,
189         uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
190     void vkQueueBindSparse(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
191                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
192                            uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo,
193                            VkFence fence);
194     void vkCreateFence(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
195                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
196                        const VkFenceCreateInfo* pCreateInfo,
197                        const VkAllocationCallbacks* pAllocator, VkFence* pFence);
198     void vkDestroyFence(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
199                         android::base::BumpPool* pool, VkDevice device, VkFence fence,
200                         const VkAllocationCallbacks* pAllocator);
201     void vkResetFences(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
202                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
203                        uint32_t fenceCount, const VkFence* pFences);
204     void vkGetFenceStatus(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
205                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
206                           VkFence fence);
207     void vkWaitForFences(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
208                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
209                          uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll,
210                          uint64_t timeout);
211     void vkCreateSemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
212                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
213                            const VkSemaphoreCreateInfo* pCreateInfo,
214                            const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
215     void vkDestroySemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
216                             android::base::BumpPool* pool, VkDevice device, VkSemaphore semaphore,
217                             const VkAllocationCallbacks* pAllocator);
218     void vkCreateEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
219                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
220                        const VkEventCreateInfo* pCreateInfo,
221                        const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
222     void vkDestroyEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
223                         android::base::BumpPool* pool, VkDevice device, VkEvent event,
224                         const VkAllocationCallbacks* pAllocator);
225     void vkGetEventStatus(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
226                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
227                           VkEvent event);
228     void vkSetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
229                     android::base::BumpPool* pool, VkResult input_result, VkDevice device,
230                     VkEvent event);
231     void vkResetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
232                       android::base::BumpPool* pool, VkResult input_result, VkDevice device,
233                       VkEvent event);
234     void vkCreateQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
235                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
236                            const VkQueryPoolCreateInfo* pCreateInfo,
237                            const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
238     void vkDestroyQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
239                             android::base::BumpPool* pool, VkDevice device, VkQueryPool queryPool,
240                             const VkAllocationCallbacks* pAllocator);
241     void vkGetQueryPoolResults(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
242                                android::base::BumpPool* pool, VkResult input_result,
243                                VkDevice device, VkQueryPool queryPool, uint32_t firstQuery,
244                                uint32_t queryCount, size_t dataSize, void* pData,
245                                VkDeviceSize stride, VkQueryResultFlags flags);
246     void vkCreateBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
247                         android::base::BumpPool* pool, VkResult input_result, VkDevice device,
248                         const VkBufferCreateInfo* pCreateInfo,
249                         const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
250     void vkDestroyBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
251                          android::base::BumpPool* pool, VkDevice device, VkBuffer buffer,
252                          const VkAllocationCallbacks* pAllocator);
253     void vkCreateBufferView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
254                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
255                             const VkBufferViewCreateInfo* pCreateInfo,
256                             const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
257     void vkDestroyBufferView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
258                              android::base::BumpPool* pool, VkDevice device,
259                              VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
260     void vkCreateImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
261                        android::base::BumpPool* pool, VkResult input_result, VkDevice device,
262                        const VkImageCreateInfo* pCreateInfo,
263                        const VkAllocationCallbacks* pAllocator, VkImage* pImage);
264     void vkDestroyImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
265                         android::base::BumpPool* pool, VkDevice device, VkImage image,
266                         const VkAllocationCallbacks* pAllocator);
267     void vkGetImageSubresourceLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
268                                      android::base::BumpPool* pool, VkDevice device, VkImage image,
269                                      const VkImageSubresource* pSubresource,
270                                      VkSubresourceLayout* pLayout);
271     void vkCreateImageView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
272                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
273                            const VkImageViewCreateInfo* pCreateInfo,
274                            const VkAllocationCallbacks* pAllocator, VkImageView* pView);
275     void vkDestroyImageView(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
276                             android::base::BumpPool* pool, VkDevice device, VkImageView imageView,
277                             const VkAllocationCallbacks* pAllocator);
278     void vkCreateShaderModule(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
279                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
280                               const VkShaderModuleCreateInfo* pCreateInfo,
281                               const VkAllocationCallbacks* pAllocator,
282                               VkShaderModule* pShaderModule);
283     void vkDestroyShaderModule(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
284                                android::base::BumpPool* pool, VkDevice device,
285                                VkShaderModule shaderModule,
286                                const VkAllocationCallbacks* pAllocator);
287     void vkCreatePipelineCache(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
288                                android::base::BumpPool* pool, VkResult input_result,
289                                VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo,
290                                const VkAllocationCallbacks* pAllocator,
291                                VkPipelineCache* pPipelineCache);
292     void vkDestroyPipelineCache(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
293                                 android::base::BumpPool* pool, VkDevice device,
294                                 VkPipelineCache pipelineCache,
295                                 const VkAllocationCallbacks* pAllocator);
296     void vkGetPipelineCacheData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
297                                 android::base::BumpPool* pool, VkResult input_result,
298                                 VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize,
299                                 void* pData);
300     void vkMergePipelineCaches(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
301                                android::base::BumpPool* pool, VkResult input_result,
302                                VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount,
303                                const VkPipelineCache* pSrcCaches);
304     void vkCreateGraphicsPipelines(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
305                                    android::base::BumpPool* pool, VkResult input_result,
306                                    VkDevice device, VkPipelineCache pipelineCache,
307                                    uint32_t createInfoCount,
308                                    const VkGraphicsPipelineCreateInfo* pCreateInfos,
309                                    const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
310     void vkCreateComputePipelines(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
311                                   android::base::BumpPool* pool, VkResult input_result,
312                                   VkDevice device, VkPipelineCache pipelineCache,
313                                   uint32_t createInfoCount,
314                                   const VkComputePipelineCreateInfo* pCreateInfos,
315                                   const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
316     void vkDestroyPipeline(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
317                            android::base::BumpPool* pool, VkDevice device, VkPipeline pipeline,
318                            const VkAllocationCallbacks* pAllocator);
319     void vkCreatePipelineLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
320                                 android::base::BumpPool* pool, VkResult input_result,
321                                 VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo,
322                                 const VkAllocationCallbacks* pAllocator,
323                                 VkPipelineLayout* pPipelineLayout);
324     void vkDestroyPipelineLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
325                                  android::base::BumpPool* pool, VkDevice device,
326                                  VkPipelineLayout pipelineLayout,
327                                  const VkAllocationCallbacks* pAllocator);
328     void vkCreateSampler(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
329                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
330                          const VkSamplerCreateInfo* pCreateInfo,
331                          const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
332     void vkDestroySampler(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
333                           android::base::BumpPool* pool, VkDevice device, VkSampler sampler,
334                           const VkAllocationCallbacks* pAllocator);
335     void vkCreateDescriptorSetLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
336                                      android::base::BumpPool* pool, VkResult input_result,
337                                      VkDevice device,
338                                      const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
339                                      const VkAllocationCallbacks* pAllocator,
340                                      VkDescriptorSetLayout* pSetLayout);
341     void vkDestroyDescriptorSetLayout(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
342                                       android::base::BumpPool* pool, VkDevice device,
343                                       VkDescriptorSetLayout descriptorSetLayout,
344                                       const VkAllocationCallbacks* pAllocator);
345     void vkCreateDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
346                                 android::base::BumpPool* pool, VkResult input_result,
347                                 VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo,
348                                 const VkAllocationCallbacks* pAllocator,
349                                 VkDescriptorPool* pDescriptorPool);
350     void vkDestroyDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
351                                  android::base::BumpPool* pool, VkDevice device,
352                                  VkDescriptorPool descriptorPool,
353                                  const VkAllocationCallbacks* pAllocator);
354     void vkResetDescriptorPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
355                                android::base::BumpPool* pool, VkResult input_result,
356                                VkDevice device, VkDescriptorPool descriptorPool,
357                                VkDescriptorPoolResetFlags flags);
358     void vkAllocateDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
359                                   android::base::BumpPool* pool, VkResult input_result,
360                                   VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo,
361                                   VkDescriptorSet* pDescriptorSets);
362     void vkFreeDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
363                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
364                               VkDescriptorPool descriptorPool, uint32_t descriptorSetCount,
365                               const VkDescriptorSet* pDescriptorSets);
366     void vkUpdateDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
367                                 android::base::BumpPool* pool, VkDevice device,
368                                 uint32_t descriptorWriteCount,
369                                 const VkWriteDescriptorSet* pDescriptorWrites,
370                                 uint32_t descriptorCopyCount,
371                                 const VkCopyDescriptorSet* pDescriptorCopies);
372     void vkCreateFramebuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
373                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
374                              const VkFramebufferCreateInfo* pCreateInfo,
375                              const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
376     void vkDestroyFramebuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
377                               android::base::BumpPool* pool, VkDevice device,
378                               VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
379     void vkCreateRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
380                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
381                             const VkRenderPassCreateInfo* pCreateInfo,
382                             const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
383     void vkDestroyRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
384                              android::base::BumpPool* pool, VkDevice device,
385                              VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
386     void vkGetRenderAreaGranularity(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
387                                     android::base::BumpPool* pool, VkDevice device,
388                                     VkRenderPass renderPass, VkExtent2D* pGranularity);
389     void vkCreateCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
390                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
391                              const VkCommandPoolCreateInfo* pCreateInfo,
392                              const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
393     void vkDestroyCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
394                               android::base::BumpPool* pool, VkDevice device,
395                               VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
396     void vkResetCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
397                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
398                             VkCommandPool commandPool, VkCommandPoolResetFlags flags);
399     void vkAllocateCommandBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
400                                   android::base::BumpPool* pool, VkResult input_result,
401                                   VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo,
402                                   VkCommandBuffer* pCommandBuffers);
403     void vkFreeCommandBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
404                               android::base::BumpPool* pool, VkDevice device,
405                               VkCommandPool commandPool, uint32_t commandBufferCount,
406                               const VkCommandBuffer* pCommandBuffers);
407     void vkBeginCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
408                               android::base::BumpPool* pool, VkResult input_result,
409                               VkCommandBuffer commandBuffer,
410                               const VkCommandBufferBeginInfo* pBeginInfo);
411     void vkEndCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
412                             android::base::BumpPool* pool, VkResult input_result,
413                             VkCommandBuffer commandBuffer);
414     void vkResetCommandBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
415                               android::base::BumpPool* pool, VkResult input_result,
416                               VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
417     void vkCmdBindPipeline(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
418                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
419                            VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
420     void vkCmdSetViewport(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
421                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
422                           uint32_t firstViewport, uint32_t viewportCount,
423                           const VkViewport* pViewports);
424     void vkCmdSetScissor(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
425                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
426                          uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
427     void vkCmdSetLineWidth(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
428                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
429                            float lineWidth);
430     void vkCmdSetDepthBias(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
431                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
432                            float depthBiasConstantFactor, float depthBiasClamp,
433                            float depthBiasSlopeFactor);
434     void vkCmdSetBlendConstants(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
435                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
436                                 const float blendConstants[4]);
437     void vkCmdSetDepthBounds(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
438                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
439                              float minDepthBounds, float maxDepthBounds);
440     void vkCmdSetStencilCompareMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
441                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
442                                     VkStencilFaceFlags faceMask, uint32_t compareMask);
443     void vkCmdSetStencilWriteMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
444                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
445                                   VkStencilFaceFlags faceMask, uint32_t writeMask);
446     void vkCmdSetStencilReference(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
447                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
448                                   VkStencilFaceFlags faceMask, uint32_t reference);
449     void vkCmdBindDescriptorSets(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
450                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
451                                  VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout,
452                                  uint32_t firstSet, uint32_t descriptorSetCount,
453                                  const VkDescriptorSet* pDescriptorSets,
454                                  uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
455     void vkCmdBindIndexBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
456                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
457                               VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
458     void vkCmdBindVertexBuffers(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
459                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
460                                 uint32_t firstBinding, uint32_t bindingCount,
461                                 const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
462     void vkCmdDraw(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
463                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
464                    uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex,
465                    uint32_t firstInstance);
466     void vkCmdDrawIndexed(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
467                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
468                           uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex,
469                           int32_t vertexOffset, uint32_t firstInstance);
470     void vkCmdDrawIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
471                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
472                            VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
473                            uint32_t stride);
474     void vkCmdDrawIndexedIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
475                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
476                                   VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount,
477                                   uint32_t stride);
478     void vkCmdDispatch(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
479                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
480                        uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
481     void vkCmdDispatchIndirect(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
482                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
483                                VkBuffer buffer, VkDeviceSize offset);
484     void vkCmdCopyBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
485                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
486                          VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount,
487                          const VkBufferCopy* pRegions);
488     void vkCmdCopyImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
489                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
490                         VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
491                         VkImageLayout dstImageLayout, uint32_t regionCount,
492                         const VkImageCopy* pRegions);
493     void vkCmdBlitImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
494                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
495                         VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
496                         VkImageLayout dstImageLayout, uint32_t regionCount,
497                         const VkImageBlit* pRegions, VkFilter filter);
498     void vkCmdCopyBufferToImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
499                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
500                                 VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout,
501                                 uint32_t regionCount, const VkBufferImageCopy* pRegions);
502     void vkCmdCopyImageToBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
503                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
504                                 VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer,
505                                 uint32_t regionCount, const VkBufferImageCopy* pRegions);
506     void vkCmdUpdateBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
507                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
508                            VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize,
509                            const void* pData);
510     void vkCmdFillBuffer(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
511                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
512                          VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size,
513                          uint32_t data);
514     void vkCmdClearColorImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
515                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
516                               VkImage image, VkImageLayout imageLayout,
517                               const VkClearColorValue* pColor, uint32_t rangeCount,
518                               const VkImageSubresourceRange* pRanges);
519     void vkCmdClearDepthStencilImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
520                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
521                                      VkImage image, VkImageLayout imageLayout,
522                                      const VkClearDepthStencilValue* pDepthStencil,
523                                      uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
524     void vkCmdClearAttachments(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
525                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
526                                uint32_t attachmentCount, const VkClearAttachment* pAttachments,
527                                uint32_t rectCount, const VkClearRect* pRects);
528     void vkCmdResolveImage(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
529                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
530                            VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage,
531                            VkImageLayout dstImageLayout, uint32_t regionCount,
532                            const VkImageResolve* pRegions);
533     void vkCmdSetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
534                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer, VkEvent event,
535                        VkPipelineStageFlags stageMask);
536     void vkCmdResetEvent(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
537                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
538                          VkEvent event, VkPipelineStageFlags stageMask);
539     void vkCmdWaitEvents(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
540                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
541                          uint32_t eventCount, const VkEvent* pEvents,
542                          VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
543                          uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers,
544                          uint32_t bufferMemoryBarrierCount,
545                          const VkBufferMemoryBarrier* pBufferMemoryBarriers,
546                          uint32_t imageMemoryBarrierCount,
547                          const VkImageMemoryBarrier* pImageMemoryBarriers);
548     void vkCmdPipelineBarrier(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
549                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
550                               VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
551                               VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount,
552                               const VkMemoryBarrier* pMemoryBarriers,
553                               uint32_t bufferMemoryBarrierCount,
554                               const VkBufferMemoryBarrier* pBufferMemoryBarriers,
555                               uint32_t imageMemoryBarrierCount,
556                               const VkImageMemoryBarrier* pImageMemoryBarriers);
557     void vkCmdBeginQuery(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
558                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
559                          VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
560     void vkCmdEndQuery(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
561                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
562                        VkQueryPool queryPool, uint32_t query);
563     void vkCmdResetQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
564                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
565                              VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
566     void vkCmdWriteTimestamp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
567                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
568                              VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool,
569                              uint32_t query);
570     void vkCmdCopyQueryPoolResults(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
571                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
572                                    VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount,
573                                    VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride,
574                                    VkQueryResultFlags flags);
575     void vkCmdPushConstants(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
576                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
577                             VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset,
578                             uint32_t size, const void* pValues);
579     void vkCmdBeginRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
580                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
581                               const VkRenderPassBeginInfo* pRenderPassBegin,
582                               VkSubpassContents contents);
583     void vkCmdNextSubpass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
584                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
585                           VkSubpassContents contents);
586     void vkCmdEndRenderPass(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
587                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
588     void vkCmdExecuteCommands(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
589                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
590                               uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
591 #endif
592 #ifdef VK_VERSION_1_1
593     void vkEnumerateInstanceVersion(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
594                                     android::base::BumpPool* pool, VkResult input_result,
595                                     uint32_t* pApiVersion);
596     void vkBindBufferMemory2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
597                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
598                              uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
599     void vkBindImageMemory2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
600                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
601                             uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
602     void vkGetDeviceGroupPeerMemoryFeatures(const uint8_t* snapshotTraceBegin,
603                                             size_t snapshotTraceBytes,
604                                             android::base::BumpPool* pool, VkDevice device,
605                                             uint32_t heapIndex, uint32_t localDeviceIndex,
606                                             uint32_t remoteDeviceIndex,
607                                             VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
608     void vkCmdSetDeviceMask(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
609                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
610                             uint32_t deviceMask);
611     void vkCmdDispatchBase(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
612                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
613                            uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ,
614                            uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
615     void vkEnumeratePhysicalDeviceGroups(
616         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
617         VkResult input_result, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount,
618         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
619     void vkGetImageMemoryRequirements2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
620                                        android::base::BumpPool* pool, VkDevice device,
621                                        const VkImageMemoryRequirementsInfo2* pInfo,
622                                        VkMemoryRequirements2* pMemoryRequirements);
623     void vkGetBufferMemoryRequirements2(const uint8_t* snapshotTraceBegin,
624                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
625                                         VkDevice device,
626                                         const VkBufferMemoryRequirementsInfo2* pInfo,
627                                         VkMemoryRequirements2* pMemoryRequirements);
628     void vkGetImageSparseMemoryRequirements2(
629         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
630         VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo,
631         uint32_t* pSparseMemoryRequirementCount,
632         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
633     void vkGetPhysicalDeviceFeatures2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
634                                       android::base::BumpPool* pool,
635                                       VkPhysicalDevice physicalDevice,
636                                       VkPhysicalDeviceFeatures2* pFeatures);
637     void vkGetPhysicalDeviceProperties2(const uint8_t* snapshotTraceBegin,
638                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
639                                         VkPhysicalDevice physicalDevice,
640                                         VkPhysicalDeviceProperties2* pProperties);
641     void vkGetPhysicalDeviceFormatProperties2(const uint8_t* snapshotTraceBegin,
642                                               size_t snapshotTraceBytes,
643                                               android::base::BumpPool* pool,
644                                               VkPhysicalDevice physicalDevice, VkFormat format,
645                                               VkFormatProperties2* pFormatProperties);
646     void vkGetPhysicalDeviceImageFormatProperties2(
647         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
648         VkResult input_result, VkPhysicalDevice physicalDevice,
649         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
650         VkImageFormatProperties2* pImageFormatProperties);
651     void vkGetPhysicalDeviceQueueFamilyProperties2(
652         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
653         VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount,
654         VkQueueFamilyProperties2* pQueueFamilyProperties);
655     void vkGetPhysicalDeviceMemoryProperties2(const uint8_t* snapshotTraceBegin,
656                                               size_t snapshotTraceBytes,
657                                               android::base::BumpPool* pool,
658                                               VkPhysicalDevice physicalDevice,
659                                               VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
660     void vkGetPhysicalDeviceSparseImageFormatProperties2(
661         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
662         VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
663         uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
664     void vkTrimCommandPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
665                            android::base::BumpPool* pool, VkDevice device,
666                            VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
667     void vkGetDeviceQueue2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
668                            android::base::BumpPool* pool, VkDevice device,
669                            const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
670     void vkCreateSamplerYcbcrConversion(const uint8_t* snapshotTraceBegin,
671                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
672                                         VkResult input_result, VkDevice device,
673                                         const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
674                                         const VkAllocationCallbacks* pAllocator,
675                                         VkSamplerYcbcrConversion* pYcbcrConversion);
676     void vkDestroySamplerYcbcrConversion(const uint8_t* snapshotTraceBegin,
677                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
678                                          VkDevice device, VkSamplerYcbcrConversion ycbcrConversion,
679                                          const VkAllocationCallbacks* pAllocator);
680     void vkCreateDescriptorUpdateTemplate(const uint8_t* snapshotTraceBegin,
681                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
682                                           VkResult input_result, VkDevice device,
683                                           const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
684                                           const VkAllocationCallbacks* pAllocator,
685                                           VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
686     void vkDestroyDescriptorUpdateTemplate(const uint8_t* snapshotTraceBegin,
687                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
688                                            VkDevice device,
689                                            VkDescriptorUpdateTemplate descriptorUpdateTemplate,
690                                            const VkAllocationCallbacks* pAllocator);
691     void vkUpdateDescriptorSetWithTemplate(const uint8_t* snapshotTraceBegin,
692                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
693                                            VkDevice device, VkDescriptorSet descriptorSet,
694                                            VkDescriptorUpdateTemplate descriptorUpdateTemplate,
695                                            const void* pData);
696     void vkGetPhysicalDeviceExternalBufferProperties(
697         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
698         VkPhysicalDevice physicalDevice,
699         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
700         VkExternalBufferProperties* pExternalBufferProperties);
701     void vkGetPhysicalDeviceExternalFenceProperties(
702         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
703         VkPhysicalDevice physicalDevice,
704         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
705         VkExternalFenceProperties* pExternalFenceProperties);
706     void vkGetPhysicalDeviceExternalSemaphoreProperties(
707         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
708         VkPhysicalDevice physicalDevice,
709         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
710         VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
711     void vkGetDescriptorSetLayoutSupport(const uint8_t* snapshotTraceBegin,
712                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
713                                          VkDevice device,
714                                          const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
715                                          VkDescriptorSetLayoutSupport* pSupport);
716 #endif
717 #ifdef VK_VERSION_1_2
718     void vkCmdDrawIndirectCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
719                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
720                                 VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
721                                 VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
722                                 uint32_t stride);
723     void vkCmdDrawIndexedIndirectCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
724                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
725                                        VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer,
726                                        VkDeviceSize countBufferOffset, uint32_t maxDrawCount,
727                                        uint32_t stride);
728     void vkCreateRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
729                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
730                              const VkRenderPassCreateInfo2* pCreateInfo,
731                              const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
732     void vkCmdBeginRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
733                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
734                                const VkRenderPassBeginInfo* pRenderPassBegin,
735                                const VkSubpassBeginInfo* pSubpassBeginInfo);
736     void vkCmdNextSubpass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
737                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
738                            const VkSubpassBeginInfo* pSubpassBeginInfo,
739                            const VkSubpassEndInfo* pSubpassEndInfo);
740     void vkCmdEndRenderPass2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
741                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
742                              const VkSubpassEndInfo* pSubpassEndInfo);
743     void vkResetQueryPool(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
744                           android::base::BumpPool* pool, VkDevice device, VkQueryPool queryPool,
745                           uint32_t firstQuery, uint32_t queryCount);
746     void vkGetSemaphoreCounterValue(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
747                                     android::base::BumpPool* pool, VkResult input_result,
748                                     VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
749     void vkWaitSemaphores(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
750                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
751                           const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
752     void vkSignalSemaphore(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
753                            android::base::BumpPool* pool, VkResult input_result, VkDevice device,
754                            const VkSemaphoreSignalInfo* pSignalInfo);
755     void vkGetBufferDeviceAddress(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
756                                   android::base::BumpPool* pool, VkDeviceAddress input_result,
757                                   VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
758     void vkGetBufferOpaqueCaptureAddress(const uint8_t* snapshotTraceBegin,
759                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
760                                          uint64_t input_result, VkDevice device,
761                                          const VkBufferDeviceAddressInfo* pInfo);
762     void vkGetDeviceMemoryOpaqueCaptureAddress(const uint8_t* snapshotTraceBegin,
763                                                size_t snapshotTraceBytes,
764                                                android::base::BumpPool* pool, uint64_t input_result,
765                                                VkDevice device,
766                                                const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
767 #endif
768 #ifdef VK_VERSION_1_3
769     void vkGetPhysicalDeviceToolProperties(const uint8_t* snapshotTraceBegin,
770                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
771                                            VkResult input_result, VkPhysicalDevice physicalDevice,
772                                            uint32_t* pToolCount,
773                                            VkPhysicalDeviceToolProperties* pToolProperties);
774     void vkCreatePrivateDataSlot(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
775                                  android::base::BumpPool* pool, VkResult input_result,
776                                  VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo,
777                                  const VkAllocationCallbacks* pAllocator,
778                                  VkPrivateDataSlot* pPrivateDataSlot);
779     void vkDestroyPrivateDataSlot(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
780                                   android::base::BumpPool* pool, VkDevice device,
781                                   VkPrivateDataSlot privateDataSlot,
782                                   const VkAllocationCallbacks* pAllocator);
783     void vkSetPrivateData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
784                           android::base::BumpPool* pool, VkResult input_result, VkDevice device,
785                           VkObjectType objectType, uint64_t objectHandle,
786                           VkPrivateDataSlot privateDataSlot, uint64_t data);
787     void vkGetPrivateData(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
788                           android::base::BumpPool* pool, VkDevice device, VkObjectType objectType,
789                           uint64_t objectHandle, VkPrivateDataSlot privateDataSlot,
790                           uint64_t* pData);
791     void vkCmdSetEvent2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
792                         android::base::BumpPool* pool, VkCommandBuffer commandBuffer, VkEvent event,
793                         const VkDependencyInfo* pDependencyInfo);
794     void vkCmdResetEvent2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
795                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
796                           VkEvent event, VkPipelineStageFlags2 stageMask);
797     void vkCmdWaitEvents2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
798                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
799                           uint32_t eventCount, const VkEvent* pEvents,
800                           const VkDependencyInfo* pDependencyInfos);
801     void vkCmdPipelineBarrier2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
802                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
803                                const VkDependencyInfo* pDependencyInfo);
804     void vkCmdWriteTimestamp2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
805                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
806                               VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
807     void vkQueueSubmit2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
808                         android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
809                         uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
810     void vkCmdCopyBuffer2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
811                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
812                           const VkCopyBufferInfo2* pCopyBufferInfo);
813     void vkCmdCopyImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
814                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
815                          const VkCopyImageInfo2* pCopyImageInfo);
816     void vkCmdCopyBufferToImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
817                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
818                                  const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
819     void vkCmdCopyImageToBuffer2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
820                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
821                                  const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
822     void vkCmdBlitImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
823                          android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
824                          const VkBlitImageInfo2* pBlitImageInfo);
825     void vkCmdResolveImage2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
826                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
827                             const VkResolveImageInfo2* pResolveImageInfo);
828     void vkCmdBeginRendering(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
829                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
830                              const VkRenderingInfo* pRenderingInfo);
831     void vkCmdEndRendering(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
832                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
833     void vkCmdSetCullMode(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
834                           android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
835                           VkCullModeFlags cullMode);
836     void vkCmdSetFrontFace(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
837                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
838                            VkFrontFace frontFace);
839     void vkCmdSetPrimitiveTopology(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
840                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
841                                    VkPrimitiveTopology primitiveTopology);
842     void vkCmdSetViewportWithCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
843                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
844                                    uint32_t viewportCount, const VkViewport* pViewports);
845     void vkCmdSetScissorWithCount(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
846                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
847                                   uint32_t scissorCount, const VkRect2D* pScissors);
848     void vkCmdBindVertexBuffers2(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
849                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
850                                  uint32_t firstBinding, uint32_t bindingCount,
851                                  const VkBuffer* pBuffers, const VkDeviceSize* pOffsets,
852                                  const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
853     void vkCmdSetDepthTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
854                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
855                                  VkBool32 depthTestEnable);
856     void vkCmdSetDepthWriteEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
857                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
858                                   VkBool32 depthWriteEnable);
859     void vkCmdSetDepthCompareOp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
860                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
861                                 VkCompareOp depthCompareOp);
862     void vkCmdSetDepthBoundsTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
863                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
864                                        VkBool32 depthBoundsTestEnable);
865     void vkCmdSetStencilTestEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
866                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
867                                    VkBool32 stencilTestEnable);
868     void vkCmdSetStencilOp(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
869                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
870                            VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp,
871                            VkStencilOp depthFailOp, VkCompareOp compareOp);
872     void vkCmdSetRasterizerDiscardEnable(const uint8_t* snapshotTraceBegin,
873                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
874                                          VkCommandBuffer commandBuffer,
875                                          VkBool32 rasterizerDiscardEnable);
876     void vkCmdSetDepthBiasEnable(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
877                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
878                                  VkBool32 depthBiasEnable);
879     void vkCmdSetPrimitiveRestartEnable(const uint8_t* snapshotTraceBegin,
880                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
881                                         VkCommandBuffer commandBuffer,
882                                         VkBool32 primitiveRestartEnable);
883     void vkGetDeviceBufferMemoryRequirements(const uint8_t* snapshotTraceBegin,
884                                              size_t snapshotTraceBytes,
885                                              android::base::BumpPool* pool, VkDevice device,
886                                              const VkDeviceBufferMemoryRequirements* pInfo,
887                                              VkMemoryRequirements2* pMemoryRequirements);
888     void vkGetDeviceImageMemoryRequirements(const uint8_t* snapshotTraceBegin,
889                                             size_t snapshotTraceBytes,
890                                             android::base::BumpPool* pool, VkDevice device,
891                                             const VkDeviceImageMemoryRequirements* pInfo,
892                                             VkMemoryRequirements2* pMemoryRequirements);
893     void vkGetDeviceImageSparseMemoryRequirements(
894         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
895         VkDevice device, const VkDeviceImageMemoryRequirements* pInfo,
896         uint32_t* pSparseMemoryRequirementCount,
897         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
898 #endif
899 #ifdef VK_KHR_swapchain
900     void vkCreateSwapchainKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
901                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
902                               const VkSwapchainCreateInfoKHR* pCreateInfo,
903                               const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
904     void vkDestroySwapchainKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
905                                android::base::BumpPool* pool, VkDevice device,
906                                VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
907     void vkGetSwapchainImagesKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
908                                  android::base::BumpPool* pool, VkResult input_result,
909                                  VkDevice device, VkSwapchainKHR swapchain,
910                                  uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
911     void vkAcquireNextImageKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
912                                android::base::BumpPool* pool, VkResult input_result,
913                                VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout,
914                                VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
915     void vkQueuePresentKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
916                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
917                            const VkPresentInfoKHR* pPresentInfo);
918     void vkGetDeviceGroupPresentCapabilitiesKHR(
919         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
920         VkResult input_result, VkDevice device,
921         VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
922     void vkGetDeviceGroupSurfacePresentModesKHR(const uint8_t* snapshotTraceBegin,
923                                                 size_t snapshotTraceBytes,
924                                                 android::base::BumpPool* pool,
925                                                 VkResult input_result, VkDevice device,
926                                                 VkSurfaceKHR surface,
927                                                 VkDeviceGroupPresentModeFlagsKHR* pModes);
928     void vkGetPhysicalDevicePresentRectanglesKHR(
929         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
930         VkResult input_result, VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
931         uint32_t* pRectCount, VkRect2D* pRects);
932     void vkAcquireNextImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
933                                 android::base::BumpPool* pool, VkResult input_result,
934                                 VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo,
935                                 uint32_t* pImageIndex);
936 #endif
937 #ifdef VK_KHR_dynamic_rendering
938     void vkCmdBeginRenderingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
939                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
940                                 const VkRenderingInfo* pRenderingInfo);
941     void vkCmdEndRenderingKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
942                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
943 #endif
944 #ifdef VK_KHR_get_physical_device_properties2
945     void vkGetPhysicalDeviceFeatures2KHR(const uint8_t* snapshotTraceBegin,
946                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
947                                          VkPhysicalDevice physicalDevice,
948                                          VkPhysicalDeviceFeatures2* pFeatures);
949     void vkGetPhysicalDeviceProperties2KHR(const uint8_t* snapshotTraceBegin,
950                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
951                                            VkPhysicalDevice physicalDevice,
952                                            VkPhysicalDeviceProperties2* pProperties);
953     void vkGetPhysicalDeviceFormatProperties2KHR(const uint8_t* snapshotTraceBegin,
954                                                  size_t snapshotTraceBytes,
955                                                  android::base::BumpPool* pool,
956                                                  VkPhysicalDevice physicalDevice, VkFormat format,
957                                                  VkFormatProperties2* pFormatProperties);
958     void vkGetPhysicalDeviceImageFormatProperties2KHR(
959         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
960         VkResult input_result, VkPhysicalDevice physicalDevice,
961         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
962         VkImageFormatProperties2* pImageFormatProperties);
963     void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
964         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
965         VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount,
966         VkQueueFamilyProperties2* pQueueFamilyProperties);
967     void vkGetPhysicalDeviceMemoryProperties2KHR(
968         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
969         VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
970     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
971         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
972         VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
973         uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
974 #endif
975 #ifdef VK_KHR_maintenance1
976     void vkTrimCommandPoolKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
977                               android::base::BumpPool* pool, VkDevice device,
978                               VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
979 #endif
980 #ifdef VK_KHR_external_memory_capabilities
981     void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
982         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
983         VkPhysicalDevice physicalDevice,
984         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
985         VkExternalBufferProperties* pExternalBufferProperties);
986 #endif
987 #ifdef VK_KHR_external_semaphore_capabilities
988     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
989         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
990         VkPhysicalDevice physicalDevice,
991         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
992         VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
993 #endif
994 #ifdef VK_KHR_external_semaphore_fd
995     void vkImportSemaphoreFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
996                                 android::base::BumpPool* pool, VkResult input_result,
997                                 VkDevice device,
998                                 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
999     void vkGetSemaphoreFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1000                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1001                              const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
1002 #endif
1003 #ifdef VK_KHR_descriptor_update_template
1004     void vkCreateDescriptorUpdateTemplateKHR(
1005         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1006         VkResult input_result, VkDevice device,
1007         const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1008         const VkAllocationCallbacks* pAllocator,
1009         VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
1010     void vkDestroyDescriptorUpdateTemplateKHR(const uint8_t* snapshotTraceBegin,
1011                                               size_t snapshotTraceBytes,
1012                                               android::base::BumpPool* pool, VkDevice device,
1013                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1014                                               const VkAllocationCallbacks* pAllocator);
1015     void vkUpdateDescriptorSetWithTemplateKHR(const uint8_t* snapshotTraceBegin,
1016                                               size_t snapshotTraceBytes,
1017                                               android::base::BumpPool* pool, VkDevice device,
1018                                               VkDescriptorSet descriptorSet,
1019                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1020                                               const void* pData);
1021 #endif
1022 #ifdef VK_KHR_create_renderpass2
1023     void vkCreateRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1024                                 android::base::BumpPool* pool, VkResult input_result,
1025                                 VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo,
1026                                 const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
1027     void vkCmdBeginRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1028                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1029                                   const VkRenderPassBeginInfo* pRenderPassBegin,
1030                                   const VkSubpassBeginInfo* pSubpassBeginInfo);
1031     void vkCmdNextSubpass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1032                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1033                               const VkSubpassBeginInfo* pSubpassBeginInfo,
1034                               const VkSubpassEndInfo* pSubpassEndInfo);
1035     void vkCmdEndRenderPass2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1036                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1037                                 const VkSubpassEndInfo* pSubpassEndInfo);
1038 #endif
1039 #ifdef VK_KHR_external_fence_capabilities
1040     void vkGetPhysicalDeviceExternalFencePropertiesKHR(
1041         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1042         VkPhysicalDevice physicalDevice,
1043         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1044         VkExternalFenceProperties* pExternalFenceProperties);
1045 #endif
1046 #ifdef VK_KHR_external_fence_fd
1047     void vkImportFenceFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1048                             android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1049                             const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
1050     void vkGetFenceFdKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1051                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1052                          const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
1053 #endif
1054 #ifdef VK_KHR_get_memory_requirements2
1055     void vkGetImageMemoryRequirements2KHR(const uint8_t* snapshotTraceBegin,
1056                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1057                                           VkDevice device,
1058                                           const VkImageMemoryRequirementsInfo2* pInfo,
1059                                           VkMemoryRequirements2* pMemoryRequirements);
1060     void vkGetBufferMemoryRequirements2KHR(const uint8_t* snapshotTraceBegin,
1061                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1062                                            VkDevice device,
1063                                            const VkBufferMemoryRequirementsInfo2* pInfo,
1064                                            VkMemoryRequirements2* pMemoryRequirements);
1065     void vkGetImageSparseMemoryRequirements2KHR(
1066         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1067         VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo,
1068         uint32_t* pSparseMemoryRequirementCount,
1069         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1070 #endif
1071 #ifdef VK_KHR_sampler_ycbcr_conversion
1072     void vkCreateSamplerYcbcrConversionKHR(const uint8_t* snapshotTraceBegin,
1073                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1074                                            VkResult input_result, VkDevice device,
1075                                            const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1076                                            const VkAllocationCallbacks* pAllocator,
1077                                            VkSamplerYcbcrConversion* pYcbcrConversion);
1078     void vkDestroySamplerYcbcrConversionKHR(const uint8_t* snapshotTraceBegin,
1079                                             size_t snapshotTraceBytes,
1080                                             android::base::BumpPool* pool, VkDevice device,
1081                                             VkSamplerYcbcrConversion ycbcrConversion,
1082                                             const VkAllocationCallbacks* pAllocator);
1083 #endif
1084 #ifdef VK_KHR_bind_memory2
1085     void vkBindBufferMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1086                                 android::base::BumpPool* pool, VkResult input_result,
1087                                 VkDevice device, uint32_t bindInfoCount,
1088                                 const VkBindBufferMemoryInfo* pBindInfos);
1089     void vkBindImageMemory2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1090                                android::base::BumpPool* pool, VkResult input_result,
1091                                VkDevice device, uint32_t bindInfoCount,
1092                                const VkBindImageMemoryInfo* pBindInfos);
1093 #endif
1094 #ifdef VK_KHR_maintenance3
1095     void vkGetDescriptorSetLayoutSupportKHR(const uint8_t* snapshotTraceBegin,
1096                                             size_t snapshotTraceBytes,
1097                                             android::base::BumpPool* pool, VkDevice device,
1098                                             const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1099                                             VkDescriptorSetLayoutSupport* pSupport);
1100 #endif
1101 #ifdef VK_KHR_buffer_device_address
1102     void vkGetBufferDeviceAddressKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1103                                      android::base::BumpPool* pool, VkDeviceAddress input_result,
1104                                      VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
1105     void vkGetBufferOpaqueCaptureAddressKHR(const uint8_t* snapshotTraceBegin,
1106                                             size_t snapshotTraceBytes,
1107                                             android::base::BumpPool* pool, uint64_t input_result,
1108                                             VkDevice device,
1109                                             const VkBufferDeviceAddressInfo* pInfo);
1110     void vkGetDeviceMemoryOpaqueCaptureAddressKHR(
1111         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1112         uint64_t input_result, VkDevice device,
1113         const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
1114 #endif
1115 #ifdef VK_KHR_pipeline_executable_properties
1116     void vkGetPipelineExecutablePropertiesKHR(
1117         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1118         VkResult input_result, VkDevice device, const VkPipelineInfoKHR* pPipelineInfo,
1119         uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
1120     void vkGetPipelineExecutableStatisticsKHR(
1121         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1122         VkResult input_result, VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
1123         uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
1124     void vkGetPipelineExecutableInternalRepresentationsKHR(
1125         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1126         VkResult input_result, VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo,
1127         uint32_t* pInternalRepresentationCount,
1128         VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
1129 #endif
1130 #ifdef VK_KHR_synchronization2
1131     void vkCmdSetEvent2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1132                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1133                            VkEvent event, const VkDependencyInfo* pDependencyInfo);
1134     void vkCmdResetEvent2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1135                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1136                              VkEvent event, VkPipelineStageFlags2 stageMask);
1137     void vkCmdWaitEvents2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1138                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1139                              uint32_t eventCount, const VkEvent* pEvents,
1140                              const VkDependencyInfo* pDependencyInfos);
1141     void vkCmdPipelineBarrier2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1142                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1143                                   const VkDependencyInfo* pDependencyInfo);
1144     void vkCmdWriteTimestamp2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1145                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1146                                  VkPipelineStageFlags2 stage, VkQueryPool queryPool,
1147                                  uint32_t query);
1148     void vkQueueSubmit2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1149                            android::base::BumpPool* pool, VkResult input_result, VkQueue queue,
1150                            uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
1151     void vkCmdWriteBufferMarker2AMD(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1152                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1153                                     VkPipelineStageFlags2 stage, VkBuffer dstBuffer,
1154                                     VkDeviceSize dstOffset, uint32_t marker);
1155     void vkGetQueueCheckpointData2NV(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1156                                      android::base::BumpPool* pool, VkQueue queue,
1157                                      uint32_t* pCheckpointDataCount,
1158                                      VkCheckpointData2NV* pCheckpointData);
1159 #endif
1160 #ifdef VK_KHR_copy_commands2
1161     void vkCmdCopyBuffer2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1162                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1163                              const VkCopyBufferInfo2* pCopyBufferInfo);
1164     void vkCmdCopyImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1165                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1166                             const VkCopyImageInfo2* pCopyImageInfo);
1167     void vkCmdCopyBufferToImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1168                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1169                                     const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
1170     void vkCmdCopyImageToBuffer2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1171                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1172                                     const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
1173     void vkCmdBlitImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1174                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1175                             const VkBlitImageInfo2* pBlitImageInfo);
1176     void vkCmdResolveImage2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1177                                android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1178                                const VkResolveImageInfo2* pResolveImageInfo);
1179 #endif
1180 #ifdef VK_KHR_maintenance4
1181     void vkGetDeviceBufferMemoryRequirementsKHR(const uint8_t* snapshotTraceBegin,
1182                                                 size_t snapshotTraceBytes,
1183                                                 android::base::BumpPool* pool, VkDevice device,
1184                                                 const VkDeviceBufferMemoryRequirements* pInfo,
1185                                                 VkMemoryRequirements2* pMemoryRequirements);
1186     void vkGetDeviceImageMemoryRequirementsKHR(const uint8_t* snapshotTraceBegin,
1187                                                size_t snapshotTraceBytes,
1188                                                android::base::BumpPool* pool, VkDevice device,
1189                                                const VkDeviceImageMemoryRequirements* pInfo,
1190                                                VkMemoryRequirements2* pMemoryRequirements);
1191     void vkGetDeviceImageSparseMemoryRequirementsKHR(
1192         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1193         VkDevice device, const VkDeviceImageMemoryRequirements* pInfo,
1194         uint32_t* pSparseMemoryRequirementCount,
1195         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
1196 #endif
1197 #ifdef VK_KHR_maintenance5
1198     void vkCmdBindIndexBuffer2KHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1199                                   android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1200                                   VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size,
1201                                   VkIndexType indexType);
1202     void vkGetRenderingAreaGranularityKHR(const uint8_t* snapshotTraceBegin,
1203                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1204                                           VkDevice device,
1205                                           const VkRenderingAreaInfoKHR* pRenderingAreaInfo,
1206                                           VkExtent2D* pGranularity);
1207     void vkGetDeviceImageSubresourceLayoutKHR(const uint8_t* snapshotTraceBegin,
1208                                               size_t snapshotTraceBytes,
1209                                               android::base::BumpPool* pool, VkDevice device,
1210                                               const VkDeviceImageSubresourceInfoKHR* pInfo,
1211                                               VkSubresourceLayout2KHR* pLayout);
1212     void vkGetImageSubresourceLayout2KHR(const uint8_t* snapshotTraceBegin,
1213                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1214                                          VkDevice device, VkImage image,
1215                                          const VkImageSubresource2KHR* pSubresource,
1216                                          VkSubresourceLayout2KHR* pLayout);
1217 #endif
1218 #ifdef VK_KHR_line_rasterization
1219     void vkCmdSetLineStippleKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1220                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1221                                 uint32_t lineStippleFactor, uint16_t lineStipplePattern);
1222 #endif
1223 #ifdef VK_ANDROID_native_buffer
1224     void vkGetSwapchainGrallocUsageANDROID(const uint8_t* snapshotTraceBegin,
1225                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1226                                            VkResult input_result, VkDevice device, VkFormat format,
1227                                            VkImageUsageFlags imageUsage, int* grallocUsage);
1228     void vkAcquireImageANDROID(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1229                                android::base::BumpPool* pool, VkResult input_result,
1230                                VkDevice device, VkImage image, int nativeFenceFd,
1231                                VkSemaphore semaphore, VkFence fence);
1232     void vkQueueSignalReleaseImageANDROID(const uint8_t* snapshotTraceBegin,
1233                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1234                                           VkResult input_result, VkQueue queue,
1235                                           uint32_t waitSemaphoreCount,
1236                                           const VkSemaphore* pWaitSemaphores, VkImage image,
1237                                           int* pNativeFenceFd);
1238     void vkGetSwapchainGrallocUsage2ANDROID(
1239         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1240         VkResult input_result, VkDevice device, VkFormat format, VkImageUsageFlags imageUsage,
1241         VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage,
1242         uint64_t* grallocProducerUsage);
1243 #endif
1244 #ifdef VK_EXT_debug_report
1245     void vkCreateDebugReportCallbackEXT(const uint8_t* snapshotTraceBegin,
1246                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1247                                         VkResult input_result, VkInstance instance,
1248                                         const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
1249                                         const VkAllocationCallbacks* pAllocator,
1250                                         VkDebugReportCallbackEXT* pCallback);
1251     void vkDestroyDebugReportCallbackEXT(const uint8_t* snapshotTraceBegin,
1252                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1253                                          VkInstance instance, VkDebugReportCallbackEXT callback,
1254                                          const VkAllocationCallbacks* pAllocator);
1255     void vkDebugReportMessageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1256                                  android::base::BumpPool* pool, VkInstance instance,
1257                                  VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType,
1258                                  uint64_t object, size_t location, int32_t messageCode,
1259                                  const char* pLayerPrefix, const char* pMessage);
1260 #endif
1261 #ifdef VK_EXT_transform_feedback
1262     void vkCmdBindTransformFeedbackBuffersEXT(
1263         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1264         VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount,
1265         const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
1266     void vkCmdBeginTransformFeedbackEXT(const uint8_t* snapshotTraceBegin,
1267                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1268                                         VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer,
1269                                         uint32_t counterBufferCount,
1270                                         const VkBuffer* pCounterBuffers,
1271                                         const VkDeviceSize* pCounterBufferOffsets);
1272     void vkCmdEndTransformFeedbackEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1273                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1274                                       uint32_t firstCounterBuffer, uint32_t counterBufferCount,
1275                                       const VkBuffer* pCounterBuffers,
1276                                       const VkDeviceSize* pCounterBufferOffsets);
1277     void vkCmdBeginQueryIndexedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1278                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1279                                    VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags,
1280                                    uint32_t index);
1281     void vkCmdEndQueryIndexedEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1282                                  android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1283                                  VkQueryPool queryPool, uint32_t query, uint32_t index);
1284     void vkCmdDrawIndirectByteCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1285                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1286                                        uint32_t instanceCount, uint32_t firstInstance,
1287                                        VkBuffer counterBuffer, VkDeviceSize counterBufferOffset,
1288                                        uint32_t counterOffset, uint32_t vertexStride);
1289 #endif
1290 #ifdef VK_EXT_debug_utils
1291     void vkSetDebugUtilsObjectNameEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1292                                       android::base::BumpPool* pool, VkResult input_result,
1293                                       VkDevice device,
1294                                       const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
1295     void vkSetDebugUtilsObjectTagEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1296                                      android::base::BumpPool* pool, VkResult input_result,
1297                                      VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
1298     void vkQueueBeginDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin,
1299                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1300                                         VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
1301     void vkQueueEndDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1302                                       android::base::BumpPool* pool, VkQueue queue);
1303     void vkQueueInsertDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin,
1304                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1305                                          VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
1306     void vkCmdBeginDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1307                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1308                                       const VkDebugUtilsLabelEXT* pLabelInfo);
1309     void vkCmdEndDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1310                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer);
1311     void vkCmdInsertDebugUtilsLabelEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1312                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1313                                        const VkDebugUtilsLabelEXT* pLabelInfo);
1314     void vkCreateDebugUtilsMessengerEXT(const uint8_t* snapshotTraceBegin,
1315                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1316                                         VkResult input_result, VkInstance instance,
1317                                         const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
1318                                         const VkAllocationCallbacks* pAllocator,
1319                                         VkDebugUtilsMessengerEXT* pMessenger);
1320     void vkDestroyDebugUtilsMessengerEXT(const uint8_t* snapshotTraceBegin,
1321                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1322                                          VkInstance instance, VkDebugUtilsMessengerEXT messenger,
1323                                          const VkAllocationCallbacks* pAllocator);
1324     void vkSubmitDebugUtilsMessageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1325                                       android::base::BumpPool* pool, VkInstance instance,
1326                                       VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
1327                                       VkDebugUtilsMessageTypeFlagsEXT messageTypes,
1328                                       const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
1329 #endif
1330 #ifdef VK_EXT_image_drm_format_modifier
1331     void vkGetImageDrmFormatModifierPropertiesEXT(
1332         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1333         VkResult input_result, VkDevice device, VkImage image,
1334         VkImageDrmFormatModifierPropertiesEXT* pProperties);
1335 #endif
1336 #ifdef VK_EXT_external_memory_host
1337     void vkGetMemoryHostPointerPropertiesEXT(
1338         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1339         VkResult input_result, VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType,
1340         const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
1341 #endif
1342 #ifdef VK_EXT_tooling_info
1343     void vkGetPhysicalDeviceToolPropertiesEXT(const uint8_t* snapshotTraceBegin,
1344                                               size_t snapshotTraceBytes,
1345                                               android::base::BumpPool* pool, VkResult input_result,
1346                                               VkPhysicalDevice physicalDevice, uint32_t* pToolCount,
1347                                               VkPhysicalDeviceToolProperties* pToolProperties);
1348 #endif
1349 #ifdef VK_EXT_line_rasterization
1350     void vkCmdSetLineStippleEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1351                                 android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1352                                 uint32_t lineStippleFactor, uint16_t lineStipplePattern);
1353 #endif
1354 #ifdef VK_EXT_extended_dynamic_state
1355     void vkCmdSetCullModeEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1356                              android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1357                              VkCullModeFlags cullMode);
1358     void vkCmdSetFrontFaceEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1359                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1360                               VkFrontFace frontFace);
1361     void vkCmdSetPrimitiveTopologyEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1362                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1363                                       VkPrimitiveTopology primitiveTopology);
1364     void vkCmdSetViewportWithCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1365                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1366                                       uint32_t viewportCount, const VkViewport* pViewports);
1367     void vkCmdSetScissorWithCountEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1368                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1369                                      uint32_t scissorCount, const VkRect2D* pScissors);
1370     void vkCmdBindVertexBuffers2EXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1371                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1372                                     uint32_t firstBinding, uint32_t bindingCount,
1373                                     const VkBuffer* pBuffers, const VkDeviceSize* pOffsets,
1374                                     const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
1375     void vkCmdSetDepthTestEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1376                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1377                                     VkBool32 depthTestEnable);
1378     void vkCmdSetDepthWriteEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1379                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1380                                      VkBool32 depthWriteEnable);
1381     void vkCmdSetDepthCompareOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1382                                    android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1383                                    VkCompareOp depthCompareOp);
1384     void vkCmdSetDepthBoundsTestEnableEXT(const uint8_t* snapshotTraceBegin,
1385                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1386                                           VkCommandBuffer commandBuffer,
1387                                           VkBool32 depthBoundsTestEnable);
1388     void vkCmdSetStencilTestEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1389                                       android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1390                                       VkBool32 stencilTestEnable);
1391     void vkCmdSetStencilOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1392                               android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1393                               VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp,
1394                               VkStencilOp depthFailOp, VkCompareOp compareOp);
1395 #endif
1396 #ifdef VK_EXT_host_image_copy
1397     void vkCopyMemoryToImageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1398                                 android::base::BumpPool* pool, VkResult input_result,
1399                                 VkDevice device,
1400                                 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
1401     void vkCopyImageToMemoryEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1402                                 android::base::BumpPool* pool, VkResult input_result,
1403                                 VkDevice device,
1404                                 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
1405     void vkCopyImageToImageEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1406                                android::base::BumpPool* pool, VkResult input_result,
1407                                VkDevice device,
1408                                const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
1409     void vkTransitionImageLayoutEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1410                                     android::base::BumpPool* pool, VkResult input_result,
1411                                     VkDevice device, uint32_t transitionCount,
1412                                     const VkHostImageLayoutTransitionInfoEXT* pTransitions);
1413     void vkGetImageSubresourceLayout2EXT(const uint8_t* snapshotTraceBegin,
1414                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1415                                          VkDevice device, VkImage image,
1416                                          const VkImageSubresource2KHR* pSubresource,
1417                                          VkSubresourceLayout2KHR* pLayout);
1418 #endif
1419 #ifdef VK_EXT_swapchain_maintenance1
1420     void vkReleaseSwapchainImagesEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1421                                      android::base::BumpPool* pool, VkResult input_result,
1422                                      VkDevice device,
1423                                      const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
1424 #endif
1425 #ifdef VK_EXT_private_data
1426     void vkCreatePrivateDataSlotEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1427                                     android::base::BumpPool* pool, VkResult input_result,
1428                                     VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo,
1429                                     const VkAllocationCallbacks* pAllocator,
1430                                     VkPrivateDataSlot* pPrivateDataSlot);
1431     void vkDestroyPrivateDataSlotEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1432                                      android::base::BumpPool* pool, VkDevice device,
1433                                      VkPrivateDataSlot privateDataSlot,
1434                                      const VkAllocationCallbacks* pAllocator);
1435     void vkSetPrivateDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1436                              android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1437                              VkObjectType objectType, uint64_t objectHandle,
1438                              VkPrivateDataSlot privateDataSlot, uint64_t data);
1439     void vkGetPrivateDataEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1440                              android::base::BumpPool* pool, VkDevice device,
1441                              VkObjectType objectType, uint64_t objectHandle,
1442                              VkPrivateDataSlot privateDataSlot, uint64_t* pData);
1443 #endif
1444 #ifdef VK_EXT_extended_dynamic_state2
1445     void vkCmdSetPatchControlPointsEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1446                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1447                                        uint32_t patchControlPoints);
1448     void vkCmdSetRasterizerDiscardEnableEXT(const uint8_t* snapshotTraceBegin,
1449                                             size_t snapshotTraceBytes,
1450                                             android::base::BumpPool* pool,
1451                                             VkCommandBuffer commandBuffer,
1452                                             VkBool32 rasterizerDiscardEnable);
1453     void vkCmdSetDepthBiasEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1454                                     android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1455                                     VkBool32 depthBiasEnable);
1456     void vkCmdSetLogicOpEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1457                             android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1458                             VkLogicOp logicOp);
1459     void vkCmdSetPrimitiveRestartEnableEXT(const uint8_t* snapshotTraceBegin,
1460                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1461                                            VkCommandBuffer commandBuffer,
1462                                            VkBool32 primitiveRestartEnable);
1463 #endif
1464 #ifdef VK_EXT_color_write_enable
1465     void vkCmdSetColorWriteEnableEXT(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1466                                      android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1467                                      uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
1468 #endif
1469 #ifdef VK_GOOGLE_gfxstream
1470     void vkMapMemoryIntoAddressSpaceGOOGLE(const uint8_t* snapshotTraceBegin,
1471                                            size_t snapshotTraceBytes, android::base::BumpPool* pool,
1472                                            VkResult input_result, VkDevice device,
1473                                            VkDeviceMemory memory, uint64_t* pAddress);
1474     void vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
1475         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1476         VkDevice device, VkDescriptorSet descriptorSet,
1477         VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount,
1478         uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices,
1479         const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices,
1480         const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos,
1481         const VkBufferView* pBufferViews);
1482     void vkBeginCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
1483                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1484                                          VkCommandBuffer commandBuffer,
1485                                          const VkCommandBufferBeginInfo* pBeginInfo);
1486     void vkEndCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1487                                        android::base::BumpPool* pool,
1488                                        VkCommandBuffer commandBuffer);
1489     void vkResetCommandBufferAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
1490                                          size_t snapshotTraceBytes, android::base::BumpPool* pool,
1491                                          VkCommandBuffer commandBuffer,
1492                                          VkCommandBufferResetFlags flags);
1493     void vkCommandBufferHostSyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1494                                        android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1495                                        uint32_t needHostSync, uint32_t sequenceNumber);
1496     void vkCreateImageWithRequirementsGOOGLE(const uint8_t* snapshotTraceBegin,
1497                                              size_t snapshotTraceBytes,
1498                                              android::base::BumpPool* pool, VkResult input_result,
1499                                              VkDevice device, const VkImageCreateInfo* pCreateInfo,
1500                                              const VkAllocationCallbacks* pAllocator,
1501                                              VkImage* pImage,
1502                                              VkMemoryRequirements* pMemoryRequirements);
1503     void vkCreateBufferWithRequirementsGOOGLE(
1504         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1505         VkResult input_result, VkDevice device, const VkBufferCreateInfo* pCreateInfo,
1506         const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer,
1507         VkMemoryRequirements* pMemoryRequirements);
1508     void vkGetMemoryHostAddressInfoGOOGLE(const uint8_t* snapshotTraceBegin,
1509                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1510                                           VkResult input_result, VkDevice device,
1511                                           VkDeviceMemory memory, uint64_t* pAddress,
1512                                           uint64_t* pSize, uint64_t* pHostmemId);
1513     void vkFreeMemorySyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1514                                 android::base::BumpPool* pool, VkResult input_result,
1515                                 VkDevice device, VkDeviceMemory memory,
1516                                 const VkAllocationCallbacks* pAllocator);
1517     void vkQueueHostSyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1518                                android::base::BumpPool* pool, VkQueue queue, uint32_t needHostSync,
1519                                uint32_t sequenceNumber);
1520     void vkQueueSubmitAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1521                                   android::base::BumpPool* pool, VkQueue queue,
1522                                   uint32_t submitCount, const VkSubmitInfo* pSubmits,
1523                                   VkFence fence);
1524     void vkQueueWaitIdleAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1525                                     android::base::BumpPool* pool, VkQueue queue);
1526     void vkQueueBindSparseAsyncGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1527                                       android::base::BumpPool* pool, VkQueue queue,
1528                                       uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo,
1529                                       VkFence fence);
1530     void vkGetLinearImageLayoutGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1531                                       android::base::BumpPool* pool, VkDevice device,
1532                                       VkFormat format, VkDeviceSize* pOffset,
1533                                       VkDeviceSize* pRowPitchAlignment);
1534     void vkGetLinearImageLayout2GOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1535                                        android::base::BumpPool* pool, VkDevice device,
1536                                        const VkImageCreateInfo* pCreateInfo, VkDeviceSize* pOffset,
1537                                        VkDeviceSize* pRowPitchAlignment);
1538     void vkQueueFlushCommandsGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1539                                     android::base::BumpPool* pool, VkQueue queue,
1540                                     VkCommandBuffer commandBuffer, VkDeviceSize dataSize,
1541                                     const void* pData);
1542     void vkQueueCommitDescriptorSetUpdatesGOOGLE(
1543         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1544         VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools,
1545         uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts,
1546         const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool,
1547         const uint32_t* pDescriptorSetPendingAllocation,
1548         const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount,
1549         const VkWriteDescriptorSet* pPendingDescriptorWrites);
1550     void vkCollectDescriptorPoolIdsGOOGLE(const uint8_t* snapshotTraceBegin,
1551                                           size_t snapshotTraceBytes, android::base::BumpPool* pool,
1552                                           VkDevice device, VkDescriptorPool descriptorPool,
1553                                           uint32_t* pPoolIdCount, uint64_t* pPoolIds);
1554     void vkQueueSignalReleaseImageANDROIDAsyncGOOGLE(const uint8_t* snapshotTraceBegin,
1555                                                      size_t snapshotTraceBytes,
1556                                                      android::base::BumpPool* pool, VkQueue queue,
1557                                                      uint32_t waitSemaphoreCount,
1558                                                      const VkSemaphore* pWaitSemaphores,
1559                                                      VkImage image);
1560     void vkQueueFlushCommandsFromAuxMemoryGOOGLE(const uint8_t* snapshotTraceBegin,
1561                                                  size_t snapshotTraceBytes,
1562                                                  android::base::BumpPool* pool, VkQueue queue,
1563                                                  VkCommandBuffer commandBuffer,
1564                                                  VkDeviceMemory deviceMemory,
1565                                                  VkDeviceSize dataOffset, VkDeviceSize dataSize);
1566     void vkGetBlobGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1567                          android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1568                          VkDeviceMemory memory);
1569     void vkUpdateDescriptorSetWithTemplateSized2GOOGLE(
1570         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1571         VkDevice device, VkDescriptorSet descriptorSet,
1572         VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount,
1573         uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount,
1574         const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices,
1575         const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos,
1576         const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews,
1577         const uint8_t* pInlineUniformBlockData);
1578     void vkQueueSubmitAsync2GOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1579                                    android::base::BumpPool* pool, VkQueue queue,
1580                                    uint32_t submitCount, const VkSubmitInfo2* pSubmits,
1581                                    VkFence fence);
1582     void vkGetSemaphoreGOOGLE(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1583                               android::base::BumpPool* pool, VkResult input_result, VkDevice device,
1584                               VkSemaphore semaphore, uint64_t syncId);
1585 #endif
1586 #ifdef VK_KHR_ray_tracing_pipeline
1587     void vkCmdTraceRaysKHR(const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes,
1588                            android::base::BumpPool* pool, VkCommandBuffer commandBuffer,
1589                            const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
1590                            const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
1591                            const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
1592                            const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
1593                            uint32_t width, uint32_t height, uint32_t depth);
1594     void vkCreateRayTracingPipelinesKHR(const uint8_t* snapshotTraceBegin,
1595                                         size_t snapshotTraceBytes, android::base::BumpPool* pool,
1596                                         VkResult input_result, VkDevice device,
1597                                         VkDeferredOperationKHR deferredOperation,
1598                                         VkPipelineCache pipelineCache, uint32_t createInfoCount,
1599                                         const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
1600                                         const VkAllocationCallbacks* pAllocator,
1601                                         VkPipeline* pPipelines);
1602     void vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
1603         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1604         VkResult input_result, VkDevice device, VkPipeline pipeline, uint32_t firstGroup,
1605         uint32_t groupCount, size_t dataSize, void* pData);
1606     void vkCmdTraceRaysIndirectKHR(
1607         const uint8_t* snapshotTraceBegin, size_t snapshotTraceBytes, android::base::BumpPool* pool,
1608         VkCommandBuffer commandBuffer,
1609         const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
1610         const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
1611         const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
1612         const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
1613         VkDeviceAddress indirectDeviceAddress);
1614     void vkGetRayTracingShaderGroupStackSizeKHR(const uint8_t* snapshotTraceBegin,
1615                                                 size_t snapshotTraceBytes,
1616                                                 android::base::BumpPool* pool,
1617                                                 VkDeviceSize input_result, VkDevice device,
1618                                                 VkPipeline pipeline, uint32_t group,
1619                                                 VkShaderGroupShaderKHR groupShader);
1620     void vkCmdSetRayTracingPipelineStackSizeKHR(const uint8_t* snapshotTraceBegin,
1621                                                 size_t snapshotTraceBytes,
1622                                                 android::base::BumpPool* pool,
1623                                                 VkCommandBuffer commandBuffer,
1624                                                 uint32_t pipelineStackSize);
1625 #endif
1626    private:
1627     class Impl;
1628     std::unique_ptr<Impl> mImpl;
1629 };
1630