1*b7893ccfSSadaf Ebrahimi // *** THIS FILE IS GENERATED - DO NOT EDIT *** 2*b7893ccfSSadaf Ebrahimi // See object_tracker_generator.py for modifications 3*b7893ccfSSadaf Ebrahimi 4*b7893ccfSSadaf Ebrahimi 5*b7893ccfSSadaf Ebrahimi /*************************************************************************** 6*b7893ccfSSadaf Ebrahimi * 7*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 The Khronos Group Inc. 8*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 Valve Corporation 9*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 LunarG, Inc. 10*b7893ccfSSadaf Ebrahimi * Copyright (c) 2015-2019 Google Inc. 11*b7893ccfSSadaf Ebrahimi * 12*b7893ccfSSadaf Ebrahimi * Licensed under the Apache License, Version 2.0 (the "License"); 13*b7893ccfSSadaf Ebrahimi * you may not use this file except in compliance with the License. 14*b7893ccfSSadaf Ebrahimi * You may obtain a copy of the License at 15*b7893ccfSSadaf Ebrahimi * 16*b7893ccfSSadaf Ebrahimi * http://www.apache.org/licenses/LICENSE-2.0 17*b7893ccfSSadaf Ebrahimi * 18*b7893ccfSSadaf Ebrahimi * Unless required by applicable law or agreed to in writing, software 19*b7893ccfSSadaf Ebrahimi * distributed under the License is distributed on an "AS IS" BASIS, 20*b7893ccfSSadaf Ebrahimi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21*b7893ccfSSadaf Ebrahimi * See the License for the specific language governing permissions and 22*b7893ccfSSadaf Ebrahimi * limitations under the License. 23*b7893ccfSSadaf Ebrahimi * 24*b7893ccfSSadaf Ebrahimi * Author: Mark Lobodzinski <[email protected]> 25*b7893ccfSSadaf Ebrahimi * Author: Dave Houlton <[email protected]> 26*b7893ccfSSadaf Ebrahimi * 27*b7893ccfSSadaf Ebrahimi ****************************************************************************/ 28*b7893ccfSSadaf Ebrahimi 29*b7893ccfSSadaf Ebrahimi 30*b7893ccfSSadaf Ebrahimi 31*b7893ccfSSadaf Ebrahimi 32*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateInstance( 33*b7893ccfSSadaf Ebrahimi const VkInstanceCreateInfo* pCreateInfo, 34*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 35*b7893ccfSSadaf Ebrahimi VkInstance* pInstance, 36*b7893ccfSSadaf Ebrahimi VkResult result); 37*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyInstance( 38*b7893ccfSSadaf Ebrahimi VkInstance instance, 39*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 40*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyInstance( 41*b7893ccfSSadaf Ebrahimi VkInstance instance, 42*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 43*b7893ccfSSadaf Ebrahimi bool PreCallValidateEnumeratePhysicalDevices( 44*b7893ccfSSadaf Ebrahimi VkInstance instance, 45*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceCount, 46*b7893ccfSSadaf Ebrahimi VkPhysicalDevice* pPhysicalDevices); 47*b7893ccfSSadaf Ebrahimi void PostCallRecordEnumeratePhysicalDevices( 48*b7893ccfSSadaf Ebrahimi VkInstance instance, 49*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceCount, 50*b7893ccfSSadaf Ebrahimi VkPhysicalDevice* pPhysicalDevices, 51*b7893ccfSSadaf Ebrahimi VkResult result); 52*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFeatures( 53*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 54*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures* pFeatures); 55*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFormatProperties( 56*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 57*b7893ccfSSadaf Ebrahimi VkFormat format, 58*b7893ccfSSadaf Ebrahimi VkFormatProperties* pFormatProperties); 59*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceImageFormatProperties( 60*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 61*b7893ccfSSadaf Ebrahimi VkFormat format, 62*b7893ccfSSadaf Ebrahimi VkImageType type, 63*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 64*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 65*b7893ccfSSadaf Ebrahimi VkImageCreateFlags flags, 66*b7893ccfSSadaf Ebrahimi VkImageFormatProperties* pImageFormatProperties); 67*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceProperties( 68*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 69*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties* pProperties); 70*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceQueueFamilyProperties( 71*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 72*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 73*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties* pQueueFamilyProperties); 74*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceMemoryProperties( 75*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 76*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties* pMemoryProperties); 77*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetInstanceProcAddr( 78*b7893ccfSSadaf Ebrahimi VkInstance instance, 79*b7893ccfSSadaf Ebrahimi const char* pName); 80*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceProcAddr( 81*b7893ccfSSadaf Ebrahimi VkDevice device, 82*b7893ccfSSadaf Ebrahimi const char* pName); 83*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDevice( 84*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 85*b7893ccfSSadaf Ebrahimi const VkDeviceCreateInfo* pCreateInfo, 86*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 87*b7893ccfSSadaf Ebrahimi VkDevice* pDevice); 88*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDevice( 89*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 90*b7893ccfSSadaf Ebrahimi const VkDeviceCreateInfo* pCreateInfo, 91*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 92*b7893ccfSSadaf Ebrahimi VkDevice* pDevice, 93*b7893ccfSSadaf Ebrahimi VkResult result); 94*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDevice( 95*b7893ccfSSadaf Ebrahimi VkDevice device, 96*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 97*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDevice( 98*b7893ccfSSadaf Ebrahimi VkDevice device, 99*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 100*b7893ccfSSadaf Ebrahimi bool PreCallValidateEnumerateDeviceExtensionProperties( 101*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 102*b7893ccfSSadaf Ebrahimi const char* pLayerName, 103*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 104*b7893ccfSSadaf Ebrahimi VkExtensionProperties* pProperties); 105*b7893ccfSSadaf Ebrahimi bool PreCallValidateEnumerateDeviceLayerProperties( 106*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 107*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 108*b7893ccfSSadaf Ebrahimi VkLayerProperties* pProperties); 109*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceQueue( 110*b7893ccfSSadaf Ebrahimi VkDevice device, 111*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 112*b7893ccfSSadaf Ebrahimi uint32_t queueIndex, 113*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 114*b7893ccfSSadaf Ebrahimi void PostCallRecordGetDeviceQueue( 115*b7893ccfSSadaf Ebrahimi VkDevice device, 116*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 117*b7893ccfSSadaf Ebrahimi uint32_t queueIndex, 118*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 119*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueSubmit( 120*b7893ccfSSadaf Ebrahimi VkQueue queue, 121*b7893ccfSSadaf Ebrahimi uint32_t submitCount, 122*b7893ccfSSadaf Ebrahimi const VkSubmitInfo* pSubmits, 123*b7893ccfSSadaf Ebrahimi VkFence fence); 124*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueWaitIdle( 125*b7893ccfSSadaf Ebrahimi VkQueue queue); 126*b7893ccfSSadaf Ebrahimi bool PreCallValidateDeviceWaitIdle( 127*b7893ccfSSadaf Ebrahimi VkDevice device); 128*b7893ccfSSadaf Ebrahimi bool PreCallValidateAllocateMemory( 129*b7893ccfSSadaf Ebrahimi VkDevice device, 130*b7893ccfSSadaf Ebrahimi const VkMemoryAllocateInfo* pAllocateInfo, 131*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 132*b7893ccfSSadaf Ebrahimi VkDeviceMemory* pMemory); 133*b7893ccfSSadaf Ebrahimi void PostCallRecordAllocateMemory( 134*b7893ccfSSadaf Ebrahimi VkDevice device, 135*b7893ccfSSadaf Ebrahimi const VkMemoryAllocateInfo* pAllocateInfo, 136*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 137*b7893ccfSSadaf Ebrahimi VkDeviceMemory* pMemory, 138*b7893ccfSSadaf Ebrahimi VkResult result); 139*b7893ccfSSadaf Ebrahimi bool PreCallValidateFreeMemory( 140*b7893ccfSSadaf Ebrahimi VkDevice device, 141*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 142*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 143*b7893ccfSSadaf Ebrahimi void PreCallRecordFreeMemory( 144*b7893ccfSSadaf Ebrahimi VkDevice device, 145*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 146*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 147*b7893ccfSSadaf Ebrahimi bool PreCallValidateMapMemory( 148*b7893ccfSSadaf Ebrahimi VkDevice device, 149*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 150*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 151*b7893ccfSSadaf Ebrahimi VkDeviceSize size, 152*b7893ccfSSadaf Ebrahimi VkMemoryMapFlags flags, 153*b7893ccfSSadaf Ebrahimi void** ppData); 154*b7893ccfSSadaf Ebrahimi bool PreCallValidateUnmapMemory( 155*b7893ccfSSadaf Ebrahimi VkDevice device, 156*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory); 157*b7893ccfSSadaf Ebrahimi bool PreCallValidateFlushMappedMemoryRanges( 158*b7893ccfSSadaf Ebrahimi VkDevice device, 159*b7893ccfSSadaf Ebrahimi uint32_t memoryRangeCount, 160*b7893ccfSSadaf Ebrahimi const VkMappedMemoryRange* pMemoryRanges); 161*b7893ccfSSadaf Ebrahimi bool PreCallValidateInvalidateMappedMemoryRanges( 162*b7893ccfSSadaf Ebrahimi VkDevice device, 163*b7893ccfSSadaf Ebrahimi uint32_t memoryRangeCount, 164*b7893ccfSSadaf Ebrahimi const VkMappedMemoryRange* pMemoryRanges); 165*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceMemoryCommitment( 166*b7893ccfSSadaf Ebrahimi VkDevice device, 167*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 168*b7893ccfSSadaf Ebrahimi VkDeviceSize* pCommittedMemoryInBytes); 169*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindBufferMemory( 170*b7893ccfSSadaf Ebrahimi VkDevice device, 171*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 172*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 173*b7893ccfSSadaf Ebrahimi VkDeviceSize memoryOffset); 174*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindImageMemory( 175*b7893ccfSSadaf Ebrahimi VkDevice device, 176*b7893ccfSSadaf Ebrahimi VkImage image, 177*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 178*b7893ccfSSadaf Ebrahimi VkDeviceSize memoryOffset); 179*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetBufferMemoryRequirements( 180*b7893ccfSSadaf Ebrahimi VkDevice device, 181*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 182*b7893ccfSSadaf Ebrahimi VkMemoryRequirements* pMemoryRequirements); 183*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageMemoryRequirements( 184*b7893ccfSSadaf Ebrahimi VkDevice device, 185*b7893ccfSSadaf Ebrahimi VkImage image, 186*b7893ccfSSadaf Ebrahimi VkMemoryRequirements* pMemoryRequirements); 187*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageSparseMemoryRequirements( 188*b7893ccfSSadaf Ebrahimi VkDevice device, 189*b7893ccfSSadaf Ebrahimi VkImage image, 190*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 191*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 192*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSparseImageFormatProperties( 193*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 194*b7893ccfSSadaf Ebrahimi VkFormat format, 195*b7893ccfSSadaf Ebrahimi VkImageType type, 196*b7893ccfSSadaf Ebrahimi VkSampleCountFlagBits samples, 197*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 198*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 199*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 200*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties* pProperties); 201*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueBindSparse( 202*b7893ccfSSadaf Ebrahimi VkQueue queue, 203*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 204*b7893ccfSSadaf Ebrahimi const VkBindSparseInfo* pBindInfo, 205*b7893ccfSSadaf Ebrahimi VkFence fence); 206*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateFence( 207*b7893ccfSSadaf Ebrahimi VkDevice device, 208*b7893ccfSSadaf Ebrahimi const VkFenceCreateInfo* pCreateInfo, 209*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 210*b7893ccfSSadaf Ebrahimi VkFence* pFence); 211*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateFence( 212*b7893ccfSSadaf Ebrahimi VkDevice device, 213*b7893ccfSSadaf Ebrahimi const VkFenceCreateInfo* pCreateInfo, 214*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 215*b7893ccfSSadaf Ebrahimi VkFence* pFence, 216*b7893ccfSSadaf Ebrahimi VkResult result); 217*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyFence( 218*b7893ccfSSadaf Ebrahimi VkDevice device, 219*b7893ccfSSadaf Ebrahimi VkFence fence, 220*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 221*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyFence( 222*b7893ccfSSadaf Ebrahimi VkDevice device, 223*b7893ccfSSadaf Ebrahimi VkFence fence, 224*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 225*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetFences( 226*b7893ccfSSadaf Ebrahimi VkDevice device, 227*b7893ccfSSadaf Ebrahimi uint32_t fenceCount, 228*b7893ccfSSadaf Ebrahimi const VkFence* pFences); 229*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetFenceStatus( 230*b7893ccfSSadaf Ebrahimi VkDevice device, 231*b7893ccfSSadaf Ebrahimi VkFence fence); 232*b7893ccfSSadaf Ebrahimi bool PreCallValidateWaitForFences( 233*b7893ccfSSadaf Ebrahimi VkDevice device, 234*b7893ccfSSadaf Ebrahimi uint32_t fenceCount, 235*b7893ccfSSadaf Ebrahimi const VkFence* pFences, 236*b7893ccfSSadaf Ebrahimi VkBool32 waitAll, 237*b7893ccfSSadaf Ebrahimi uint64_t timeout); 238*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSemaphore( 239*b7893ccfSSadaf Ebrahimi VkDevice device, 240*b7893ccfSSadaf Ebrahimi const VkSemaphoreCreateInfo* pCreateInfo, 241*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 242*b7893ccfSSadaf Ebrahimi VkSemaphore* pSemaphore); 243*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSemaphore( 244*b7893ccfSSadaf Ebrahimi VkDevice device, 245*b7893ccfSSadaf Ebrahimi const VkSemaphoreCreateInfo* pCreateInfo, 246*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 247*b7893ccfSSadaf Ebrahimi VkSemaphore* pSemaphore, 248*b7893ccfSSadaf Ebrahimi VkResult result); 249*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySemaphore( 250*b7893ccfSSadaf Ebrahimi VkDevice device, 251*b7893ccfSSadaf Ebrahimi VkSemaphore semaphore, 252*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 253*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySemaphore( 254*b7893ccfSSadaf Ebrahimi VkDevice device, 255*b7893ccfSSadaf Ebrahimi VkSemaphore semaphore, 256*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 257*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateEvent( 258*b7893ccfSSadaf Ebrahimi VkDevice device, 259*b7893ccfSSadaf Ebrahimi const VkEventCreateInfo* pCreateInfo, 260*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 261*b7893ccfSSadaf Ebrahimi VkEvent* pEvent); 262*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateEvent( 263*b7893ccfSSadaf Ebrahimi VkDevice device, 264*b7893ccfSSadaf Ebrahimi const VkEventCreateInfo* pCreateInfo, 265*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 266*b7893ccfSSadaf Ebrahimi VkEvent* pEvent, 267*b7893ccfSSadaf Ebrahimi VkResult result); 268*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyEvent( 269*b7893ccfSSadaf Ebrahimi VkDevice device, 270*b7893ccfSSadaf Ebrahimi VkEvent event, 271*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 272*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyEvent( 273*b7893ccfSSadaf Ebrahimi VkDevice device, 274*b7893ccfSSadaf Ebrahimi VkEvent event, 275*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 276*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetEventStatus( 277*b7893ccfSSadaf Ebrahimi VkDevice device, 278*b7893ccfSSadaf Ebrahimi VkEvent event); 279*b7893ccfSSadaf Ebrahimi bool PreCallValidateSetEvent( 280*b7893ccfSSadaf Ebrahimi VkDevice device, 281*b7893ccfSSadaf Ebrahimi VkEvent event); 282*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetEvent( 283*b7893ccfSSadaf Ebrahimi VkDevice device, 284*b7893ccfSSadaf Ebrahimi VkEvent event); 285*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateQueryPool( 286*b7893ccfSSadaf Ebrahimi VkDevice device, 287*b7893ccfSSadaf Ebrahimi const VkQueryPoolCreateInfo* pCreateInfo, 288*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 289*b7893ccfSSadaf Ebrahimi VkQueryPool* pQueryPool); 290*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateQueryPool( 291*b7893ccfSSadaf Ebrahimi VkDevice device, 292*b7893ccfSSadaf Ebrahimi const VkQueryPoolCreateInfo* pCreateInfo, 293*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 294*b7893ccfSSadaf Ebrahimi VkQueryPool* pQueryPool, 295*b7893ccfSSadaf Ebrahimi VkResult result); 296*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyQueryPool( 297*b7893ccfSSadaf Ebrahimi VkDevice device, 298*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 299*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 300*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyQueryPool( 301*b7893ccfSSadaf Ebrahimi VkDevice device, 302*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 303*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 304*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetQueryPoolResults( 305*b7893ccfSSadaf Ebrahimi VkDevice device, 306*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 307*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 308*b7893ccfSSadaf Ebrahimi uint32_t queryCount, 309*b7893ccfSSadaf Ebrahimi size_t dataSize, 310*b7893ccfSSadaf Ebrahimi void* pData, 311*b7893ccfSSadaf Ebrahimi VkDeviceSize stride, 312*b7893ccfSSadaf Ebrahimi VkQueryResultFlags flags); 313*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateBuffer( 314*b7893ccfSSadaf Ebrahimi VkDevice device, 315*b7893ccfSSadaf Ebrahimi const VkBufferCreateInfo* pCreateInfo, 316*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 317*b7893ccfSSadaf Ebrahimi VkBuffer* pBuffer); 318*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateBuffer( 319*b7893ccfSSadaf Ebrahimi VkDevice device, 320*b7893ccfSSadaf Ebrahimi const VkBufferCreateInfo* pCreateInfo, 321*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 322*b7893ccfSSadaf Ebrahimi VkBuffer* pBuffer, 323*b7893ccfSSadaf Ebrahimi VkResult result); 324*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyBuffer( 325*b7893ccfSSadaf Ebrahimi VkDevice device, 326*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 327*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 328*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyBuffer( 329*b7893ccfSSadaf Ebrahimi VkDevice device, 330*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 331*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 332*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateBufferView( 333*b7893ccfSSadaf Ebrahimi VkDevice device, 334*b7893ccfSSadaf Ebrahimi const VkBufferViewCreateInfo* pCreateInfo, 335*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 336*b7893ccfSSadaf Ebrahimi VkBufferView* pView); 337*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateBufferView( 338*b7893ccfSSadaf Ebrahimi VkDevice device, 339*b7893ccfSSadaf Ebrahimi const VkBufferViewCreateInfo* pCreateInfo, 340*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 341*b7893ccfSSadaf Ebrahimi VkBufferView* pView, 342*b7893ccfSSadaf Ebrahimi VkResult result); 343*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyBufferView( 344*b7893ccfSSadaf Ebrahimi VkDevice device, 345*b7893ccfSSadaf Ebrahimi VkBufferView bufferView, 346*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 347*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyBufferView( 348*b7893ccfSSadaf Ebrahimi VkDevice device, 349*b7893ccfSSadaf Ebrahimi VkBufferView bufferView, 350*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 351*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateImage( 352*b7893ccfSSadaf Ebrahimi VkDevice device, 353*b7893ccfSSadaf Ebrahimi const VkImageCreateInfo* pCreateInfo, 354*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 355*b7893ccfSSadaf Ebrahimi VkImage* pImage); 356*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateImage( 357*b7893ccfSSadaf Ebrahimi VkDevice device, 358*b7893ccfSSadaf Ebrahimi const VkImageCreateInfo* pCreateInfo, 359*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 360*b7893ccfSSadaf Ebrahimi VkImage* pImage, 361*b7893ccfSSadaf Ebrahimi VkResult result); 362*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyImage( 363*b7893ccfSSadaf Ebrahimi VkDevice device, 364*b7893ccfSSadaf Ebrahimi VkImage image, 365*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 366*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyImage( 367*b7893ccfSSadaf Ebrahimi VkDevice device, 368*b7893ccfSSadaf Ebrahimi VkImage image, 369*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 370*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageSubresourceLayout( 371*b7893ccfSSadaf Ebrahimi VkDevice device, 372*b7893ccfSSadaf Ebrahimi VkImage image, 373*b7893ccfSSadaf Ebrahimi const VkImageSubresource* pSubresource, 374*b7893ccfSSadaf Ebrahimi VkSubresourceLayout* pLayout); 375*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateImageView( 376*b7893ccfSSadaf Ebrahimi VkDevice device, 377*b7893ccfSSadaf Ebrahimi const VkImageViewCreateInfo* pCreateInfo, 378*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 379*b7893ccfSSadaf Ebrahimi VkImageView* pView); 380*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateImageView( 381*b7893ccfSSadaf Ebrahimi VkDevice device, 382*b7893ccfSSadaf Ebrahimi const VkImageViewCreateInfo* pCreateInfo, 383*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 384*b7893ccfSSadaf Ebrahimi VkImageView* pView, 385*b7893ccfSSadaf Ebrahimi VkResult result); 386*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyImageView( 387*b7893ccfSSadaf Ebrahimi VkDevice device, 388*b7893ccfSSadaf Ebrahimi VkImageView imageView, 389*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 390*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyImageView( 391*b7893ccfSSadaf Ebrahimi VkDevice device, 392*b7893ccfSSadaf Ebrahimi VkImageView imageView, 393*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 394*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateShaderModule( 395*b7893ccfSSadaf Ebrahimi VkDevice device, 396*b7893ccfSSadaf Ebrahimi const VkShaderModuleCreateInfo* pCreateInfo, 397*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 398*b7893ccfSSadaf Ebrahimi VkShaderModule* pShaderModule); 399*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateShaderModule( 400*b7893ccfSSadaf Ebrahimi VkDevice device, 401*b7893ccfSSadaf Ebrahimi const VkShaderModuleCreateInfo* pCreateInfo, 402*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 403*b7893ccfSSadaf Ebrahimi VkShaderModule* pShaderModule, 404*b7893ccfSSadaf Ebrahimi VkResult result); 405*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyShaderModule( 406*b7893ccfSSadaf Ebrahimi VkDevice device, 407*b7893ccfSSadaf Ebrahimi VkShaderModule shaderModule, 408*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 409*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyShaderModule( 410*b7893ccfSSadaf Ebrahimi VkDevice device, 411*b7893ccfSSadaf Ebrahimi VkShaderModule shaderModule, 412*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 413*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreatePipelineCache( 414*b7893ccfSSadaf Ebrahimi VkDevice device, 415*b7893ccfSSadaf Ebrahimi const VkPipelineCacheCreateInfo* pCreateInfo, 416*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 417*b7893ccfSSadaf Ebrahimi VkPipelineCache* pPipelineCache); 418*b7893ccfSSadaf Ebrahimi void PostCallRecordCreatePipelineCache( 419*b7893ccfSSadaf Ebrahimi VkDevice device, 420*b7893ccfSSadaf Ebrahimi const VkPipelineCacheCreateInfo* pCreateInfo, 421*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 422*b7893ccfSSadaf Ebrahimi VkPipelineCache* pPipelineCache, 423*b7893ccfSSadaf Ebrahimi VkResult result); 424*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyPipelineCache( 425*b7893ccfSSadaf Ebrahimi VkDevice device, 426*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 427*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 428*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyPipelineCache( 429*b7893ccfSSadaf Ebrahimi VkDevice device, 430*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 431*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 432*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPipelineCacheData( 433*b7893ccfSSadaf Ebrahimi VkDevice device, 434*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 435*b7893ccfSSadaf Ebrahimi size_t* pDataSize, 436*b7893ccfSSadaf Ebrahimi void* pData); 437*b7893ccfSSadaf Ebrahimi bool PreCallValidateMergePipelineCaches( 438*b7893ccfSSadaf Ebrahimi VkDevice device, 439*b7893ccfSSadaf Ebrahimi VkPipelineCache dstCache, 440*b7893ccfSSadaf Ebrahimi uint32_t srcCacheCount, 441*b7893ccfSSadaf Ebrahimi const VkPipelineCache* pSrcCaches); 442*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateGraphicsPipelines( 443*b7893ccfSSadaf Ebrahimi VkDevice device, 444*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 445*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 446*b7893ccfSSadaf Ebrahimi const VkGraphicsPipelineCreateInfo* pCreateInfos, 447*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 448*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 449*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateGraphicsPipelines( 450*b7893ccfSSadaf Ebrahimi VkDevice device, 451*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 452*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 453*b7893ccfSSadaf Ebrahimi const VkGraphicsPipelineCreateInfo* pCreateInfos, 454*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 455*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines, 456*b7893ccfSSadaf Ebrahimi VkResult result); 457*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateComputePipelines( 458*b7893ccfSSadaf Ebrahimi VkDevice device, 459*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 460*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 461*b7893ccfSSadaf Ebrahimi const VkComputePipelineCreateInfo* pCreateInfos, 462*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 463*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 464*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateComputePipelines( 465*b7893ccfSSadaf Ebrahimi VkDevice device, 466*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 467*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 468*b7893ccfSSadaf Ebrahimi const VkComputePipelineCreateInfo* pCreateInfos, 469*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 470*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines, 471*b7893ccfSSadaf Ebrahimi VkResult result); 472*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyPipeline( 473*b7893ccfSSadaf Ebrahimi VkDevice device, 474*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 475*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 476*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyPipeline( 477*b7893ccfSSadaf Ebrahimi VkDevice device, 478*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 479*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 480*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreatePipelineLayout( 481*b7893ccfSSadaf Ebrahimi VkDevice device, 482*b7893ccfSSadaf Ebrahimi const VkPipelineLayoutCreateInfo* pCreateInfo, 483*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 484*b7893ccfSSadaf Ebrahimi VkPipelineLayout* pPipelineLayout); 485*b7893ccfSSadaf Ebrahimi void PostCallRecordCreatePipelineLayout( 486*b7893ccfSSadaf Ebrahimi VkDevice device, 487*b7893ccfSSadaf Ebrahimi const VkPipelineLayoutCreateInfo* pCreateInfo, 488*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 489*b7893ccfSSadaf Ebrahimi VkPipelineLayout* pPipelineLayout, 490*b7893ccfSSadaf Ebrahimi VkResult result); 491*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyPipelineLayout( 492*b7893ccfSSadaf Ebrahimi VkDevice device, 493*b7893ccfSSadaf Ebrahimi VkPipelineLayout pipelineLayout, 494*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 495*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyPipelineLayout( 496*b7893ccfSSadaf Ebrahimi VkDevice device, 497*b7893ccfSSadaf Ebrahimi VkPipelineLayout pipelineLayout, 498*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 499*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSampler( 500*b7893ccfSSadaf Ebrahimi VkDevice device, 501*b7893ccfSSadaf Ebrahimi const VkSamplerCreateInfo* pCreateInfo, 502*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 503*b7893ccfSSadaf Ebrahimi VkSampler* pSampler); 504*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSampler( 505*b7893ccfSSadaf Ebrahimi VkDevice device, 506*b7893ccfSSadaf Ebrahimi const VkSamplerCreateInfo* pCreateInfo, 507*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 508*b7893ccfSSadaf Ebrahimi VkSampler* pSampler, 509*b7893ccfSSadaf Ebrahimi VkResult result); 510*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySampler( 511*b7893ccfSSadaf Ebrahimi VkDevice device, 512*b7893ccfSSadaf Ebrahimi VkSampler sampler, 513*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 514*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySampler( 515*b7893ccfSSadaf Ebrahimi VkDevice device, 516*b7893ccfSSadaf Ebrahimi VkSampler sampler, 517*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 518*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDescriptorSetLayout( 519*b7893ccfSSadaf Ebrahimi VkDevice device, 520*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 521*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 522*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout* pSetLayout); 523*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDescriptorSetLayout( 524*b7893ccfSSadaf Ebrahimi VkDevice device, 525*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 526*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 527*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout* pSetLayout, 528*b7893ccfSSadaf Ebrahimi VkResult result); 529*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDescriptorSetLayout( 530*b7893ccfSSadaf Ebrahimi VkDevice device, 531*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout descriptorSetLayout, 532*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 533*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDescriptorSetLayout( 534*b7893ccfSSadaf Ebrahimi VkDevice device, 535*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayout descriptorSetLayout, 536*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 537*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDescriptorPool( 538*b7893ccfSSadaf Ebrahimi VkDevice device, 539*b7893ccfSSadaf Ebrahimi const VkDescriptorPoolCreateInfo* pCreateInfo, 540*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 541*b7893ccfSSadaf Ebrahimi VkDescriptorPool* pDescriptorPool); 542*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDescriptorPool( 543*b7893ccfSSadaf Ebrahimi VkDevice device, 544*b7893ccfSSadaf Ebrahimi const VkDescriptorPoolCreateInfo* pCreateInfo, 545*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 546*b7893ccfSSadaf Ebrahimi VkDescriptorPool* pDescriptorPool, 547*b7893ccfSSadaf Ebrahimi VkResult result); 548*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDescriptorPool( 549*b7893ccfSSadaf Ebrahimi VkDevice device, 550*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 551*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 552*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDescriptorPool( 553*b7893ccfSSadaf Ebrahimi VkDevice device, 554*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 555*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 556*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetDescriptorPool( 557*b7893ccfSSadaf Ebrahimi VkDevice device, 558*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 559*b7893ccfSSadaf Ebrahimi VkDescriptorPoolResetFlags flags); 560*b7893ccfSSadaf Ebrahimi bool PreCallValidateAllocateDescriptorSets( 561*b7893ccfSSadaf Ebrahimi VkDevice device, 562*b7893ccfSSadaf Ebrahimi const VkDescriptorSetAllocateInfo* pAllocateInfo, 563*b7893ccfSSadaf Ebrahimi VkDescriptorSet* pDescriptorSets); 564*b7893ccfSSadaf Ebrahimi void PostCallRecordAllocateDescriptorSets( 565*b7893ccfSSadaf Ebrahimi VkDevice device, 566*b7893ccfSSadaf Ebrahimi const VkDescriptorSetAllocateInfo* pAllocateInfo, 567*b7893ccfSSadaf Ebrahimi VkDescriptorSet* pDescriptorSets, 568*b7893ccfSSadaf Ebrahimi VkResult result); 569*b7893ccfSSadaf Ebrahimi bool PreCallValidateFreeDescriptorSets( 570*b7893ccfSSadaf Ebrahimi VkDevice device, 571*b7893ccfSSadaf Ebrahimi VkDescriptorPool descriptorPool, 572*b7893ccfSSadaf Ebrahimi uint32_t descriptorSetCount, 573*b7893ccfSSadaf Ebrahimi const VkDescriptorSet* pDescriptorSets); 574*b7893ccfSSadaf Ebrahimi bool PreCallValidateUpdateDescriptorSets( 575*b7893ccfSSadaf Ebrahimi VkDevice device, 576*b7893ccfSSadaf Ebrahimi uint32_t descriptorWriteCount, 577*b7893ccfSSadaf Ebrahimi const VkWriteDescriptorSet* pDescriptorWrites, 578*b7893ccfSSadaf Ebrahimi uint32_t descriptorCopyCount, 579*b7893ccfSSadaf Ebrahimi const VkCopyDescriptorSet* pDescriptorCopies); 580*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateFramebuffer( 581*b7893ccfSSadaf Ebrahimi VkDevice device, 582*b7893ccfSSadaf Ebrahimi const VkFramebufferCreateInfo* pCreateInfo, 583*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 584*b7893ccfSSadaf Ebrahimi VkFramebuffer* pFramebuffer); 585*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateFramebuffer( 586*b7893ccfSSadaf Ebrahimi VkDevice device, 587*b7893ccfSSadaf Ebrahimi const VkFramebufferCreateInfo* pCreateInfo, 588*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 589*b7893ccfSSadaf Ebrahimi VkFramebuffer* pFramebuffer, 590*b7893ccfSSadaf Ebrahimi VkResult result); 591*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyFramebuffer( 592*b7893ccfSSadaf Ebrahimi VkDevice device, 593*b7893ccfSSadaf Ebrahimi VkFramebuffer framebuffer, 594*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 595*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyFramebuffer( 596*b7893ccfSSadaf Ebrahimi VkDevice device, 597*b7893ccfSSadaf Ebrahimi VkFramebuffer framebuffer, 598*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 599*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateRenderPass( 600*b7893ccfSSadaf Ebrahimi VkDevice device, 601*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo* pCreateInfo, 602*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 603*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass); 604*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateRenderPass( 605*b7893ccfSSadaf Ebrahimi VkDevice device, 606*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo* pCreateInfo, 607*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 608*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass, 609*b7893ccfSSadaf Ebrahimi VkResult result); 610*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyRenderPass( 611*b7893ccfSSadaf Ebrahimi VkDevice device, 612*b7893ccfSSadaf Ebrahimi VkRenderPass renderPass, 613*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 614*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyRenderPass( 615*b7893ccfSSadaf Ebrahimi VkDevice device, 616*b7893ccfSSadaf Ebrahimi VkRenderPass renderPass, 617*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 618*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetRenderAreaGranularity( 619*b7893ccfSSadaf Ebrahimi VkDevice device, 620*b7893ccfSSadaf Ebrahimi VkRenderPass renderPass, 621*b7893ccfSSadaf Ebrahimi VkExtent2D* pGranularity); 622*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateCommandPool( 623*b7893ccfSSadaf Ebrahimi VkDevice device, 624*b7893ccfSSadaf Ebrahimi const VkCommandPoolCreateInfo* pCreateInfo, 625*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 626*b7893ccfSSadaf Ebrahimi VkCommandPool* pCommandPool); 627*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateCommandPool( 628*b7893ccfSSadaf Ebrahimi VkDevice device, 629*b7893ccfSSadaf Ebrahimi const VkCommandPoolCreateInfo* pCreateInfo, 630*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 631*b7893ccfSSadaf Ebrahimi VkCommandPool* pCommandPool, 632*b7893ccfSSadaf Ebrahimi VkResult result); 633*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyCommandPool( 634*b7893ccfSSadaf Ebrahimi VkDevice device, 635*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 636*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 637*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyCommandPool( 638*b7893ccfSSadaf Ebrahimi VkDevice device, 639*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 640*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 641*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetCommandPool( 642*b7893ccfSSadaf Ebrahimi VkDevice device, 643*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 644*b7893ccfSSadaf Ebrahimi VkCommandPoolResetFlags flags); 645*b7893ccfSSadaf Ebrahimi bool PreCallValidateAllocateCommandBuffers( 646*b7893ccfSSadaf Ebrahimi VkDevice device, 647*b7893ccfSSadaf Ebrahimi const VkCommandBufferAllocateInfo* pAllocateInfo, 648*b7893ccfSSadaf Ebrahimi VkCommandBuffer* pCommandBuffers); 649*b7893ccfSSadaf Ebrahimi void PostCallRecordAllocateCommandBuffers( 650*b7893ccfSSadaf Ebrahimi VkDevice device, 651*b7893ccfSSadaf Ebrahimi const VkCommandBufferAllocateInfo* pAllocateInfo, 652*b7893ccfSSadaf Ebrahimi VkCommandBuffer* pCommandBuffers, 653*b7893ccfSSadaf Ebrahimi VkResult result); 654*b7893ccfSSadaf Ebrahimi bool PreCallValidateFreeCommandBuffers( 655*b7893ccfSSadaf Ebrahimi VkDevice device, 656*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 657*b7893ccfSSadaf Ebrahimi uint32_t commandBufferCount, 658*b7893ccfSSadaf Ebrahimi const VkCommandBuffer* pCommandBuffers); 659*b7893ccfSSadaf Ebrahimi bool PreCallValidateBeginCommandBuffer( 660*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 661*b7893ccfSSadaf Ebrahimi const VkCommandBufferBeginInfo* pBeginInfo); 662*b7893ccfSSadaf Ebrahimi bool PreCallValidateEndCommandBuffer( 663*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 664*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetCommandBuffer( 665*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 666*b7893ccfSSadaf Ebrahimi VkCommandBufferResetFlags flags); 667*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindPipeline( 668*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 669*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 670*b7893ccfSSadaf Ebrahimi VkPipeline pipeline); 671*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetViewport( 672*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 673*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 674*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 675*b7893ccfSSadaf Ebrahimi const VkViewport* pViewports); 676*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetScissor( 677*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 678*b7893ccfSSadaf Ebrahimi uint32_t firstScissor, 679*b7893ccfSSadaf Ebrahimi uint32_t scissorCount, 680*b7893ccfSSadaf Ebrahimi const VkRect2D* pScissors); 681*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetLineWidth( 682*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 683*b7893ccfSSadaf Ebrahimi float lineWidth); 684*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetDepthBias( 685*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 686*b7893ccfSSadaf Ebrahimi float depthBiasConstantFactor, 687*b7893ccfSSadaf Ebrahimi float depthBiasClamp, 688*b7893ccfSSadaf Ebrahimi float depthBiasSlopeFactor); 689*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetBlendConstants( 690*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 691*b7893ccfSSadaf Ebrahimi const float blendConstants[4]); 692*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetDepthBounds( 693*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 694*b7893ccfSSadaf Ebrahimi float minDepthBounds, 695*b7893ccfSSadaf Ebrahimi float maxDepthBounds); 696*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetStencilCompareMask( 697*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 698*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 699*b7893ccfSSadaf Ebrahimi uint32_t compareMask); 700*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetStencilWriteMask( 701*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 702*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 703*b7893ccfSSadaf Ebrahimi uint32_t writeMask); 704*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetStencilReference( 705*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 706*b7893ccfSSadaf Ebrahimi VkStencilFaceFlags faceMask, 707*b7893ccfSSadaf Ebrahimi uint32_t reference); 708*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindDescriptorSets( 709*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 710*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 711*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 712*b7893ccfSSadaf Ebrahimi uint32_t firstSet, 713*b7893ccfSSadaf Ebrahimi uint32_t descriptorSetCount, 714*b7893ccfSSadaf Ebrahimi const VkDescriptorSet* pDescriptorSets, 715*b7893ccfSSadaf Ebrahimi uint32_t dynamicOffsetCount, 716*b7893ccfSSadaf Ebrahimi const uint32_t* pDynamicOffsets); 717*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindIndexBuffer( 718*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 719*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 720*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 721*b7893ccfSSadaf Ebrahimi VkIndexType indexType); 722*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindVertexBuffers( 723*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 724*b7893ccfSSadaf Ebrahimi uint32_t firstBinding, 725*b7893ccfSSadaf Ebrahimi uint32_t bindingCount, 726*b7893ccfSSadaf Ebrahimi const VkBuffer* pBuffers, 727*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pOffsets); 728*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDraw( 729*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 730*b7893ccfSSadaf Ebrahimi uint32_t vertexCount, 731*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 732*b7893ccfSSadaf Ebrahimi uint32_t firstVertex, 733*b7893ccfSSadaf Ebrahimi uint32_t firstInstance); 734*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndexed( 735*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 736*b7893ccfSSadaf Ebrahimi uint32_t indexCount, 737*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 738*b7893ccfSSadaf Ebrahimi uint32_t firstIndex, 739*b7893ccfSSadaf Ebrahimi int32_t vertexOffset, 740*b7893ccfSSadaf Ebrahimi uint32_t firstInstance); 741*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndirect( 742*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 743*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 744*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 745*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 746*b7893ccfSSadaf Ebrahimi uint32_t stride); 747*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndexedIndirect( 748*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 749*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 750*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 751*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 752*b7893ccfSSadaf Ebrahimi uint32_t stride); 753*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDispatch( 754*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 755*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 756*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 757*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 758*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDispatchIndirect( 759*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 760*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 761*b7893ccfSSadaf Ebrahimi VkDeviceSize offset); 762*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyBuffer( 763*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 764*b7893ccfSSadaf Ebrahimi VkBuffer srcBuffer, 765*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 766*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 767*b7893ccfSSadaf Ebrahimi const VkBufferCopy* pRegions); 768*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyImage( 769*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 770*b7893ccfSSadaf Ebrahimi VkImage srcImage, 771*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 772*b7893ccfSSadaf Ebrahimi VkImage dstImage, 773*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 774*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 775*b7893ccfSSadaf Ebrahimi const VkImageCopy* pRegions); 776*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBlitImage( 777*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 778*b7893ccfSSadaf Ebrahimi VkImage srcImage, 779*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 780*b7893ccfSSadaf Ebrahimi VkImage dstImage, 781*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 782*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 783*b7893ccfSSadaf Ebrahimi const VkImageBlit* pRegions, 784*b7893ccfSSadaf Ebrahimi VkFilter filter); 785*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyBufferToImage( 786*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 787*b7893ccfSSadaf Ebrahimi VkBuffer srcBuffer, 788*b7893ccfSSadaf Ebrahimi VkImage dstImage, 789*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 790*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 791*b7893ccfSSadaf Ebrahimi const VkBufferImageCopy* pRegions); 792*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyImageToBuffer( 793*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 794*b7893ccfSSadaf Ebrahimi VkImage srcImage, 795*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 796*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 797*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 798*b7893ccfSSadaf Ebrahimi const VkBufferImageCopy* pRegions); 799*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdUpdateBuffer( 800*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 801*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 802*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 803*b7893ccfSSadaf Ebrahimi VkDeviceSize dataSize, 804*b7893ccfSSadaf Ebrahimi const void* pData); 805*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdFillBuffer( 806*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 807*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 808*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 809*b7893ccfSSadaf Ebrahimi VkDeviceSize size, 810*b7893ccfSSadaf Ebrahimi uint32_t data); 811*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdClearColorImage( 812*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 813*b7893ccfSSadaf Ebrahimi VkImage image, 814*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout, 815*b7893ccfSSadaf Ebrahimi const VkClearColorValue* pColor, 816*b7893ccfSSadaf Ebrahimi uint32_t rangeCount, 817*b7893ccfSSadaf Ebrahimi const VkImageSubresourceRange* pRanges); 818*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdClearDepthStencilImage( 819*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 820*b7893ccfSSadaf Ebrahimi VkImage image, 821*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout, 822*b7893ccfSSadaf Ebrahimi const VkClearDepthStencilValue* pDepthStencil, 823*b7893ccfSSadaf Ebrahimi uint32_t rangeCount, 824*b7893ccfSSadaf Ebrahimi const VkImageSubresourceRange* pRanges); 825*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdClearAttachments( 826*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 827*b7893ccfSSadaf Ebrahimi uint32_t attachmentCount, 828*b7893ccfSSadaf Ebrahimi const VkClearAttachment* pAttachments, 829*b7893ccfSSadaf Ebrahimi uint32_t rectCount, 830*b7893ccfSSadaf Ebrahimi const VkClearRect* pRects); 831*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdResolveImage( 832*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 833*b7893ccfSSadaf Ebrahimi VkImage srcImage, 834*b7893ccfSSadaf Ebrahimi VkImageLayout srcImageLayout, 835*b7893ccfSSadaf Ebrahimi VkImage dstImage, 836*b7893ccfSSadaf Ebrahimi VkImageLayout dstImageLayout, 837*b7893ccfSSadaf Ebrahimi uint32_t regionCount, 838*b7893ccfSSadaf Ebrahimi const VkImageResolve* pRegions); 839*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetEvent( 840*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 841*b7893ccfSSadaf Ebrahimi VkEvent event, 842*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags stageMask); 843*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdResetEvent( 844*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 845*b7893ccfSSadaf Ebrahimi VkEvent event, 846*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags stageMask); 847*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdWaitEvents( 848*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 849*b7893ccfSSadaf Ebrahimi uint32_t eventCount, 850*b7893ccfSSadaf Ebrahimi const VkEvent* pEvents, 851*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags srcStageMask, 852*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags dstStageMask, 853*b7893ccfSSadaf Ebrahimi uint32_t memoryBarrierCount, 854*b7893ccfSSadaf Ebrahimi const VkMemoryBarrier* pMemoryBarriers, 855*b7893ccfSSadaf Ebrahimi uint32_t bufferMemoryBarrierCount, 856*b7893ccfSSadaf Ebrahimi const VkBufferMemoryBarrier* pBufferMemoryBarriers, 857*b7893ccfSSadaf Ebrahimi uint32_t imageMemoryBarrierCount, 858*b7893ccfSSadaf Ebrahimi const VkImageMemoryBarrier* pImageMemoryBarriers); 859*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdPipelineBarrier( 860*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 861*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags srcStageMask, 862*b7893ccfSSadaf Ebrahimi VkPipelineStageFlags dstStageMask, 863*b7893ccfSSadaf Ebrahimi VkDependencyFlags dependencyFlags, 864*b7893ccfSSadaf Ebrahimi uint32_t memoryBarrierCount, 865*b7893ccfSSadaf Ebrahimi const VkMemoryBarrier* pMemoryBarriers, 866*b7893ccfSSadaf Ebrahimi uint32_t bufferMemoryBarrierCount, 867*b7893ccfSSadaf Ebrahimi const VkBufferMemoryBarrier* pBufferMemoryBarriers, 868*b7893ccfSSadaf Ebrahimi uint32_t imageMemoryBarrierCount, 869*b7893ccfSSadaf Ebrahimi const VkImageMemoryBarrier* pImageMemoryBarriers); 870*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginQuery( 871*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 872*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 873*b7893ccfSSadaf Ebrahimi uint32_t query, 874*b7893ccfSSadaf Ebrahimi VkQueryControlFlags flags); 875*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndQuery( 876*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 877*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 878*b7893ccfSSadaf Ebrahimi uint32_t query); 879*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdResetQueryPool( 880*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 881*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 882*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 883*b7893ccfSSadaf Ebrahimi uint32_t queryCount); 884*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdWriteTimestamp( 885*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 886*b7893ccfSSadaf Ebrahimi VkPipelineStageFlagBits pipelineStage, 887*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 888*b7893ccfSSadaf Ebrahimi uint32_t query); 889*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyQueryPoolResults( 890*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 891*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 892*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 893*b7893ccfSSadaf Ebrahimi uint32_t queryCount, 894*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 895*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 896*b7893ccfSSadaf Ebrahimi VkDeviceSize stride, 897*b7893ccfSSadaf Ebrahimi VkQueryResultFlags flags); 898*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdPushConstants( 899*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 900*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 901*b7893ccfSSadaf Ebrahimi VkShaderStageFlags stageFlags, 902*b7893ccfSSadaf Ebrahimi uint32_t offset, 903*b7893ccfSSadaf Ebrahimi uint32_t size, 904*b7893ccfSSadaf Ebrahimi const void* pValues); 905*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginRenderPass( 906*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 907*b7893ccfSSadaf Ebrahimi const VkRenderPassBeginInfo* pRenderPassBegin, 908*b7893ccfSSadaf Ebrahimi VkSubpassContents contents); 909*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdNextSubpass( 910*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 911*b7893ccfSSadaf Ebrahimi VkSubpassContents contents); 912*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndRenderPass( 913*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 914*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdExecuteCommands( 915*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 916*b7893ccfSSadaf Ebrahimi uint32_t commandBufferCount, 917*b7893ccfSSadaf Ebrahimi const VkCommandBuffer* pCommandBuffers); 918*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindBufferMemory2( 919*b7893ccfSSadaf Ebrahimi VkDevice device, 920*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 921*b7893ccfSSadaf Ebrahimi const VkBindBufferMemoryInfo* pBindInfos); 922*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindImageMemory2( 923*b7893ccfSSadaf Ebrahimi VkDevice device, 924*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 925*b7893ccfSSadaf Ebrahimi const VkBindImageMemoryInfo* pBindInfos); 926*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceGroupPeerMemoryFeatures( 927*b7893ccfSSadaf Ebrahimi VkDevice device, 928*b7893ccfSSadaf Ebrahimi uint32_t heapIndex, 929*b7893ccfSSadaf Ebrahimi uint32_t localDeviceIndex, 930*b7893ccfSSadaf Ebrahimi uint32_t remoteDeviceIndex, 931*b7893ccfSSadaf Ebrahimi VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 932*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetDeviceMask( 933*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 934*b7893ccfSSadaf Ebrahimi uint32_t deviceMask); 935*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDispatchBase( 936*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 937*b7893ccfSSadaf Ebrahimi uint32_t baseGroupX, 938*b7893ccfSSadaf Ebrahimi uint32_t baseGroupY, 939*b7893ccfSSadaf Ebrahimi uint32_t baseGroupZ, 940*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 941*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 942*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 943*b7893ccfSSadaf Ebrahimi bool PreCallValidateEnumeratePhysicalDeviceGroups( 944*b7893ccfSSadaf Ebrahimi VkInstance instance, 945*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceGroupCount, 946*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 947*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageMemoryRequirements2( 948*b7893ccfSSadaf Ebrahimi VkDevice device, 949*b7893ccfSSadaf Ebrahimi const VkImageMemoryRequirementsInfo2* pInfo, 950*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 951*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetBufferMemoryRequirements2( 952*b7893ccfSSadaf Ebrahimi VkDevice device, 953*b7893ccfSSadaf Ebrahimi const VkBufferMemoryRequirementsInfo2* pInfo, 954*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 955*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageSparseMemoryRequirements2( 956*b7893ccfSSadaf Ebrahimi VkDevice device, 957*b7893ccfSSadaf Ebrahimi const VkImageSparseMemoryRequirementsInfo2* pInfo, 958*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 959*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 960*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFeatures2( 961*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 962*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures2* pFeatures); 963*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceProperties2( 964*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 965*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties2* pProperties); 966*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFormatProperties2( 967*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 968*b7893ccfSSadaf Ebrahimi VkFormat format, 969*b7893ccfSSadaf Ebrahimi VkFormatProperties2* pFormatProperties); 970*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceImageFormatProperties2( 971*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 972*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 973*b7893ccfSSadaf Ebrahimi VkImageFormatProperties2* pImageFormatProperties); 974*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceQueueFamilyProperties2( 975*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 976*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 977*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties2* pQueueFamilyProperties); 978*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceMemoryProperties2( 979*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 980*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 981*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSparseImageFormatProperties2( 982*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 983*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 984*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 985*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties2* pProperties); 986*b7893ccfSSadaf Ebrahimi bool PreCallValidateTrimCommandPool( 987*b7893ccfSSadaf Ebrahimi VkDevice device, 988*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 989*b7893ccfSSadaf Ebrahimi VkCommandPoolTrimFlags flags); 990*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceQueue2( 991*b7893ccfSSadaf Ebrahimi VkDevice device, 992*b7893ccfSSadaf Ebrahimi const VkDeviceQueueInfo2* pQueueInfo, 993*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 994*b7893ccfSSadaf Ebrahimi void PostCallRecordGetDeviceQueue2( 995*b7893ccfSSadaf Ebrahimi VkDevice device, 996*b7893ccfSSadaf Ebrahimi const VkDeviceQueueInfo2* pQueueInfo, 997*b7893ccfSSadaf Ebrahimi VkQueue* pQueue); 998*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSamplerYcbcrConversion( 999*b7893ccfSSadaf Ebrahimi VkDevice device, 1000*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1001*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1002*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion); 1003*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSamplerYcbcrConversion( 1004*b7893ccfSSadaf Ebrahimi VkDevice device, 1005*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1006*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1007*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion, 1008*b7893ccfSSadaf Ebrahimi VkResult result); 1009*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySamplerYcbcrConversion( 1010*b7893ccfSSadaf Ebrahimi VkDevice device, 1011*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 1012*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1013*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySamplerYcbcrConversion( 1014*b7893ccfSSadaf Ebrahimi VkDevice device, 1015*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 1016*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1017*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDescriptorUpdateTemplate( 1018*b7893ccfSSadaf Ebrahimi VkDevice device, 1019*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1020*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1021*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 1022*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDescriptorUpdateTemplate( 1023*b7893ccfSSadaf Ebrahimi VkDevice device, 1024*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1025*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1026*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, 1027*b7893ccfSSadaf Ebrahimi VkResult result); 1028*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDescriptorUpdateTemplate( 1029*b7893ccfSSadaf Ebrahimi VkDevice device, 1030*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1031*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1032*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDescriptorUpdateTemplate( 1033*b7893ccfSSadaf Ebrahimi VkDevice device, 1034*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1035*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1036*b7893ccfSSadaf Ebrahimi bool PreCallValidateUpdateDescriptorSetWithTemplate( 1037*b7893ccfSSadaf Ebrahimi VkDevice device, 1038*b7893ccfSSadaf Ebrahimi VkDescriptorSet descriptorSet, 1039*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1040*b7893ccfSSadaf Ebrahimi const void* pData); 1041*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalBufferProperties( 1042*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1043*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 1044*b7893ccfSSadaf Ebrahimi VkExternalBufferProperties* pExternalBufferProperties); 1045*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalFenceProperties( 1046*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1047*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 1048*b7893ccfSSadaf Ebrahimi VkExternalFenceProperties* pExternalFenceProperties); 1049*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalSemaphoreProperties( 1050*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1051*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 1052*b7893ccfSSadaf Ebrahimi VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 1053*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDescriptorSetLayoutSupport( 1054*b7893ccfSSadaf Ebrahimi VkDevice device, 1055*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 1056*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayoutSupport* pSupport); 1057*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySurfaceKHR( 1058*b7893ccfSSadaf Ebrahimi VkInstance instance, 1059*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1060*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1061*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySurfaceKHR( 1062*b7893ccfSSadaf Ebrahimi VkInstance instance, 1063*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1064*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1065*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceSupportKHR( 1066*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1067*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1068*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1069*b7893ccfSSadaf Ebrahimi VkBool32* pSupported); 1070*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceCapabilitiesKHR( 1071*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1072*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1073*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 1074*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceFormatsKHR( 1075*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1076*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1077*b7893ccfSSadaf Ebrahimi uint32_t* pSurfaceFormatCount, 1078*b7893ccfSSadaf Ebrahimi VkSurfaceFormatKHR* pSurfaceFormats); 1079*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfacePresentModesKHR( 1080*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1081*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1082*b7893ccfSSadaf Ebrahimi uint32_t* pPresentModeCount, 1083*b7893ccfSSadaf Ebrahimi VkPresentModeKHR* pPresentModes); 1084*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSwapchainKHR( 1085*b7893ccfSSadaf Ebrahimi VkDevice device, 1086*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfo, 1087*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1088*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchain); 1089*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSwapchainKHR( 1090*b7893ccfSSadaf Ebrahimi VkDevice device, 1091*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfo, 1092*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1093*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchain, 1094*b7893ccfSSadaf Ebrahimi VkResult result); 1095*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySwapchainKHR( 1096*b7893ccfSSadaf Ebrahimi VkDevice device, 1097*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1098*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1099*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySwapchainKHR( 1100*b7893ccfSSadaf Ebrahimi VkDevice device, 1101*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1102*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1103*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetSwapchainImagesKHR( 1104*b7893ccfSSadaf Ebrahimi VkDevice device, 1105*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1106*b7893ccfSSadaf Ebrahimi uint32_t* pSwapchainImageCount, 1107*b7893ccfSSadaf Ebrahimi VkImage* pSwapchainImages); 1108*b7893ccfSSadaf Ebrahimi void PostCallRecordGetSwapchainImagesKHR( 1109*b7893ccfSSadaf Ebrahimi VkDevice device, 1110*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1111*b7893ccfSSadaf Ebrahimi uint32_t* pSwapchainImageCount, 1112*b7893ccfSSadaf Ebrahimi VkImage* pSwapchainImages, 1113*b7893ccfSSadaf Ebrahimi VkResult result); 1114*b7893ccfSSadaf Ebrahimi bool PreCallValidateAcquireNextImageKHR( 1115*b7893ccfSSadaf Ebrahimi VkDevice device, 1116*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1117*b7893ccfSSadaf Ebrahimi uint64_t timeout, 1118*b7893ccfSSadaf Ebrahimi VkSemaphore semaphore, 1119*b7893ccfSSadaf Ebrahimi VkFence fence, 1120*b7893ccfSSadaf Ebrahimi uint32_t* pImageIndex); 1121*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueuePresentKHR( 1122*b7893ccfSSadaf Ebrahimi VkQueue queue, 1123*b7893ccfSSadaf Ebrahimi const VkPresentInfoKHR* pPresentInfo); 1124*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceGroupPresentCapabilitiesKHR( 1125*b7893ccfSSadaf Ebrahimi VkDevice device, 1126*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 1127*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceGroupSurfacePresentModesKHR( 1128*b7893ccfSSadaf Ebrahimi VkDevice device, 1129*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1130*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentModeFlagsKHR* pModes); 1131*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDevicePresentRectanglesKHR( 1132*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1133*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1134*b7893ccfSSadaf Ebrahimi uint32_t* pRectCount, 1135*b7893ccfSSadaf Ebrahimi VkRect2D* pRects); 1136*b7893ccfSSadaf Ebrahimi bool PreCallValidateAcquireNextImage2KHR( 1137*b7893ccfSSadaf Ebrahimi VkDevice device, 1138*b7893ccfSSadaf Ebrahimi const VkAcquireNextImageInfoKHR* pAcquireInfo, 1139*b7893ccfSSadaf Ebrahimi uint32_t* pImageIndex); 1140*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceDisplayPropertiesKHR( 1141*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1142*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1143*b7893ccfSSadaf Ebrahimi VkDisplayPropertiesKHR* pProperties); 1144*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceDisplayPlanePropertiesKHR( 1145*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1146*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1147*b7893ccfSSadaf Ebrahimi VkDisplayPlanePropertiesKHR* pProperties); 1148*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDisplayPlaneSupportedDisplaysKHR( 1149*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1150*b7893ccfSSadaf Ebrahimi uint32_t planeIndex, 1151*b7893ccfSSadaf Ebrahimi uint32_t* pDisplayCount, 1152*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplays); 1153*b7893ccfSSadaf Ebrahimi void PostCallRecordGetDisplayPlaneSupportedDisplaysKHR( 1154*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1155*b7893ccfSSadaf Ebrahimi uint32_t planeIndex, 1156*b7893ccfSSadaf Ebrahimi uint32_t* pDisplayCount, 1157*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplays, 1158*b7893ccfSSadaf Ebrahimi VkResult result); 1159*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDisplayModePropertiesKHR( 1160*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1161*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1162*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1163*b7893ccfSSadaf Ebrahimi VkDisplayModePropertiesKHR* pProperties); 1164*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDisplayModeKHR( 1165*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1166*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1167*b7893ccfSSadaf Ebrahimi const VkDisplayModeCreateInfoKHR* pCreateInfo, 1168*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1169*b7893ccfSSadaf Ebrahimi VkDisplayModeKHR* pMode); 1170*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDisplayModeKHR( 1171*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1172*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1173*b7893ccfSSadaf Ebrahimi const VkDisplayModeCreateInfoKHR* pCreateInfo, 1174*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1175*b7893ccfSSadaf Ebrahimi VkDisplayModeKHR* pMode, 1176*b7893ccfSSadaf Ebrahimi VkResult result); 1177*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDisplayPlaneCapabilitiesKHR( 1178*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1179*b7893ccfSSadaf Ebrahimi VkDisplayModeKHR mode, 1180*b7893ccfSSadaf Ebrahimi uint32_t planeIndex, 1181*b7893ccfSSadaf Ebrahimi VkDisplayPlaneCapabilitiesKHR* pCapabilities); 1182*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDisplayPlaneSurfaceKHR( 1183*b7893ccfSSadaf Ebrahimi VkInstance instance, 1184*b7893ccfSSadaf Ebrahimi const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 1185*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1186*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1187*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDisplayPlaneSurfaceKHR( 1188*b7893ccfSSadaf Ebrahimi VkInstance instance, 1189*b7893ccfSSadaf Ebrahimi const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 1190*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1191*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1192*b7893ccfSSadaf Ebrahimi VkResult result); 1193*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSharedSwapchainsKHR( 1194*b7893ccfSSadaf Ebrahimi VkDevice device, 1195*b7893ccfSSadaf Ebrahimi uint32_t swapchainCount, 1196*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfos, 1197*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1198*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchains); 1199*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSharedSwapchainsKHR( 1200*b7893ccfSSadaf Ebrahimi VkDevice device, 1201*b7893ccfSSadaf Ebrahimi uint32_t swapchainCount, 1202*b7893ccfSSadaf Ebrahimi const VkSwapchainCreateInfoKHR* pCreateInfos, 1203*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1204*b7893ccfSSadaf Ebrahimi VkSwapchainKHR* pSwapchains, 1205*b7893ccfSSadaf Ebrahimi VkResult result); 1206*b7893ccfSSadaf Ebrahimi 1207*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_KHR 1208*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateXlibSurfaceKHR( 1209*b7893ccfSSadaf Ebrahimi VkInstance instance, 1210*b7893ccfSSadaf Ebrahimi const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 1211*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1212*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1213*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateXlibSurfaceKHR( 1214*b7893ccfSSadaf Ebrahimi VkInstance instance, 1215*b7893ccfSSadaf Ebrahimi const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 1216*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1217*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1218*b7893ccfSSadaf Ebrahimi VkResult result); 1219*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_KHR 1220*b7893ccfSSadaf Ebrahimi 1221*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_KHR 1222*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceXlibPresentationSupportKHR( 1223*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1224*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1225*b7893ccfSSadaf Ebrahimi Display* dpy, 1226*b7893ccfSSadaf Ebrahimi VisualID visualID); 1227*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_KHR 1228*b7893ccfSSadaf Ebrahimi 1229*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XCB_KHR 1230*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateXcbSurfaceKHR( 1231*b7893ccfSSadaf Ebrahimi VkInstance instance, 1232*b7893ccfSSadaf Ebrahimi const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 1233*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1234*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1235*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateXcbSurfaceKHR( 1236*b7893ccfSSadaf Ebrahimi VkInstance instance, 1237*b7893ccfSSadaf Ebrahimi const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 1238*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1239*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1240*b7893ccfSSadaf Ebrahimi VkResult result); 1241*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XCB_KHR 1242*b7893ccfSSadaf Ebrahimi 1243*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XCB_KHR 1244*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceXcbPresentationSupportKHR( 1245*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1246*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1247*b7893ccfSSadaf Ebrahimi xcb_connection_t* connection, 1248*b7893ccfSSadaf Ebrahimi xcb_visualid_t visual_id); 1249*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XCB_KHR 1250*b7893ccfSSadaf Ebrahimi 1251*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WAYLAND_KHR 1252*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateWaylandSurfaceKHR( 1253*b7893ccfSSadaf Ebrahimi VkInstance instance, 1254*b7893ccfSSadaf Ebrahimi const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 1255*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1256*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1257*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateWaylandSurfaceKHR( 1258*b7893ccfSSadaf Ebrahimi VkInstance instance, 1259*b7893ccfSSadaf Ebrahimi const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 1260*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1261*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1262*b7893ccfSSadaf Ebrahimi VkResult result); 1263*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WAYLAND_KHR 1264*b7893ccfSSadaf Ebrahimi 1265*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WAYLAND_KHR 1266*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceWaylandPresentationSupportKHR( 1267*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1268*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex, 1269*b7893ccfSSadaf Ebrahimi struct wl_display* display); 1270*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WAYLAND_KHR 1271*b7893ccfSSadaf Ebrahimi 1272*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_ANDROID_KHR 1273*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateAndroidSurfaceKHR( 1274*b7893ccfSSadaf Ebrahimi VkInstance instance, 1275*b7893ccfSSadaf Ebrahimi const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, 1276*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1277*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1278*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateAndroidSurfaceKHR( 1279*b7893ccfSSadaf Ebrahimi VkInstance instance, 1280*b7893ccfSSadaf Ebrahimi const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, 1281*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1282*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1283*b7893ccfSSadaf Ebrahimi VkResult result); 1284*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_ANDROID_KHR 1285*b7893ccfSSadaf Ebrahimi 1286*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1287*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateWin32SurfaceKHR( 1288*b7893ccfSSadaf Ebrahimi VkInstance instance, 1289*b7893ccfSSadaf Ebrahimi const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 1290*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1291*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1292*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateWin32SurfaceKHR( 1293*b7893ccfSSadaf Ebrahimi VkInstance instance, 1294*b7893ccfSSadaf Ebrahimi const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 1295*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1296*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1297*b7893ccfSSadaf Ebrahimi VkResult result); 1298*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1299*b7893ccfSSadaf Ebrahimi 1300*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1301*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceWin32PresentationSupportKHR( 1302*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1303*b7893ccfSSadaf Ebrahimi uint32_t queueFamilyIndex); 1304*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1305*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFeatures2KHR( 1306*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1307*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceFeatures2* pFeatures); 1308*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceProperties2KHR( 1309*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1310*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceProperties2* pProperties); 1311*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceFormatProperties2KHR( 1312*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1313*b7893ccfSSadaf Ebrahimi VkFormat format, 1314*b7893ccfSSadaf Ebrahimi VkFormatProperties2* pFormatProperties); 1315*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceImageFormatProperties2KHR( 1316*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1317*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 1318*b7893ccfSSadaf Ebrahimi VkImageFormatProperties2* pImageFormatProperties); 1319*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceQueueFamilyProperties2KHR( 1320*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1321*b7893ccfSSadaf Ebrahimi uint32_t* pQueueFamilyPropertyCount, 1322*b7893ccfSSadaf Ebrahimi VkQueueFamilyProperties2* pQueueFamilyProperties); 1323*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceMemoryProperties2KHR( 1324*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1325*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 1326*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSparseImageFormatProperties2KHR( 1327*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1328*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 1329*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1330*b7893ccfSSadaf Ebrahimi VkSparseImageFormatProperties2* pProperties); 1331*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceGroupPeerMemoryFeaturesKHR( 1332*b7893ccfSSadaf Ebrahimi VkDevice device, 1333*b7893ccfSSadaf Ebrahimi uint32_t heapIndex, 1334*b7893ccfSSadaf Ebrahimi uint32_t localDeviceIndex, 1335*b7893ccfSSadaf Ebrahimi uint32_t remoteDeviceIndex, 1336*b7893ccfSSadaf Ebrahimi VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 1337*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetDeviceMaskKHR( 1338*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1339*b7893ccfSSadaf Ebrahimi uint32_t deviceMask); 1340*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDispatchBaseKHR( 1341*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1342*b7893ccfSSadaf Ebrahimi uint32_t baseGroupX, 1343*b7893ccfSSadaf Ebrahimi uint32_t baseGroupY, 1344*b7893ccfSSadaf Ebrahimi uint32_t baseGroupZ, 1345*b7893ccfSSadaf Ebrahimi uint32_t groupCountX, 1346*b7893ccfSSadaf Ebrahimi uint32_t groupCountY, 1347*b7893ccfSSadaf Ebrahimi uint32_t groupCountZ); 1348*b7893ccfSSadaf Ebrahimi bool PreCallValidateTrimCommandPoolKHR( 1349*b7893ccfSSadaf Ebrahimi VkDevice device, 1350*b7893ccfSSadaf Ebrahimi VkCommandPool commandPool, 1351*b7893ccfSSadaf Ebrahimi VkCommandPoolTrimFlags flags); 1352*b7893ccfSSadaf Ebrahimi bool PreCallValidateEnumeratePhysicalDeviceGroupsKHR( 1353*b7893ccfSSadaf Ebrahimi VkInstance instance, 1354*b7893ccfSSadaf Ebrahimi uint32_t* pPhysicalDeviceGroupCount, 1355*b7893ccfSSadaf Ebrahimi VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 1356*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalBufferPropertiesKHR( 1357*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1358*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 1359*b7893ccfSSadaf Ebrahimi VkExternalBufferProperties* pExternalBufferProperties); 1360*b7893ccfSSadaf Ebrahimi 1361*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1362*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryWin32HandleKHR( 1363*b7893ccfSSadaf Ebrahimi VkDevice device, 1364*b7893ccfSSadaf Ebrahimi const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1365*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1366*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1367*b7893ccfSSadaf Ebrahimi 1368*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1369*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryWin32HandlePropertiesKHR( 1370*b7893ccfSSadaf Ebrahimi VkDevice device, 1371*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 1372*b7893ccfSSadaf Ebrahimi HANDLE handle, 1373*b7893ccfSSadaf Ebrahimi VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); 1374*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1375*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryFdKHR( 1376*b7893ccfSSadaf Ebrahimi VkDevice device, 1377*b7893ccfSSadaf Ebrahimi const VkMemoryGetFdInfoKHR* pGetFdInfo, 1378*b7893ccfSSadaf Ebrahimi int* pFd); 1379*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryFdPropertiesKHR( 1380*b7893ccfSSadaf Ebrahimi VkDevice device, 1381*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 1382*b7893ccfSSadaf Ebrahimi int fd, 1383*b7893ccfSSadaf Ebrahimi VkMemoryFdPropertiesKHR* pMemoryFdProperties); 1384*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalSemaphorePropertiesKHR( 1385*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1386*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 1387*b7893ccfSSadaf Ebrahimi VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 1388*b7893ccfSSadaf Ebrahimi 1389*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1390*b7893ccfSSadaf Ebrahimi bool PreCallValidateImportSemaphoreWin32HandleKHR( 1391*b7893ccfSSadaf Ebrahimi VkDevice device, 1392*b7893ccfSSadaf Ebrahimi const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); 1393*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1394*b7893ccfSSadaf Ebrahimi 1395*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1396*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetSemaphoreWin32HandleKHR( 1397*b7893ccfSSadaf Ebrahimi VkDevice device, 1398*b7893ccfSSadaf Ebrahimi const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1399*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1400*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1401*b7893ccfSSadaf Ebrahimi bool PreCallValidateImportSemaphoreFdKHR( 1402*b7893ccfSSadaf Ebrahimi VkDevice device, 1403*b7893ccfSSadaf Ebrahimi const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 1404*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetSemaphoreFdKHR( 1405*b7893ccfSSadaf Ebrahimi VkDevice device, 1406*b7893ccfSSadaf Ebrahimi const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 1407*b7893ccfSSadaf Ebrahimi int* pFd); 1408*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdPushDescriptorSetKHR( 1409*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1410*b7893ccfSSadaf Ebrahimi VkPipelineBindPoint pipelineBindPoint, 1411*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 1412*b7893ccfSSadaf Ebrahimi uint32_t set, 1413*b7893ccfSSadaf Ebrahimi uint32_t descriptorWriteCount, 1414*b7893ccfSSadaf Ebrahimi const VkWriteDescriptorSet* pDescriptorWrites); 1415*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdPushDescriptorSetWithTemplateKHR( 1416*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1417*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1418*b7893ccfSSadaf Ebrahimi VkPipelineLayout layout, 1419*b7893ccfSSadaf Ebrahimi uint32_t set, 1420*b7893ccfSSadaf Ebrahimi const void* pData); 1421*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDescriptorUpdateTemplateKHR( 1422*b7893ccfSSadaf Ebrahimi VkDevice device, 1423*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1424*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1425*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 1426*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDescriptorUpdateTemplateKHR( 1427*b7893ccfSSadaf Ebrahimi VkDevice device, 1428*b7893ccfSSadaf Ebrahimi const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 1429*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1430*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, 1431*b7893ccfSSadaf Ebrahimi VkResult result); 1432*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDescriptorUpdateTemplateKHR( 1433*b7893ccfSSadaf Ebrahimi VkDevice device, 1434*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1435*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1436*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDescriptorUpdateTemplateKHR( 1437*b7893ccfSSadaf Ebrahimi VkDevice device, 1438*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1439*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1440*b7893ccfSSadaf Ebrahimi bool PreCallValidateUpdateDescriptorSetWithTemplateKHR( 1441*b7893ccfSSadaf Ebrahimi VkDevice device, 1442*b7893ccfSSadaf Ebrahimi VkDescriptorSet descriptorSet, 1443*b7893ccfSSadaf Ebrahimi VkDescriptorUpdateTemplate descriptorUpdateTemplate, 1444*b7893ccfSSadaf Ebrahimi const void* pData); 1445*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateRenderPass2KHR( 1446*b7893ccfSSadaf Ebrahimi VkDevice device, 1447*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo2KHR* pCreateInfo, 1448*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1449*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass); 1450*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateRenderPass2KHR( 1451*b7893ccfSSadaf Ebrahimi VkDevice device, 1452*b7893ccfSSadaf Ebrahimi const VkRenderPassCreateInfo2KHR* pCreateInfo, 1453*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1454*b7893ccfSSadaf Ebrahimi VkRenderPass* pRenderPass, 1455*b7893ccfSSadaf Ebrahimi VkResult result); 1456*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginRenderPass2KHR( 1457*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1458*b7893ccfSSadaf Ebrahimi const VkRenderPassBeginInfo* pRenderPassBegin, 1459*b7893ccfSSadaf Ebrahimi const VkSubpassBeginInfoKHR* pSubpassBeginInfo); 1460*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdNextSubpass2KHR( 1461*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1462*b7893ccfSSadaf Ebrahimi const VkSubpassBeginInfoKHR* pSubpassBeginInfo, 1463*b7893ccfSSadaf Ebrahimi const VkSubpassEndInfoKHR* pSubpassEndInfo); 1464*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndRenderPass2KHR( 1465*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1466*b7893ccfSSadaf Ebrahimi const VkSubpassEndInfoKHR* pSubpassEndInfo); 1467*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetSwapchainStatusKHR( 1468*b7893ccfSSadaf Ebrahimi VkDevice device, 1469*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 1470*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalFencePropertiesKHR( 1471*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1472*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 1473*b7893ccfSSadaf Ebrahimi VkExternalFenceProperties* pExternalFenceProperties); 1474*b7893ccfSSadaf Ebrahimi 1475*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1476*b7893ccfSSadaf Ebrahimi bool PreCallValidateImportFenceWin32HandleKHR( 1477*b7893ccfSSadaf Ebrahimi VkDevice device, 1478*b7893ccfSSadaf Ebrahimi const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); 1479*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1480*b7893ccfSSadaf Ebrahimi 1481*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1482*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetFenceWin32HandleKHR( 1483*b7893ccfSSadaf Ebrahimi VkDevice device, 1484*b7893ccfSSadaf Ebrahimi const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, 1485*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1486*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1487*b7893ccfSSadaf Ebrahimi bool PreCallValidateImportFenceFdKHR( 1488*b7893ccfSSadaf Ebrahimi VkDevice device, 1489*b7893ccfSSadaf Ebrahimi const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 1490*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetFenceFdKHR( 1491*b7893ccfSSadaf Ebrahimi VkDevice device, 1492*b7893ccfSSadaf Ebrahimi const VkFenceGetFdInfoKHR* pGetFdInfo, 1493*b7893ccfSSadaf Ebrahimi int* pFd); 1494*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceCapabilities2KHR( 1495*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1496*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1497*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 1498*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceFormats2KHR( 1499*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1500*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 1501*b7893ccfSSadaf Ebrahimi uint32_t* pSurfaceFormatCount, 1502*b7893ccfSSadaf Ebrahimi VkSurfaceFormat2KHR* pSurfaceFormats); 1503*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceDisplayProperties2KHR( 1504*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1505*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1506*b7893ccfSSadaf Ebrahimi VkDisplayProperties2KHR* pProperties); 1507*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceDisplayPlaneProperties2KHR( 1508*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1509*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1510*b7893ccfSSadaf Ebrahimi VkDisplayPlaneProperties2KHR* pProperties); 1511*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDisplayModeProperties2KHR( 1512*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1513*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1514*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 1515*b7893ccfSSadaf Ebrahimi VkDisplayModeProperties2KHR* pProperties); 1516*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDisplayPlaneCapabilities2KHR( 1517*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1518*b7893ccfSSadaf Ebrahimi const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 1519*b7893ccfSSadaf Ebrahimi VkDisplayPlaneCapabilities2KHR* pCapabilities); 1520*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageMemoryRequirements2KHR( 1521*b7893ccfSSadaf Ebrahimi VkDevice device, 1522*b7893ccfSSadaf Ebrahimi const VkImageMemoryRequirementsInfo2* pInfo, 1523*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 1524*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetBufferMemoryRequirements2KHR( 1525*b7893ccfSSadaf Ebrahimi VkDevice device, 1526*b7893ccfSSadaf Ebrahimi const VkBufferMemoryRequirementsInfo2* pInfo, 1527*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2* pMemoryRequirements); 1528*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageSparseMemoryRequirements2KHR( 1529*b7893ccfSSadaf Ebrahimi VkDevice device, 1530*b7893ccfSSadaf Ebrahimi const VkImageSparseMemoryRequirementsInfo2* pInfo, 1531*b7893ccfSSadaf Ebrahimi uint32_t* pSparseMemoryRequirementCount, 1532*b7893ccfSSadaf Ebrahimi VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 1533*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateSamplerYcbcrConversionKHR( 1534*b7893ccfSSadaf Ebrahimi VkDevice device, 1535*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1536*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1537*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion); 1538*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateSamplerYcbcrConversionKHR( 1539*b7893ccfSSadaf Ebrahimi VkDevice device, 1540*b7893ccfSSadaf Ebrahimi const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 1541*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1542*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion* pYcbcrConversion, 1543*b7893ccfSSadaf Ebrahimi VkResult result); 1544*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroySamplerYcbcrConversionKHR( 1545*b7893ccfSSadaf Ebrahimi VkDevice device, 1546*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 1547*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1548*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroySamplerYcbcrConversionKHR( 1549*b7893ccfSSadaf Ebrahimi VkDevice device, 1550*b7893ccfSSadaf Ebrahimi VkSamplerYcbcrConversion ycbcrConversion, 1551*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1552*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindBufferMemory2KHR( 1553*b7893ccfSSadaf Ebrahimi VkDevice device, 1554*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 1555*b7893ccfSSadaf Ebrahimi const VkBindBufferMemoryInfo* pBindInfos); 1556*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindImageMemory2KHR( 1557*b7893ccfSSadaf Ebrahimi VkDevice device, 1558*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 1559*b7893ccfSSadaf Ebrahimi const VkBindImageMemoryInfo* pBindInfos); 1560*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDescriptorSetLayoutSupportKHR( 1561*b7893ccfSSadaf Ebrahimi VkDevice device, 1562*b7893ccfSSadaf Ebrahimi const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 1563*b7893ccfSSadaf Ebrahimi VkDescriptorSetLayoutSupport* pSupport); 1564*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndirectCountKHR( 1565*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1566*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1567*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1568*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1569*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1570*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1571*b7893ccfSSadaf Ebrahimi uint32_t stride); 1572*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndexedIndirectCountKHR( 1573*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1574*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1575*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1576*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1577*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1578*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1579*b7893ccfSSadaf Ebrahimi uint32_t stride); 1580*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPipelineExecutablePropertiesKHR( 1581*b7893ccfSSadaf Ebrahimi VkDevice device, 1582*b7893ccfSSadaf Ebrahimi const VkPipelineInfoKHR* pPipelineInfo, 1583*b7893ccfSSadaf Ebrahimi uint32_t* pExecutableCount, 1584*b7893ccfSSadaf Ebrahimi VkPipelineExecutablePropertiesKHR* pProperties); 1585*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPipelineExecutableStatisticsKHR( 1586*b7893ccfSSadaf Ebrahimi VkDevice device, 1587*b7893ccfSSadaf Ebrahimi const VkPipelineExecutableInfoKHR* pExecutableInfo, 1588*b7893ccfSSadaf Ebrahimi uint32_t* pStatisticCount, 1589*b7893ccfSSadaf Ebrahimi VkPipelineExecutableStatisticKHR* pStatistics); 1590*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPipelineExecutableInternalRepresentationsKHR( 1591*b7893ccfSSadaf Ebrahimi VkDevice device, 1592*b7893ccfSSadaf Ebrahimi const VkPipelineExecutableInfoKHR* pExecutableInfo, 1593*b7893ccfSSadaf Ebrahimi uint32_t* pInternalRepresentationCount, 1594*b7893ccfSSadaf Ebrahimi VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 1595*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDebugReportCallbackEXT( 1596*b7893ccfSSadaf Ebrahimi VkInstance instance, 1597*b7893ccfSSadaf Ebrahimi const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 1598*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1599*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT* pCallback); 1600*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDebugReportCallbackEXT( 1601*b7893ccfSSadaf Ebrahimi VkInstance instance, 1602*b7893ccfSSadaf Ebrahimi const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 1603*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1604*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT* pCallback, 1605*b7893ccfSSadaf Ebrahimi VkResult result); 1606*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDebugReportCallbackEXT( 1607*b7893ccfSSadaf Ebrahimi VkInstance instance, 1608*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT callback, 1609*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1610*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDebugReportCallbackEXT( 1611*b7893ccfSSadaf Ebrahimi VkInstance instance, 1612*b7893ccfSSadaf Ebrahimi VkDebugReportCallbackEXT callback, 1613*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1614*b7893ccfSSadaf Ebrahimi bool PreCallValidateDebugReportMessageEXT( 1615*b7893ccfSSadaf Ebrahimi VkInstance instance, 1616*b7893ccfSSadaf Ebrahimi VkDebugReportFlagsEXT flags, 1617*b7893ccfSSadaf Ebrahimi VkDebugReportObjectTypeEXT objectType, 1618*b7893ccfSSadaf Ebrahimi uint64_t object, 1619*b7893ccfSSadaf Ebrahimi size_t location, 1620*b7893ccfSSadaf Ebrahimi int32_t messageCode, 1621*b7893ccfSSadaf Ebrahimi const char* pLayerPrefix, 1622*b7893ccfSSadaf Ebrahimi const char* pMessage); 1623*b7893ccfSSadaf Ebrahimi bool PreCallValidateDebugMarkerSetObjectTagEXT( 1624*b7893ccfSSadaf Ebrahimi VkDevice device, 1625*b7893ccfSSadaf Ebrahimi const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 1626*b7893ccfSSadaf Ebrahimi bool PreCallValidateDebugMarkerSetObjectNameEXT( 1627*b7893ccfSSadaf Ebrahimi VkDevice device, 1628*b7893ccfSSadaf Ebrahimi const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 1629*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDebugMarkerBeginEXT( 1630*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1631*b7893ccfSSadaf Ebrahimi const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1632*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDebugMarkerEndEXT( 1633*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1634*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDebugMarkerInsertEXT( 1635*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1636*b7893ccfSSadaf Ebrahimi const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 1637*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindTransformFeedbackBuffersEXT( 1638*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1639*b7893ccfSSadaf Ebrahimi uint32_t firstBinding, 1640*b7893ccfSSadaf Ebrahimi uint32_t bindingCount, 1641*b7893ccfSSadaf Ebrahimi const VkBuffer* pBuffers, 1642*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pOffsets, 1643*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pSizes); 1644*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginTransformFeedbackEXT( 1645*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1646*b7893ccfSSadaf Ebrahimi uint32_t firstCounterBuffer, 1647*b7893ccfSSadaf Ebrahimi uint32_t counterBufferCount, 1648*b7893ccfSSadaf Ebrahimi const VkBuffer* pCounterBuffers, 1649*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pCounterBufferOffsets); 1650*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndTransformFeedbackEXT( 1651*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1652*b7893ccfSSadaf Ebrahimi uint32_t firstCounterBuffer, 1653*b7893ccfSSadaf Ebrahimi uint32_t counterBufferCount, 1654*b7893ccfSSadaf Ebrahimi const VkBuffer* pCounterBuffers, 1655*b7893ccfSSadaf Ebrahimi const VkDeviceSize* pCounterBufferOffsets); 1656*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginQueryIndexedEXT( 1657*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1658*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 1659*b7893ccfSSadaf Ebrahimi uint32_t query, 1660*b7893ccfSSadaf Ebrahimi VkQueryControlFlags flags, 1661*b7893ccfSSadaf Ebrahimi uint32_t index); 1662*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndQueryIndexedEXT( 1663*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1664*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 1665*b7893ccfSSadaf Ebrahimi uint32_t query, 1666*b7893ccfSSadaf Ebrahimi uint32_t index); 1667*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndirectByteCountEXT( 1668*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1669*b7893ccfSSadaf Ebrahimi uint32_t instanceCount, 1670*b7893ccfSSadaf Ebrahimi uint32_t firstInstance, 1671*b7893ccfSSadaf Ebrahimi VkBuffer counterBuffer, 1672*b7893ccfSSadaf Ebrahimi VkDeviceSize counterBufferOffset, 1673*b7893ccfSSadaf Ebrahimi uint32_t counterOffset, 1674*b7893ccfSSadaf Ebrahimi uint32_t vertexStride); 1675*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageViewHandleNVX( 1676*b7893ccfSSadaf Ebrahimi VkDevice device, 1677*b7893ccfSSadaf Ebrahimi const VkImageViewHandleInfoNVX* pInfo); 1678*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndirectCountAMD( 1679*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1680*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1681*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1682*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1683*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1684*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1685*b7893ccfSSadaf Ebrahimi uint32_t stride); 1686*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawIndexedIndirectCountAMD( 1687*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1688*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 1689*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 1690*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 1691*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 1692*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 1693*b7893ccfSSadaf Ebrahimi uint32_t stride); 1694*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetShaderInfoAMD( 1695*b7893ccfSSadaf Ebrahimi VkDevice device, 1696*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 1697*b7893ccfSSadaf Ebrahimi VkShaderStageFlagBits shaderStage, 1698*b7893ccfSSadaf Ebrahimi VkShaderInfoTypeAMD infoType, 1699*b7893ccfSSadaf Ebrahimi size_t* pInfoSize, 1700*b7893ccfSSadaf Ebrahimi void* pInfo); 1701*b7893ccfSSadaf Ebrahimi 1702*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_GGP 1703*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateStreamDescriptorSurfaceGGP( 1704*b7893ccfSSadaf Ebrahimi VkInstance instance, 1705*b7893ccfSSadaf Ebrahimi const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, 1706*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1707*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1708*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateStreamDescriptorSurfaceGGP( 1709*b7893ccfSSadaf Ebrahimi VkInstance instance, 1710*b7893ccfSSadaf Ebrahimi const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, 1711*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1712*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1713*b7893ccfSSadaf Ebrahimi VkResult result); 1714*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_GGP 1715*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceExternalImageFormatPropertiesNV( 1716*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1717*b7893ccfSSadaf Ebrahimi VkFormat format, 1718*b7893ccfSSadaf Ebrahimi VkImageType type, 1719*b7893ccfSSadaf Ebrahimi VkImageTiling tiling, 1720*b7893ccfSSadaf Ebrahimi VkImageUsageFlags usage, 1721*b7893ccfSSadaf Ebrahimi VkImageCreateFlags flags, 1722*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagsNV externalHandleType, 1723*b7893ccfSSadaf Ebrahimi VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 1724*b7893ccfSSadaf Ebrahimi 1725*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 1726*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryWin32HandleNV( 1727*b7893ccfSSadaf Ebrahimi VkDevice device, 1728*b7893ccfSSadaf Ebrahimi VkDeviceMemory memory, 1729*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagsNV handleType, 1730*b7893ccfSSadaf Ebrahimi HANDLE* pHandle); 1731*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 1732*b7893ccfSSadaf Ebrahimi 1733*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_VI_NN 1734*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateViSurfaceNN( 1735*b7893ccfSSadaf Ebrahimi VkInstance instance, 1736*b7893ccfSSadaf Ebrahimi const VkViSurfaceCreateInfoNN* pCreateInfo, 1737*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1738*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1739*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateViSurfaceNN( 1740*b7893ccfSSadaf Ebrahimi VkInstance instance, 1741*b7893ccfSSadaf Ebrahimi const VkViSurfaceCreateInfoNN* pCreateInfo, 1742*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1743*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1744*b7893ccfSSadaf Ebrahimi VkResult result); 1745*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_VI_NN 1746*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginConditionalRenderingEXT( 1747*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1748*b7893ccfSSadaf Ebrahimi const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 1749*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndConditionalRenderingEXT( 1750*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1751*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdProcessCommandsNVX( 1752*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1753*b7893ccfSSadaf Ebrahimi const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo); 1754*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdReserveSpaceForCommandsNVX( 1755*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1756*b7893ccfSSadaf Ebrahimi const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo); 1757*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateIndirectCommandsLayoutNVX( 1758*b7893ccfSSadaf Ebrahimi VkDevice device, 1759*b7893ccfSSadaf Ebrahimi const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, 1760*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1761*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout); 1762*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateIndirectCommandsLayoutNVX( 1763*b7893ccfSSadaf Ebrahimi VkDevice device, 1764*b7893ccfSSadaf Ebrahimi const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, 1765*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1766*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout, 1767*b7893ccfSSadaf Ebrahimi VkResult result); 1768*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyIndirectCommandsLayoutNVX( 1769*b7893ccfSSadaf Ebrahimi VkDevice device, 1770*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX indirectCommandsLayout, 1771*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1772*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyIndirectCommandsLayoutNVX( 1773*b7893ccfSSadaf Ebrahimi VkDevice device, 1774*b7893ccfSSadaf Ebrahimi VkIndirectCommandsLayoutNVX indirectCommandsLayout, 1775*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1776*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateObjectTableNVX( 1777*b7893ccfSSadaf Ebrahimi VkDevice device, 1778*b7893ccfSSadaf Ebrahimi const VkObjectTableCreateInfoNVX* pCreateInfo, 1779*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1780*b7893ccfSSadaf Ebrahimi VkObjectTableNVX* pObjectTable); 1781*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateObjectTableNVX( 1782*b7893ccfSSadaf Ebrahimi VkDevice device, 1783*b7893ccfSSadaf Ebrahimi const VkObjectTableCreateInfoNVX* pCreateInfo, 1784*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1785*b7893ccfSSadaf Ebrahimi VkObjectTableNVX* pObjectTable, 1786*b7893ccfSSadaf Ebrahimi VkResult result); 1787*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyObjectTableNVX( 1788*b7893ccfSSadaf Ebrahimi VkDevice device, 1789*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1790*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1791*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyObjectTableNVX( 1792*b7893ccfSSadaf Ebrahimi VkDevice device, 1793*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1794*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1795*b7893ccfSSadaf Ebrahimi bool PreCallValidateRegisterObjectsNVX( 1796*b7893ccfSSadaf Ebrahimi VkDevice device, 1797*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1798*b7893ccfSSadaf Ebrahimi uint32_t objectCount, 1799*b7893ccfSSadaf Ebrahimi const VkObjectTableEntryNVX* const* ppObjectTableEntries, 1800*b7893ccfSSadaf Ebrahimi const uint32_t* pObjectIndices); 1801*b7893ccfSSadaf Ebrahimi bool PreCallValidateUnregisterObjectsNVX( 1802*b7893ccfSSadaf Ebrahimi VkDevice device, 1803*b7893ccfSSadaf Ebrahimi VkObjectTableNVX objectTable, 1804*b7893ccfSSadaf Ebrahimi uint32_t objectCount, 1805*b7893ccfSSadaf Ebrahimi const VkObjectEntryTypeNVX* pObjectEntryTypes, 1806*b7893ccfSSadaf Ebrahimi const uint32_t* pObjectIndices); 1807*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceGeneratedCommandsPropertiesNVX( 1808*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1809*b7893ccfSSadaf Ebrahimi VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, 1810*b7893ccfSSadaf Ebrahimi VkDeviceGeneratedCommandsLimitsNVX* pLimits); 1811*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetViewportWScalingNV( 1812*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1813*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 1814*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 1815*b7893ccfSSadaf Ebrahimi const VkViewportWScalingNV* pViewportWScalings); 1816*b7893ccfSSadaf Ebrahimi bool PreCallValidateReleaseDisplayEXT( 1817*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1818*b7893ccfSSadaf Ebrahimi VkDisplayKHR display); 1819*b7893ccfSSadaf Ebrahimi 1820*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 1821*b7893ccfSSadaf Ebrahimi bool PreCallValidateAcquireXlibDisplayEXT( 1822*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1823*b7893ccfSSadaf Ebrahimi Display* dpy, 1824*b7893ccfSSadaf Ebrahimi VkDisplayKHR display); 1825*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 1826*b7893ccfSSadaf Ebrahimi 1827*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 1828*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetRandROutputDisplayEXT( 1829*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1830*b7893ccfSSadaf Ebrahimi Display* dpy, 1831*b7893ccfSSadaf Ebrahimi RROutput rrOutput, 1832*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplay); 1833*b7893ccfSSadaf Ebrahimi void PostCallRecordGetRandROutputDisplayEXT( 1834*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1835*b7893ccfSSadaf Ebrahimi Display* dpy, 1836*b7893ccfSSadaf Ebrahimi RROutput rrOutput, 1837*b7893ccfSSadaf Ebrahimi VkDisplayKHR* pDisplay, 1838*b7893ccfSSadaf Ebrahimi VkResult result); 1839*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 1840*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfaceCapabilities2EXT( 1841*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1842*b7893ccfSSadaf Ebrahimi VkSurfaceKHR surface, 1843*b7893ccfSSadaf Ebrahimi VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 1844*b7893ccfSSadaf Ebrahimi bool PreCallValidateDisplayPowerControlEXT( 1845*b7893ccfSSadaf Ebrahimi VkDevice device, 1846*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1847*b7893ccfSSadaf Ebrahimi const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 1848*b7893ccfSSadaf Ebrahimi bool PreCallValidateRegisterDeviceEventEXT( 1849*b7893ccfSSadaf Ebrahimi VkDevice device, 1850*b7893ccfSSadaf Ebrahimi const VkDeviceEventInfoEXT* pDeviceEventInfo, 1851*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1852*b7893ccfSSadaf Ebrahimi VkFence* pFence); 1853*b7893ccfSSadaf Ebrahimi void PostCallRecordRegisterDeviceEventEXT( 1854*b7893ccfSSadaf Ebrahimi VkDevice device, 1855*b7893ccfSSadaf Ebrahimi const VkDeviceEventInfoEXT* pDeviceEventInfo, 1856*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1857*b7893ccfSSadaf Ebrahimi VkFence* pFence, 1858*b7893ccfSSadaf Ebrahimi VkResult result); 1859*b7893ccfSSadaf Ebrahimi bool PreCallValidateRegisterDisplayEventEXT( 1860*b7893ccfSSadaf Ebrahimi VkDevice device, 1861*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1862*b7893ccfSSadaf Ebrahimi const VkDisplayEventInfoEXT* pDisplayEventInfo, 1863*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1864*b7893ccfSSadaf Ebrahimi VkFence* pFence); 1865*b7893ccfSSadaf Ebrahimi void PostCallRecordRegisterDisplayEventEXT( 1866*b7893ccfSSadaf Ebrahimi VkDevice device, 1867*b7893ccfSSadaf Ebrahimi VkDisplayKHR display, 1868*b7893ccfSSadaf Ebrahimi const VkDisplayEventInfoEXT* pDisplayEventInfo, 1869*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1870*b7893ccfSSadaf Ebrahimi VkFence* pFence, 1871*b7893ccfSSadaf Ebrahimi VkResult result); 1872*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetSwapchainCounterEXT( 1873*b7893ccfSSadaf Ebrahimi VkDevice device, 1874*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1875*b7893ccfSSadaf Ebrahimi VkSurfaceCounterFlagBitsEXT counter, 1876*b7893ccfSSadaf Ebrahimi uint64_t* pCounterValue); 1877*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetRefreshCycleDurationGOOGLE( 1878*b7893ccfSSadaf Ebrahimi VkDevice device, 1879*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1880*b7893ccfSSadaf Ebrahimi VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 1881*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPastPresentationTimingGOOGLE( 1882*b7893ccfSSadaf Ebrahimi VkDevice device, 1883*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain, 1884*b7893ccfSSadaf Ebrahimi uint32_t* pPresentationTimingCount, 1885*b7893ccfSSadaf Ebrahimi VkPastPresentationTimingGOOGLE* pPresentationTimings); 1886*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetDiscardRectangleEXT( 1887*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1888*b7893ccfSSadaf Ebrahimi uint32_t firstDiscardRectangle, 1889*b7893ccfSSadaf Ebrahimi uint32_t discardRectangleCount, 1890*b7893ccfSSadaf Ebrahimi const VkRect2D* pDiscardRectangles); 1891*b7893ccfSSadaf Ebrahimi bool PreCallValidateSetHdrMetadataEXT( 1892*b7893ccfSSadaf Ebrahimi VkDevice device, 1893*b7893ccfSSadaf Ebrahimi uint32_t swapchainCount, 1894*b7893ccfSSadaf Ebrahimi const VkSwapchainKHR* pSwapchains, 1895*b7893ccfSSadaf Ebrahimi const VkHdrMetadataEXT* pMetadata); 1896*b7893ccfSSadaf Ebrahimi 1897*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_IOS_MVK 1898*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateIOSSurfaceMVK( 1899*b7893ccfSSadaf Ebrahimi VkInstance instance, 1900*b7893ccfSSadaf Ebrahimi const VkIOSSurfaceCreateInfoMVK* pCreateInfo, 1901*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1902*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1903*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateIOSSurfaceMVK( 1904*b7893ccfSSadaf Ebrahimi VkInstance instance, 1905*b7893ccfSSadaf Ebrahimi const VkIOSSurfaceCreateInfoMVK* pCreateInfo, 1906*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1907*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1908*b7893ccfSSadaf Ebrahimi VkResult result); 1909*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_IOS_MVK 1910*b7893ccfSSadaf Ebrahimi 1911*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_MACOS_MVK 1912*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateMacOSSurfaceMVK( 1913*b7893ccfSSadaf Ebrahimi VkInstance instance, 1914*b7893ccfSSadaf Ebrahimi const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, 1915*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1916*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 1917*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateMacOSSurfaceMVK( 1918*b7893ccfSSadaf Ebrahimi VkInstance instance, 1919*b7893ccfSSadaf Ebrahimi const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, 1920*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1921*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 1922*b7893ccfSSadaf Ebrahimi VkResult result); 1923*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_MACOS_MVK 1924*b7893ccfSSadaf Ebrahimi bool PreCallValidateSetDebugUtilsObjectNameEXT( 1925*b7893ccfSSadaf Ebrahimi VkDevice device, 1926*b7893ccfSSadaf Ebrahimi const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 1927*b7893ccfSSadaf Ebrahimi bool PreCallValidateSetDebugUtilsObjectTagEXT( 1928*b7893ccfSSadaf Ebrahimi VkDevice device, 1929*b7893ccfSSadaf Ebrahimi const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 1930*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueBeginDebugUtilsLabelEXT( 1931*b7893ccfSSadaf Ebrahimi VkQueue queue, 1932*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1933*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueEndDebugUtilsLabelEXT( 1934*b7893ccfSSadaf Ebrahimi VkQueue queue); 1935*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueInsertDebugUtilsLabelEXT( 1936*b7893ccfSSadaf Ebrahimi VkQueue queue, 1937*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1938*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBeginDebugUtilsLabelEXT( 1939*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1940*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1941*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdEndDebugUtilsLabelEXT( 1942*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer); 1943*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdInsertDebugUtilsLabelEXT( 1944*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1945*b7893ccfSSadaf Ebrahimi const VkDebugUtilsLabelEXT* pLabelInfo); 1946*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateDebugUtilsMessengerEXT( 1947*b7893ccfSSadaf Ebrahimi VkInstance instance, 1948*b7893ccfSSadaf Ebrahimi const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 1949*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1950*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT* pMessenger); 1951*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateDebugUtilsMessengerEXT( 1952*b7893ccfSSadaf Ebrahimi VkInstance instance, 1953*b7893ccfSSadaf Ebrahimi const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 1954*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1955*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT* pMessenger, 1956*b7893ccfSSadaf Ebrahimi VkResult result); 1957*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyDebugUtilsMessengerEXT( 1958*b7893ccfSSadaf Ebrahimi VkInstance instance, 1959*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT messenger, 1960*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1961*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyDebugUtilsMessengerEXT( 1962*b7893ccfSSadaf Ebrahimi VkInstance instance, 1963*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessengerEXT messenger, 1964*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 1965*b7893ccfSSadaf Ebrahimi bool PreCallValidateSubmitDebugUtilsMessageEXT( 1966*b7893ccfSSadaf Ebrahimi VkInstance instance, 1967*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 1968*b7893ccfSSadaf Ebrahimi VkDebugUtilsMessageTypeFlagsEXT messageTypes, 1969*b7893ccfSSadaf Ebrahimi const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 1970*b7893ccfSSadaf Ebrahimi 1971*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_ANDROID_KHR 1972*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetAndroidHardwareBufferPropertiesANDROID( 1973*b7893ccfSSadaf Ebrahimi VkDevice device, 1974*b7893ccfSSadaf Ebrahimi const struct AHardwareBuffer* buffer, 1975*b7893ccfSSadaf Ebrahimi VkAndroidHardwareBufferPropertiesANDROID* pProperties); 1976*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_ANDROID_KHR 1977*b7893ccfSSadaf Ebrahimi 1978*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_ANDROID_KHR 1979*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryAndroidHardwareBufferANDROID( 1980*b7893ccfSSadaf Ebrahimi VkDevice device, 1981*b7893ccfSSadaf Ebrahimi const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, 1982*b7893ccfSSadaf Ebrahimi struct AHardwareBuffer** pBuffer); 1983*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_ANDROID_KHR 1984*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetSampleLocationsEXT( 1985*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 1986*b7893ccfSSadaf Ebrahimi const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 1987*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceMultisamplePropertiesEXT( 1988*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 1989*b7893ccfSSadaf Ebrahimi VkSampleCountFlagBits samples, 1990*b7893ccfSSadaf Ebrahimi VkMultisamplePropertiesEXT* pMultisampleProperties); 1991*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetImageDrmFormatModifierPropertiesEXT( 1992*b7893ccfSSadaf Ebrahimi VkDevice device, 1993*b7893ccfSSadaf Ebrahimi VkImage image, 1994*b7893ccfSSadaf Ebrahimi VkImageDrmFormatModifierPropertiesEXT* pProperties); 1995*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateValidationCacheEXT( 1996*b7893ccfSSadaf Ebrahimi VkDevice device, 1997*b7893ccfSSadaf Ebrahimi const VkValidationCacheCreateInfoEXT* pCreateInfo, 1998*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 1999*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT* pValidationCache); 2000*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateValidationCacheEXT( 2001*b7893ccfSSadaf Ebrahimi VkDevice device, 2002*b7893ccfSSadaf Ebrahimi const VkValidationCacheCreateInfoEXT* pCreateInfo, 2003*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2004*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT* pValidationCache, 2005*b7893ccfSSadaf Ebrahimi VkResult result); 2006*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyValidationCacheEXT( 2007*b7893ccfSSadaf Ebrahimi VkDevice device, 2008*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT validationCache, 2009*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2010*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyValidationCacheEXT( 2011*b7893ccfSSadaf Ebrahimi VkDevice device, 2012*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT validationCache, 2013*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2014*b7893ccfSSadaf Ebrahimi bool PreCallValidateMergeValidationCachesEXT( 2015*b7893ccfSSadaf Ebrahimi VkDevice device, 2016*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT dstCache, 2017*b7893ccfSSadaf Ebrahimi uint32_t srcCacheCount, 2018*b7893ccfSSadaf Ebrahimi const VkValidationCacheEXT* pSrcCaches); 2019*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetValidationCacheDataEXT( 2020*b7893ccfSSadaf Ebrahimi VkDevice device, 2021*b7893ccfSSadaf Ebrahimi VkValidationCacheEXT validationCache, 2022*b7893ccfSSadaf Ebrahimi size_t* pDataSize, 2023*b7893ccfSSadaf Ebrahimi void* pData); 2024*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBindShadingRateImageNV( 2025*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2026*b7893ccfSSadaf Ebrahimi VkImageView imageView, 2027*b7893ccfSSadaf Ebrahimi VkImageLayout imageLayout); 2028*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetViewportShadingRatePaletteNV( 2029*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2030*b7893ccfSSadaf Ebrahimi uint32_t firstViewport, 2031*b7893ccfSSadaf Ebrahimi uint32_t viewportCount, 2032*b7893ccfSSadaf Ebrahimi const VkShadingRatePaletteNV* pShadingRatePalettes); 2033*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetCoarseSampleOrderNV( 2034*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2035*b7893ccfSSadaf Ebrahimi VkCoarseSampleOrderTypeNV sampleOrderType, 2036*b7893ccfSSadaf Ebrahimi uint32_t customSampleOrderCount, 2037*b7893ccfSSadaf Ebrahimi const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 2038*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateAccelerationStructureNV( 2039*b7893ccfSSadaf Ebrahimi VkDevice device, 2040*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureCreateInfoNV* pCreateInfo, 2041*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2042*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV* pAccelerationStructure); 2043*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateAccelerationStructureNV( 2044*b7893ccfSSadaf Ebrahimi VkDevice device, 2045*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureCreateInfoNV* pCreateInfo, 2046*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2047*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV* pAccelerationStructure, 2048*b7893ccfSSadaf Ebrahimi VkResult result); 2049*b7893ccfSSadaf Ebrahimi bool PreCallValidateDestroyAccelerationStructureNV( 2050*b7893ccfSSadaf Ebrahimi VkDevice device, 2051*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV accelerationStructure, 2052*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2053*b7893ccfSSadaf Ebrahimi void PreCallRecordDestroyAccelerationStructureNV( 2054*b7893ccfSSadaf Ebrahimi VkDevice device, 2055*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV accelerationStructure, 2056*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator); 2057*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetAccelerationStructureMemoryRequirementsNV( 2058*b7893ccfSSadaf Ebrahimi VkDevice device, 2059*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 2060*b7893ccfSSadaf Ebrahimi VkMemoryRequirements2KHR* pMemoryRequirements); 2061*b7893ccfSSadaf Ebrahimi bool PreCallValidateBindAccelerationStructureMemoryNV( 2062*b7893ccfSSadaf Ebrahimi VkDevice device, 2063*b7893ccfSSadaf Ebrahimi uint32_t bindInfoCount, 2064*b7893ccfSSadaf Ebrahimi const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 2065*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdBuildAccelerationStructureNV( 2066*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2067*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureInfoNV* pInfo, 2068*b7893ccfSSadaf Ebrahimi VkBuffer instanceData, 2069*b7893ccfSSadaf Ebrahimi VkDeviceSize instanceOffset, 2070*b7893ccfSSadaf Ebrahimi VkBool32 update, 2071*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV dst, 2072*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV src, 2073*b7893ccfSSadaf Ebrahimi VkBuffer scratch, 2074*b7893ccfSSadaf Ebrahimi VkDeviceSize scratchOffset); 2075*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdCopyAccelerationStructureNV( 2076*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2077*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV dst, 2078*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV src, 2079*b7893ccfSSadaf Ebrahimi VkCopyAccelerationStructureModeNV mode); 2080*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdTraceRaysNV( 2081*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2082*b7893ccfSSadaf Ebrahimi VkBuffer raygenShaderBindingTableBuffer, 2083*b7893ccfSSadaf Ebrahimi VkDeviceSize raygenShaderBindingOffset, 2084*b7893ccfSSadaf Ebrahimi VkBuffer missShaderBindingTableBuffer, 2085*b7893ccfSSadaf Ebrahimi VkDeviceSize missShaderBindingOffset, 2086*b7893ccfSSadaf Ebrahimi VkDeviceSize missShaderBindingStride, 2087*b7893ccfSSadaf Ebrahimi VkBuffer hitShaderBindingTableBuffer, 2088*b7893ccfSSadaf Ebrahimi VkDeviceSize hitShaderBindingOffset, 2089*b7893ccfSSadaf Ebrahimi VkDeviceSize hitShaderBindingStride, 2090*b7893ccfSSadaf Ebrahimi VkBuffer callableShaderBindingTableBuffer, 2091*b7893ccfSSadaf Ebrahimi VkDeviceSize callableShaderBindingOffset, 2092*b7893ccfSSadaf Ebrahimi VkDeviceSize callableShaderBindingStride, 2093*b7893ccfSSadaf Ebrahimi uint32_t width, 2094*b7893ccfSSadaf Ebrahimi uint32_t height, 2095*b7893ccfSSadaf Ebrahimi uint32_t depth); 2096*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateRayTracingPipelinesNV( 2097*b7893ccfSSadaf Ebrahimi VkDevice device, 2098*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 2099*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 2100*b7893ccfSSadaf Ebrahimi const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 2101*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2102*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines); 2103*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateRayTracingPipelinesNV( 2104*b7893ccfSSadaf Ebrahimi VkDevice device, 2105*b7893ccfSSadaf Ebrahimi VkPipelineCache pipelineCache, 2106*b7893ccfSSadaf Ebrahimi uint32_t createInfoCount, 2107*b7893ccfSSadaf Ebrahimi const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 2108*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2109*b7893ccfSSadaf Ebrahimi VkPipeline* pPipelines, 2110*b7893ccfSSadaf Ebrahimi VkResult result); 2111*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetRayTracingShaderGroupHandlesNV( 2112*b7893ccfSSadaf Ebrahimi VkDevice device, 2113*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 2114*b7893ccfSSadaf Ebrahimi uint32_t firstGroup, 2115*b7893ccfSSadaf Ebrahimi uint32_t groupCount, 2116*b7893ccfSSadaf Ebrahimi size_t dataSize, 2117*b7893ccfSSadaf Ebrahimi void* pData); 2118*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetAccelerationStructureHandleNV( 2119*b7893ccfSSadaf Ebrahimi VkDevice device, 2120*b7893ccfSSadaf Ebrahimi VkAccelerationStructureNV accelerationStructure, 2121*b7893ccfSSadaf Ebrahimi size_t dataSize, 2122*b7893ccfSSadaf Ebrahimi void* pData); 2123*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdWriteAccelerationStructuresPropertiesNV( 2124*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2125*b7893ccfSSadaf Ebrahimi uint32_t accelerationStructureCount, 2126*b7893ccfSSadaf Ebrahimi const VkAccelerationStructureNV* pAccelerationStructures, 2127*b7893ccfSSadaf Ebrahimi VkQueryType queryType, 2128*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 2129*b7893ccfSSadaf Ebrahimi uint32_t firstQuery); 2130*b7893ccfSSadaf Ebrahimi bool PreCallValidateCompileDeferredNV( 2131*b7893ccfSSadaf Ebrahimi VkDevice device, 2132*b7893ccfSSadaf Ebrahimi VkPipeline pipeline, 2133*b7893ccfSSadaf Ebrahimi uint32_t shader); 2134*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetMemoryHostPointerPropertiesEXT( 2135*b7893ccfSSadaf Ebrahimi VkDevice device, 2136*b7893ccfSSadaf Ebrahimi VkExternalMemoryHandleTypeFlagBits handleType, 2137*b7893ccfSSadaf Ebrahimi const void* pHostPointer, 2138*b7893ccfSSadaf Ebrahimi VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 2139*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdWriteBufferMarkerAMD( 2140*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2141*b7893ccfSSadaf Ebrahimi VkPipelineStageFlagBits pipelineStage, 2142*b7893ccfSSadaf Ebrahimi VkBuffer dstBuffer, 2143*b7893ccfSSadaf Ebrahimi VkDeviceSize dstOffset, 2144*b7893ccfSSadaf Ebrahimi uint32_t marker); 2145*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceCalibrateableTimeDomainsEXT( 2146*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2147*b7893ccfSSadaf Ebrahimi uint32_t* pTimeDomainCount, 2148*b7893ccfSSadaf Ebrahimi VkTimeDomainEXT* pTimeDomains); 2149*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetCalibratedTimestampsEXT( 2150*b7893ccfSSadaf Ebrahimi VkDevice device, 2151*b7893ccfSSadaf Ebrahimi uint32_t timestampCount, 2152*b7893ccfSSadaf Ebrahimi const VkCalibratedTimestampInfoEXT* pTimestampInfos, 2153*b7893ccfSSadaf Ebrahimi uint64_t* pTimestamps, 2154*b7893ccfSSadaf Ebrahimi uint64_t* pMaxDeviation); 2155*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawMeshTasksNV( 2156*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2157*b7893ccfSSadaf Ebrahimi uint32_t taskCount, 2158*b7893ccfSSadaf Ebrahimi uint32_t firstTask); 2159*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawMeshTasksIndirectNV( 2160*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2161*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 2162*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 2163*b7893ccfSSadaf Ebrahimi uint32_t drawCount, 2164*b7893ccfSSadaf Ebrahimi uint32_t stride); 2165*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdDrawMeshTasksIndirectCountNV( 2166*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2167*b7893ccfSSadaf Ebrahimi VkBuffer buffer, 2168*b7893ccfSSadaf Ebrahimi VkDeviceSize offset, 2169*b7893ccfSSadaf Ebrahimi VkBuffer countBuffer, 2170*b7893ccfSSadaf Ebrahimi VkDeviceSize countBufferOffset, 2171*b7893ccfSSadaf Ebrahimi uint32_t maxDrawCount, 2172*b7893ccfSSadaf Ebrahimi uint32_t stride); 2173*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetExclusiveScissorNV( 2174*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2175*b7893ccfSSadaf Ebrahimi uint32_t firstExclusiveScissor, 2176*b7893ccfSSadaf Ebrahimi uint32_t exclusiveScissorCount, 2177*b7893ccfSSadaf Ebrahimi const VkRect2D* pExclusiveScissors); 2178*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetCheckpointNV( 2179*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2180*b7893ccfSSadaf Ebrahimi const void* pCheckpointMarker); 2181*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetQueueCheckpointDataNV( 2182*b7893ccfSSadaf Ebrahimi VkQueue queue, 2183*b7893ccfSSadaf Ebrahimi uint32_t* pCheckpointDataCount, 2184*b7893ccfSSadaf Ebrahimi VkCheckpointDataNV* pCheckpointData); 2185*b7893ccfSSadaf Ebrahimi bool PreCallValidateInitializePerformanceApiINTEL( 2186*b7893ccfSSadaf Ebrahimi VkDevice device, 2187*b7893ccfSSadaf Ebrahimi const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 2188*b7893ccfSSadaf Ebrahimi bool PreCallValidateUninitializePerformanceApiINTEL( 2189*b7893ccfSSadaf Ebrahimi VkDevice device); 2190*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetPerformanceMarkerINTEL( 2191*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2192*b7893ccfSSadaf Ebrahimi const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 2193*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetPerformanceStreamMarkerINTEL( 2194*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2195*b7893ccfSSadaf Ebrahimi const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 2196*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetPerformanceOverrideINTEL( 2197*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2198*b7893ccfSSadaf Ebrahimi const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 2199*b7893ccfSSadaf Ebrahimi bool PreCallValidateAcquirePerformanceConfigurationINTEL( 2200*b7893ccfSSadaf Ebrahimi VkDevice device, 2201*b7893ccfSSadaf Ebrahimi const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 2202*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL* pConfiguration); 2203*b7893ccfSSadaf Ebrahimi bool PreCallValidateReleasePerformanceConfigurationINTEL( 2204*b7893ccfSSadaf Ebrahimi VkDevice device, 2205*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL configuration); 2206*b7893ccfSSadaf Ebrahimi bool PreCallValidateQueueSetPerformanceConfigurationINTEL( 2207*b7893ccfSSadaf Ebrahimi VkQueue queue, 2208*b7893ccfSSadaf Ebrahimi VkPerformanceConfigurationINTEL configuration); 2209*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPerformanceParameterINTEL( 2210*b7893ccfSSadaf Ebrahimi VkDevice device, 2211*b7893ccfSSadaf Ebrahimi VkPerformanceParameterTypeINTEL parameter, 2212*b7893ccfSSadaf Ebrahimi VkPerformanceValueINTEL* pValue); 2213*b7893ccfSSadaf Ebrahimi bool PreCallValidateSetLocalDimmingAMD( 2214*b7893ccfSSadaf Ebrahimi VkDevice device, 2215*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapChain, 2216*b7893ccfSSadaf Ebrahimi VkBool32 localDimmingEnable); 2217*b7893ccfSSadaf Ebrahimi 2218*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_FUCHSIA 2219*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateImagePipeSurfaceFUCHSIA( 2220*b7893ccfSSadaf Ebrahimi VkInstance instance, 2221*b7893ccfSSadaf Ebrahimi const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, 2222*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2223*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2224*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateImagePipeSurfaceFUCHSIA( 2225*b7893ccfSSadaf Ebrahimi VkInstance instance, 2226*b7893ccfSSadaf Ebrahimi const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, 2227*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2228*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 2229*b7893ccfSSadaf Ebrahimi VkResult result); 2230*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_FUCHSIA 2231*b7893ccfSSadaf Ebrahimi 2232*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_METAL_EXT 2233*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateMetalSurfaceEXT( 2234*b7893ccfSSadaf Ebrahimi VkInstance instance, 2235*b7893ccfSSadaf Ebrahimi const VkMetalSurfaceCreateInfoEXT* pCreateInfo, 2236*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2237*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2238*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateMetalSurfaceEXT( 2239*b7893ccfSSadaf Ebrahimi VkInstance instance, 2240*b7893ccfSSadaf Ebrahimi const VkMetalSurfaceCreateInfoEXT* pCreateInfo, 2241*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2242*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 2243*b7893ccfSSadaf Ebrahimi VkResult result); 2244*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_METAL_EXT 2245*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetBufferDeviceAddressEXT( 2246*b7893ccfSSadaf Ebrahimi VkDevice device, 2247*b7893ccfSSadaf Ebrahimi const VkBufferDeviceAddressInfoEXT* pInfo); 2248*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceCooperativeMatrixPropertiesNV( 2249*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2250*b7893ccfSSadaf Ebrahimi uint32_t* pPropertyCount, 2251*b7893ccfSSadaf Ebrahimi VkCooperativeMatrixPropertiesNV* pProperties); 2252*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 2253*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2254*b7893ccfSSadaf Ebrahimi uint32_t* pCombinationCount, 2255*b7893ccfSSadaf Ebrahimi VkFramebufferMixedSamplesCombinationNV* pCombinations); 2256*b7893ccfSSadaf Ebrahimi 2257*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 2258*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetPhysicalDeviceSurfacePresentModes2EXT( 2259*b7893ccfSSadaf Ebrahimi VkPhysicalDevice physicalDevice, 2260*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 2261*b7893ccfSSadaf Ebrahimi uint32_t* pPresentModeCount, 2262*b7893ccfSSadaf Ebrahimi VkPresentModeKHR* pPresentModes); 2263*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 2264*b7893ccfSSadaf Ebrahimi 2265*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 2266*b7893ccfSSadaf Ebrahimi bool PreCallValidateAcquireFullScreenExclusiveModeEXT( 2267*b7893ccfSSadaf Ebrahimi VkDevice device, 2268*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 2269*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 2270*b7893ccfSSadaf Ebrahimi 2271*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 2272*b7893ccfSSadaf Ebrahimi bool PreCallValidateReleaseFullScreenExclusiveModeEXT( 2273*b7893ccfSSadaf Ebrahimi VkDevice device, 2274*b7893ccfSSadaf Ebrahimi VkSwapchainKHR swapchain); 2275*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 2276*b7893ccfSSadaf Ebrahimi 2277*b7893ccfSSadaf Ebrahimi #ifdef VK_USE_PLATFORM_WIN32_KHR 2278*b7893ccfSSadaf Ebrahimi bool PreCallValidateGetDeviceGroupSurfacePresentModes2EXT( 2279*b7893ccfSSadaf Ebrahimi VkDevice device, 2280*b7893ccfSSadaf Ebrahimi const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 2281*b7893ccfSSadaf Ebrahimi VkDeviceGroupPresentModeFlagsKHR* pModes); 2282*b7893ccfSSadaf Ebrahimi #endif // VK_USE_PLATFORM_WIN32_KHR 2283*b7893ccfSSadaf Ebrahimi bool PreCallValidateCreateHeadlessSurfaceEXT( 2284*b7893ccfSSadaf Ebrahimi VkInstance instance, 2285*b7893ccfSSadaf Ebrahimi const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 2286*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2287*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface); 2288*b7893ccfSSadaf Ebrahimi void PostCallRecordCreateHeadlessSurfaceEXT( 2289*b7893ccfSSadaf Ebrahimi VkInstance instance, 2290*b7893ccfSSadaf Ebrahimi const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 2291*b7893ccfSSadaf Ebrahimi const VkAllocationCallbacks* pAllocator, 2292*b7893ccfSSadaf Ebrahimi VkSurfaceKHR* pSurface, 2293*b7893ccfSSadaf Ebrahimi VkResult result); 2294*b7893ccfSSadaf Ebrahimi bool PreCallValidateCmdSetLineStippleEXT( 2295*b7893ccfSSadaf Ebrahimi VkCommandBuffer commandBuffer, 2296*b7893ccfSSadaf Ebrahimi uint32_t lineStippleFactor, 2297*b7893ccfSSadaf Ebrahimi uint16_t lineStipplePattern); 2298*b7893ccfSSadaf Ebrahimi bool PreCallValidateResetQueryPoolEXT( 2299*b7893ccfSSadaf Ebrahimi VkDevice device, 2300*b7893ccfSSadaf Ebrahimi VkQueryPool queryPool, 2301*b7893ccfSSadaf Ebrahimi uint32_t firstQuery, 2302*b7893ccfSSadaf Ebrahimi uint32_t queryCount); 2303*b7893ccfSSadaf Ebrahimi 2304*b7893ccfSSadaf Ebrahimi 2305*b7893ccfSSadaf Ebrahimi void PostCallRecordDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator); 2306*b7893ccfSSadaf Ebrahimi void PreCallRecordResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 2307*b7893ccfSSadaf Ebrahimi void PostCallRecordGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties); 2308*b7893ccfSSadaf Ebrahimi void PreCallRecordFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers); 2309*b7893ccfSSadaf Ebrahimi void PreCallRecordFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet *pDescriptorSets); 2310*b7893ccfSSadaf Ebrahimi void PostCallRecordGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR *pQueueFamilyProperties); 2311*b7893ccfSSadaf Ebrahimi void PostCallRecordGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR *pQueueFamilyProperties); 2312*b7893ccfSSadaf Ebrahimi void PostCallRecordGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPropertiesKHR *pProperties, VkResult result); 2313*b7893ccfSSadaf Ebrahimi void PostCallRecordGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t *pPropertyCount, VkDisplayModePropertiesKHR *pProperties, VkResult result); 2314*b7893ccfSSadaf Ebrahimi void PostCallRecordGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayProperties2KHR *pProperties, VkResult result); 2315*b7893ccfSSadaf Ebrahimi void PostCallRecordGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t *pPropertyCount, VkDisplayModeProperties2KHR *pProperties, VkResult result); 2316