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